summaryrefslogtreecommitdiff
path: root/sextractor/sextractor-mkl-gcc.patch
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@users.noreply.github.com>2018-01-05 15:01:53 -0500
committerMatt Rendina <rendinam@users.noreply.github.com>2018-01-05 15:01:53 -0500
commit286c9d0cd069759d090007da647e78afdb937596 (patch)
treed418f7d652cc5de4fe638143c30549a4fe9267b6 /sextractor/sextractor-mkl-gcc.patch
parent90e6679788b9b9f81ef2ec1bad0d7b255ab5300d (diff)
downloadastroconda-dev-286c9d0cd069759d090007da647e78afdb937596.tar.gz
[WIP] Next (#75)
* Purge x.x style selectors * Add python jinja2 selectors * Add numpy jinja2 selectors * Add basic build matrix configuration * Delete iraf package; see astroconda/astroconda-iraf * Bump all build revisions * Remove drizzlepac and nose dependencies * Fixup dependencies * Strip newlines in version declaration * Implements new package versioning scheme * Revert sandboxing * Purge old or unnecessary packages * Clean up meta-packages * Use fake version * Minor clean up * Add missing md5 hashes * Python is not a dependency of XPA * Remove GIT_ usage in non-git recipe * Initial commit of asteval * cubeviz: sed patching glue/numpy/pytest * Add missing curly braces * Remove references to pywcs * Add mosviz * Fix up specutils * Forcefully strip all "v" version prefixes. Please stop using them. * Fix ginga * Use PYTHON * Remove d2to1 dep * Remove d2to1 dep * Remove d2to1 dep * Remove d2to1 dep * Remove deprecated JWST pipeline packages * Simplify python builds * Simplify python builds (windows) * Remove d2to1 dep * Remove d2to1 dep * Stop using 2to3 * Remove ATLAS * Move sextractor to mainline * Sextractor Intel MKL integration patches (i.e NO ATLAS)
Diffstat (limited to 'sextractor/sextractor-mkl-gcc.patch')
-rw-r--r--sextractor/sextractor-mkl-gcc.patch283
1 files changed, 283 insertions, 0 deletions
diff --git a/sextractor/sextractor-mkl-gcc.patch b/sextractor/sextractor-mkl-gcc.patch
new file mode 100644
index 0000000..10f07e3
--- /dev/null
+++ b/sextractor/sextractor-mkl-gcc.patch
@@ -0,0 +1,283 @@
+diff -u -p --recursive -N a/sextractor-2.19.5/acx_mkl_gcc.m4 b/sextractor-2.19.5/acx_mkl_gcc.m4
+--- a/sextractor-2.19.5/acx_mkl_gcc.m4 1969-12-31 19:00:00.000000000 -0500
++++ b/sextractor-2.19.5/acx_mkl_gcc.m4 2017-12-30 17:54:54.000000000 -0500
+@@ -0,0 +1,210 @@
++dnl
++dnl acx_mkl_gcc.m4
++dnl
++dnl Set up options for using the INTEL MKL library.
++dnl
++dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
++dnl
++dnl This file part of: AstrOmatic software
++dnl
++dnl Copyright: (C) 2003-2013 Emmanuel Bertin -- IAP/CNRS/UPMC
++dnl
++dnl License: GNU General Public License
++dnl
++dnl AstrOmatic software is free software: you can redistribute it and/or
++dnl modify it under the terms of the GNU General Public License as
++dnl published by the Free Software Foundation, either version 3 of the
++dnl License, or (at your option) any later version.
++dnl AstrOmatic software is distributed in the hope that it will be useful,
++dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
++dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++dnl GNU General Public License for more details.
++dnl You should have received a copy of the GNU General Public License
++dnl along with AstrOmatic software.
++dnl If not, see <http://www.gnu.org/licenses/>.
++dnl
++dnl Last modified: 17/04/2013
++dnl
++dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
++dnl
++dnl @synopsis ACX_MKL_GCC([MKL_DIR, ILP64_FLAG, STATIC_FLAG, CONV_LIBS])
++dnl
++dnl This macro sets the MKL_CFLAGS, MKL_LDFLAGS and MKL_LIBS variables to
++dnl for compiling and linking with INTEL's MKL. A coma-separated list of
++dnl convenience libraries may be included in the linked group for static linking.
++dnl You may wish to use these variables in your default CFLAGS:
++dnl
++dnl CFLAGS="$CFLAGS $MKL_CFLAGS"
++dnl
++dnl You may wish to use these variables in your default LDFLAGS:
++dnl
++dnl LDFLAGS="$LDFLAGS $MKL_LDLAGS"
++dnl
++dnl You may wish to use these variables in your default LIBS:
++dnl
++dnl LIBS="$LIBS $MKL_LIBS"
++dnl
++
++AC_DEFUN([ACX_MKL_GCC], [
++AC_REQUIRE([AC_CANONICAL_HOST])
++
++dnl ------------------------
++dnl Set MKL's root directory
++dnl ------------------------
++
++if test x$1 = x; then
++ mklroot=${MKLROOT}
++else
++ mklroot=$1
++fi
++
++dnl -----------------------------
++dnl Include convenience libraries
++dnl -----------------------------
++
++if test x$4 = x; then
++ startgroup="-Wl,--start-group"
++else
++ startgroup="-Wl,--start-group,$4"
++fi
++
++dnl ----------------------
++dnl Set architecture flags
++dnl ----------------------
++
++dnl check if GCC (or clang... it doesn't matter here) compiler is present
++gcc --version 2>&1 | egrep -i "gcc|clang" > /dev/null 2>&1 && flaggcc=yes
++
++# Meh.
++flag64=yes
++
++dnl check if the platform is OSX
++sw_vers 2>&1 | grep -i "ProductVersion" > /dev/null 2>&1 && flagosx=yes
++
++dnl ----------------------
++dnl Exit if INTEL compiler is not found
++dnl ----------------------
++if test x$flaggcc = x; then
++ AC_SUBST(MKL_CFLAGS, "")
++ AC_SUBST(MKL_LDFLAGS, "")
++ AC_SUBST(MKL_LIBS, "")
++ MKL_WARN="GCC compiler not detected"
++ AC_SUBST(MKL_WARN)
++ exit
++fi
++
++if test x$flagosx = xyes; then
++dnl MacOSX
++ if test x$flag64 = xyes; then
++dnl INTEL compiler uses Intel64 architecture
++ if test x$2 = xyes; then
++dnl 64 bit pointers
++ AC_SUBST(MKL_CFLAGS, "-fopenmp -DMKL_ILP64 -I$mklroot/include")
++ if test x$3 = xyes; then
++dnl Static linking
++ AC_SUBST(MKL_LIBS, ["$mklroot/lib/libmkl_intel_ilp64.a \
++ $mklroot/lib/libmkl_intel_thread.a \
++ $mklroot/lib/libmkl_core.a -lpthread -lm"])
++ else
++dnl Dynamic linking
++ AC_SUBST(MKL_LIBS, "-L$mklroot/lib -lmkl_intel_ilp64 \
++ -lmkl_intel_thread -lmkl_core -lpthread -lm")
++ fi
++ else
++dnl 32 bit pointers
++ AC_SUBST(MKL_CFLAGS, "-fopenmp -I$mklroot/include")
++ if test x$3 = xyes; then
++dnl Static linking
++ AC_SUBST(MKL_LIBS, ["$mklroot/lib/libmkl_intel_lp64.a \
++ $mklroot/lib/libmkl_intel_thread.a \
++ $mklroot/lib/libmkl_core.a -lpthread -lm"])
++ else
++dnl Dynamic linking
++ AC_SUBST(MKL_LIBS, "-L$mklroot/lib -lmkl_intel_lp64 \
++ -lmkl_intel_thread -lmkl_core -lpthread -lm")
++ fi
++ fi
++ else
++dnl INTEL compiler uses IA32 architecture
++ AC_SUBST(MKL_CFLAGS, "-fopenmp -I$mklroot/include")
++ if test x$3 = xyes; then
++dnl Static linking
++ AC_SUBST(MKL_LIBS, ["$mklroot/lib/libmkl_intel.a \
++ $mklroot/lib/libmkl_intel_thread.a \
++ $mklroot/lib/libmkl_core.a -lpthread -lm"])
++ else
++dnl Dynamic linking
++ AC_SUBST(MKL_LIBS, "-L$mklroot/lib -lmkl_intel -lmkl_intel_thread \
++ -lmkl_core -lpthread -lm")
++ fi
++ fi
++else
++dnl Linux
++ if test x$flag64 = xyes; then
++dnl INTEL compiler uses Intel64 architecture
++ if test x$2 = xyes; then
++dnl 64 bit pointers
++ AC_SUBST(MKL_CFLAGS, "-fopenmp -DMKL_ILP64 -I$mklroot/include")
++ if test x$3 = xyes; then
++dnl Static linking
++ AC_SUBST(MKL_LIBS,
++ ["$startgroup,$mklroot/lib/intel64/libmkl_intel_ilp64.a,\
++$mklroot/lib/intel64/libmkl_intel_thread.a,\
++$mklroot/lib/intel64/libmkl_core.a,-end-group -lpthread -lm"])
++ else
++dnl Dynamic linking
++ AC_SUBST(MKL_LIBS, "-L$mklroot/lib/intel64 -lmkl_intel_ilp64 \
++ -lmkl_intel_thread -lmkl_core -lpthread -lm")
++ fi
++ else
++dnl 32 bit pointers
++ AC_SUBST(MKL_CFLAGS, "-fopenmp -I$mklroot/include")
++ if test x$3 = xyes; then
++dnl Static linking
++ AC_SUBST(MKL_LIBS,
++ ["$startgroup,$mklroot/lib/intel64/libmkl_intel_lp64.a,\
++$mklroot/lib/intel64/libmkl_intel_thread.a,\
++$mklroot/lib/intel64/libmkl_core.a,--end-group -lpthread -lm"])
++ else
++dnl Dynamic linking
++ AC_SUBST(MKL_LIBS, "-L$mklroot/lib/intel64 -lmkl_intel_lp64 \
++ -lmkl_intel_thread -lmkl_core -lpthread -lm")
++ fi
++ fi
++ else
++dnl INTEL compiler uses IA32 architecture
++ AC_SUBST(MKL_CFLAGS, "-fopenmp -I$mklroot/include")
++ if test x$3 = xyes; then
++dnl Static linking
++ AC_SUBST(MKL_LIBS, ["$startgroup,$mklroot/lib/ia32/libmkl_intel.a,\
++$mklroot/lib/ia32/libmkl_intel_thread.a,\
++$mklroot/lib/ia32/libmkl_core.a,--end-group -lpthread -lm"])
++ else
++dnl Dynamic linking
++ AC_SUBST(MKL_LIBS, "-L$mklroot/lib/ia32 -lmkl_intel -lmkl_intel_thread \
++ -lmkl_core -lpthread -lm")
++ fi
++ fi
++fi
++
++AC_SUBST(MKL_LDFLAGS, "")
++
++dnl --------------------
++dnl Set internal flags
++dnl --------------------
++
++AC_DEFINE(HAVE_MKL,1, [Define if you have the MKL libraries.])
++AC_DEFINE(HAVE_FFTW,1, [Define if you have the FFTW libraries.])
++AC_DEFINE(HAVE_LAPACK,1, [Define if you have the LAPACK libraries.])
++AC_DEFINE(HAVE_LAPACKE,1, [Define if you have the LAPACKe libraries.])
++
++dnl --------------------
++dnl Set include files
++dnl --------------------
++
++AC_DEFINE_UNQUOTED(MKL_H, "mkl.h", [MKL header filename.])
++AC_DEFINE_UNQUOTED(FFTW_H, "fftw/fftw3_mkl.h", [FFTW header filename.])
++AC_DEFINE_UNQUOTED(LAPACK_H, "mkl_lapack.h", [LAPACK header filename.])
++AC_DEFINE_UNQUOTED(LAPACKE_H, "mkl_lapacke.h", [LAPACKe header filename.])
++
++])dnl ACX_MKL_GCC
+diff -u -p --recursive -N a/sextractor-2.19.5/configure.ac b/sextractor-2.19.5/configure.ac
+--- a/sextractor-2.19.5/configure.ac 2013-12-14 12:12:32.000000000 -0500
++++ b/sextractor-2.19.5/configure.ac 2017-12-30 16:37:44.000000000 -0500
+@@ -48,6 +48,7 @@ AC_SUBST(DATE3, "$date3")
+ sinclude(acx_atlas.m4)
+ sinclude(acx_fftw.m4)
+ sinclude(acx_mkl.m4)
++sinclude(acx_mkl_gcc.m4)
+ sinclude(acx_prog_cc_optim.m4)
+ sinclude(acx_pthread.m4)
+ sinclude(acx_urbi_resolve_dir.m4)
+@@ -79,12 +80,21 @@ AC_ARG_ENABLE(icc,
+ AC_MSG_CHECKING([whether we should use INTEL's MKL])
+ AC_ARG_ENABLE(mkl,
+ [AS_HELP_STRING([--enable-mkl],
+- [Use INTEL's MKL for solvers and FFTs (off by default)])],
++ [Use INTEL MKL for solvers and FFTs (off by default)])],
+ enable_icc="yes"
+ CC="icc"
+ AC_MSG_RESULT([yes]),
+ AC_MSG_RESULT([no]))
+
++AC_MSG_CHECKING([whether we should use INTEL MKL with gcc])
++AC_ARG_ENABLE(mkl_gcc,
++ [AS_HELP_STRING([--enable-mkl-gcc],
++ [Use INTEL MKL for solvers and FFTs (off by default)])],
++ enable_mkl_gcc="yes"
++ CC="gcc"
++ AC_MSG_RESULT([yes]),
++ AC_MSG_RESULT([no]))
++
+ # Checks for programs.
+ AC_LANG(C)
+
+@@ -105,7 +115,7 @@ AC_HEADER_STDC
+ AC_CHECK_HEADERS([fcntl.h limits.h malloc.h stdlib.h string.h sys/mman.h \
+ sys/types.h unistd.h])
+ # Checks for INTEL math header files.
+-if test x$enable_icc = xyes; then
++if test x$enable_icc = xyes || test x$enable_mkl_gcc = xyes; then
+ AC_CHECK_HEADERS(mathimf.h)
+ fi
+
+@@ -226,9 +236,14 @@ AM_CONDITIONAL(USE_THREADS, [test x$use_
+ if test x$enable_model_fitting != xno; then
+ AC_DEFINE(USE_MODEL, 1, [Triggers model-fitting])
+ ############ handle the INTEL MKL library (FFTW + LAPACK) ###########
+- if test x$enable_mkl = xyes; then
++ if test x$enable_mkl = xyes || test x$enable_mkl_gcc = xyes; then
+ convlibs="${srcdir}/wcs/libwcs_c.a,${srcdir}/levmar/liblevmar.a"
+- ACX_MKL($with_mkl_dir,,$enable_best_link,$convlibs)
++ if test x$enable_mkl_gcc = xyes; then
++ ACX_MKL_GCC($with_mkl_dir,,$enable_best_link,$convlibs)
++ else
++ ACX_MKL($with_mkl_dir,,$enable_best_link,$convlibs)
++ fi
++
+ if test x$MKL_WARN != x; then
+ AC_MSG_WARN([$MKL_WARN])
+ fi
+@@ -256,7 +271,7 @@ AM_CONDITIONAL(USE_MODEL, [test x$enable
+
+ # Compile with profiling option
+ if test x$enable_profiling = xyes; then
+- if test x$enable_icc = xyes; then
++ if test x$enable_icc = xyes || test x$enable_mkl_gcc = xyes; then
+ AM_CFLAGS="$AM_CFLAGS -pq"
+ else
+ AM_CFLAGS="$AM_CFLAGS -pg"