Imported Healpix, cfitsio, cosmotool. Added cmake tool to build dependencies (cfitsio, hdf5, netcdf, boost, healpix, gsl, ..). Adjusted CMakeLists.txt

This commit is contained in:
Guilhem Lavaux 2012-10-30 14:17:11 -04:00
parent 4bfb62f177
commit 51f6798f88
241 changed files with 243806 additions and 0 deletions

507
external/cfitsio/configure.in vendored Normal file
View file

@ -0,0 +1,507 @@
#
# configure.in for cfitsio
#
# /redshift/sgi6/lheavc/ftools/cfitsio/configure.in,v 3.4 1996/07/26 20:27:53 pence Exp
#
# copied from host and modified
#
dnl Process this file with autoconf to produce a configure script.
AC_INIT
AC_CONFIG_SRCDIR([fitscore.c])
#--------------------------------------------------------------------
# Command options
#--------------------------------------------------------------------
AC_ARG_ENABLE(
reentrant,
[AS_HELP_STRING([--enable-reentrant],[Enable reentrant multithreading])],
[ if test $enableval = yes; then BUILD_REENTRANT=yes; fi ]
)
SSE_FLAGS=""
AC_ARG_ENABLE(
sse2,
[AS_HELP_STRING([--enable-sse2],[Enable use of instructions in the SSE2 extended instruction set])],
[ if test $enableval = yes; then SSE_FLAGS="-msse2"; fi ]
)
AC_ARG_ENABLE(
ssse3,
[AS_HELP_STRING([--enable-ssse3],[Enable use of instructions in the SSSE3 extended instruction set])],
[ if test $enableval = yes; then SSE_FLAGS="$SSE_FLAGS -mssse3"; fi ]
)
# Define BUILD_HERA when building for HERA project to activate code in
# drvrfile.c (by way of fitsio2.h):
AC_ARG_ENABLE(
hera,
[AS_HELP_STRING([--enable-hera],[Build for HERA (ASD use only)])],
[ if test $enableval = yes; then BUILD_HERA=yes; fi ]
)
if test "x$BUILD_HERA" = xyes; then
AC_DEFINE(BUILD_HERA)
fi
AC_ARG_WITH(
gsiftp-flavour,
[AS_HELP_STRING([--with-gsiftp-flavour[[=PATH]]],[Enable Globus Toolkit gsiftp protocol support])],
[ if test "x$withval" != "xno"; then
if test "x$withval" != "xyes" ; then
GSIFTP_FLAVOUR=${withval}
fi
AC_DEFINE(GSIFTP_FLAVOUR,1,[Define Globus Toolkit architecture])
fi
]
)
AC_ARG_WITH(
gsiftp,
[AS_HELP_STRING([--with-gsiftp[[=PATH]]],[Enable Globus Toolkit gsiftp protocol support])],
[ if test "x$withval" != "xno"; then
if test "x$withval" != "xyes" ; then
CFLAGS="$CFLAGS -I${withval}/include/${GSIFTP_FLAVOUR}"
LDFLAGS="$LDFLAGS -L${withval}/lib -lglobus_ftp_client_${GSIFTP_FLAVOUR}"
HAVE_GSIFTP=yes
fi
AC_DEFINE(HAVE_GSIFTP,1,[Define if you want Globus Toolkit gsiftp protocol support])
fi
]
)
#--------------------------------------------------------------------
# Check for install location prefix
#--------------------------------------------------------------------
AC_PREFIX_DEFAULT(`pwd`)
# make will complain about duplicate targets for the install directories
# if prefix == exec_prefix
AC_SUBST(INSTALL_ROOT,'${prefix}')
test "$exec_prefix" != NONE -a "$prefix" != "$exec_prefix" \
&& INSTALL_ROOT="$INSTALL_ROOT "'${exec_prefix}'
#--------------------------------------------------------------------
# Check "uname" to determine system type
#--------------------------------------------------------------------
AC_CHECK_PROG([uname_found],[uname],[1],[0])
if test $uname_found -eq 0 ; then
echo "cfitsio: No uname found; setting system type to unknown."
system="unknown"
else
system=`uname -s`-`uname -r`
fi
dnl Checks for programs.
# Try first to find a proprietary C compiler, then gcc
if test "x$CC" = x; then
AC_CHECK_PROGS(CC, cc)
fi
AC_PROG_CC
if test "x$FC" = "xnone" ; then
AC_MSG_NOTICE(cfitsio: == Fortran compiler search has been overridden)
AC_MSG_NOTICE(cfitsio: == Cfitsio will be built without Fortran wrapper support)
FC=
F77_WRAPPERS=
else
AC_CHECK_PROGS(FC, gfortran g95 g77 f77 ifort f95 f90 xlf cf77 gf77 af77 ncf f2c, notfound)
if test $FC = 'notfound' ; then
AC_MSG_WARN(cfitsio: == No acceptable Fortran compiler found in \$PATH)
AC_MSG_NOTICE(cfitsio: == Adding wrapper support for GNU Fortran by default)
CFORTRANFLAGS="-Dg77Fortran"
F77_WRAPPERS="\${FITSIO_SRC}"
else
CFORTRANFLAGS=
F77_WRAPPERS="\${FITSIO_SRC}"
echo $ac_n "checking whether we are using GNU Fortran""... $ac_c" 1>&6
if test `$FC --version -c < /dev/null 2> /dev/null | grep -c GNU` -gt 0 -o \
`$FC --version -c < /dev/null 2> /dev/null | grep -ic egcs` -gt 0
then
echo "$ac_t""yes" 1>&6
echo $ac_n "cfitsio: == Adding wrapper support for GNU Fortran""... $ac_c" 1>&6
CFORTRANFLAGS="-Dg77Fortran"
echo "$ac_t"" done" 1>&6
else
echo "$ac_t""no" 1>&6
if test $FC = 'f2c' ; then
echo $ac_n "cfitsio: == Adding wrapper support for f2c""... $ac_c" 1>&6
CFORTRANFLAGS="-Df2cFortran"
echo "$ac_t"" done" 1>&6
fi
fi
fi
fi
AC_PROG_RANLIB
dnl Checks for ANSI stdlib.h.
AC_CHECK_HEADERS(stdlib.h string.h math.h limits.h ,ANSI_HEADER=yes,ANSI_HEADER=no)dnl
dnl Check if prototyping is allowed.
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[void d( int , double) ]])],[PROTO=yes],[PROTO=no])dnl
if test $ANSI_HEADER = no -o $PROTO = no; then
echo " *********** WARNING: CFITSIO CONFIGURE FAILURE ************ "
echo "cfitsio: ANSI C environment NOT found. Aborting cfitsio configure."
if test $ANSI_HEADER = no; then
echo "cfitsio: You're missing a needed ANSI header file."
fi
if test $PROTO = no; then
echo "cfitsio: Your compiler can't do ANSI function prototypes."
fi
echo "cfitsio: You need an ANSI C compiler and all ANSI trappings"
echo "cfitsio: to build cfitsio. "
echo " ******************************************************* "
exit 0;
fi
dnl Check if C compiler supports sse extended instruction flags.
if test "x$SSE_FLAGS" != x; then
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $SSE_FLAGS"
AC_MSG_CHECKING([whether $CC accepts $SSE_FLAGS])
AC_LANG_PUSH([C])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],[c_has_option=yes],[c_has_option=no])
AC_MSG_RESULT($c_has_option)
AC_LANG_POP([])
if test "$c_has_option" = no; then SSE_FLAGS=""; fi
CFLAGS="$SAVE_CFLAGS"
fi
AC_SUBST(SSE_FLAGS)
CFLAGS="$CFLAGS"
LIBPRE=""
case $system in
Darwin-*)
# Build for i386 & x86_64 architectures on Darwin 10.x or newer:
changequote(,)
case $system in
Darwin-[56789]*)
;;
*)
changequote([,])
# Test to see whether the C compiler accepts the "-arch"
# flags for building "universal" binaries (Apple XCode only):
SAVE_CFLAGS="$CFLAGS"
C_UNIV_SWITCH="-arch i386 -arch x86_64"
CFLAGS="$CFLAGS $C_UNIV_SWITCH"
AC_MSG_CHECKING([whether $CC accepts $C_UNIV_SWITCH])
AC_LANG_PUSH([C])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],[c_has_option=yes],[c_has_option=no])
AC_MSG_RESULT($c_has_option)
AC_LANG_POP([])
# Value of C_UNIV_SWITCH will be needed later for SHLIB_LD:
if test "$c_has_option" = no; then C_UNIV_SWITCH=""; fi
CFLAGS="$SAVE_CFLAGS $C_UNIV_SWITCH"
;;
esac
# Darwin can be powerpc, i386, or x86_64
ARCH=`uname -p`
EXT="darwin"
# For large file support (but may break Absoft compilers):
AC_DEFINE(_LARGEFILE_SOURCE)
AC_DEFINE(_FILE_OFFSET_BITS,64)
;;
SunOS-4*)
ARCH="sun"
EXT="sun"
;;
HP-UX-*)
ARCH="hp"
EXT="hpu"
if test "x$CFORTRANFLAGS" = x ; then
CFORTRANFLAGS="-Dappendus"
fi
CFLAGS="$CFLAGS -DPG_PPU"
LIBPRE="-Wl,"
;;
SunOS-5*)
ARCH="solaris"
EXT="sol"
if test "x$CFORTRANFLAGS" = x ; then
CFORTRANFLAGS="-Dsolaris"
fi
# We need libm on Solaris:
AC_CHECK_LIB(m, frexp)
# For large file support:
AC_DEFINE(_LARGEFILE_SOURCE)
AC_DEFINE(_FILE_OFFSET_BITS,64)
;;
OSF1*)
ARCH="alpha"
EXT="osf"
;;
IRIX*)
ARCH="sgi"
EXT="sgi"
CFLAGS="$CFLAGS -DHAVE_POSIX_SIGNALS"
RANLIB="touch"
;;
ULTRIX*)
ARCH="dec"
EXT="dec"
;;
Linux*)
ARCH="linux"
EXT="lnx"
# For large file support:
AC_DEFINE(_LARGEFILE_SOURCE)
AC_DEFINE(_FILE_OFFSET_BITS,64)
;;
FREEBSD*|FreeBSD*)
ARCH="linux"
EXT="lnx"
;;
CYGWIN*)
ARCH="cygwin"
EXT="cygwin"
CFLAGS="$CFLAGS -DHAVE_POSIX_SIGNALS"
;;
*)
echo "cfitsio: == Don't know what do do with $system"
;;
esac
CFLAGS="$CFLAGS $CFORTRANFLAGS"
case $GCC in
yes)
GCCVERSION="`$CC -dumpversion 2>&1`"
echo "cfitsio: == Using gcc version $GCCVERSION"
AC_SUBST(GCCVERSION)
changequote(,)
gcc_test=`echo $GCCVERSION | grep -c '2\.[45678]'`
changequote([,])
if test $gcc_test -gt 0
then
changequote(,)
CFLAGS=`echo $CFLAGS | sed 's:-O[^ ]* *::'`
changequote([,])
AC_MSG_WARN(This gcc is pretty old. Disabling optimization to be safe.)
fi
;;
no)
echo "cfitsio: Old CFLAGS is $CFLAGS"
CFLAGS=`echo $CFLAGS | sed -e "s/-g/-O/"`
case $system in
SunOS-5*)
changequote(,)
if test `echo $CFLAGS | grep -c fast` -gt 0
then
echo "cfitsio: Replacing -fast with -O3"
CFLAGS=`echo $CFLAGS | sed 's:-fast:-O3:'`
fi
changequote([,])
CFLAGS="$CFLAGS -DHAVE_ALLOCA_H -DHAVE_POSIX_SIGNALS"
;;
*)
echo "== No special changes for $system"
;;
esac
echo "New CFLAGS is $CFLAGS"
;;
*)
# Don't do anything now
;;
esac
# Shared library section
#-------------------------------------------------------------------------------
SHLIB_LD=:
SHLIB_SUFFIX=".so"
lhea_shlib_cflags=
case $EXT in
cygwin)
SHLIB_LD="$CC -shared"
SHLIB_SUFFIX=".dll"
;;
darwin)
changequote(,)
case $system in
Darwin-[56789]*)
SHLIB_LD="$CC -dynamiclib"
;;
*)
# Build for i386 & x86_64 architectures on Darwin 10.x or newer:
SHLIB_LD="$CC -dynamiclib $C_UNIV_SWITCH"
;;
esac
changequote([,])
SHLIB_SUFFIX=".dylib"
lhea_shlib_cflags="-fPIC -fno-common"
;;
hpu)
SHLIB_LD="ld -b"
SHLIB_SUFFIX=".sl"
;;
lnx)
SHLIB_LD=":"
;;
osf)
SHLIB_LD="ld -shared -expect_unresolved '*'"
LD_FLAGS="-taso"
;;
sol)
SHLIB_LD="/usr/ccs/bin/ld -G"
lhea_shlib_cflags="-KPIC"
;;
sgi)
SHLIB_LD="ld -shared -rdata_shared"
;;
*)
AC_MSG_WARN(Unable to determine how to make a shared library)
;;
esac
# Darwin uses gcc (=cc), but needs different flags (see above)
# if test "x$GCC" = xyes; then
if test "x$GCC" = xyes && test "x$EXT" != xdarwin && test "x$EXT" != xcygwin; then
SHLIB_LD="$CC -shared"
lhea_shlib_cflags='-fPIC'
fi
if test "x$lhea_shlib_cflags" != x; then
CFLAGS="$CFLAGS $lhea_shlib_cflags"
fi
AC_SUBST(ARCH)dnl
AC_SUBST(CFLAGS)dnl
AC_SUBST(CC)dnl
AC_SUBST(FC)dnl
AC_SUBST(LIBPRE)dnl
AC_SUBST(SHLIB_LD)dnl
AC_SUBST(SHLIB_SUFFIX)dnl
AC_SUBST(F77_WRAPPERS)
# ================= test for the unix ftruncate function ================
AC_MSG_CHECKING("whether ftruncate works")
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>
]], [[
ftruncate(0, 0);
]])],[
AC_DEFINE(HAVE_FTRUNCATE)
AC_MSG_RESULT("yes")
],[AC_MSG_RESULT("no") ])
# ---------------------------------------------------------
# some systems define long long for 64-bit ints
# ---------------------------------------------------------
AC_MSG_CHECKING("whether long long is defined")
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>
]], [[
long long filler;
]])],[
AC_DEFINE(HAVE_LONGLONG)
AC_MSG_RESULT("yes")
],[AC_MSG_RESULT("no") ])
# ==================== SHARED MEMORY DRIVER SECTION =======================
#
# 09-Mar-98 : modified by JB/ISDC
# 3 checks added to support autoconfiguration of shared memory
# driver. First generic check is made whether shared memory is supported
# at all, then 2 more specific checks are made (architecture dependent).
# Currently tested on : sparc-solaris, intel-linux, sgi-irix, dec-alpha-osf
# -------------------------------------------------------------------------
# check is System V IPC is supported on this machine
# -------------------------------------------------------------------------
AC_MSG_CHECKING("whether system V style IPC services are supported")
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/sem.h>
]], [[
shmat(0, 0, 0);
shmdt(0);
shmget(0, 0, 0);
semget(0, 0, 0);
]])],[
AC_DEFINE(HAVE_SHMEM_SERVICES)
my_shmem=\${SOURCES_SHMEM}
AC_MSG_RESULT("yes")
],[AC_MSG_RESULT("no") ])
AC_SUBST(my_shmem)
# -------------------------------------------------------------------------
# some systems define flock_t, for others we have to define it ourselves
# -------------------------------------------------------------------------
AC_MSG_CHECKING("do we have flock_t defined in sys/fcntl.h")
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/fcntl.h>
]], [[
flock_t filler;
]])],[
AC_DEFINE(HAVE_FLOCK_T)
AC_MSG_RESULT("yes")
],[AC_MSG_RESULT("no") ])
if test "$HAVE_FLOCK_T" != 1; then
AC_MSG_CHECKING("do we have flock_t defined in sys/flock.h")
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/flock.h>
]], [[
flock_t filler;
]])],[
AC_DEFINE(HAVE_FLOCK_T)
AC_MSG_RESULT("yes")
],[AC_MSG_RESULT("no") ])
fi
# -------------------------------------------------------------------------
# there are some idiosyncrasies with semun defs (used in semxxx). Solaris
# does not define it at all
# -------------------------------------------------------------------------
AC_MSG_CHECKING("do we have union semun defined")
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/sem.h>
]], [[
union semun filler;
]])],[
AC_DEFINE(HAVE_UNION_SEMUN)
AC_MSG_RESULT("yes")
],[AC_MSG_RESULT("no") ])
# ==================== END OF SHARED MEMORY DRIVER SECTION ================
# ================= test for the unix networking functions ================
AC_SEARCH_LIBS([gethostbyname], [nsl], cfitsio_have_nsl=1, cfitsio_have_nsl=0)
AC_SEARCH_LIBS([connect], [socket], cfitsio_have_socket=1,
cfitsio_have_socket=0, [-lnsl])
if test "$cfitsio_have_nsl" = 1 -a "$cfitsio_have_socket" = 1; then
AC_DEFINE(HAVE_NET_SERVICES)
fi
# ==================== END OF unix networking SECTION ================
# ------------------------------------------------------------------------------
# Define _REENTRANT & add -lpthread to LIBS if reentrant multithreading enabled:
# ------------------------------------------------------------------------------
if test "x$BUILD_REENTRANT" = xyes; then
AC_DEFINE(_REENTRANT)
AC_CHECK_LIB([pthread],[main],[],[AC_MSG_ERROR(Unable to locate pthread library needed when enabling reentrant multithreading)])
fi
# ------------------------------------------------------------------------------
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
AC_CONFIG_FILES([cfitsio.pc])
AC_OUTPUT
AC_MSG_RESULT([])
AC_MSG_RESULT([ Congratulations, Makefile update was successful.])
AC_MSG_RESULT([ You may want to run \"make\" now.])
AC_MSG_RESULT([])