Commit bf7fc0a3 authored by cristy's avatar cristy

git-svn-id:...

git-svn-id: https://subversion.imagemagick.org/subversion/ImageMagick/trunk@154 aa41f4f7-0bf4-0310-aa73-e5a19afd5a74
parent bbac155b
%define VERSION 6.5.6
%define Patchlevel 3
%define Patchlevel 2
Name: ImageMagick
Version: %{VERSION}
......
......@@ -292,6 +292,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_compile_warnings.m4 \
$(top_srcdir)/m4/ac_func_fseeko.m4 \
$(top_srcdir)/m4/ac_prog_perl_version.m4 \
$(top_srcdir)/m4/acx_pthread.m4 $(top_srcdir)/m4/argz.m4 \
$(top_srcdir)/m4/ax_check_cl.m4 \
$(top_srcdir)/m4/ax_lang_compiler_ms.m4 \
$(top_srcdir)/m4/ax_prefix_config_h.m4 \
$(top_srcdir)/m4/cxx_have_bool.m4 \
$(top_srcdir)/m4/cxx_have_lstring.m4 \
......@@ -301,7 +303,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_compile_warnings.m4 \
$(top_srcdir)/m4/framework.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltdl.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/magick_check_pthread_lib.m4 \
$(top_srcdir)/m4/magick_func_mmap_fileio.m4 \
$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
......@@ -2215,6 +2216,8 @@ CCDEPMODE = @CCDEPMODE@
CCMALLOCDelegate = @CCMALLOCDelegate@
CFLAGS = @CFLAGS@
CGMDecodeDelegate = @CGMDecodeDelegate@
CL_CFLAGS = @CL_CFLAGS@
CL_LIBS = @CL_LIBS@
CODER_PATH = @CODER_PATH@
CONFIGURE_ARGS = @CONFIGURE_ARGS@
CONFIGURE_PATH = @CONFIGURE_PATH@
......@@ -2412,7 +2415,6 @@ PREFIX_DIR = @PREFIX_DIR@
PSDelegate = @PSDelegate@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_CXX = @PTHREAD_CXX@
PTHREAD_LIBS = @PTHREAD_LIBS@
PrintDelegate = @PrintDelegate@
QUANTUM_DEPTH = @QUANTUM_DEPTH@
......@@ -2635,6 +2637,8 @@ M4_EXTRA_DIST = \
ac_prog_perl_version.m4 \
acx_pthread.m4 \
argz.m4 \
ax_check_cl.m4 \
ax_lang_compiler_ms.m4 \
ax_prefix_config_h.m4 \
cxx_have_bool.m4 \
cxx_have_lstring.m4 \
......
......@@ -337,7 +337,6 @@ coders_braille_la_LIBADD = $(MAGICKCORE_LIBS)
coders_cals_la_SOURCES = coders/cals.c
coders_cals_la_CPPFLAGS = $(MODULE_EXTRA_CPPFLAGS)
coders_cals_la_LDFLAGS = $(MODULECOMMONFLAGS)
coders_cals_la_LIBADD = $(MAGICKCORE_LIBS)
coders_cals_la_LIBADD = $(MAGICKCORE_LIBS) $(TIFF_LIBS) $(JBIG_LIBS) $(JPEG_LIBS) $(MATH_LIBS)
# CAPTION coder module
......
......@@ -119,6 +119,9 @@
/* Define to 1 if you have the `closedir' function. */
#undef HAVE_CLOSEDIR
/* Define to 1 if you have the <CL/cl.h> header file. */
#undef HAVE_CL_CL_H
/* Define to 1 if you have the <complex.h> header file. */
#undef HAVE_COMPLEX_H
......@@ -303,6 +306,9 @@
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
#undef HAVE_NDIR_H
/* Define to 1 if you have the <OpenCL/cl.h> header file. */
#undef HAVE_OPENCL_CL_H
/* Define to 1 if you have the `opendir' function. */
#undef HAVE_OPENDIR
......@@ -578,6 +584,9 @@
/* Define to 1 if you have the <wchar.h> header file. */
#undef HAVE_WCHAR_H
/* Define to 1 if you have the <windows.h> header file. */
#undef HAVE_WINDOWS_H
/* This value is set to 1 to indicate that the system argz facility works */
#undef HAVE_WORKING_ARGZ
......
......@@ -8,7 +8,7 @@
<configuremap>
<configure name="NAME" value="ImageMagick"/>
<configure name="LIB_VERSION" value="0x656"/>
<configure name="LIB_VERSION_NUMBER" value="6,5,6,3"/>
<configure name="LIB_VERSION_NUMBER" value="6,5,6,2"/>
<configure name="RELEASE_DATE" value="2009-09-20"/>
<configure name="CONFIGURE" value="./configure "/>
<configure name="PREFIX" value="/usr/local"/>
......
This diff is collapsed.
......@@ -386,6 +386,9 @@ CFLAGS="$OPENMP_CFLAGS $CFLAGS"
MAGICK_PCFLAGS="$MAGICK_PCFLAGS $OPENMP_CFLAGS"
AC_SUBST(OPENMP_CFLAGS)
# Enable support for OpenCL
AX_CHECK_CL
########
#
# Check for large file support
......
#! /bin/sh
# libtool - Provide generalized library-building support services.
# Generated automatically by config.status (ImageMagick) 6.5.6-3
# Generated automatically by config.status (ImageMagick) 6.5.6-2
# Libtool was configured on host magick.imagemagick.org:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
......
......@@ -22,6 +22,8 @@ M4_EXTRA_DIST = \
ac_prog_perl_version.m4 \
acx_pthread.m4 \
argz.m4 \
ax_check_cl.m4 \
ax_lang_compiler_ms.m4 \
ax_prefix_config_h.m4 \
cxx_have_bool.m4 \
cxx_have_lstring.m4 \
......
##### http://autoconf-archive.cryp.to/acx_pthread.html
# ===========================================================================
# http://autoconf-archive.cryp.to/acx_pthread.html
# ===========================================================================
#
# SYNOPSIS
#
......@@ -6,83 +8,76 @@
#
# DESCRIPTION
#
# This macro figures out how to build C programs using POSIX threads.
# It sets the PTHREAD_LIBS output variable to the threads library and
# linker flags, and the PTHREAD_CFLAGS output variable to any special
# C compiler flags that are needed. (The user can also force certain
# compiler flags/libs to be tested by setting these environment
# variables.)
# This macro figures out how to build C programs using POSIX threads. It
# sets the PTHREAD_LIBS output variable to the threads library and linker
# flags, and the PTHREAD_CFLAGS output variable to any special C compiler
# flags that are needed. (The user can also force certain compiler
# flags/libs to be tested by setting these environment variables.)
#
# Also sets PTHREAD_CC to any special C compiler that is needed for
# multi-threaded programs (defaults to the value of CC otherwise).
# (This is necessary on AIX to use the special cc_r compiler alias.)
# multi-threaded programs (defaults to the value of CC otherwise). (This
# is necessary on AIX to use the special cc_r compiler alias.)
#
# NOTE: You are assumed to not only compile your program with these
# flags, but also link it with them as well. e.g. you should link
# with $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS
# $LIBS
# NOTE: You are assumed to not only compile your program with these flags,
# but also link it with them as well. e.g. you should link with
# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
#
# If you are only building threads programs, you may wish to use
# these variables in your default LIBS, CFLAGS, and CC:
# If you are only building threads programs, you may wish to use these
# variables in your default LIBS, CFLAGS, and CC:
#
# LIBS="$PTHREAD_LIBS $LIBS"
# CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
# CC="$PTHREAD_CC"
#
# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute
# constant has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to
# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name
# (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
#
# ACTION-IF-FOUND is a list of shell commands to run if a threads
# library is found, and ACTION-IF-NOT-FOUND is a list of commands to
# run it if it is not found. If ACTION-IF-FOUND is not specified, the
# default action will define HAVE_PTHREAD.
# ACTION-IF-FOUND is a list of shell commands to run if a threads library
# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
# is not found. If ACTION-IF-FOUND is not specified, the default action
# will define HAVE_PTHREAD.
#
# Please let the authors know if this macro fails on any platform, or
# if you have any other suggestions or comments. This macro was based
# on work by SGJ on autoconf scripts for FFTW (http://www.fftw.org/)
# (with help from M. Frigo), as well as ac_pthread and hb_pthread
# macros posted by Alejandro Forero Cuervo to the autoconf macro
# repository. We are also grateful for the helpful feedback of
# numerous users.
# Please let the authors know if this macro fails on any platform, or if
# you have any other suggestions or comments. This macro was based on work
# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
# Alejandro Forero Cuervo to the autoconf macro repository. We are also
# grateful for the helpful feedback of numerous users.
#
# LAST MODIFICATION
#
# 2006-05-29
# 2008-04-12
#
# COPYLEFT
#
# Copyright (c) 2006 Steven G. Johnson <stevenj@alum.mit.edu>
# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation, either version 3 of the License, or (at your
# option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# You should have received a copy of the GNU General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
#
# As a special exception, the respective Autoconf Macro's copyright
# owner gives unlimited permission to copy, distribute and modify the
# configure scripts that are the output of Autoconf when processing
# the Macro. You need not follow the terms of the GNU General Public
# License when using or distributing such scripts, even though
# portions of the text of the Macro appear in them. The GNU General
# Public License (GPL) does govern all other use of the material that
# constitutes the Autoconf Macro.
# As a special exception, the respective Autoconf Macro's copyright owner
# gives unlimited permission to copy, distribute and modify the configure
# scripts that are the output of Autoconf when processing the Macro. You
# need not follow the terms of the GNU General Public License when using
# or distributing such scripts, even though portions of the text of the
# Macro appear in them. The GNU General Public License (GPL) does govern
# all other use of the material that constitutes the Autoconf Macro.
#
# This special exception to the GPL applies to versions of the
# Autoconf Macro released by the Autoconf Macro Archive. When you
# make and distribute a modified version of the Autoconf Macro, you
# may extend this special exception to the GPL to apply to your
# modified version as well.
# This special exception to the GPL applies to versions of the Autoconf
# Macro released by the Autoconf Macro Archive. When you make and
# distribute a modified version of the Autoconf Macro, you may extend this
# special exception to the GPL to apply to your modified version as well.
AC_DEFUN([ACX_PTHREAD], [
AC_REQUIRE([AC_CANONICAL_HOST])
......@@ -158,12 +153,6 @@ case "${host_cpu}-${host_os}" in
acx_pthread_flags="-pthreads pthread -mt -pthread $acx_pthread_flags"
;;
# The HP-UX compiler just warns about options it does not understand
# but it needs -mt.
*-hpux*)
acx_pthread_flags="-mt $acx_pthread_flags"
;;
esac
if test x"$acx_pthread_ok" = xno; then
......@@ -261,37 +250,18 @@ if test "x$acx_pthread_ok" = xyes; then
CFLAGS="$save_CFLAGS"
# More AIX lossage: must compile with xlc_r or cc_r
case "${host_os}" in
aix* )
if test x"$GCC" != xyes; then
case "$CC" in
*xlc )
AC_CHECK_PROG(PTHREAD_CC, xlc_r, xlc_r, ${CC}) ;;
*cc )
AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) ;;
esac
fi
case "$CXX" in
*xlC )
AC_CHECK_PROG(PTHREAD_CXX, xlC_r, xlC_r, ${CXX}) ;;
esac
;;
esac
fi
if test "${PTHREAD_CC}x" = "x"
then
PTHREAD_CC="$CC"
fi
if test "${PTHREAD_CXX}x" = "x"
then
PTHREAD_CXX="$CXX"
if test x"$GCC" != xyes; then
AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC})
else
PTHREAD_CC=$CC
fi
else
PTHREAD_CC="$CC"
fi
AC_SUBST(PTHREAD_LIBS)
AC_SUBST(PTHREAD_CFLAGS)
AC_SUBST(PTHREAD_CC)
AC_SUBST(PTHREAD_CXX)
# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
if test x"$acx_pthread_ok" = xyes; then
......
# -*- mode: autoconf -*-
#
# AX_CHECK_CL
#
# Check for an OpenCL implementation. If CL is found, the required compiler
# and linker flags are included in the output variables "CL_CFLAGS" and
# "CL_LIBS", respectively. If no usable CL implementation is found, "no_cl"
# is set to "yes".
#
# If the header "CL/cl.h" is found, "HAVE_CL_CL_H" is defined. If the header
# "OpenCL/cl.h" is found, HAVE_OPENCL_CL_H is defined. These preprocessor
# definitions may not be mutually exclusive.
#
# Based on AX_CHECK_GL, version: 2.4 author: Braden McDaniel
# <braden@endoframe.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
#
# As a special exception, the you may copy, distribute and modify the
# configure scripts that are the output of Autoconf when processing
# the Macro. You need not follow the terms of the GNU General Public
# License when using or distributing such scripts.
#
AC_DEFUN([AX_CHECK_CL],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_PATH_X])dnl
AC_REQUIRE([AC_PROG_SED])dnl
AC_REQUIRE([ACX_PTHREAD])dnl
AC_LANG_PUSH([C])
AX_LANG_COMPILER_MS
AS_IF([test X$ax_compiler_ms = Xno],
[CL_CFLAGS="${PTHREAD_CFLAGS}"; CL_LIBS="${PTHREAD_LIBS} -lm"])
#
# Use x_includes and x_libraries if they have been set (presumably by
# AC_PATH_X).
#
AS_IF([test X$no_x != Xyes],
[AS_IF([test -n "$x_includes"],
[CL_CFLAGS="-I$x_includes $CL_CFLAGS"])]
AS_IF([test -n "$x_libraries"],
[CL_LIBS="-L$x_libraries -lX11 $CL_LIBS"]))
ax_save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CL_CFLAGS $CPPFLAGS"
AC_CHECK_HEADERS([CL/cl.h OpenCL/cl.h])
CPPFLAGS=$ax_save_CPPFLAGS
AC_CHECK_HEADERS([windows.h])
m4_define([AX_CHECK_CL_PROGRAM],
[AC_LANG_PROGRAM([[
# if defined(HAVE_WINDOWS_H) && defined(_WIN32)
# include <windows.h>
# endif
# ifdef HAVE_CL_CL_H
# include <CL/cl.h>
# elif defined(HAVE_OPENCL_CL_H)
# include <OpenCL/cl.h>
# else
# error no cl.h
# endif]],
[[clBegin(0)]])])
AC_CACHE_CHECK([for OpenCL library], [ax_cv_check_cl_libcl],
[ax_cv_check_cl_libcl=no
case $host_cpu in
x86_64) ax_check_cl_libdir=lib64 ;;
*) ax_check_cl_libdir=lib ;;
esac
ax_save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CL_CFLAGS $CPPFLAGS"
ax_save_LIBS=$LIBS
LIBS=""
ax_check_libs="-lopencl32 -lCL"
for ax_lib in $ax_check_libs; do
AS_IF([test X$ax_compiler_ms = Xyes],
[ax_try_lib=`echo $ax_lib | $SED -e 's/^-l//' -e 's/$/.lib/'`],
[ax_try_lib=$ax_lib])
LIBS="$ax_try_lib $CL_LIBS $ax_save_LIBS"
AC_LINK_IFELSE([AX_CHECK_CL_PROGRAM],
[ax_cv_check_cl_libcl=$ax_try_lib; break],
[ax_check_cl_nvidia_flags="-L/usr/$ax_check_cl_libdir/nvidia" LIBS="$ax_try_lib $ax_check_cl_nvidia_flags $CL_LIBS $ax_save_LIBS"
AC_LINK_IFELSE([AX_CHECK_CL_PROGRAM],
[ax_cv_check_cl_libcl="$ax_try_lib $ax_check_cl_nvidia_flags"; break],
[ax_check_cl_dylib_flag='-dylib_file /System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/libCL.dylib:/System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/libCL.dylib' LIBS="$ax_try_lib $ax_check_cl_dylib_flag $CL_LIBS $ax_save_LIBS"
AC_LINK_IFELSE([AX_CHECK_CL_PROGRAM],
[ax_cv_check_cl_libcl="$ax_try_lib $ax_check_cl_dylib_flag"; break])])])
done
AS_IF([test "X$ax_cv_check_cl_libcl" = Xno -a X$no_x = Xyes],
[LIBS='-framework OpenCL'
AC_LINK_IFELSE([AX_CHECK_CL_PROGRAM],
[ax_cv_check_cl_libcl=$LIBS])])
LIBS=$ax_save_LIBS
CPPFLAGS=$ax_save_CPPFLAGS])
AS_IF([test "X$ax_cv_check_cl_libcl" = Xno],
[no_cl=yes; CL_CFLAGS=""; CL_LIBS=""],
[CL_LIBS="$ax_cv_check_cl_libcl $CL_LIBS"])
AC_LANG_POP([C])
AC_SUBST([CL_CFLAGS])
AC_SUBST([CL_LIBS])
])dnl
# -*- mode: autoconf -*-
#
# Check whether the compiler for the current language is Microsoft.
#
# This macro is modeled after _AC_LANG_COMPILER_GNU in the GNU Autoconf
# implementation.
#
# version: 1.0
# author: Braden McDaniel <braden@endoframe.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
#
# As a special exception, the you may copy, distribute and modify the
# configure scripts that are the output of Autoconf when processing
# the Macro. You need not follow the terms of the GNU General Public
# License when using or distributing such scripts.
#
AC_DEFUN([AX_LANG_COMPILER_MS],
[AC_CACHE_CHECK([whether we are using the Microsoft _AC_LANG compiler],
[ax_cv_[]_AC_LANG_ABBREV[]_compiler_ms],
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[#ifndef _MSC_VER
choke me
#endif
]])],
[ax_compiler_ms=yes],
[ax_compiler_ms=no])
ax_cv_[]_AC_LANG_ABBREV[]_compiler_ms=$ax_compiler_ms
])])
......@@ -182,6 +182,9 @@
#define MAGICKCORE_HAVE_CLOSEDIR 1
#endif
/* Define to 1 if you have the <CL/cl.h> header file. */
/* #undef HAVE_CL_CL_H */
/* Define to 1 if you have the <complex.h> header file. */
#ifndef MAGICKCORE_HAVE_COMPLEX_H
#define MAGICKCORE_HAVE_COMPLEX_H 1
......@@ -456,6 +459,9 @@
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the <OpenCL/cl.h> header file. */
/* #undef HAVE_OPENCL_CL_H */
/* Define to 1 if you have the `opendir' function. */
#ifndef MAGICKCORE_HAVE_OPENDIR
#define MAGICKCORE_HAVE_OPENDIR 1
......@@ -891,6 +897,9 @@
#define MAGICKCORE_HAVE_WCHAR_H 1
#endif
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
/* This value is set to 1 to indicate that the system argz facility works */
#ifndef MAGICKCORE_HAVE_WORKING_ARGZ
#define MAGICKCORE_HAVE_WORKING_ARGZ 1
......
......@@ -30,7 +30,7 @@ extern "C" {
#define MagickLibVersion 0x656
#define MagickLibVersionText "6.5.6"
#define MagickLibVersionNumber 2,0,0
#define MagickLibSubversion "-3"
#define MagickLibSubversion "-2"
#define MagickReleaseDate "2009-09-20"
#define MagickChangeDate "20090913"
#define MagickAuthoritativeURL "http://www.imagemagick.org"
......
......@@ -12,7 +12,7 @@ PACKAGE_NAME='ImageMagick'
# PACKAGE_NAME (e.g. "1.0.0").
PACKAGE_VERSION='6.5.6'
PACKAGE_LIB_VERSION="0x656"
PACKAGE_RELEASE="3"
PACKAGE_RELEASE="2"
PACKAGE_LIB_VERSION_NUMBER="6,5,6,${PACKAGE_RELEASE}"
PACKAGE_RELEASE_DATE=`date +%F`
PACKAGE_STRING="$PACKAGE_NAME $PACKAGE_VERSION"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment