From 81b4298ad54b478d2dc96b6fa9045b1972750406 Mon Sep 17 00:00:00 2001 From: Costa Vitor Date: Mon, 27 Sep 2010 14:12:09 -0500 Subject: [PATCH] fix static compilation and condor compilation. --- configure.in | 3954 +++++++++++++++++++++++++------------------------- 1 file changed, 1981 insertions(+), 1973 deletions(-) diff --git a/configure.in b/configure.in index 0ac7e17b4..5a37be442 100755 --- a/configure.in +++ b/configure.in @@ -1,1973 +1,1981 @@ -dnl -dnl Process this file with autoconf to produce a configure script. -dnl - -AC_PREREQ([2.50]) - -dnl VARIABLES EXPORTED -dnl -dnl ARCH -dnl -dnl DefHeapSpace= Default DB space -dnl DefStackSpace= Default global+local -dnl DefTrailSpace= Default trail -dnl -dnl CPLINT -dnl -dnl CPLINT_LIBS= -dnl CPLINT_LIBS= -dnl CPLINT_LDFLAGS= -dnl CPLINT_SHLIB_LD= -dnl -dnl ENVIRONMENT to run YAP before Install is complete -dnl PRE_INSTALL_ENV= prefix to run YAP after libYap.so and yap are available -dnl but before make install -dnl INSTALL_ENV= prefix to run YAP while doing make install -dnl -dnl EXEC_SUFFIX=suffix for executable (.exe) -dnl -dnl INSTALL_DLLS= we can do dynamic linking -dnl SO= suffix for loadable binary (.so,.dll,.o) -dnl MERGE_DLL_OBJS= we need to merge several .o files into a single dll. -dnl -dnl CXXFLAGS= C++-flags -dnl SHLIB_FLAGS= C-flags used to compile a file that will be loaded dynamically -dnl DO_SECOND_LD= call a separate dll ld -dnl YAPLIB_LD= construct libYap.DLL -dnl SHLIB_LD= dll ld (C) -dnl SHLIB_CXX_LD= dll ld (C++) -dnl SHLIB_CFLAGS= cflags to use when constructing a DLL -dnl SHLIB_CXX_CFLAGS= c++flags to use when constructing a DLL -dnl YAPLIB_CFLAGS=flags to construct libYap -dnl EXTRA_LIBS_FOR_DLLS= libs that are required when lding a so -dnl EXTRA_LIBS_FOR_SWIDLLS= libs that are required when lding a SWI so - - -AC_INIT(console/yap.c) -AC_CONFIG_HEADER(config.h) - -dnl store the environment's compilation flags -mycflags="$CFLAGS" - -AC_PROG_CC -AC_PROG_CXX -AC_PROG_AWK -AC_SUBST(GCC) -AC_SUBST(C_INTERF_FLAGS) -AC_SUBST(C_PARSER_FLAGS) - -AC_ARG_ENABLE(tabling, - [ --enable-tabling support tabling ], - tabling="$enableval", tabling=no) -AC_ARG_ENABLE(or-parallelism, - [ --enable-or-parallelism support or-parallelism as: env-copy,sba,a-cow ], - orparallelism="$enableval", orparallelism=no) -AC_ARG_ENABLE(rational-trees, - [ --enable-rational-trees support infinite rational trees ], - rationaltrees="$enableval" , rationaltrees=yes) -AC_ARG_ENABLE(coroutining, - [ --enable-coroutining support co-routining, attributed variables and constraints], - rationaltrees="$enableval";coroutining="$enableval", coroutining=yes) -AC_ARG_ENABLE(depth-limit, - [ --enable-depth-limit support depth-bound computation ], - depthlimit="$enableval", depthlimit=yes) -AC_ARG_ENABLE(wam-profile, - [ --enable-wam-profile support low level profiling of abstract machine ], - wamprofile="$enableval", wamprofile=no) -AC_ARG_ENABLE(low-level-tracer, - [ --enable-low-level-tracer support support for procedure-call tracing ], - lowleveltracer="$enableval", lowleveltracer=no) -AC_ARG_ENABLE(threads, - [ --enable-threads support system threads ], - threads="$enableval", threads=no) -AC_ARG_ENABLE(pthread-locking, - [ --enable-pthread-locking use pthread locking primitives for internal locking (requires threads) ], - pthreadlocking="$enableval", pthreadlocking=no) -AC_ARG_ENABLE(max-performance, - [ --enable-max-performance try using the best flags for specific architecture ], - maxperformance="$enableval", maxperformance=no) -AC_ARG_ENABLE(max-memory, - [ --enable-max-memory try using the best flags for using the memory to the most ], - maxmemory="$enableval", maxmemory=yes) -AC_ARG_ENABLE(debug-yap, - [ --enable-debug-yap enable C-debugging for YAP ], - debugyap="$enableval", debugyap=no) -AC_ARG_ENABLE(eam, - [ --enable-eam enable EAM on YAP ], - eam="$enableval", eam=no) -AC_ARG_ENABLE(cygwin, - [ --enable-cygwin use cygwin library in WIN32 ], - cygwin="$enableval", cygwin=no) -AC_ARG_ENABLE(dynamic_loading, - [ --enable-dynamic-loading compile Yap as a DLL ], - dynamic_loading="$enableval", dynamic_loading=no) -AC_ARG_ENABLE(use-malloc, - [ --enable-use-malloc use malloc to allocate memory ], - use_malloc="$enableval", use_malloc=no) -AC_ARG_ENABLE(condor, - [ --enable-condor allow Yap to be used from condor ], - use_condor="$enableval", use_condor=no) -AC_ARG_ENABLE(chr, - [ --enable-chr install chr library ], - use_chr="$enableval", use_chr=yes) -AC_ARG_ENABLE(clpqr, - [ --enable-clpqr install clpqr library ], - use_clpqr="$enableval", use_clpqr=yes) -AC_ARG_ENABLE(win64, - [ --enable-win64 compile YAP for win64 ], - target_win64="$enableval", target_win64=no) - -AC_ARG_ENABLE(april, - [ --enable-april compile Yap to support April ILP system], - use_april="$enableval", use_april=no) - -AC_ARG_ENABLE(dlcompat, - [ --enable-dlcompat use dlcompat library for dynamic loading on Mac OS X], - use_dlcompat="$enableval", use_dlcompat=no) - -AC_ARG_ENABLE(cplint, - [ --enable-cplint[=DIR] enable the cplint library using the glu library in DIR/lib], - yap_cv_cplint=$enableval, yap_cv_cplint=no) - -AC_ARG_WITH(gmp, - [ --with-gmp[=DIR] use GNU Multiple Precision in DIR], - if test "$withval" = yes; then - yap_cv_gmp=yes - elif test "$withval" = no; then - yap_cv_gmp=no - else - yap_cv_gmp=$with_gmp - LDFLAGS="$LDFLAGS -L${yap_cv_gmp}/lib" - LIBS="$LIBS -L${yap_cv_gmp}/lib" - CPPFLAGS="$CPPFLAGS -I${yap_cv_gmp}/include" - CFLAGS="$CFLAGS -I${yap_cv_gmp}/include" - fi, - [yap_cv_gmp=yes]) - -dnl best test we could do. -AC_ARG_WITH(minisat, - [ --enable-minisat use minisat interface], - if test "$withval" = yes; then - yap_cv_minisat=yes - elif test "$withval" = no; then - yap_cv_minisat=no - else - yap_cv_minisat="$GXX" - fi, - [yap_cv_minisat=yes]) - -AC_ARG_WITH(cudd, - [ --with-cudd[=DIR] use CUDD package in DIR], - if test "$withval" = yes; then - yap_cv_cudd=yes - elif test "$withval" = no; then - yap_cv_cudd=no - else - yap_cv_cudd=$with_cudd - CUDD_LDFLAGS="$yap_cv_cudd/cudd/libcudd.a $yap_cv_cudd/mtr/libmtr.a $yap_cv_cudd/st/libst.a $yap_cv_cudd/util/libutil.a $yap_cv_cudd/epd/libepd.a " - CUDD_CPPFLAGS="-I $yap_cv_cudd/include" - fi, - [yap_cv_cudd=no]) - -AC_ARG_ENABLE(myddas, - [ --enable-myddas[[=DIR]] enable the MYDDAS library], - if test "$enableval" = yes; then - yap_cv_myddas=/usr/ - elif test "$enableval" = no; then - yap_cv_myddas=no - else - yap_cv_myddas=$enable_myddas - LDFLAGS="$LDFLAGS -L${yap_cv_myddas}/lib " - CPPFLAGS="$CPPFLAGS -I${yap_cv_myddas}/include " - fi, - [yap_cv_myddas=no]) - -AC_ARG_ENABLE(myddas-stats, - [ --enable-myddas-stats enable the MYDDAS library statistics support], - if test "$yap_cv_myddas" = no; then - myddasstats=no - else - myddasstats="$enableval" - fi, myddasstats=no) - -AC_ARG_ENABLE(myddas-top-level, - [ --enable-myddas-top-level enable the MYDDAS top-level support to MySQL], - if test "$yap_cv_myddas" = no; then - myddastoplevel=no - else - myddastoplevel="$enableval" - fi, myddastoplevel=no) - -AC_ARG_WITH(java, - [ --with-java=JAVA_HOME use Java instalation in JAVA_HOME], - if test "$withval" = yes; then - yap_cv_java="$JAVA_HOME" - dynamic_loading=yes - maxmemory=yes -dnl threads=yes - elif test "$withval" = no; then - yap_cv_java=no - else - yap_cv_java=$with_java - dynamic_loading=yes - maxmemory=yes -dnl threads=yes - fi, - [yap_cv_java=no]) - -AC_ARG_WITH(readline, - [ --with-readline[=DIR] use GNU Readline Library in DIR], - if test "$withval" = yes; then - yap_cv_readline=yes - elif test "$withval" = no; then - yap_cv_readline=no - else - yap_cv_readline=$with_readline - LDFLAGS="$LDFLAGS -L${yap_cv_readline}/lib" - CPPFLAGS="$CPPFLAGS -I${yap_cv_readline}/include" - fi, - [yap_cv_readline=yes]) - -AC_ARG_WITH(matlab, - [ --with-matlab[=DIR] use MATLAB package in DIR], - if test "$withval" = yes; then - yap_cv_matlab=yes - elif test "$withval" = no; then - yap_cv_matlab=no - else - yap_cv_matlab=$with_matlab - MATLAB_INCLUDE="-I${yap_cv_matlab}/extern/include" - fi, - [yap_cv_matlab=no]) - -AC_ARG_WITH(mpi, - [ --with-mpi[=DIR] use MPI library in DIR], - if test "$withval" = yes; then - yap_cv_mpi=yes - elif test "$withval" = no; then - yap_cv_mpi=no - else - yap_cv_mpi=$with_mpi - LDFLAGS="$LDFLAGS -L${yap_cv_mpi}/lib" - CPPFLAGS="$CPPFLAGS -I${yap_cv_mpi}/include" - fi, - [yap_cv_mpi=no]) - - -AC_ARG_WITH(mpe, - [ --with-mpe[=DIR] use MPE library in DIR], - if test "$withval" = yes; then - yap_cv_mpe=yes - elif test "$withval" = no; then - yap_cv_mpe=no - else - yap_cv_mpe=$with_mpe - LDFLAGS="$LDFLAGS -L${yap_cv_mpe}/lib" - CPPFLAGS="$CPPFLAGS -I${yap_cv_mpe}/include" - fi, - [yap_cv_mpe=no]) - -AC_ARG_WITH(lam, - [ --with-lam[=DIR] use LAM MPI library in DIR], - if test "$withval" = yes; then - yap_cv_lam=yes - elif test "$withval" = no; then - yap_cv_lam=no - else - yap_cv_lam=$with_lam - LDFLAGS="$LDFLAGS -L${yap_cv_lam}/lib/lam" - CPPFLAGS="$CPPFLAGS -I${yap_cv_lam}/include" - fi, - [yap_cv_lam=no]) - -AC_ARG_WITH(heap-space, - [ --with-heap-space[=space] default heap size in Kbytes], - if test "$withval" = yes; then - yap_cv_heap_space=0 - elif test "$withval" = no; then - yap_cv_heap_space=0 - else - yap_cv_heap_space=$withval - fi, - [yap_cv_heap_space=0]) - -AC_ARG_WITH(stack-space, - [ --with-stack-space[=space] default stack size in Kbytes], - if test "$withval" = yes; then - yap_cv_stack_space=0 - elif test "$withval" = no; then - yap_cv_stack_space=0 - else - yap_cv_stack_space=$withval - fi, - [yap_cv_stack_space=0]) - -AC_ARG_WITH(trail-space, - [ --with-trail-space[=space] default trail size in Kbytes], - if test "$withval" = yes; then - yap_cv_trail_space=0 - elif test "$withval" = no; then - yap_cv_trail_space=0 - else - yap_cv_trail_space=$withval - fi, - [yap_cv_trail_space=0]) - -AC_ARG_WITH(max-workers, - [ --with-max-workers[=integer] maximum number of or-parallel processes], - if test "$withval" = yes; then - yap_cv_max_workers="(8*SIZEOF_INT_P)" - elif test "$withval" = no; then - yap_cv_max_workers="1" - else - yap_cv_max_workers=$withval - fi, - [yap_cv_max_workers="(8*SIZEOF_INT_P)"]) - -AC_ARG_WITH(max-threads, - [ --with-max-threads[=integer] maximum number of or-parallel processes], - if test "$withval" = yes; then - yap_cv_max_threads="1024" - elif test "$withval" = no; then - yap_cv_max_threads="1" - else - yap_cv_max_threads=$withval - fi, - [yap_cv_max_threads="1024"]) - -AC_ARG_WITH(junit, [ --with-junit=PATH Specify location of the junit JAR file], - [case "$withval" in - yes) JUNIT=/usr/share/java/junit.jar - ;; - no) JUNIT="" - ;; - *) JUNIT="$withval" - ;; - esac]) - -AC_DEFINE(MinHeapSpace, (1000*SIZEOF_INT_P)) -AC_DEFINE(MinStackSpace,(300*SIZEOF_INT_P)) -AC_DEFINE(MinTrailSpace,( 48*SIZEOF_INT_P)) - -AC_DEFINE_UNQUOTED(DefHeapSpace,$yap_cv_heap_space) -AC_DEFINE_UNQUOTED(DefStackSpace,$yap_cv_stack_space) -AC_DEFINE_UNQUOTED(DefTrailSpace,$yap_cv_trail_space) - -AC_SUBST(DefHeapSpace) -AC_SUBST(DefStackSpace) -AC_SUBST(DefTrailSpace) - -AC_CANONICAL_SYSTEM - -AC_DEFINE_UNQUOTED(HOST_ALIAS,"${target}") - -if test "$or-parallelism" = no -then - AC_DEFINE(MAX_WORKERS,1) -else - AC_DEFINE_UNQUOTED(MAX_WORKERS,$yap_cv_max_workers) -fi - -if test "$threads" = no -then - AC_DEFINE(MAX_THREADS,1) -else - AC_DEFINE_UNQUOTED(MAX_THREADS,$yap_cv_max_threads) -fi - - -dnl condor does not like dynamic linking on Linux, DEC, and HP-UX platforms. -if test "$yap_cv_matlab" = no -then - INSTALL_MATLAB="@# " -elif test "$yap_cv_matlab" = yes -then - INSTALL_MATLAB="" -else - case "$target_cpu" in - i*86*) - LDFLAGS="$LDFLAGS -L${yap_cv_matlab}/bin/glnx86" - ;; - x86*) - LDFLAGS="$LDFLAGS -L${yap_cv_matlab}/bin/glnxa64" - ;; - sparc*) - LDFLAGS="$LDFLAGS -L${yap_cv_matlab}/bin/sol2" - ;; - esac - INSTALL_MATLAB="" -fi - -if test "$yap_cv_cudd" = no -then - USE_CUDD="@# " -else - USE_CUDD="" -fi - -if test "$yap_cv_minisat" = no -then - USE_MINISAT="@# " -elif test "$INSTALL_DLLS" = "#" -then - USE_MINISAT="@# " -else - USE_MINISAT="" -fi - -dnl condor does not like dynamic linking on Linux, DEC, and HP-UX platforms. -if test "$use_condor" = yes -then - use_malloc="yes" - CC="condor_compile $CC" - dnl no readline with condor. - yap_cv_readline="no" - AC_DEFINE(SUPPORT_CONDOR, 1) - STATIC_MODE="" -else - STATIC_MODE="# " -fi - -dnl Compilation Flags -if test "$GCC" = "yes" -then - if test "$debugyap" = "yes" - then - CXXFLAGS="-O -g -Wall $CFLAGS" - C_INTERF_FLAGS="-O -g -Wall -Wstrict-prototypes -Wmissing-prototypes $CFLAGS" - CFLAGS="-O -g -Wall -Wstrict-prototypes -Wmissing-prototypes $CFLAGS" - else - CXXFLAGS="-O3 -fomit-frame-pointer -Wall $CFLAGS" - C_INTERF_FLAGS="-O3 -Wall -Wstrict-prototypes -Wmissing-prototypes $CFLAGS" - C_PARSER_FLAGS="-O3 -Wall -Wstrict-prototypes -Wmissing-prototypes $CFLAGS" - CFLAGS="-O3 -fomit-frame-pointer -Wall -Wstrict-prototypes -Wmissing-prototypes $CFLAGS" - case "`$CC --version < /dev/null`" in - *3.4*) CFLAGS="-fno-gcse -fno-crossjumping $CFLAGS" ;; - esac - case "$target_cpu" in - i*86*) - CFLAGS="-DBP_FREE $CFLAGS" - CXXFLAGS="-DBP_FREE $CXXFLAGS" - ;; - sparc*) - case "$target_os" in - *solaris[2-9]*) dnl - CFLAGS="-mno-app-regs -DOPTIMISE_ALL_REGS_FOR_SPARC=1 $CFLAGS" - CXXFLAGS="-mno-app-regs -DOPTIMISE_ALL_REGS_FOR_SPARC=1 $CFPPLAGS" - ;; - esac - ;; - esac - if test "$tcpu"; then - target_cpu=$tcpu - fi - if test "$maxperformance" = "yes" - then - case "$target_cpu" in - athlon) - CFLAGS="-march=athlon $CFLAGS" - CXXFLAGS="-march=athlon $CXXFLAGS" - ;; - i686*) - CFLAGS="-march=i686 $CFLAGS" - CXXFLAGS="-march=i686 $CXXFLAGS" - ;; - i586*) - CFLAGS="-march=i586 $CFLAGS" - CXXFLAGS="-march=i586 $CXXFLAGS" - ;; - i486*) - CFLAGS="-march=i486 $CFLAGS" - CXXFLAGS="-march=i486 $CXXFLAGS" - ;; - i386*) - CFLAGS="-march=i386 $CFLAGS" - CXXFLAGS="-march=i386 $CXXFLAGS" - ;; - esac - fi - fi - if test "$CC" = "sslittle-na-sstrix-gcc" - then - RANLIB="sslittle-na-sstrix-ranlib" - AR="sslittle-na-sstrix-ar" - PRE_INSTALL_ENV="sim-fast" - INSTALL_ENV="sim-fast" - fi -else - case "$target_cpu" in - i?86*) - if test "$CC" = "lcc" - then - CFLAGS="-A -A $CFLAGS" - elif test "$CC" = "cl" - then - CXXFLAGS="-/nologo $CFLAGS" - CFLAGS="/nologo $CFLAGS" - CPP="/nologo /E" - fi - ;; - hppa*) - if test "$CC" = "cc" -o $CC = c89 - then - if test "$debugyap" = "yes" - then - CXXFLAGS="-Ae -g -O $CFLAGS" - CFLAGS="-Ae -g -O $CFLAGS" - else - CXXFLAGS="-Ae +O3 +Onolimit $CFLAGS" - CFLAGS="-Ae +O3 +Onolimit $CFLAGS" - fi - fi -dnl LDFLAGS="+e UserCPredicate $LDFLAGS" - ;; - esac - C_INTERF_FLAGS="$CFLAGS" - C_PARSER_FLAGS="$CFLAGS" -fi - -dnl Checks for programs. -AC_PROG_LN_S -AC_PROG_INSTALL -AC_PROG_RANLIB -AC_CHECK_TOOL(INDENT,indent,:) -AC_CHECK_TOOL(AR,ar,:) -AC_CHECK_TOOL(MPI_CC,mpicc,:) -AC_PATH_PROG(INSTALL_INFO,install-info,true,$PATH:/sbin:/usr/sbin:/usr/etc:/usr/local/sbin) -AC_PATH_PROG(SHELL,sh) - -dnl Check for libraries. -dnl mingw does not get along well with libm -dnl cygnus and mingw32 also need wsock32 to use sockets. -dnl -if test "$target_os" = "cygwin" -o "$target_os" = "mingw32" -then - INSTALL_COMMAND=install_win32 - if test "$cygwin" = "no" -o "$target_os" = "mingw32" - then - if test "$target_win64" = yes - then - AC_CHECK_LIB(ws2_32,main) - EXTRA_LIBS_FOR_DLLS="-lws2_32 \$(abs_top_builddir)/yap.dll" - elif test "$target_os" = "cygwin" - then - CC="${CC} -mno-cygwin" - CXX="${CXX} -mno-cygwin" - AC_CHECK_LIB(wsock32,main) - EXTRA_LIBS_FOR_DLLS="\$(abs_top_builddir)/yap.dll" - else - AC_CHECK_LIB(wsock32,main) - EXTRA_LIBS_FOR_DLLS="\$(abs_top_builddir)/yap.dll" - fi - AC_CHECK_LIB(psapi,main) - yap_cv_readline=no - if test "$target_win64" = yes - CLIB_NETLIBS="-lws2_32 -lpsapi -lgdi32" - then - CLIB_NETLIBS="-lwsock32 -lpsapi -lgdi32" - fi - if test "$prefix" = "NONE" - then - if test "$target_win64" = yes - then - prefix="\${SYSTEMDRIVE}/Yap64" - CLIB_NETLIBS="-lwsock32 -lpsapi -lgdi32" - else - prefix="\${SYSTEMDRIVE}/Yap" - fi - fi - ENABLE_WINCONSOLE="" - else - ENABLE_WINCONSOLE="#" - LIBS="-lcygwin" - EXTRA_LIBS_FOR_DLLS="\$(abs_top_builddir)/yap.dll" - fi -else - INSTALL_COMMAND="install_unix" - ENABLE_WINCONSOLE="#" - AC_CHECK_LIB(m,sin) - AC_CHECK_LIB(socket,socket) - dnl X/Open Networking is sometimes a separate library - AC_CHECK_LIB(xnet,getsockname) - AC_CHECK_LIB(stdc++,main) - AC_CHECK_LIB(nsl,main, - have_nsl=yes - , - have_nsl=no) - AC_CHECK_LIB(crypt,main) -fi - -if test "$yap_cv_readline" != "no" -then - AC_CHECK_LIB(termcap,tgetent) - AC_CHECK_LIB(ncurses,main) - AC_CHECK_LIB(readline,readline) -fi -if test "$yap_cv_gmp" != "no" -then - AC_CHECK_LIB(gmp,main) -fi - -dnl if test "$yap_cv_cudd" != "no" -dnl then -dnl AC_CHECK_LIB(cudd,Cudd_Init) -dnl fi - -if test "$yap_cv_myddas" != "no" -then - dnl check for mysql - AC_MSG_CHECKING(for main in -lmysqlclient) - AC_CACHE_VAL(yap_cv_mysql,[ - AC_TRY_COMPILE( - #include - #include - , - MYSQL *conn; - conn = mysql_init(NULL); - , - yap_cv_mysql=yes,yap_cv_mysql=no)]) - AC_MSG_RESULT($yap_cv_mysql) - if test "$yap_cv_mysql" = yes - then - YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_MYSQL" - LIBS="$LIBS -L${yap_cv_myddas}/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lc -lnss_files -lnss_dns -lresolv " - fi - - dnl check for odbc - AC_MSG_CHECKING(for main in -lodbc) - AC_CACHE_VAL(yap_cv_odbc,[ - AC_TRY_COMPILE( - #include - #include - #include - , - SQLHENV henv; - SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv); - , - yap_cv_odbc=yes,yap_cv_odbc=no)]) - AC_MSG_RESULT($yap_cv_odbc) - if test "$yap_cv_odbc" = yes - then - YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_ODBC" - LIBS="$LIBS -lodbc " - fi - - if test "$yap_cv_mysql" = no -a "$yap_cv_odbc" = no - then - echo "-------------------------------" - echo "--" - echo "--" - echo "--" - echo "-- There\'s no devel libraries for MySQL or ODBC" - echo "--" - echo "--" - echo "--" - echo "-------------------------------" - exit - fi -fi - -if test "$myddasstats" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_STATS" -fi - -if test "$myddastoplevel" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_TOP_LEVEL" -fi - -if test "$threads" = yes -then - AC_DEFINE(SUPPORT_THREADS, 1) - AC_CHECK_LIB(pthread,pthread_create) - AC_CHECK_HEADERS(pthread.h) - AC_CHECK_FUNCS(pthread_mutexattr_setkind_np pthread_mutexattr_settype) - if test "$pthreadlocking" = yes - then - AC_DEFINE(USE_PTHREAD_LOCKING, 1) - fi - use_malloc=yes -fi - -if test ! -z "$GCC"; then - COFLAGS="${COFLAGS--O2 -cc-options,-fno-strict-aliasing}" - CWFLAGS="${CWFLAGS--Wall}" -else - COFLAGS="${COFLAGS--O}" - CWFLAGS="${CWFLAGS-}" -fi -CMFLAGS=-fpic -CIFLAGS=-I. - -if test "$use_chr" = no; then - ENABLE_CHR="@# " -elif test -e "$srcdir"/packages/chr/Makefile.in; then - ENABLE_CHR="" -else - ENABLE_CHR="@# " -fi - -if test "$use_clpqr" = no; then - ENABLE_CLPQR="@# " -elif test -e "$srcdir"/packages/clpqr/Makefile.in; then - ENABLE_CLPQR="" -else - ENABLE_CLPQR="@# " -fi - -dnl -dnl java is hard -dnl -if test "$yap_cv_java" = no; then - ENABLE_JPL="@#" -elif test -e "$srcdir"/packages/jpl/Makefile.in; then - ENABLE_JPL="" - JAVA=java - JAVA_HOME="$yap_cv_java" - case "$target_os" in - *cygwin*|*mingw*) - if test $threads = yes; then - JAVALIBPATH="\"$JAVA_HOME\"/lib/jvm.lib -lpthread" - else - JAVALIBPATH="\"$JAVA_HOME\"/lib/jvm.lib" - fi - JAVAINCPATH="-I\"$JAVA_HOME\"/include -I\"$JAVA_HOME\"/include/win32" - ;; - *darwin*) - LIBS="$LIBS -framework JavaVM" - JAVALIBPATH="-L/System/Library/Frameworks/JavaVM.framework/Libraries -Wl,-framework,JavaVM" - JAVAINCPATH="-I/System/Library/Frameworks/JavaVM.framework/Headers" - ;; - *) - case "$target_os" in - *linux*) - JAVAINCPATH="-I\"$JAVA_HOME\"/include -I\"$JAVA_HOME\"/include/linux" - ;; - *solaris*) - JAVAINCPATH="-I\"$JAVA_HOME\"/include -I\"$JAVA_HOME\"/include/solaris" - ;; - esac - case "$target_cpu" in - i*86*) - JAVA_TARGET=i386 - ;; - x86*) - JAVA_TARGET=amd64 - ;; - sparc*) - JAVA_TARGET=sparc - ;; - esac - JAVALIBPATH="-L$JAVA_HOME/jre/lib/$JAVA_TARGET -L$JAVA_HOME/jre/lib/$JAVA_TARGET/client -L$JAVA_HOME/jre/lib/$JAVA_TARGET/server -Wl,-R,$JAVA_HOME/jre/lib/$JAVA_TARGET -ljava -lverify -ljvm " - ;; - esac - if test "$yap_cv_java" = ""; then - JAVA=java - JAR=jar - JAVAC=javac - JAVADOC=javadoc - else - JAVA="$yap_cv_java"/bin/java - JAR="$yap_cv_java"/bin/jar - JAVAC="$yap_cv_java"/bin/javac - JAVADOC="$yap_cv_java"/bin/javadoc - fi -else - ENABLE_JPL="@#" -fi - -LAM_MPI_CC=${MPI_CC} -MPI_OBJS= -if test "$yap_cv_mpi" != "no" -then - OLD_CC=${CC} - CC=${MPI_CC} - AC_CHECK_LIB(mpi,MPI_Init, - [AC_DEFINE(HAVE_LIBMPI, 1)], - [AC_DEFINE(HAVE_LIBMPI, 0)]) - if test "$ac_cv_lib_mpi_MPI_Init" = yes - then - #YAPMPILIB=YapMPI.a - MPI_OBJS=mpi.o - else - AC_CHECK_LIB(mpich,MPI_Init, - [AC_DEFINE(HAVE_LIBMPICH, 1)], - [AC_DEFINE(HAVE_LIBMPICH, 0)]) - if test "$ac_cv_lib_mpich_MPI_Init" = yes - then - #YAPMPILIB=YapMPI.a - MPI_OBJS=mpi.o - else - #YAPMPILIB= - MPI_CC=${CC} - fi - fi - CC=${OLD_CC} -else -# MPI_CC=${MPI_CC} - MPI_CC=${CC} -fi - - -MPI_LIBS= -if test "$yap_cv_mpi" != "no" -a "$yap_cv_mpe" != "no" -then - OLD_CC=${CC} - CC=${MPI_CC} - AC_CHECK_LIB(mpe,MPE_Init_log, - [AC_DEFINE(HAVE_LIBMPE, 1)], - [AC_DEFINE(HAVE_LIBMPE, 0)]) - if test "$ac_cv_lib_mpe_MPE_Init_log" = yes - then - MPI_LIBS="-lmpe" - MPI_OBJS="$MPI_OBJS mpe.o" - fi - CC=${OLD_CC} -fi - -AC_PROG_CPP - -if test "$cross_compiling" = "yes" -then - YAP_EXTRAS= -else - AC_SYS_RESTARTABLE_SYSCALLS -fi - - -dnl defaults -INSTALL_DLLS="#" -EXTRA_OBJS="" -SHLIB_LD="#" -SHLIB_CXX_LD="#" -DO_SECOND_LD="#" -M4="m4" -MERGE_DLL_OBJS="#" -IN_UNIX="" - -dnl This has to be before $target_os -YAPLIB="libYap.a" - -dnl now this is where things get nasty. -dnl trying to get the libraries -case "$target_os" in - *linux*) - if test "$use_condor" = "no" - then - AC_CHECK_LIB(dl,dlopen, - have_dl=yes - , - have_dl=no) - if test "$have_dl" = "yes" - then - SO="so" - SHLIB_LD="$CC -shared -export-dynamic" - SHLIB_CXX_LD="$CXX -shared -export-dynamic" - DO_SECOND_LD="" - LIBS="$LIBS -ldl" - case "$target_cpu" in - alpha*) - LDFLAGS="-dynamic $LDFLAGS" - ;; - *) - if test "$CC" != "lcc" - then - LDFLAGS="-rdynamic $LDFLAGS" - fi - ;; - esac - fi - if test "$ac_cv_prog_gcc" = "yes" - then - SHLIB_CFLAGS="-shared -fPIC $CFLAGS" - SHLIB_CXXFLAGS="-shared -fPIC $CXXFLAGS" - INSTALL_DLLS="" - fi - fi - if test "$have_nsl" = yes - then - LIBS="$LIBS -lnsl" - fi - LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" - DYNYAPLIB=libYap."$SO" - if test "$dynamic_loading" = "yes" - then - YAPLIB_LD="\$(CC) -shared" - EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" - INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" - else - YAPLIB_LD="\$(CC)" - EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" - INSTALL_ENV="YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" - PRE_INSTALL_ENV="" - fi - ;; - *sunos4*) - M4="/usr/5bin/m4" - LDFLAGS="$LDFLAGS -N" - if test "$have_nsl" = yes - then - LIBS="$LIBS -lnsl" - fi - SO="o" - INSTALL_DLLS="" - LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" - DYNYAPLIB=libYap."$SO" - EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" - INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" - ;; - *hpux*) - #do not use the first memory quadrant - AC_DEFINE(FORCE_SECOND_QUADRANT) - M4="/usr/bin/m4" - if test ${use_condor} = no - then - SHLIB_INTERFACE="load_shl.o" - if test "$CC" = cc -o "$CC" = c89 - then - #this tells ld to export all non-static symbols, - #otherwise no external predicates. - SHLIB_LD="$CC -shared -export-dynamic" - SHLIB_CXX_LD="$CXX -shared -export-dynamic" - DO_SECOND_LD="" - SO="sl" - SHLIB_CFLAGS="+z $CFLAGS" - SHLIB_CXXFLAGS="+z $CXXFLAGS" - INSTALL_DLLS="" - # If the xnet library was found, turn on X/Open networking - if test "$ac_cv_lib_xnet_getsockname" = yes - then - AC_DEFINE(_XOPEN_SOURCE) - AC_DEFINE(_XOPEN_SOURCE_EXTENDED,1) - fi - else - INSTALL_DLLS="#" - fi - fi - #do not use realloc() from HP-UX 10.20 together with MPI - if test ${target_os} = hpux10.20 - then - AC_DEFINE(MPI_AVOID_REALLOC,1) - fi - LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" - DYNYAPLIB=libYap."$SO" - EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" - INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" - ;; - *aix*) - # To actually use dlls in AIX I'd need to build YAP as a DLL first. - # I won't bother for now. - # - # SO="a" - #SHLIB_LD="\$(srcdir)/../../ldAix /bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry" - #INSTALL_DLLS="" - LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" - DYNYAPLIB=libYap."$SO" - EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" - INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" - ;; - *osf*) - if ${use_condor} = no - then - AC_CHECK_LIB(dl,dlopen, -dnl Linux has both elf and a.out, in this case we found elf - have_dl=yes - , - have_dl=no) - SO="so" - SHLIB_LD="ld -shared -expect_unresolved '*'" - DO_SECOND_LD="" - fi - LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" - DYNYAPLIB=libYap."$SO" - EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" - INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" - ;; - *irix6*) - SHLIB_CFLAGS="$CFLAGS" - SHLIB_CXXFLAGS="$CXXFLAGS" - SO="so" - DO_SECOND_LD="" - SHLIB_LD="ld -n32 -shared -rdata_shared" - SHLIB_CXX_LD="$SHLIB_LD" - INSTALL_DLLS="" - LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" - DYNYAPLIB=libYap."$SO" - EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" - INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" - ;; - *darwin*) - if test ${use_dlcompat} = yes - then - AC_CHECK_LIB(dl,dlopen, - have_dl=yes - , - have_dl=no) - if test ${have_dl} = yes - then - LIBS="$LIBS -ldl" - fi - fi - SO="dylib" - DO_SECOND_LD="" - if test "$dynamic_loading" = "yes" - then - SHLIB_LD="$CC -dynamiclib" - SHLIB_CXX_LD="$CXX -dynamiclib" - EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-install_name,\$(DESTDIR)\$(YAPLIBDIR)/\$@" - INSTALL_ENV="DYLD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" - else - SHLIB_LD="$CC -dynamiclib -Wl,-undefined,dynamic_lookup" - SHLIB_CXX_LD="$CXX -dynamiclib -Wl,-undefined,dynamic_lookup" - EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -Wl,-install_name,\$(DESTDIR)\$(YAPLIBDIR)/\$@" - INSTALL_ENV="YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" - fi - if test "$ac_cv_prog_gcc" = "yes" - then - SHLIB_CFLAGS="-shared -fPIC $CFLAGS" - SHLIB_CXXFLAGS="-shared -fPIC $CXXFLAGS" - INSTALL_DLLS="" - fi - CC="$CC -fstrict-aliasing -freorder-blocks -fsched-interblock -Wall -Wstrict-aliasing=2" - DYNYAPLIB=libYap."$SO" - YAPLIB_LD="$CC -dynamiclib -Wl,-install_name,$prefix/lib/libYap.dylib" - PRE_INSTALL_ENV="DYLD_LIBRARY_PATH=\$(abs_top_builddir)" - ;; - *netbsd*|*freebsd*) - if echo __ELF__ | ${CC:-cc} -E - | grep -q __ELF__ - then - #an a.out system - SHLIB_CFLAGS="$CFLAGS" - SHLIB_CXXFLAGS="$CXXFLAGS" - SO="o" - else - #an elf system - LDFLAGS="-Wl,--export-dynamic $LDFLAGS" - SHLIB_CFLAGS="-fPIC $CFLAGS" - SHLIB_CXXFLAGS="-fPIC $CXXFLAGS" - SHLIB_LD="$CC -shared -export-dynamic" - SHLIB_CXX_LD="$CXX -shared -export-dynamic" - DO_SECOND_LD="" - SO="so" - INSTALL_DLLS="" - fi - LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" - DYNYAPLIB=libYap."$SO" - EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" - INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" - ;; - *solaris*) - #an elf system - LDFLAGS="-dynamic $LDFLAGS" - SHLIB_CFLAGS="-fPIC $CFLAGS" - SHLIB_CXXFLAGS="-fPIC $CXXFLAGS" - SHLIB_LD="$CC -shared" - SHLIB_CXX_LD="$CXX -shared" - DO_SECOND_LD="" - SO="so" - INSTALL_DLLS="" - LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" - DYNYAPLIB=libYap."$SO" - if test "$dynamic_loading" = "yes" - then - YAPLIB_LD="\$(CC)" - EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" - INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" - else - EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" - PRE_INSTALL_ENV="" - YAPLIB_LD="\$(CC) -shared" - INSTALL_ENV="YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" - fi - ;; - *cyg*|*mingw*) - # gcc on cygwin seems to have trouble with longjmp - # and -fomit-frame-point -DBP_FREE - YAPLIB="yap.dll" - DYNYAPLIB="yap.dll" - SHLIB_CFLAGS="$CFLAGS" - SHLIB_CXXFLAGS="$CXXFLAGS" - if test "$target_win64" = no - then - LDFLAGS="-Wl,--large-address-aware $LDFLAGS" - fi - SHLIB_LD="\$(CC) -shared -Wl,--export-all-symbols" - SHLIB_CXX_LD="\$(CXX) -shared -Wl,--export-all-symbols" - SO="dll" - C_PARSER_FLAGS="$C_INTERF_FLAGS" - EXEC_SUFFIX=".exe" - INSTALL_DLLS="" - DO_SECOND_LD="" - MERGE_DLL_OBJS="" - IN_UNIX="#" - YAPLIB_LD="\$(CC) -shared -Wl,--export-all-symbols" - PRE_INSTALL_ENV="" - INSTALL_ENV="" - ;; - *) - AC_CHECK_LIB(dl,dlopen, - have_dl=yes - , - have_dl=no) - if test "$have_dl" = yes - then - SO="o" - LIBS="$LIBS -ldl" - INSTALL_DLLS="" - if test "$GCC" = "yes" - then - SHLIB_CXXFLAGS="-fPIC $CXXFLAGS" - fi - fi - if test "$have_nsl" = yes - then - LIBS="$LIBS -lnsl" - fi - LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" - DYNYAPLIB=libYap."$SO" - EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" - PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" - INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" - ;; -esac - -EXTRA_LIBS_FOR_SWIDLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir)/packages/PLStream -lplstream" - - -if test "$dynamic_loading" = "yes" -then - YAPLIB_CFLAGS="$SHLIB_CFLAGS" - YAPLIB="$DYNYAPLIB" -else - YAPLIB_CFLAGS="$CFLAGS" -fi - -if test "$coroutining" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -DCOROUTINING=1" -fi - -if test "$rationaltrees" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -DRATIONAL_TREES=1" -fi - -if test "$rationaltrees" = "yes" -a "$coroutining" = "yes" - then - INSTALLCLP="" - else - INSTALLCLP="@#" -fi - -if test "$debugyap" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -DDEBUG=1" -fi - -if test "$eam" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -DBEAM" -fi - -if test "$wamprofile" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -DANALYST=1" -fi - -if test "$depthlimit" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -DDEPTH_LIMIT=1" -fi - -if test "$use_april" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -DDEPTH_LIMIT=1 -DAPRIL" - LDFLAGS="$LDFLAGS -L." - LIBS="$LIBS -lApril" -fi - -if test "$lowleveltracer" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -DLOW_LEVEL_TRACER=1" -fi - -if test "$threads" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -DTHREADS=1" - if test "$GCC" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -D_GNU_SOURCE" - fi -fi - -case "$orparallelism" in - sba) - YAP_EXTRAS="$YAP_EXTRAS -DSBA=1" - ;; - a-cow) - YAP_EXTRAS="$YAP_EXTRAS -DACOW=1" - ;; - yes|env-copy) - YAP_EXTRAS="$YAP_EXTRAS -DENV_COPY=1" - ;; -esac - -if test "$cutc" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -DCUT_C=1" -fi - -if test "$tabling" = "yes" - then - YAP_EXTRAS="$YAP_EXTRAS -DTABLING=1" -fi -if test ! "$yap_cv_cplint" = "no" - then - GLIBS=`pkg-config --libs glib-2.0` - GFLAGS=`pkg-config --cflags glib-2.0` - CPLINT_LIBS=${CPLINT_LIBS}$GLIBS - CPLINT_CFLAGS=" $GFLAGS " - CPLINT_LDFLAGS=" `echo $GLIBS | awk '{print $1}'` -L$pefic/lib/" - LDFLAGS=${LDFLAGS}" `echo $GLIBS | awk '{print $1}'` -L$prefix/lib/" - if test ! "$yap_cv_cplint" = "yes" - then - CPLINT_LDFLAGS+=" -L${yap_cv_cplint}/cudd -L${yap_cv_cplint}/mtr -L${yap_cv_cplint}/st -L${yap_cv_cplint}/util -L${yap_cv_cplint}/epd " - CPLINT_CFLAGS+=" -I${yap_cv_cplint}/include" - CPLINT_LIBS="-lcudd -lmtr -lst -lepd -lutil -lm "$CPLINT_LIBS - fi - #AC_SEARCH_LIBS([g_hash_table_new], [glib-2.0], [], [AC_MSG_ERROR([This package needs glib >=2.0.], [1])], []) - #AC_SEARCH_LIBS([Cudd_Init], [cudd], [], [AC_MSG_ERROR([This package needs CUDD.], [1])], [-lcudd -lmtr -lst -lutil -lepd -lm]) - #AC_SEARCH_LIBS([pow], [m], [], [AC_MSG_ERROR([This package needs m.], [1])], [-lm]) -ENABLE_CPLINT="" - if test "$target_os" = "cygwin" -o "$target_os" = "mingw32" - then - CPLINT_SHLIB_LD="gcc -shared ../../yap.dll" - SHLIB_SUFFIX="dll" - else - CPLINT_SHLIB_LD=$SHLIB_LD - SHLIB_SUFFIX="so" - fi - AC_SUBST(CPLINT_LIBS) - AC_SUBST(CPLINT_CFLAGS) - AC_SUBST(CPLINT_LDFLAGS) - AC_SUBST(CPLINT_SHLIB_LD) - AC_SUBST(SHLIB_SUFFIX) -else - ENABLE_CPLINT="@#" -fi -AC_SUBST(ENABLE_CPLINT) - -AC_SUBST(INSTALL_ENV) -AC_SUBST(PRE_INSTALL_ENV) - -AC_CHECK_LIB(z, zlibVersion, - ZLIBS="-lz" - ZLIB=yes, - ZLIB=no) - -if test "$ZLIB" = yes; then - ZLIB_TARGETS="zlib4pl.$SO" - ZLIB_PLTARGETS='$(srcdir)/zlib.pl' - ZLIB_INSTALL=install -else - ZLIB_TARGETS=nolib - ZLIB_INSTALL=nolib - cat << EOF -################################################################## -# ERROR: Could not find library zlib (-lz). Dropped library(zlib) -# Library zlib is available from http://www.zlib.net/ -# Most Unix/Linux distributions are shipped with binaries. Make -# sure to have the development library installed. -################################################################## -EOF -fi - -AC_SUBST(ZLIBS) -AC_SUBST(ZLIB_TARGETS) -AC_SUBST(ZLIB_PLTARGETS) -AC_SUBST(ZLIB_INSTALL) - - -# LAM -OLD_CC=${CC} -CC=${LAM_MPI_CC} -AC_CHECK_LIB([lam], [main], - LAMOBJS=yap_mpi."$SO", - LAMOBJS=no) -CC=${OLD_CC} - -dnl Checks for header files. -AC_HEADER_STDC -AC_HEADER_SYS_WAIT -AC_CHECK_HEADERS(arpa/inet.h alloca.h crypt.h) -AC_CHECK_HEADERS(ctype.h direct.h dirent.h dlfcn.h) -AC_CHECK_HEADERS(errno.h execinfo.h fcntl.h fenv.h) -AC_CHECK_HEADERS(float.h fpu_control.h ieeefp.h io.h limits.h) -AC_CHECK_HEADERS(locale.h malloc.h math.h memory.h mpi.h) -AC_CHECK_HEADERS(netdb.h netinet/in.h netinet/tcp.h pwd.h regex.h) -AC_CHECK_HEADERS(siginfo.h signal.h stdarg.h string.h stropts.h) -AC_CHECK_HEADERS(sys/conf.h sys/dir.h sys/file.h) -AC_CHECK_HEADERS(sys/mman.h sys/ndir.h sys/param.h) -AC_CHECK_HEADERS(sys/resource.h sys/select.h) -AC_CHECK_HEADERS(sys/shm.h sys/socket.h sys/stat.h) -AC_CHECK_HEADERS(sys/time.h sys/times.h sys/types.h) -AC_CHECK_HEADERS(sys/ucontext.h sys/un.h sys/wait.h) -AC_CHECK_HEADERS(time.h unistd.h utime.h wctype.h winsock.h winsock2.h) -AC_CHECK_HEADERS(zlib.h zutil.h) -AC_CHECK_HEADERS(mach-o/dyld.h) -if test "$yap_cv_gmp" != "no" -then - AC_CHECK_HEADERS(gmp.h) -fi -if test "$yap_cv_cudd" != "no" -then - AC_CHECK_HEADERS(cudd.h) -fi -if test "$yap_cv_myddas" != "no" -then - AC_CHECK_HEADERS(mysql/mysql.h) -fi -if test "$yap_cv_readline" != "no" -then - AC_CHECK_HEADERS( readline/readline.h) -fi -AC_CHECK_HEADERS(mpi.h) -AC_CHECK_HEADERS(mpe.h) - -dnl Checks for typedefs, structures, and compiler characteristics. -AC_C_INLINE -AC_STRUCT_TM -AC_CHECK_SIZEOF(int *,4) -AC_CHECK_SIZEOF(short int,2) -AC_CHECK_SIZEOF(int,4) -AC_CHECK_SIZEOF(long int,4) -AC_CHECK_SIZEOF(long long int,8) -AC_CHECK_SIZEOF(float,4) -AC_CHECK_SIZEOF(double,8) - -dnl check type of malloc (i.e. char * or void *) -AC_MSG_CHECKING(for type of malloc) -AC_CACHE_VAL(yap_cv_malloct,[ -AC_TRY_RUN( - #include - char *malloc(size_t); - int main() { - void *p=malloc(1); - return 0; - } - , - yap_cv_malloct=char,yap_cv_malloct=void,yap_cv_malloct=void)]) -AC_MSG_RESULT($yap_cv_malloct *) -if test "$yap_cv_malloct" = void -then AC_DEFINE(MALLOC_T,void *) -else AC_DEFINE(MALLOC_T,char *) -fi - - -dnl check how to generate headers (i.e. should we use GCC inline?) -AC_MSG_CHECKING(for gcc inline) -AC_CACHE_VAL(yap_cv_gcc,[ -AC_TRY_RUN( - #undef inline - inline int f(int x) {return x+1;} - int main() { return 0;} - , - yap_cv_gcc=yes,yap_cv_gcc=no,yap_cv_gcc=yes)]) -AC_MSG_RESULT($yap_cv_gcc) -if test "$yap_cv_gcc" = yes -then -M4GENHDRS=m4/gcc_genhdrs.m4 -AC_DEFINE(HAVE_GCC,1) -else -M4GENHDRS=m4/cc_genhdrs.m4 -AC_DEFINE(HAVE_GCC,0) -fi -AC_SUBST(M4) -AC_SUBST(M4GENHDRS) - -dnl SWI compatibility, I don't know why just use host... -changequote(,)dnl -if test "x$ARCH" = "x"; then - case "$host" in - *linux*) - ARCH=`echo $host | sed 's/-.*/-linux/'` - ;; - *-gnu) - ARCH=`echo $host | sed 's/\([^-]*\)-[^-]*-\([^-]*\)-gnu/\1-\2/'` - ;; - *) - ARCH=`echo $host | sed 's/\([^-]*\)-[^-]*-\([^-]*\)/\1-\2/'` - ;; - esac -fi -changequote([,])dnl -AC_SUBST(ARCH) - -dnl System stuff for dynamic linking. -dnl -dnl Exports: -dnl -dnl "" if we can do dynamic linking, "#" otherwise -AC_SUBST(INSTALL_DLLS) -dnl if we need to merge several .o files into a single dll. -AC_SUBST(MERGE_DLL_OBJS) -dnl C-flags used to compile a file that will be loaded dynamically -AC_SUBST(CXXFLAGS) -AC_SUBST(SHLIB_CFLAGS) -AC_SUBST(SHLIB_CXXFLAGS) -dnl suffix for loadable binary (.so,.dll,.o) -AC_SUBST(SO) -dnl suffix for executable (.exe) -AC_SUBST(EXEC_SUFFIX) -dnl how to call the loader -AC_SUBST(DO_SECOND_LD) -AC_SUBST(SHLIB_LD) -AC_SUBST(SHLIB_CXX_LD) -AC_SUBST(YAPLIB_LD) -AC_SUBST(YAPLIB_CFLAGS) -AC_SUBST(EXTRA_LIBS_FOR_DLLS) -AC_SUBST(EXTRA_LIBS_FOR_SWIDLLS) -dnl objects in YAP library -AC_SUBST(YAPLIB) -AC_SUBST(DYNYAPLIB) -AC_SUBST(LDFLAGS) -dnl install_info -AC_SUBST(INSTALL_INFO) -dnl let YAP_EXTRAS fall through configure, from the env into Makefile -AC_SUBST(YAP_EXTRAS) -AC_SUBST(NO_BUILTIN_REGEXP) -AC_SUBST(ENABLE_CHR) -AC_SUBST(ENABLE_CLPQR) -AC_SUBST(ENABLE_JPL) -AC_SUBST(JAVA) -AC_SUBST(JAVA_HOME) -AC_SUBST(JUNIT) -AC_SUBST(JAVAC) -AC_SUBST(JAVADOC) -AC_SUBST(JAR) -AC_SUBST(IN_UNIX) -AC_SUBST(YAPMPILIB) -AC_SUBST(LAM_MPI_CC) -AC_SUBST(MPI_OBJS) -AC_SUBST(MPI_LIBS) -AC_SUBST(INSTALL_COMMAND) -AC_SUBST(INSTALLCLP) -AC_SUBST(JAVALIBPATH) -AC_SUBST(JAVAINCPATH) -AC_SUBST(LAMOBJS) -AC_SUBST(MAX_WORKERS) -AC_SUBST(STATIC_MODE) -AC_SUBST(ENABLE_WINCONSOLE) - -AC_SUBST(USE_CUDD) -AC_SUBST(CUDD_LDFLAGS) -AC_SUBST(CUDD_CPPFLAGS) -AC_SUBST(USE_MINISAT) -AC_SUBST(INSTALL_MATLAB) -AC_SUBST(MATLAB_INCLUDE) - -dnl check for threaded code -AC_MSG_CHECKING(for gcc threaded code) -AC_CACHE_VAL(yap_cv_threaded_code,[ -AC_TRY_RUN( - int main() { - void *t = &&l2; - l1: goto *t; - l2: return 0; -} - , - yap_cv_threaded_code=yes,yap_cv_threaded_code=no,yap_cv_threaded_code=yes)]) -AC_MSG_RESULT($yap_cv_threaded_code) -if test "$yap_cv_threaded_code" = yes && test "$yap_cv_gcc" = yes -then - AC_DEFINE(USE_THREADED_CODE,1) - M4GENABSMI=gen_gcc.m4 -else - AC_DEFINE(USE_THREADED_CODE,0) - M4GENABSMI=gen_ansi.m4 -fi - -AC_SUBST(M4GENABSMI) - - -dnl check for IEEE floats -AC_MSG_CHECKING(for IEEE floats) -AC_CACHE_VAL(yap_cv_ffieee,[ -AC_TRY_RUN( - int main() { - union { float f; int i} a; - a.f = 1; - if (a.i==0x3f800000) return 0; - return 1; - } - , - yap_cv_ffieee=yes,yap_cv_ffieee=no,yap_cv_ffieee=yes)]) -AC_MSG_RESULT($yap_cv_ffieee) -if test "$yap_cv_ffieee" = yes -then -AC_DEFINE(FFIEEE,1) -else -AC_DEFINE(FFIEEE,0) -fi - -dnl check for sigsetjmp -AC_MSG_CHECKING(for sigsetjmp) -AC_CACHE_VAL(yap_cv_sigsetjmp,[ -AC_TRY_COMPILE( - #include - , - sigjmp_buf RestartEnv; - - siglongjmp (RestartEnv, 1); - , - yap_cv_sigsetjmp=yes,yap_cv_sigsetjmp=no)]) -AC_MSG_RESULT($yap_cv_sigsetjmp) -if test "$yap_cv_sigsetjmp" = yes -then -AC_DEFINE(HAVE_SIGSETJMP,1) -else -AC_DEFINE(HAVE_SIGSETJMP,0) -fi - -dnl check for sigsegv -AC_MSG_CHECKING(for sigsegv) -AC_CACHE_VAL(yap_cv_sigsegv,[ -AC_TRY_COMPILE( - #include - #include - , - printf("Signal value is %d\n", SIGSEGV); - , - yap_cv_sigsegv=yes,yap_cv_sigsegv=no)]) -AC_MSG_RESULT($yap_cv_sigsegv) -if test "$yap_cv_sigsegv" = yes -then -AC_DEFINE(HAVE_SIGSEGV,1) -else -AC_DEFINE(HAVE_SIGSEGV,0) -fi - -dnl check for sigsegv -AC_MSG_CHECKING(for sigprof) -AC_CACHE_VAL(yap_cv_sigprof,[ -AC_TRY_COMPILE( - #include - #include - , - printf("Signal value is %d\n", SIGPROF); - , - yap_cv_sigprof=yes,yap_cv_sigprof=no)]) -AC_MSG_RESULT($yap_cv_sigprof) -if test "$yap_cv_sigsegv" = yes -then -AC_DEFINE(HAVE_SIGPROF,1) -else -AC_DEFINE(HAVE_SIGPROF,0) -fi - -dnl check for siginfo -AC_MSG_CHECKING(for siginfo) -AC_CACHE_VAL(yap_cv_siginfo,[ -AC_TRY_COMPILE( - #include - #include - , - printf("SIGINFO value is %d\n", SA_SIGINFO); - , - yap_cv_siginfo=yes,yap_cv_siginfo=no)]) -AC_MSG_RESULT($yap_cv_siginfo) -if test "$yap_cv_siginfo" = yes -then -AC_DEFINE(HAVE_SIGINFO,1) -else -AC_DEFINE(HAVE_SIGINFO,0) -fi - -dnl this is copied from the Tcl code -dnl this code checks whether the system defines an union wait -AC_MSG_CHECKING([union wait]) -AC_TRY_LINK([#include -#include ], [ -union wait x; -wait(&x); /* make sure we can compile wait */ -WIFEXITED(x); /* Generates compiler error if WIFEXITED - * uses an int. */ -], union_wait_ok=yes, union_wait_ok=no) -AC_MSG_RESULT($union_wait_ok) -if test "$union_wait_ok" = no; then - AC_DEFINE(NO_UNION_WAIT) -fi - -dnl check whether the system supports the environ variable -AC_MSG_CHECKING([environ]) -AC_TRY_LINK([], [ -extern char **environ; -], environ_ok=yes, environ_ok=no) -AC_MSG_RESULT($environ_ok) -if test "$environ_ok" = yes; then - AC_DEFINE(HAVE_ENVIRON) -fi - -dnl Checks for library functions. -AC_TYPE_SIGNAL -AC_CHECK_FUNCS(_NSGetEnviron access acosh) -AC_CHECK_FUNCS(alloca asinh atanh chdir ctime dlopen dup2) -AC_CHECK_FUNCS(erf feclearexcept) -AC_CHECK_FUNCS(fesettrapenable fgetpos finite fpclass ftime getcwd getenv) -AC_CHECK_FUNCS(gethostbyname gethostent gethostid gethostname) -AC_CHECK_FUNCS(gethrtime getpagesize) -AC_CHECK_FUNCS(getpwnam getrlimit getrusage gettimeofday getwd) -AC_CHECK_FUNCS(isatty isnan isinf kill labs link lgamma) -AC_CHECK_FUNCS(localtime lstat mallinfo) -AC_CHECK_FUNCS(mbsnrtowcs) -AC_CHECK_FUNCS(memcpy memmove mkstemp mktemp) -AC_CHECK_FUNCS(nanosleep mktime opendir) -AC_CHECK_FUNCS(putenv rand random readlink regexec) -AC_CHECK_FUNCS(rename rint rl_set_prompt sbrk select) -AC_CHECK_FUNCS(setbuf setitimer setsid setlinebuf sigaction) -AC_CHECK_FUNCS(siggetmask siginterrupt) -AC_CHECK_FUNCS(signal sigprocmask socket stat) -AC_CHECK_FUNCS(strchr strerror stricmp strncat strncpy strtod) -AC_CHECK_FUNCS(time times tmpnam usleep utime vsnprintf) - -AC_CHECK_FUNC(regexec, [NO_BUILTIN_REGEXP="#"], [NO_BUILTIN_REGEXP=""]) - -AC_CHECK_FUNCS(NSLinkModule) - -if test "$use_condor" = "no" -then - AC_CHECK_FUNCS(alarm mmap popen shmat sleep system ttyname waitpid) -fi - -if test "$target_os" != "mingw32" -then - AC_CHECK_FUNCS(fetestexcept snprintf) -fi - -dnl check for mpz_xor -AC_MSG_CHECKING(for mpz_xor) -AC_CACHE_VAL(yap_cv_mpz_xor,[ -AC_TRY_LINK( - #include - void check(mpz_t rop,mpz_t op1,mpz_t op2) { - mpz_xor(rop,op1,op2); - } - , - , - yap_cv_mpz_xor=yes,yap_cv_mpz_xor=no)]) -AC_MSG_RESULT($yap_cv_mpz_xor) -if test "$yap_cv_mpz_xor" = yes -then -AC_DEFINE(HAVE_MPZ_XOR,1) -else -AC_DEFINE(HAVE_MPZ_XOR,0) -fi - -if test "$use_malloc" = "yes" -a "$maxmemory" = "yes" -then - maxmemory="no" -fi - -dnl On some systems doing a fflush(NULL) to flush all output streams -dnl has the side-effect of makeing all charactes waiting in input -dnl pipes disapear. -AC_CACHE_CHECK( -[if fflush(NULL) clobbers input pipes], -[yap_cv_broken_fflush_null], -[ cat >conftest.$ac_ext < - #include - int main(int argc, char **argv) - { - char *buf; - int i; - char *bp; - bp = buf = malloc(1024); - while (1) { - while ((i = getc(stdin)) != -1 - && (*bp++ = i) != '\n' - && (bp - buf < 1024) ) - /* DO NOTHING */ ; - *bp = '\0'; - fprintf(stdout, "%s", buf); - fflush(NULL); - if( i == EOF ) return 0; - bp = buf; - } - } -EOF - AC_TRY_EVAL(ac_link) - if test "$?" = 0 - then - cat conftest.$ac_ext | ./conftest$ac_exeext > conftest.out - AC_TRY_COMMAND(cmp conftest.$ac_ext conftest.out) - if test "$?" = 0 - then - AC_MSG_RESULT(no) - yap_cv_broken_fflush_null=no - else - AC_MSG_RESULT(yes) - yap_cv_broken_fflush_null=yes - fi - else - dnl This should never happen - AC_MSG_RESULT(failed) - yap_cv_broken_fflush_null=failed - fi - rm -f conftest.$ac_ext conftest.$ac_objext conftest$ac_exeext conftest.out ]) -if test "$yap_cv_broken_fflush_null" = no -then - AC_DEFINE(BROKEN_FFLUSH_NULL,0) -else - dnl be conservative: if the test failed, assume fflush(NULL) is - dnl not working properly - AC_DEFINE(BROKEN_FFLUSH_NULL,1) -fi - -dnl disable smart memory management -if test "$use_malloc" = yes -then -AC_DEFINE(USE_SYSTEM_MALLOC,1) -AC_DEFINE(GC_NO_TAGS,1) -fi - -dnl large memory configuration, don't trust Yap allocation routines -if test "$maxmemory" = yes -then -AC_DEFINE(GC_NO_TAGS,1) -AC_DEFINE(USE_DL_MALLOC,1) -fi - -dnl SWI compatibility support! -PROLOG_SYSTEM=yap -IN_YAP= -IN_SWI="#" -CHR_TARGETS=chr_support."$SO" - -AC_SUBST(PROLOG_SYSTEM) -AC_SUBST(IN_YAP) -AC_SUBST(IN_SWI) -AC_SUBST(TARGETS) -AC_SUBST(PLTARGETS) -AC_SUBST(CHR_TARGETS) - -CLIB_TARGETS="random.$SO socket.$SO cgi.$SO memfile.$SO files.$SO mime.$SO crypt.$SO" -CLIB_PLTARGETS="\$(srcdir)/random.pl \$(srcdir)/socket.pl \$(srcdir)/cgi.pl \$(srcdir)/memfile.pl \$(srcdir)/filesex.pl \$(srcdir)/mime.pl \$(srcdir)/crypt.pl" - -if test "$ac_cv_func_setitimer" = "yes"; then - CLIB_TARGETS="$CLIB_TARGETS time.$SO" - CLIB_PLTARGETS="$CLIB_PLTARGETS \$(srcdir)/time.pl" -else - echo "WARNING: no setitimer(); dropping time.pl from targets" -fi - -if test "$IN_UNIX" = ""; then -CLIB_TARGETS="unix.$SO $CLIB_TARGETS" -CLIB_PLTARGETS="\$(srcdir)/unix.pl $CLIB_PLTARGETS" -CLIB_NETLIBS= -else -AC_CHECK_FUNC(socket, [], [ - AC_CHECK_LIB(socket, socket, - [CLIB_NETLIBS="$CLIB_NETLIBS -lsocket"] - AC_DEFINE(HAVE_LIBSOCKET, 1, - "Define if you have the socket library (-lsocket)."))]) -AC_CHECK_FUNC(gethostent, [], [ - AC_CHECK_LIB(nsl, gethostent, - [CLIB_NETLIBS="$CLIB_NETLIBS -lnsl"] - AC_DEFINE(HAVE_LIBNSL, 1, - "Define if you have the nsl library (-lnsl)."))]) -fi - - -oldlibs="$LIBS" -AC_CHECK_LIB(crypt, crypt) -CLIB_CRYPTLIBS="$LIBS" -AC_CHECK_FUNCS(crypt) -LIBS="$oldlibs" - -AC_SUBST(CLIB_TARGETS) -AC_SUBST(CLIB_PLTARGETS) -AC_SUBST(CLIB_NETLIBS) -AC_SUBST(CLIB_CRYPTLIBS) - -AC_CHECK_TYPES(socklen_t, [], [], -[ -#include -#include -]) -AC_CHECK_TYPES(ssize_t, [], [], -[ -#include -#include -]) - -dnl tszet and timezone trouble - -AC_MSG_CHECKING("variable timezone in tzset") -AC_TRY_RUN( -[ #include - #include - #ifdef __CYGWIN__ - #define timezone _timezone - #endif - extern long timezone; - - main() - { tzset(); - - if ( timezone > -15*3600 && - timezone < 15*3600 && - timezone % 60 == 0 ) - return 0; - - exit(1); - } -], -AC_MSG_RESULT(yes) -AC_DEFINE(HAVE_VAR_TIMEZONE, 1, - [Define if tzset sets timezone variable]), -AC_MSG_RESULT(no), -AC_MSG_RESULT(assuming no)) - -AC_CHECK_MEMBER(struct tm.tm_gmtoff, - AC_DEFINE(HAVE_STRUCT_TIME_TM_GMTOFF, [], - [Define is struct tm has tm_gmtoff]), - [], - [#include ]) - -AC_MSG_CHECKING(_XOPEN_SOURCE) -AC_TRY_COMPILE( -[ -#define _XOPEN_SOURCE -#include -], -[ -], AC_DEFINE(DEFINE_XOPEN_SOURCE, 1, - "Define if _XOPEN_SOURCE is needed") - AC_MSG_RESULT(yes), - AC_MSG_RESULT(no)) - -if test "$with_time" = yes; then - if test "$ac_cv_func_setitimer" = "yes"; then - TARGETS="$TARGETS time.$SO" - else - echo "WARNING: no setitimer(); dropping time.pl from targets" - fi -fi - -if test "$ac_cv_func_getrlimit" = "yes"; then - TARGETS="$TARGETS rlimit.$SO" -else - echo "WARNING: no getrlimit(); dropping rlimit.pl from targets" -fi - - - -mkdir -p library/lammpi -mkdir -p library/matrix -mkdir -p library/matlab -mkdir -p library/mpi -mkdir -p library/random -mkdir -p library/regex -mkdir -p library/system -mkdir -p library/tries -mkdir -p library/rltree -mkdir -p library/yap2swi -mkdir -p LGPL/clp -mkdir -p LGPL/swi_console -mkdir -p GPL -mkdir -p packages/ -mkdir -p packages/clib -mkdir -p packages/clib/sha1 -mkdir -p packages/clib/maildrop -mkdir -p packages/clib/maildrop/rfc822 -mkdir -p packages/clib/maildrop/rfc2045 -mkdir -p packages/CLPBN -mkdir -p packages/clpqr -mkdir -p packages/cplint -mkdir -p packages/cplint/approx -mkdir -p packages/cplint/approx/simplecuddLPADs -mkdir -p packages/http -mkdir -p packages/jpl -mkdir -p packages/jpl/src/java -mkdir -p packages/jpl/src/java/jpl -mkdir -p packages/jpl/src/java/jpl/fli -mkdir -p packages/jpl/src/java/jpl/test -mkdir -p packages/jpl/examples -mkdir -p packages/jpl/examples/java -mkdir -p packages/tai -mkdir -p packages/tai/libtai -mkdir -p packages/PLStream -mkdir -p packages/plunit -mkdir -p packages/ProbLog -mkdir -p packages/ProbLog/simplecudd -mkdir -p packages/RDF -mkdir -p packages/semweb -mkdir -p packages/sgml -mkdir -p packages/zlib - -AC_CONFIG_FILES([Makefile]) -AC_CONFIG_FILES([GPL/Makefile]) -AC_CONFIG_FILES([library/Makefile]) -AC_CONFIG_FILES([library/lammpi/Makefile]) -AC_CONFIG_FILES([library/matlab/Makefile]) -AC_CONFIG_FILES([library/matrix/Makefile]) -AC_CONFIG_FILES([library/mpi/Makefile]) -AC_CONFIG_FILES([library/random/Makefile]) -AC_CONFIG_FILES([library/regex/Makefile]) -AC_CONFIG_FILES([library/rltree/Makefile]) -AC_CONFIG_FILES([library/system/Makefile]) -AC_CONFIG_FILES([library/tries/Makefile]) -AC_CONFIG_FILES([library/yap2swi/Makefile]) -AC_CONFIG_FILES([LGPL/Makefile]) -AC_CONFIG_FILES([LGPL/clp/Makefile]) -AC_CONFIG_FILES([LGPL/swi_console/Makefile]) -AC_CONFIG_FILES([packages/clib/Makefile]) -AC_CONFIG_FILES([packages/clib/maildrop/rfc822/Makefile]) -AC_CONFIG_FILES([packages/clib/maildrop/rfc2045/Makefile]) -AC_CONFIG_FILES([packages/CLPBN/Makefile]) -AC_CONFIG_FILES([packages/cplint/Makefile]) -AC_CONFIG_FILES([packages/cplint/approx/simplecuddLPADs/Makefile]) -AC_CONFIG_FILES([packages/http/Makefile]) -AC_CONFIG_FILES([packages/tai/Makefile]) -AC_CONFIG_FILES([packages/tai/libtai/Makefile]) -AC_CONFIG_FILES([packages/PLStream/Makefile]) -AC_CONFIG_FILES([packages/plunit/Makefile]) -AC_CONFIG_FILES([packages/ProbLog/Makefile ]) -AC_CONFIG_FILES([packages/RDF/Makefile]) -AC_CONFIG_FILES([packages/semweb/Makefile]) -AC_CONFIG_FILES([packages/sgml/Makefile]) -AC_CONFIG_FILES([packages/zlib/Makefile]) - -if test "$ENABLE_CHR" = ""; then -AC_CONFIG_FILES([packages/chr/Makefile]) -fi - -if test "$ENABLE_CLPQR" = ""; then -AC_CONFIG_FILES([packages/clpqr/Makefile]) -fi - -if test "$ENABLE_JPL" = ""; then -AC_CONFIG_FILES([packages/jpl/Makefile packages/jpl/jpl_paths.yap packages/jpl/src/java/Makefile packages/pyswip/Makefile ]) -fi - -if test "$USE_CUDD" = ""; then -AC_CONFIG_FILES([packages/ProbLog/simplecudd/Makefile]) -fi - -if test "$USE_MINISAT" = ""; then -AC_CONFIG_FILES([packages/swi-minisat2/Makefile]) -AC_CONFIG_FILES([packages/swi-minisat2/C/Makefile]) -fi - -AC_OUTPUT() - +dnl +dnl Process this file with autoconf to produce a configure script. +dnl + +AC_PREREQ([2.50]) + +dnl VARIABLES EXPORTED +dnl +dnl ARCH +dnl +dnl DefHeapSpace= Default DB space +dnl DefStackSpace= Default global+local +dnl DefTrailSpace= Default trail +dnl +dnl CPLINT +dnl +dnl CPLINT_LIBS= +dnl CPLINT_LIBS= +dnl CPLINT_LDFLAGS= +dnl CPLINT_SHLIB_LD= +dnl +dnl ENVIRONMENT to run YAP before Install is complete +dnl PRE_INSTALL_ENV= prefix to run YAP after libYap.so and yap are available +dnl but before make install +dnl INSTALL_ENV= prefix to run YAP while doing make install +dnl +dnl EXEC_SUFFIX=suffix for executable (.exe) +dnl +dnl INSTALL_DLLS= we can do dynamic linking +dnl SO= suffix for loadable binary (.so,.dll,.o) +dnl MERGE_DLL_OBJS= we need to merge several .o files into a single dll. +dnl +dnl CXXFLAGS= C++-flags +dnl SHLIB_FLAGS= C-flags used to compile a file that will be loaded dynamically +dnl DO_SECOND_LD= call a separate dll ld +dnl YAPLIB_LD= construct libYap.DLL +dnl SHLIB_LD= dll ld (C) +dnl SHLIB_CXX_LD= dll ld (C++) +dnl SHLIB_CFLAGS= cflags to use when constructing a DLL +dnl SHLIB_CXX_CFLAGS= c++flags to use when constructing a DLL +dnl YAPLIB_CFLAGS=flags to construct libYap +dnl EXTRA_LIBS_FOR_DLLS= libs that are required when lding a so +dnl EXTRA_LIBS_FOR_SWIDLLS= libs that are required when lding a SWI so + + +AC_INIT(console/yap.c) +AC_CONFIG_HEADER(config.h) + +dnl store the environment's compilation flags +mycflags="$CFLAGS" + +AC_PROG_CC +AC_PROG_CXX +AC_PROG_AWK +AC_SUBST(GCC) +AC_SUBST(C_INTERF_FLAGS) +AC_SUBST(C_PARSER_FLAGS) + +AC_ARG_ENABLE(tabling, + [ --enable-tabling support tabling ], + tabling="$enableval", tabling=no) +AC_ARG_ENABLE(or-parallelism, + [ --enable-or-parallelism support or-parallelism as: env-copy,sba,a-cow ], + orparallelism="$enableval", orparallelism=no) +AC_ARG_ENABLE(rational-trees, + [ --enable-rational-trees support infinite rational trees ], + rationaltrees="$enableval" , rationaltrees=yes) +AC_ARG_ENABLE(coroutining, + [ --enable-coroutining support co-routining, attributed variables and constraints], + rationaltrees="$enableval";coroutining="$enableval", coroutining=yes) +AC_ARG_ENABLE(depth-limit, + [ --enable-depth-limit support depth-bound computation ], + depthlimit="$enableval", depthlimit=yes) +AC_ARG_ENABLE(wam-profile, + [ --enable-wam-profile support low level profiling of abstract machine ], + wamprofile="$enableval", wamprofile=no) +AC_ARG_ENABLE(low-level-tracer, + [ --enable-low-level-tracer support support for procedure-call tracing ], + lowleveltracer="$enableval", lowleveltracer=no) +AC_ARG_ENABLE(threads, + [ --enable-threads support system threads ], + threads="$enableval", threads=no) +AC_ARG_ENABLE(pthread-locking, + [ --enable-pthread-locking use pthread locking primitives for internal locking (requires threads) ], + pthreadlocking="$enableval", pthreadlocking=no) +AC_ARG_ENABLE(max-performance, + [ --enable-max-performance try using the best flags for specific architecture ], + maxperformance="$enableval", maxperformance=no) +AC_ARG_ENABLE(max-memory, + [ --enable-max-memory try using the best flags for using the memory to the most ], + maxmemory="$enableval", maxmemory=yes) +AC_ARG_ENABLE(debug-yap, + [ --enable-debug-yap enable C-debugging for YAP ], + debugyap="$enableval", debugyap=no) +AC_ARG_ENABLE(eam, + [ --enable-eam enable EAM on YAP ], + eam="$enableval", eam=no) +AC_ARG_ENABLE(cygwin, + [ --enable-cygwin use cygwin library in WIN32 ], + cygwin="$enableval", cygwin=no) +AC_ARG_ENABLE(dynamic_loading, + [ --enable-dynamic-loading compile YAP as a DLL ], + dynamic_loading="$enableval", dynamic_loading=no) +AC_ARG_ENABLE(static_compilation, + [ --enable-static-compilation compile YAP statically ], + static_compilation="$enableval", static_compilation=no) +AC_ARG_ENABLE(use-malloc, + [ --enable-use-malloc use malloc to allocate memory ], + use_malloc="$enableval", use_malloc=no) +AC_ARG_ENABLE(condor, + [ --enable-condor allow YAP to be used from condor ], + use_condor="$enableval", use_condor=no) +AC_ARG_ENABLE(chr, + [ --enable-chr install chr library ], + use_chr="$enableval", use_chr=yes) +AC_ARG_ENABLE(clpqr, + [ --enable-clpqr install clpqr library ], + use_clpqr="$enableval", use_clpqr=yes) +AC_ARG_ENABLE(win64, + [ --enable-win64 compile YAP for win64 ], + target_win64="$enableval", target_win64=no) + +AC_ARG_ENABLE(april, + [ --enable-april compile Yap to support April ILP system], + use_april="$enableval", use_april=no) + +AC_ARG_ENABLE(dlcompat, + [ --enable-dlcompat use dlcompat library for dynamic loading on Mac OS X], + use_dlcompat="$enableval", use_dlcompat=no) + +AC_ARG_ENABLE(cplint, + [ --enable-cplint[=DIR] enable the cplint library using the glu library in DIR/lib], + yap_cv_cplint=$enableval, yap_cv_cplint=no) + +AC_ARG_WITH(gmp, + [ --with-gmp[=DIR] use GNU Multiple Precision in DIR], + if test "$withval" = yes; then + yap_cv_gmp=yes + elif test "$withval" = no; then + yap_cv_gmp=no + else + yap_cv_gmp=$with_gmp + LDFLAGS="$LDFLAGS -L${yap_cv_gmp}/lib" + LIBS="$LIBS -L${yap_cv_gmp}/lib" + CPPFLAGS="$CPPFLAGS -I${yap_cv_gmp}/include" + CFLAGS="$CFLAGS -I${yap_cv_gmp}/include" + fi, + [yap_cv_gmp=yes]) + +dnl best test we could do. +AC_ARG_WITH(minisat, + [ --enable-minisat use minisat interface], + if test "$withval" = yes; then + yap_cv_minisat=yes + elif test "$withval" = no; then + yap_cv_minisat=no + else + yap_cv_minisat="$GXX" + fi, + [yap_cv_minisat=yes]) + +AC_ARG_WITH(cudd, + [ --with-cudd[=DIR] use CUDD package in DIR], + if test "$withval" = yes; then + yap_cv_cudd=yes + elif test "$withval" = no; then + yap_cv_cudd=no + else + yap_cv_cudd=$with_cudd + CUDD_LDFLAGS="$yap_cv_cudd/cudd/libcudd.a $yap_cv_cudd/mtr/libmtr.a $yap_cv_cudd/st/libst.a $yap_cv_cudd/util/libutil.a $yap_cv_cudd/epd/libepd.a " + CUDD_CPPFLAGS="-I $yap_cv_cudd/include" + fi, + [yap_cv_cudd=no]) + +AC_ARG_ENABLE(myddas, + [ --enable-myddas[[=DIR]] enable the MYDDAS library], + if test "$enableval" = yes; then + yap_cv_myddas=/usr/ + elif test "$enableval" = no; then + yap_cv_myddas=no + else + yap_cv_myddas=$enable_myddas + LDFLAGS="$LDFLAGS -L${yap_cv_myddas}/lib " + CPPFLAGS="$CPPFLAGS -I${yap_cv_myddas}/include " + fi, + [yap_cv_myddas=no]) + +AC_ARG_ENABLE(myddas-stats, + [ --enable-myddas-stats enable the MYDDAS library statistics support], + if test "$yap_cv_myddas" = no; then + myddasstats=no + else + myddasstats="$enableval" + fi, myddasstats=no) + +AC_ARG_ENABLE(myddas-top-level, + [ --enable-myddas-top-level enable the MYDDAS top-level support to MySQL], + if test "$yap_cv_myddas" = no; then + myddastoplevel=no + else + myddastoplevel="$enableval" + fi, myddastoplevel=no) + +AC_ARG_WITH(java, + [ --with-java=JAVA_HOME use Java instalation in JAVA_HOME], + if test "$withval" = yes; then + yap_cv_java="$JAVA_HOME" + dynamic_loading=yes + maxmemory=yes +dnl threads=yes + elif test "$withval" = no; then + yap_cv_java=no + else + yap_cv_java=$with_java + dynamic_loading=yes + maxmemory=yes +dnl threads=yes + fi, + [yap_cv_java=no]) + +AC_ARG_WITH(readline, + [ --with-readline[=DIR] use GNU Readline Library in DIR], + if test "$withval" = yes; then + yap_cv_readline=yes + elif test "$withval" = no; then + yap_cv_readline=no + else + yap_cv_readline=$with_readline + LDFLAGS="$LDFLAGS -L${yap_cv_readline}/lib" + CPPFLAGS="$CPPFLAGS -I${yap_cv_readline}/include" + fi, + [yap_cv_readline=yes]) + +AC_ARG_WITH(matlab, + [ --with-matlab[=DIR] use MATLAB package in DIR], + if test "$withval" = yes; then + yap_cv_matlab=yes + elif test "$withval" = no; then + yap_cv_matlab=no + else + yap_cv_matlab=$with_matlab + MATLAB_INCLUDE="-I${yap_cv_matlab}/extern/include" + fi, + [yap_cv_matlab=no]) + +AC_ARG_WITH(mpi, + [ --with-mpi[=DIR] use MPI library in DIR], + if test "$withval" = yes; then + yap_cv_mpi=yes + elif test "$withval" = no; then + yap_cv_mpi=no + else + yap_cv_mpi=$with_mpi + LDFLAGS="$LDFLAGS -L${yap_cv_mpi}/lib" + CPPFLAGS="$CPPFLAGS -I${yap_cv_mpi}/include" + fi, + [yap_cv_mpi=no]) + + +AC_ARG_WITH(mpe, + [ --with-mpe[=DIR] use MPE library in DIR], + if test "$withval" = yes; then + yap_cv_mpe=yes + elif test "$withval" = no; then + yap_cv_mpe=no + else + yap_cv_mpe=$with_mpe + LDFLAGS="$LDFLAGS -L${yap_cv_mpe}/lib" + CPPFLAGS="$CPPFLAGS -I${yap_cv_mpe}/include" + fi, + [yap_cv_mpe=no]) + +AC_ARG_WITH(lam, + [ --with-lam[=DIR] use LAM MPI library in DIR], + if test "$withval" = yes; then + yap_cv_lam=yes + elif test "$withval" = no; then + yap_cv_lam=no + else + yap_cv_lam=$with_lam + LDFLAGS="$LDFLAGS -L${yap_cv_lam}/lib/lam" + CPPFLAGS="$CPPFLAGS -I${yap_cv_lam}/include" + fi, + [yap_cv_lam=no]) + +AC_ARG_WITH(heap-space, + [ --with-heap-space[=space] default heap size in Kbytes], + if test "$withval" = yes; then + yap_cv_heap_space=0 + elif test "$withval" = no; then + yap_cv_heap_space=0 + else + yap_cv_heap_space=$withval + fi, + [yap_cv_heap_space=0]) + +AC_ARG_WITH(stack-space, + [ --with-stack-space[=space] default stack size in Kbytes], + if test "$withval" = yes; then + yap_cv_stack_space=0 + elif test "$withval" = no; then + yap_cv_stack_space=0 + else + yap_cv_stack_space=$withval + fi, + [yap_cv_stack_space=0]) + +AC_ARG_WITH(trail-space, + [ --with-trail-space[=space] default trail size in Kbytes], + if test "$withval" = yes; then + yap_cv_trail_space=0 + elif test "$withval" = no; then + yap_cv_trail_space=0 + else + yap_cv_trail_space=$withval + fi, + [yap_cv_trail_space=0]) + +AC_ARG_WITH(max-workers, + [ --with-max-workers[=integer] maximum number of or-parallel processes], + if test "$withval" = yes; then + yap_cv_max_workers="(8*SIZEOF_INT_P)" + elif test "$withval" = no; then + yap_cv_max_workers="1" + else + yap_cv_max_workers=$withval + fi, + [yap_cv_max_workers="(8*SIZEOF_INT_P)"]) + +AC_ARG_WITH(max-threads, + [ --with-max-threads[=integer] maximum number of or-parallel processes], + if test "$withval" = yes; then + yap_cv_max_threads="1024" + elif test "$withval" = no; then + yap_cv_max_threads="1" + else + yap_cv_max_threads=$withval + fi, + [yap_cv_max_threads="1024"]) + +AC_ARG_WITH(junit, [ --with-junit=PATH Specify location of the junit JAR file], + [case "$withval" in + yes) JUNIT=/usr/share/java/junit.jar + ;; + no) JUNIT="" + ;; + *) JUNIT="$withval" + ;; + esac]) + +AC_DEFINE(MinHeapSpace, (1000*SIZEOF_INT_P)) +AC_DEFINE(MinStackSpace,(300*SIZEOF_INT_P)) +AC_DEFINE(MinTrailSpace,( 48*SIZEOF_INT_P)) + +AC_DEFINE_UNQUOTED(DefHeapSpace,$yap_cv_heap_space) +AC_DEFINE_UNQUOTED(DefStackSpace,$yap_cv_stack_space) +AC_DEFINE_UNQUOTED(DefTrailSpace,$yap_cv_trail_space) + +AC_SUBST(DefHeapSpace) +AC_SUBST(DefStackSpace) +AC_SUBST(DefTrailSpace) + +AC_CANONICAL_SYSTEM + +AC_DEFINE_UNQUOTED(HOST_ALIAS,"${target}") + +if test "$or-parallelism" = no +then + AC_DEFINE(MAX_WORKERS,1) +else + AC_DEFINE_UNQUOTED(MAX_WORKERS,$yap_cv_max_workers) +fi + +if test "$threads" = no +then + AC_DEFINE(MAX_THREADS,1) +else + AC_DEFINE_UNQUOTED(MAX_THREADS,$yap_cv_max_threads) +fi + + +dnl condor does not like dynamic linking on Linux, DEC, and HP-UX platforms. +if test "$yap_cv_matlab" = no +then + INSTALL_MATLAB="@# " +elif test "$yap_cv_matlab" = yes +then + INSTALL_MATLAB="" +else + case "$target_cpu" in + i*86*) + LDFLAGS="$LDFLAGS -L${yap_cv_matlab}/bin/glnx86" + ;; + x86*) + LDFLAGS="$LDFLAGS -L${yap_cv_matlab}/bin/glnxa64" + ;; + sparc*) + LDFLAGS="$LDFLAGS -L${yap_cv_matlab}/bin/sol2" + ;; + esac + INSTALL_MATLAB="" +fi + +if test "$yap_cv_cudd" = no +then + USE_CUDD="@# " +else + USE_CUDD="" +fi + +dnl condor universe does not like dynamic linking on Linux, DEC, and HP-UX platforms. +if test "$use_condor" = yes +then + static_compilation="yes" + use_malloc="yes" + CC="condor_compile $CC" + CXX="condor_compile $CXX" + dnl no readline with condor. + yap_cv_readline="no" + AC_DEFINE(SUPPORT_CONDOR, 1) + dnl and it disables minisat + yap_cv_minisat=no + STATIC_MODE="" +else + static_compilation="no" + STATIC_MODE="# " +fi + +if test "$yap_cv_minisat" = no +then + USE_MINISAT="@# " +elif test "$INSTALL_DLLS" = "#" +then + USE_MINISAT="@# " +else + USE_MINISAT="" +fi + +dnl Compilation Flags +if test "$GCC" = "yes" +then + if test "$debugyap" = "yes" + then + CXXFLAGS="-O -g -Wall $CFLAGS" + C_INTERF_FLAGS="-O -g -Wall -Wstrict-prototypes -Wmissing-prototypes $CFLAGS" + CFLAGS="-O -g -Wall -Wstrict-prototypes -Wmissing-prototypes $CFLAGS" + else + CXXFLAGS="-O3 -fomit-frame-pointer -Wall $CFLAGS" + C_INTERF_FLAGS="-O3 -Wall -Wstrict-prototypes -Wmissing-prototypes $CFLAGS" + C_PARSER_FLAGS="-O3 -Wall -Wstrict-prototypes -Wmissing-prototypes $CFLAGS" + CFLAGS="-O3 -fomit-frame-pointer -Wall -Wstrict-prototypes -Wmissing-prototypes $CFLAGS" + case "`$CC --version < /dev/null`" in + *3.4*) CFLAGS="-fno-gcse -fno-crossjumping $CFLAGS" ;; + esac + case "$target_cpu" in + i*86*) + CFLAGS="-DBP_FREE $CFLAGS" + CXXFLAGS="-DBP_FREE $CXXFLAGS" + ;; + sparc*) + case "$target_os" in + *solaris[2-9]*) dnl + CFLAGS="-mno-app-regs -DOPTIMISE_ALL_REGS_FOR_SPARC=1 $CFLAGS" + CXXFLAGS="-mno-app-regs -DOPTIMISE_ALL_REGS_FOR_SPARC=1 $CFPPLAGS" + ;; + esac + ;; + esac + if test "$tcpu"; then + target_cpu=$tcpu + fi + if test "$maxperformance" = "yes" + then + case "$target_cpu" in + athlon) + CFLAGS="-march=athlon $CFLAGS" + CXXFLAGS="-march=athlon $CXXFLAGS" + ;; + i686*) + CFLAGS="-march=i686 $CFLAGS" + CXXFLAGS="-march=i686 $CXXFLAGS" + ;; + i586*) + CFLAGS="-march=i586 $CFLAGS" + CXXFLAGS="-march=i586 $CXXFLAGS" + ;; + i486*) + CFLAGS="-march=i486 $CFLAGS" + CXXFLAGS="-march=i486 $CXXFLAGS" + ;; + i386*) + CFLAGS="-march=i386 $CFLAGS" + CXXFLAGS="-march=i386 $CXXFLAGS" + ;; + esac + fi + fi + if test "$CC" = "sslittle-na-sstrix-gcc" + then + RANLIB="sslittle-na-sstrix-ranlib" + AR="sslittle-na-sstrix-ar" + PRE_INSTALL_ENV="sim-fast" + INSTALL_ENV="sim-fast" + fi +else + case "$target_cpu" in + i?86*) + if test "$CC" = "lcc" + then + CFLAGS="-A -A $CFLAGS" + elif test "$CC" = "cl" + then + CXXFLAGS="-/nologo $CFLAGS" + CFLAGS="/nologo $CFLAGS" + CPP="/nologo /E" + fi + ;; + hppa*) + if test "$CC" = "cc" -o $CC = c89 + then + if test "$debugyap" = "yes" + then + CXXFLAGS="-Ae -g -O $CFLAGS" + CFLAGS="-Ae -g -O $CFLAGS" + else + CXXFLAGS="-Ae +O3 +Onolimit $CFLAGS" + CFLAGS="-Ae +O3 +Onolimit $CFLAGS" + fi + fi +dnl LDFLAGS="+e UserCPredicate $LDFLAGS" + ;; + esac + C_INTERF_FLAGS="$CFLAGS" + C_PARSER_FLAGS="$CFLAGS" +fi + +dnl Checks for programs. +AC_PROG_LN_S +AC_PROG_INSTALL +AC_PROG_RANLIB +AC_CHECK_TOOL(INDENT,indent,:) +AC_CHECK_TOOL(AR,ar,:) +AC_CHECK_TOOL(MPI_CC,mpicc,:) +AC_PATH_PROG(INSTALL_INFO,install-info,true,$PATH:/sbin:/usr/sbin:/usr/etc:/usr/local/sbin) +AC_PATH_PROG(SHELL,sh) + +dnl Check for libraries. +dnl mingw does not get along well with libm +dnl cygnus and mingw32 also need wsock32 to use sockets. +dnl +if test "$target_os" = "cygwin" -o "$target_os" = "mingw32" +then + INSTALL_COMMAND=install_win32 + if test "$cygwin" = "no" -o "$target_os" = "mingw32" + then + if test "$target_win64" = yes + then + AC_CHECK_LIB(ws2_32,main) + EXTRA_LIBS_FOR_DLLS="-lws2_32 \$(abs_top_builddir)/yap.dll" + elif test "$target_os" = "cygwin" + then + CC="${CC} -mno-cygwin" + CXX="${CXX} -mno-cygwin" + AC_CHECK_LIB(wsock32,main) + EXTRA_LIBS_FOR_DLLS="\$(abs_top_builddir)/yap.dll" + else + AC_CHECK_LIB(wsock32,main) + EXTRA_LIBS_FOR_DLLS="\$(abs_top_builddir)/yap.dll" + fi + AC_CHECK_LIB(psapi,main) + yap_cv_readline=no + if test "$target_win64" = yes + CLIB_NETLIBS="-lws2_32 -lpsapi -lgdi32" + then + CLIB_NETLIBS="-lwsock32 -lpsapi -lgdi32" + fi + if test "$prefix" = "NONE" + then + if test "$target_win64" = yes + then + prefix="\${SYSTEMDRIVE}/Yap64" + CLIB_NETLIBS="-lwsock32 -lpsapi -lgdi32" + else + prefix="\${SYSTEMDRIVE}/Yap" + fi + fi + ENABLE_WINCONSOLE="" + else + ENABLE_WINCONSOLE="#" + LIBS="-lcygwin" + EXTRA_LIBS_FOR_DLLS="\$(abs_top_builddir)/yap.dll" + fi +else + INSTALL_COMMAND="install_unix" + ENABLE_WINCONSOLE="#" + AC_CHECK_LIB(m,sin) + AC_CHECK_LIB(socket,socket) + dnl X/Open Networking is sometimes a separate library + AC_CHECK_LIB(xnet,getsockname) + AC_CHECK_LIB(stdc++,main) + AC_CHECK_LIB(nsl,main, + have_nsl=yes + , + have_nsl=no) + AC_CHECK_LIB(crypt,main) +fi + +if test "$yap_cv_readline" != "no" +then + AC_CHECK_LIB(termcap,tgetent) + AC_CHECK_LIB(ncurses,main) + AC_CHECK_LIB(readline,readline) +fi +if test "$yap_cv_gmp" != "no" +then + AC_CHECK_LIB(gmp,main) +fi + +dnl if test "$yap_cv_cudd" != "no" +dnl then +dnl AC_CHECK_LIB(cudd,Cudd_Init) +dnl fi + +if test "$yap_cv_myddas" != "no" +then + dnl check for mysql + AC_MSG_CHECKING(for main in -lmysqlclient) + AC_CACHE_VAL(yap_cv_mysql,[ + AC_TRY_COMPILE( + #include + #include + , + MYSQL *conn; + conn = mysql_init(NULL); + , + yap_cv_mysql=yes,yap_cv_mysql=no)]) + AC_MSG_RESULT($yap_cv_mysql) + if test "$yap_cv_mysql" = yes + then + YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_MYSQL" + LIBS="$LIBS -L${yap_cv_myddas}/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -lc -lnss_files -lnss_dns -lresolv " + fi + + dnl check for odbc + AC_MSG_CHECKING(for main in -lodbc) + AC_CACHE_VAL(yap_cv_odbc,[ + AC_TRY_COMPILE( + #include + #include + #include + , + SQLHENV henv; + SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv); + , + yap_cv_odbc=yes,yap_cv_odbc=no)]) + AC_MSG_RESULT($yap_cv_odbc) + if test "$yap_cv_odbc" = yes + then + YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_ODBC" + LIBS="$LIBS -lodbc " + fi + + if test "$yap_cv_mysql" = no -a "$yap_cv_odbc" = no + then + echo "-------------------------------" + echo "--" + echo "--" + echo "--" + echo "-- There\'s no devel libraries for MySQL or ODBC" + echo "--" + echo "--" + echo "--" + echo "-------------------------------" + exit + fi +fi + +if test "$myddasstats" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_STATS" +fi + +if test "$myddastoplevel" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -DMYDDAS_TOP_LEVEL" +fi + +if test "$threads" = yes +then + AC_DEFINE(SUPPORT_THREADS, 1) + AC_CHECK_LIB(pthread,pthread_create) + AC_CHECK_HEADERS(pthread.h) + AC_CHECK_FUNCS(pthread_mutexattr_setkind_np pthread_mutexattr_settype) + if test "$pthreadlocking" = yes + then + AC_DEFINE(USE_PTHREAD_LOCKING, 1) + fi + use_malloc=yes +fi + +if test ! -z "$GCC"; then + COFLAGS="${COFLAGS--O2 -cc-options,-fno-strict-aliasing}" + CWFLAGS="${CWFLAGS--Wall}" +else + COFLAGS="${COFLAGS--O}" + CWFLAGS="${CWFLAGS-}" +fi +CMFLAGS=-fpic +CIFLAGS=-I. + +if test "$use_chr" = no; then + ENABLE_CHR="@# " +elif test -e "$srcdir"/packages/chr/Makefile.in; then + ENABLE_CHR="" +else + ENABLE_CHR="@# " +fi + +if test "$use_clpqr" = no; then + ENABLE_CLPQR="@# " +elif test -e "$srcdir"/packages/clpqr/Makefile.in; then + ENABLE_CLPQR="" +else + ENABLE_CLPQR="@# " +fi + +dnl +dnl java is hard +dnl +if test "$yap_cv_java" = no; then + ENABLE_JPL="@#" +elif test -e "$srcdir"/packages/jpl/Makefile.in; then + ENABLE_JPL="" + JAVA=java + JAVA_HOME="$yap_cv_java" + case "$target_os" in + *cygwin*|*mingw*) + if test $threads = yes; then + JAVALIBPATH="\"$JAVA_HOME\"/lib/jvm.lib -lpthread" + else + JAVALIBPATH="\"$JAVA_HOME\"/lib/jvm.lib" + fi + JAVAINCPATH="-I\"$JAVA_HOME\"/include -I\"$JAVA_HOME\"/include/win32" + ;; + *darwin*) + LIBS="$LIBS -framework JavaVM" + JAVALIBPATH="-L/System/Library/Frameworks/JavaVM.framework/Libraries -Wl,-framework,JavaVM" + JAVAINCPATH="-I/System/Library/Frameworks/JavaVM.framework/Headers" + ;; + *) + case "$target_os" in + *linux*) + JAVAINCPATH="-I\"$JAVA_HOME\"/include -I\"$JAVA_HOME\"/include/linux" + ;; + *solaris*) + JAVAINCPATH="-I\"$JAVA_HOME\"/include -I\"$JAVA_HOME\"/include/solaris" + ;; + esac + case "$target_cpu" in + i*86*) + JAVA_TARGET=i386 + ;; + x86*) + JAVA_TARGET=amd64 + ;; + sparc*) + JAVA_TARGET=sparc + ;; + esac + JAVALIBPATH="-L$JAVA_HOME/jre/lib/$JAVA_TARGET -L$JAVA_HOME/jre/lib/$JAVA_TARGET/client -L$JAVA_HOME/jre/lib/$JAVA_TARGET/server -Wl,-R,$JAVA_HOME/jre/lib/$JAVA_TARGET -ljava -lverify -ljvm " + ;; + esac + if test "$yap_cv_java" = ""; then + JAVA=java + JAR=jar + JAVAC=javac + JAVADOC=javadoc + else + JAVA="$yap_cv_java"/bin/java + JAR="$yap_cv_java"/bin/jar + JAVAC="$yap_cv_java"/bin/javac + JAVADOC="$yap_cv_java"/bin/javadoc + fi +else + ENABLE_JPL="@#" +fi + +LAM_MPI_CC=${MPI_CC} +MPI_OBJS= +if test "$yap_cv_mpi" != "no" +then + OLD_CC=${CC} + CC=${MPI_CC} + AC_CHECK_LIB(mpi,MPI_Init, + [AC_DEFINE(HAVE_LIBMPI, 1)], + [AC_DEFINE(HAVE_LIBMPI, 0)]) + if test "$ac_cv_lib_mpi_MPI_Init" = yes + then + #YAPMPILIB=YapMPI.a + MPI_OBJS=mpi.o + else + AC_CHECK_LIB(mpich,MPI_Init, + [AC_DEFINE(HAVE_LIBMPICH, 1)], + [AC_DEFINE(HAVE_LIBMPICH, 0)]) + if test "$ac_cv_lib_mpich_MPI_Init" = yes + then + #YAPMPILIB=YapMPI.a + MPI_OBJS=mpi.o + else + #YAPMPILIB= + MPI_CC=${CC} + fi + fi + CC=${OLD_CC} +else +# MPI_CC=${MPI_CC} + MPI_CC=${CC} +fi + + +MPI_LIBS= +if test "$yap_cv_mpi" != "no" -a "$yap_cv_mpe" != "no" +then + OLD_CC=${CC} + CC=${MPI_CC} + AC_CHECK_LIB(mpe,MPE_Init_log, + [AC_DEFINE(HAVE_LIBMPE, 1)], + [AC_DEFINE(HAVE_LIBMPE, 0)]) + if test "$ac_cv_lib_mpe_MPE_Init_log" = yes + then + MPI_LIBS="-lmpe" + MPI_OBJS="$MPI_OBJS mpe.o" + fi + CC=${OLD_CC} +fi + +AC_PROG_CPP + +if test "$cross_compiling" = "yes" +then + YAP_EXTRAS= +else + AC_SYS_RESTARTABLE_SYSCALLS +fi + + +dnl defaults +INSTALL_DLLS="#" +EXTRA_OBJS="" +SHLIB_LD="#" +SHLIB_CXX_LD="#" +DO_SECOND_LD="#" +M4="m4" +MERGE_DLL_OBJS="#" +IN_UNIX="" + +dnl This has to be before $target_os +YAPLIB="libYap.a" + +dnl now this is where things get nasty. +dnl trying to get the libraries +case "$target_os" in + *linux*) + if test "$static_compilation" = "no" + then + AC_CHECK_LIB(dl,dlopen, + have_dl=yes + , + have_dl=no) + if test "$have_dl" = "yes" + then + SO="so" + SHLIB_LD="$CC -shared -export-dynamic" + SHLIB_CXX_LD="$CXX -shared -export-dynamic" + DO_SECOND_LD="" + LIBS="$LIBS -ldl" + case "$target_cpu" in + alpha*) + LDFLAGS="-dynamic $LDFLAGS" + ;; + *) + if test "$CC" != "lcc" + then + LDFLAGS="-rdynamic $LDFLAGS" + fi + ;; + esac + fi + if test "$ac_cv_prog_gcc" = "yes" + then + SHLIB_CFLAGS="-shared -fPIC $CFLAGS" + SHLIB_CXXFLAGS="-shared -fPIC $CXXFLAGS" + INSTALL_DLLS="" + fi + LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" + DYNYAPLIB=libYap."$SO" + fi + if test "$have_nsl" = yes + then + LIBS="$LIBS -lnsl" + fi + if test "$dynamic_loading" = "yes" + then + YAPLIB_LD="\$(CC) -shared" + EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" + INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" + else + YAPLIB_LD="\$(CC)" + EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" + INSTALL_ENV="YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" + PRE_INSTALL_ENV="" + fi + ;; + *sunos4*) + M4="/usr/5bin/m4" + LDFLAGS="$LDFLAGS -N" + if test "$have_nsl" = yes + then + LIBS="$LIBS -lnsl" + fi + SO="o" + INSTALL_DLLS="" + LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" + DYNYAPLIB=libYap."$SO" + EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" + INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" + ;; + *hpux*) + #do not use the first memory quadrant + AC_DEFINE(FORCE_SECOND_QUADRANT) + M4="/usr/bin/m4" + if test ${use_condor} = no + then + SHLIB_INTERFACE="load_shl.o" + if test "$CC" = cc -o "$CC" = c89 + then + #this tells ld to export all non-static symbols, + #otherwise no external predicates. + SHLIB_LD="$CC -shared -export-dynamic" + SHLIB_CXX_LD="$CXX -shared -export-dynamic" + DO_SECOND_LD="" + SO="sl" + SHLIB_CFLAGS="+z $CFLAGS" + SHLIB_CXXFLAGS="+z $CXXFLAGS" + INSTALL_DLLS="" + # If the xnet library was found, turn on X/Open networking + if test "$ac_cv_lib_xnet_getsockname" = yes + then + AC_DEFINE(_XOPEN_SOURCE) + AC_DEFINE(_XOPEN_SOURCE_EXTENDED,1) + fi + else + INSTALL_DLLS="#" + fi + fi + #do not use realloc() from HP-UX 10.20 together with MPI + if test ${target_os} = hpux10.20 + then + AC_DEFINE(MPI_AVOID_REALLOC,1) + fi + LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" + DYNYAPLIB=libYap."$SO" + EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" + INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" + ;; + *aix*) + # To actually use dlls in AIX I'd need to build YAP as a DLL first. + # I won't bother for now. + # + # SO="a" + #SHLIB_LD="\$(srcdir)/../../ldAix /bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry" + #INSTALL_DLLS="" + LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" + DYNYAPLIB=libYap."$SO" + EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" + INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" + ;; + *osf*) + if ${use_condor} = no + then + AC_CHECK_LIB(dl,dlopen, +dnl Linux has both elf and a.out, in this case we found elf + have_dl=yes + , + have_dl=no) + SO="so" + SHLIB_LD="ld -shared -expect_unresolved '*'" + DO_SECOND_LD="" + fi + LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" + DYNYAPLIB=libYap."$SO" + EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" + INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" + ;; + *irix6*) + SHLIB_CFLAGS="$CFLAGS" + SHLIB_CXXFLAGS="$CXXFLAGS" + SO="so" + DO_SECOND_LD="" + SHLIB_LD="ld -n32 -shared -rdata_shared" + SHLIB_CXX_LD="$SHLIB_LD" + INSTALL_DLLS="" + LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" + DYNYAPLIB=libYap."$SO" + EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" + INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" + ;; + *darwin*) + if test ${use_dlcompat} = yes + then + AC_CHECK_LIB(dl,dlopen, + have_dl=yes + , + have_dl=no) + if test ${have_dl} = yes + then + LIBS="$LIBS -ldl" + fi + fi + SO="dylib" + DO_SECOND_LD="" + if test "$dynamic_loading" = "yes" + then + SHLIB_LD="$CC -dynamiclib" + SHLIB_CXX_LD="$CXX -dynamiclib" + EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-install_name,\$(DESTDIR)\$(YAPLIBDIR)/\$@" + INSTALL_ENV="DYLD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" + else + SHLIB_LD="$CC -dynamiclib -Wl,-undefined,dynamic_lookup" + SHLIB_CXX_LD="$CXX -dynamiclib -Wl,-undefined,dynamic_lookup" + EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -Wl,-install_name,\$(DESTDIR)\$(YAPLIBDIR)/\$@" + INSTALL_ENV="YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" + fi + if test "$ac_cv_prog_gcc" = "yes" + then + SHLIB_CFLAGS="-shared -fPIC $CFLAGS" + SHLIB_CXXFLAGS="-shared -fPIC $CXXFLAGS" + INSTALL_DLLS="" + fi + CC="$CC -fstrict-aliasing -freorder-blocks -fsched-interblock -Wall -Wstrict-aliasing=2" + DYNYAPLIB=libYap."$SO" + YAPLIB_LD="$CC -dynamiclib -Wl,-install_name,$prefix/lib/libYap.dylib" + PRE_INSTALL_ENV="DYLD_LIBRARY_PATH=\$(abs_top_builddir)" + ;; + *netbsd*|*freebsd*) + if echo __ELF__ | ${CC:-cc} -E - | grep -q __ELF__ + then + #an a.out system + SHLIB_CFLAGS="$CFLAGS" + SHLIB_CXXFLAGS="$CXXFLAGS" + SO="o" + else + #an elf system + LDFLAGS="-Wl,--export-dynamic $LDFLAGS" + SHLIB_CFLAGS="-fPIC $CFLAGS" + SHLIB_CXXFLAGS="-fPIC $CXXFLAGS" + SHLIB_LD="$CC -shared -export-dynamic" + SHLIB_CXX_LD="$CXX -shared -export-dynamic" + DO_SECOND_LD="" + SO="so" + INSTALL_DLLS="" + fi + LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" + DYNYAPLIB=libYap."$SO" + EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" + INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" + ;; + *solaris*) + #an elf system + LDFLAGS="-dynamic $LDFLAGS" + SHLIB_CFLAGS="-fPIC $CFLAGS" + SHLIB_CXXFLAGS="-fPIC $CXXFLAGS" + SHLIB_LD="$CC -shared" + SHLIB_CXX_LD="$CXX -shared" + DO_SECOND_LD="" + SO="so" + INSTALL_DLLS="" + LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" + DYNYAPLIB=libYap."$SO" + if test "$dynamic_loading" = "yes" + then + YAPLIB_LD="\$(CC)" + EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" + INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" + else + EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" + PRE_INSTALL_ENV="" + YAPLIB_LD="\$(CC) -shared" + INSTALL_ENV="YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" + fi + ;; + *cyg*|*mingw*) + # gcc on cygwin seems to have trouble with longjmp + # and -fomit-frame-point -DBP_FREE + YAPLIB="yap.dll" + DYNYAPLIB="yap.dll" + SHLIB_CFLAGS="$CFLAGS" + SHLIB_CXXFLAGS="$CXXFLAGS" + if test "$target_win64" = no + then + LDFLAGS="-Wl,--large-address-aware $LDFLAGS" + fi + SHLIB_LD="\$(CC) -shared -Wl,--export-all-symbols" + SHLIB_CXX_LD="\$(CXX) -shared -Wl,--export-all-symbols" + SO="dll" + C_PARSER_FLAGS="$C_INTERF_FLAGS" + EXEC_SUFFIX=".exe" + INSTALL_DLLS="" + DO_SECOND_LD="" + MERGE_DLL_OBJS="" + IN_UNIX="#" + YAPLIB_LD="\$(CC) -shared -Wl,--export-all-symbols" + PRE_INSTALL_ENV="" + INSTALL_ENV="" + ;; + *) + AC_CHECK_LIB(dl,dlopen, + have_dl=yes + , + have_dl=no) + if test "$have_dl" = yes + then + SO="o" + LIBS="$LIBS -ldl" + INSTALL_DLLS="" + if test "$GCC" = "yes" + then + SHLIB_CXXFLAGS="-fPIC $CXXFLAGS" + fi + fi + if test "$have_nsl" = yes + then + LIBS="$LIBS -lnsl" + fi + LDFLAGS="$LDFLAGS -L\$(abs_top_builddir) -Wl,-R,\$(DESTDIR)\$(LIBDIR) -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR)" + DYNYAPLIB=libYap."$SO" + EXTRA_LIBS_FOR_DLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir) -lYap -Wl,-R,\$(DESTDIR)\$(YAPLIBDIR) -Wl,-R,\$(DESTDIR)\$(LIBDIR)" + PRE_INSTALL_ENV="LD_LIBRARY_PATH=\$(abs_top_builddir)" + INSTALL_ENV="LD_LIBRARY_PATH=\$(DESTDIR)\$(LIBDIR): YAPSHAREDIR=\$(DESTDIR)\$(SHAREDIR) YAPLIBDIR=\$(DESTDIR)\$(YAPLIBDIR)" + ;; +esac + +EXTRA_LIBS_FOR_SWIDLLS="$EXTRA_LIBS_FOR_DLLS -L\$(abs_top_builddir)/packages/PLStream -lplstream" + + +if test "$dynamic_loading" = "yes" +then + YAPLIB_CFLAGS="$SHLIB_CFLAGS" + YAPLIB="$DYNYAPLIB" +else + YAPLIB_CFLAGS="$CFLAGS" +fi + +if test "$coroutining" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -DCOROUTINING=1" +fi + +if test "$rationaltrees" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -DRATIONAL_TREES=1" +fi + +if test "$rationaltrees" = "yes" -a "$coroutining" = "yes" + then + INSTALLCLP="" + else + INSTALLCLP="@#" +fi + +if test "$debugyap" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -DDEBUG=1" +fi + +if test "$eam" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -DBEAM" +fi + +if test "$wamprofile" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -DANALYST=1" +fi + +if test "$depthlimit" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -DDEPTH_LIMIT=1" +fi + +if test "$use_april" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -DDEPTH_LIMIT=1 -DAPRIL" + LDFLAGS="$LDFLAGS -L." + LIBS="$LIBS -lApril" +fi + +if test "$lowleveltracer" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -DLOW_LEVEL_TRACER=1" +fi + +if test "$threads" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -DTHREADS=1" + if test "$GCC" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -D_GNU_SOURCE" + fi +fi + +case "$orparallelism" in + sba) + YAP_EXTRAS="$YAP_EXTRAS -DSBA=1" + ;; + a-cow) + YAP_EXTRAS="$YAP_EXTRAS -DACOW=1" + ;; + yes|env-copy) + YAP_EXTRAS="$YAP_EXTRAS -DENV_COPY=1" + ;; +esac + +if test "$cutc" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -DCUT_C=1" +fi + +if test "$tabling" = "yes" + then + YAP_EXTRAS="$YAP_EXTRAS -DTABLING=1" +fi +if test ! "$yap_cv_cplint" = "no" + then + GLIBS=`pkg-config --libs glib-2.0` + GFLAGS=`pkg-config --cflags glib-2.0` + CPLINT_LIBS=${CPLINT_LIBS}$GLIBS + CPLINT_CFLAGS=" $GFLAGS " + CPLINT_LDFLAGS=" `echo $GLIBS | awk '{print $1}'` -L$pefic/lib/" + LDFLAGS=${LDFLAGS}" `echo $GLIBS | awk '{print $1}'` -L$prefix/lib/" + if test ! "$yap_cv_cplint" = "yes" + then + CPLINT_LDFLAGS+=" -L${yap_cv_cplint}/cudd -L${yap_cv_cplint}/mtr -L${yap_cv_cplint}/st -L${yap_cv_cplint}/util -L${yap_cv_cplint}/epd " + CPLINT_CFLAGS+=" -I${yap_cv_cplint}/include" + CPLINT_LIBS="-lcudd -lmtr -lst -lepd -lutil -lm "$CPLINT_LIBS + fi + #AC_SEARCH_LIBS([g_hash_table_new], [glib-2.0], [], [AC_MSG_ERROR([This package needs glib >=2.0.], [1])], []) + #AC_SEARCH_LIBS([Cudd_Init], [cudd], [], [AC_MSG_ERROR([This package needs CUDD.], [1])], [-lcudd -lmtr -lst -lutil -lepd -lm]) + #AC_SEARCH_LIBS([pow], [m], [], [AC_MSG_ERROR([This package needs m.], [1])], [-lm]) +ENABLE_CPLINT="" + if test "$target_os" = "cygwin" -o "$target_os" = "mingw32" + then + CPLINT_SHLIB_LD="gcc -shared ../../yap.dll" + SHLIB_SUFFIX="dll" + else + CPLINT_SHLIB_LD=$SHLIB_LD + SHLIB_SUFFIX="so" + fi + AC_SUBST(CPLINT_LIBS) + AC_SUBST(CPLINT_CFLAGS) + AC_SUBST(CPLINT_LDFLAGS) + AC_SUBST(CPLINT_SHLIB_LD) + AC_SUBST(SHLIB_SUFFIX) +else + ENABLE_CPLINT="@#" +fi +AC_SUBST(ENABLE_CPLINT) + +AC_SUBST(INSTALL_ENV) +AC_SUBST(PRE_INSTALL_ENV) + +AC_CHECK_LIB(z, zlibVersion, + ZLIBS="-lz" + ZLIB=yes, + ZLIB=no) + +if test "$ZLIB" = yes; then + ZLIB_TARGETS="zlib4pl.$SO" + ZLIB_PLTARGETS='$(srcdir)/zlib.pl' + ZLIB_INSTALL=install +else + ZLIB_TARGETS=nolib + ZLIB_INSTALL=nolib + cat << EOF +################################################################## +# ERROR: Could not find library zlib (-lz). Dropped library(zlib) +# Library zlib is available from http://www.zlib.net/ +# Most Unix/Linux distributions are shipped with binaries. Make +# sure to have the development library installed. +################################################################## +EOF +fi + +AC_SUBST(ZLIBS) +AC_SUBST(ZLIB_TARGETS) +AC_SUBST(ZLIB_PLTARGETS) +AC_SUBST(ZLIB_INSTALL) + + +# LAM +OLD_CC=${CC} +CC=${LAM_MPI_CC} +AC_CHECK_LIB([lam], [main], + LAMOBJS=yap_mpi."$SO", + LAMOBJS=no) +CC=${OLD_CC} + +dnl Checks for header files. +AC_HEADER_STDC +AC_HEADER_SYS_WAIT +AC_CHECK_HEADERS(arpa/inet.h alloca.h crypt.h) +AC_CHECK_HEADERS(ctype.h direct.h dirent.h dlfcn.h) +AC_CHECK_HEADERS(errno.h execinfo.h fcntl.h fenv.h) +AC_CHECK_HEADERS(float.h fpu_control.h ieeefp.h io.h limits.h) +AC_CHECK_HEADERS(locale.h malloc.h math.h memory.h mpi.h) +AC_CHECK_HEADERS(netdb.h netinet/in.h netinet/tcp.h pwd.h regex.h) +AC_CHECK_HEADERS(siginfo.h signal.h stdarg.h string.h stropts.h) +AC_CHECK_HEADERS(sys/conf.h sys/dir.h sys/file.h) +AC_CHECK_HEADERS(sys/mman.h sys/ndir.h sys/param.h) +AC_CHECK_HEADERS(sys/resource.h sys/select.h) +AC_CHECK_HEADERS(sys/shm.h sys/socket.h sys/stat.h) +AC_CHECK_HEADERS(sys/time.h sys/times.h sys/types.h) +AC_CHECK_HEADERS(sys/ucontext.h sys/un.h sys/wait.h) +AC_CHECK_HEADERS(time.h unistd.h utime.h wctype.h winsock.h winsock2.h) +AC_CHECK_HEADERS(zlib.h zutil.h) +AC_CHECK_HEADERS(mach-o/dyld.h) +if test "$yap_cv_gmp" != "no" +then + AC_CHECK_HEADERS(gmp.h) +fi +if test "$yap_cv_cudd" != "no" +then + AC_CHECK_HEADERS(cudd.h) +fi +if test "$yap_cv_myddas" != "no" +then + AC_CHECK_HEADERS(mysql/mysql.h) +fi +if test "$yap_cv_readline" != "no" +then + AC_CHECK_HEADERS( readline/readline.h) +fi +AC_CHECK_HEADERS(mpi.h) +AC_CHECK_HEADERS(mpe.h) + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_INLINE +AC_STRUCT_TM +AC_CHECK_SIZEOF(int *,4) +AC_CHECK_SIZEOF(short int,2) +AC_CHECK_SIZEOF(int,4) +AC_CHECK_SIZEOF(long int,4) +AC_CHECK_SIZEOF(long long int,8) +AC_CHECK_SIZEOF(float,4) +AC_CHECK_SIZEOF(double,8) + +dnl check type of malloc (i.e. char * or void *) +AC_MSG_CHECKING(for type of malloc) +AC_CACHE_VAL(yap_cv_malloct,[ +AC_TRY_RUN( + #include + char *malloc(size_t); + int main() { + void *p=malloc(1); + return 0; + } + , + yap_cv_malloct=char,yap_cv_malloct=void,yap_cv_malloct=void)]) +AC_MSG_RESULT($yap_cv_malloct *) +if test "$yap_cv_malloct" = void +then AC_DEFINE(MALLOC_T,void *) +else AC_DEFINE(MALLOC_T,char *) +fi + + +dnl check how to generate headers (i.e. should we use GCC inline?) +AC_MSG_CHECKING(for gcc inline) +AC_CACHE_VAL(yap_cv_gcc,[ +AC_TRY_RUN( + #undef inline + inline int f(int x) {return x+1;} + int main() { return 0;} + , + yap_cv_gcc=yes,yap_cv_gcc=no,yap_cv_gcc=yes)]) +AC_MSG_RESULT($yap_cv_gcc) +if test "$yap_cv_gcc" = yes +then +M4GENHDRS=m4/gcc_genhdrs.m4 +AC_DEFINE(HAVE_GCC,1) +else +M4GENHDRS=m4/cc_genhdrs.m4 +AC_DEFINE(HAVE_GCC,0) +fi +AC_SUBST(M4) +AC_SUBST(M4GENHDRS) + +dnl SWI compatibility, I don't know why just use host... +changequote(,)dnl +if test "x$ARCH" = "x"; then + case "$host" in + *linux*) + ARCH=`echo $host | sed 's/-.*/-linux/'` + ;; + *-gnu) + ARCH=`echo $host | sed 's/\([^-]*\)-[^-]*-\([^-]*\)-gnu/\1-\2/'` + ;; + *) + ARCH=`echo $host | sed 's/\([^-]*\)-[^-]*-\([^-]*\)/\1-\2/'` + ;; + esac +fi +changequote([,])dnl +AC_SUBST(ARCH) + +dnl System stuff for dynamic linking. +dnl +dnl Exports: +dnl +dnl "" if we can do dynamic linking, "#" otherwise +AC_SUBST(INSTALL_DLLS) +dnl if we need to merge several .o files into a single dll. +AC_SUBST(MERGE_DLL_OBJS) +dnl C-flags used to compile a file that will be loaded dynamically +AC_SUBST(CXXFLAGS) +AC_SUBST(SHLIB_CFLAGS) +AC_SUBST(SHLIB_CXXFLAGS) +dnl suffix for loadable binary (.so,.dll,.o) +AC_SUBST(SO) +dnl suffix for executable (.exe) +AC_SUBST(EXEC_SUFFIX) +dnl how to call the loader +AC_SUBST(DO_SECOND_LD) +AC_SUBST(SHLIB_LD) +AC_SUBST(SHLIB_CXX_LD) +AC_SUBST(YAPLIB_LD) +AC_SUBST(YAPLIB_CFLAGS) +AC_SUBST(EXTRA_LIBS_FOR_DLLS) +AC_SUBST(EXTRA_LIBS_FOR_SWIDLLS) +dnl objects in YAP library +AC_SUBST(YAPLIB) +AC_SUBST(DYNYAPLIB) +AC_SUBST(LDFLAGS) +dnl install_info +AC_SUBST(INSTALL_INFO) +dnl let YAP_EXTRAS fall through configure, from the env into Makefile +AC_SUBST(YAP_EXTRAS) +AC_SUBST(NO_BUILTIN_REGEXP) +AC_SUBST(ENABLE_CHR) +AC_SUBST(ENABLE_CLPQR) +AC_SUBST(ENABLE_JPL) +AC_SUBST(JAVA) +AC_SUBST(JAVA_HOME) +AC_SUBST(JUNIT) +AC_SUBST(JAVAC) +AC_SUBST(JAVADOC) +AC_SUBST(JAR) +AC_SUBST(IN_UNIX) +AC_SUBST(YAPMPILIB) +AC_SUBST(LAM_MPI_CC) +AC_SUBST(MPI_OBJS) +AC_SUBST(MPI_LIBS) +AC_SUBST(INSTALL_COMMAND) +AC_SUBST(INSTALLCLP) +AC_SUBST(JAVALIBPATH) +AC_SUBST(JAVAINCPATH) +AC_SUBST(LAMOBJS) +AC_SUBST(MAX_WORKERS) +AC_SUBST(STATIC_MODE) +AC_SUBST(ENABLE_WINCONSOLE) + +AC_SUBST(USE_CUDD) +AC_SUBST(CUDD_LDFLAGS) +AC_SUBST(CUDD_CPPFLAGS) +AC_SUBST(USE_MINISAT) +AC_SUBST(INSTALL_MATLAB) +AC_SUBST(MATLAB_INCLUDE) + +dnl check for threaded code +AC_MSG_CHECKING(for gcc threaded code) +AC_CACHE_VAL(yap_cv_threaded_code,[ +AC_TRY_RUN( + int main() { + void *t = &&l2; + l1: goto *t; + l2: return 0; +} + , + yap_cv_threaded_code=yes,yap_cv_threaded_code=no,yap_cv_threaded_code=yes)]) +AC_MSG_RESULT($yap_cv_threaded_code) +if test "$yap_cv_threaded_code" = yes && test "$yap_cv_gcc" = yes +then + AC_DEFINE(USE_THREADED_CODE,1) + M4GENABSMI=gen_gcc.m4 +else + AC_DEFINE(USE_THREADED_CODE,0) + M4GENABSMI=gen_ansi.m4 +fi + +AC_SUBST(M4GENABSMI) + + +dnl check for IEEE floats +AC_MSG_CHECKING(for IEEE floats) +AC_CACHE_VAL(yap_cv_ffieee,[ +AC_TRY_RUN( + int main() { + union { float f; int i} a; + a.f = 1; + if (a.i==0x3f800000) return 0; + return 1; + } + , + yap_cv_ffieee=yes,yap_cv_ffieee=no,yap_cv_ffieee=yes)]) +AC_MSG_RESULT($yap_cv_ffieee) +if test "$yap_cv_ffieee" = yes +then +AC_DEFINE(FFIEEE,1) +else +AC_DEFINE(FFIEEE,0) +fi + +dnl check for sigsetjmp +AC_MSG_CHECKING(for sigsetjmp) +AC_CACHE_VAL(yap_cv_sigsetjmp,[ +AC_TRY_COMPILE( + #include + , + sigjmp_buf RestartEnv; + + siglongjmp (RestartEnv, 1); + , + yap_cv_sigsetjmp=yes,yap_cv_sigsetjmp=no)]) +AC_MSG_RESULT($yap_cv_sigsetjmp) +if test "$yap_cv_sigsetjmp" = yes +then +AC_DEFINE(HAVE_SIGSETJMP,1) +else +AC_DEFINE(HAVE_SIGSETJMP,0) +fi + +dnl check for sigsegv +AC_MSG_CHECKING(for sigsegv) +AC_CACHE_VAL(yap_cv_sigsegv,[ +AC_TRY_COMPILE( + #include + #include + , + printf("Signal value is %d\n", SIGSEGV); + , + yap_cv_sigsegv=yes,yap_cv_sigsegv=no)]) +AC_MSG_RESULT($yap_cv_sigsegv) +if test "$yap_cv_sigsegv" = yes +then +AC_DEFINE(HAVE_SIGSEGV,1) +else +AC_DEFINE(HAVE_SIGSEGV,0) +fi + +dnl check for sigsegv +AC_MSG_CHECKING(for sigprof) +AC_CACHE_VAL(yap_cv_sigprof,[ +AC_TRY_COMPILE( + #include + #include + , + printf("Signal value is %d\n", SIGPROF); + , + yap_cv_sigprof=yes,yap_cv_sigprof=no)]) +AC_MSG_RESULT($yap_cv_sigprof) +if test "$yap_cv_sigsegv" = yes +then +AC_DEFINE(HAVE_SIGPROF,1) +else +AC_DEFINE(HAVE_SIGPROF,0) +fi + +dnl check for siginfo +AC_MSG_CHECKING(for siginfo) +AC_CACHE_VAL(yap_cv_siginfo,[ +AC_TRY_COMPILE( + #include + #include + , + printf("SIGINFO value is %d\n", SA_SIGINFO); + , + yap_cv_siginfo=yes,yap_cv_siginfo=no)]) +AC_MSG_RESULT($yap_cv_siginfo) +if test "$yap_cv_siginfo" = yes +then +AC_DEFINE(HAVE_SIGINFO,1) +else +AC_DEFINE(HAVE_SIGINFO,0) +fi + +dnl this is copied from the Tcl code +dnl this code checks whether the system defines an union wait +AC_MSG_CHECKING([union wait]) +AC_TRY_LINK([#include +#include ], [ +union wait x; +wait(&x); /* make sure we can compile wait */ +WIFEXITED(x); /* Generates compiler error if WIFEXITED + * uses an int. */ +], union_wait_ok=yes, union_wait_ok=no) +AC_MSG_RESULT($union_wait_ok) +if test "$union_wait_ok" = no; then + AC_DEFINE(NO_UNION_WAIT) +fi + +dnl check whether the system supports the environ variable +AC_MSG_CHECKING([environ]) +AC_TRY_LINK([], [ +extern char **environ; +], environ_ok=yes, environ_ok=no) +AC_MSG_RESULT($environ_ok) +if test "$environ_ok" = yes; then + AC_DEFINE(HAVE_ENVIRON) +fi + +dnl Checks for library functions. +AC_TYPE_SIGNAL +AC_CHECK_FUNCS(_NSGetEnviron access acosh) +AC_CHECK_FUNCS(alloca asinh atanh chdir ctime dlopen dup2) +AC_CHECK_FUNCS(erf feclearexcept) +AC_CHECK_FUNCS(fesettrapenable fgetpos finite fpclass ftime getcwd getenv) +AC_CHECK_FUNCS(gethostbyname gethostent gethostid gethostname) +AC_CHECK_FUNCS(gethrtime getpagesize) +AC_CHECK_FUNCS(getpwnam getrlimit getrusage gettimeofday getwd) +AC_CHECK_FUNCS(isatty isnan isinf kill labs link lgamma) +AC_CHECK_FUNCS(localtime lstat mallinfo) +AC_CHECK_FUNCS(mbsnrtowcs) +AC_CHECK_FUNCS(memcpy memmove mkstemp mktemp) +AC_CHECK_FUNCS(nanosleep mktime opendir) +AC_CHECK_FUNCS(putenv rand random readlink regexec) +AC_CHECK_FUNCS(rename rint rl_set_prompt sbrk select) +AC_CHECK_FUNCS(setbuf setitimer setsid setlinebuf sigaction) +AC_CHECK_FUNCS(siggetmask siginterrupt) +AC_CHECK_FUNCS(signal sigprocmask socket stat) +AC_CHECK_FUNCS(strchr strerror stricmp strncat strncpy strtod) +AC_CHECK_FUNCS(time times tmpnam usleep utime vsnprintf) + +AC_CHECK_FUNC(regexec, [NO_BUILTIN_REGEXP="#"], [NO_BUILTIN_REGEXP=""]) + +AC_CHECK_FUNCS(NSLinkModule) + +if test "$use_condor" = "no" +then + AC_CHECK_FUNCS(alarm mmap popen shmat sleep system ttyname waitpid) +fi + +if test "$target_os" != "mingw32" +then + AC_CHECK_FUNCS(fetestexcept snprintf) +fi + +dnl check for mpz_xor +AC_MSG_CHECKING(for mpz_xor) +AC_CACHE_VAL(yap_cv_mpz_xor,[ +AC_TRY_LINK( + #include + void check(mpz_t rop,mpz_t op1,mpz_t op2) { + mpz_xor(rop,op1,op2); + } + , + , + yap_cv_mpz_xor=yes,yap_cv_mpz_xor=no)]) +AC_MSG_RESULT($yap_cv_mpz_xor) +if test "$yap_cv_mpz_xor" = yes +then +AC_DEFINE(HAVE_MPZ_XOR,1) +else +AC_DEFINE(HAVE_MPZ_XOR,0) +fi + +if test "$use_malloc" = "yes" -a "$maxmemory" = "yes" +then + maxmemory="no" +fi + +dnl On some systems doing a fflush(NULL) to flush all output streams +dnl has the side-effect of makeing all charactes waiting in input +dnl pipes disapear. +AC_CACHE_CHECK( +[if fflush(NULL) clobbers input pipes], +[yap_cv_broken_fflush_null], +[ cat >conftest.$ac_ext < + #include + int main(int argc, char **argv) + { + char *buf; + int i; + char *bp; + bp = buf = malloc(1024); + while (1) { + while ((i = getc(stdin)) != -1 + && (*bp++ = i) != '\n' + && (bp - buf < 1024) ) + /* DO NOTHING */ ; + *bp = '\0'; + fprintf(stdout, "%s", buf); + fflush(NULL); + if( i == EOF ) return 0; + bp = buf; + } + } +EOF + AC_TRY_EVAL(ac_link) + if test "$?" = 0 + then + cat conftest.$ac_ext | ./conftest$ac_exeext > conftest.out + AC_TRY_COMMAND(cmp conftest.$ac_ext conftest.out) + if test "$?" = 0 + then + AC_MSG_RESULT(no) + yap_cv_broken_fflush_null=no + else + AC_MSG_RESULT(yes) + yap_cv_broken_fflush_null=yes + fi + else + dnl This should never happen + AC_MSG_RESULT(failed) + yap_cv_broken_fflush_null=failed + fi + rm -f conftest.$ac_ext conftest.$ac_objext conftest$ac_exeext conftest.out ]) +if test "$yap_cv_broken_fflush_null" = no +then + AC_DEFINE(BROKEN_FFLUSH_NULL,0) +else + dnl be conservative: if the test failed, assume fflush(NULL) is + dnl not working properly + AC_DEFINE(BROKEN_FFLUSH_NULL,1) +fi + +dnl disable smart memory management +if test "$use_malloc" = yes +then +AC_DEFINE(USE_SYSTEM_MALLOC,1) +AC_DEFINE(GC_NO_TAGS,1) +fi + +dnl large memory configuration, don't trust Yap allocation routines +if test "$maxmemory" = yes +then +AC_DEFINE(GC_NO_TAGS,1) +AC_DEFINE(USE_DL_MALLOC,1) +fi + +dnl SWI compatibility support! +PROLOG_SYSTEM=yap +IN_YAP= +IN_SWI="#" +CHR_TARGETS=chr_support."$SO" + +AC_SUBST(PROLOG_SYSTEM) +AC_SUBST(IN_YAP) +AC_SUBST(IN_SWI) +AC_SUBST(TARGETS) +AC_SUBST(PLTARGETS) +AC_SUBST(CHR_TARGETS) + +CLIB_TARGETS="random.$SO socket.$SO cgi.$SO memfile.$SO files.$SO mime.$SO crypt.$SO" +CLIB_PLTARGETS="\$(srcdir)/random.pl \$(srcdir)/socket.pl \$(srcdir)/cgi.pl \$(srcdir)/memfile.pl \$(srcdir)/filesex.pl \$(srcdir)/mime.pl \$(srcdir)/crypt.pl" + +if test "$ac_cv_func_setitimer" = "yes"; then + CLIB_TARGETS="$CLIB_TARGETS time.$SO" + CLIB_PLTARGETS="$CLIB_PLTARGETS \$(srcdir)/time.pl" +else + echo "WARNING: no setitimer(); dropping time.pl from targets" +fi + +if test "$IN_UNIX" = ""; then +CLIB_TARGETS="unix.$SO $CLIB_TARGETS" +CLIB_PLTARGETS="\$(srcdir)/unix.pl $CLIB_PLTARGETS" +CLIB_NETLIBS= +else +AC_CHECK_FUNC(socket, [], [ + AC_CHECK_LIB(socket, socket, + [CLIB_NETLIBS="$CLIB_NETLIBS -lsocket"] + AC_DEFINE(HAVE_LIBSOCKET, 1, + "Define if you have the socket library (-lsocket)."))]) +AC_CHECK_FUNC(gethostent, [], [ + AC_CHECK_LIB(nsl, gethostent, + [CLIB_NETLIBS="$CLIB_NETLIBS -lnsl"] + AC_DEFINE(HAVE_LIBNSL, 1, + "Define if you have the nsl library (-lnsl)."))]) +fi + + +oldlibs="$LIBS" +AC_CHECK_LIB(crypt, crypt) +CLIB_CRYPTLIBS="$LIBS" +AC_CHECK_FUNCS(crypt) +LIBS="$oldlibs" + +AC_SUBST(CLIB_TARGETS) +AC_SUBST(CLIB_PLTARGETS) +AC_SUBST(CLIB_NETLIBS) +AC_SUBST(CLIB_CRYPTLIBS) + +AC_CHECK_TYPES(socklen_t, [], [], +[ +#include +#include +]) +AC_CHECK_TYPES(ssize_t, [], [], +[ +#include +#include +]) + +dnl tszet and timezone trouble + +AC_MSG_CHECKING("variable timezone in tzset") +AC_TRY_RUN( +[ #include + #include + #ifdef __CYGWIN__ + #define timezone _timezone + #endif + extern long timezone; + + main() + { tzset(); + + if ( timezone > -15*3600 && + timezone < 15*3600 && + timezone % 60 == 0 ) + return 0; + + exit(1); + } +], +AC_MSG_RESULT(yes) +AC_DEFINE(HAVE_VAR_TIMEZONE, 1, + [Define if tzset sets timezone variable]), +AC_MSG_RESULT(no), +AC_MSG_RESULT(assuming no)) + +AC_CHECK_MEMBER(struct tm.tm_gmtoff, + AC_DEFINE(HAVE_STRUCT_TIME_TM_GMTOFF, [], + [Define is struct tm has tm_gmtoff]), + [], + [#include ]) + +AC_MSG_CHECKING(_XOPEN_SOURCE) +AC_TRY_COMPILE( +[ +#define _XOPEN_SOURCE +#include +], +[ +], AC_DEFINE(DEFINE_XOPEN_SOURCE, 1, + "Define if _XOPEN_SOURCE is needed") + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no)) + +if test "$with_time" = yes; then + if test "$ac_cv_func_setitimer" = "yes"; then + TARGETS="$TARGETS time.$SO" + else + echo "WARNING: no setitimer(); dropping time.pl from targets" + fi +fi + +if test "$ac_cv_func_getrlimit" = "yes"; then + TARGETS="$TARGETS rlimit.$SO" +else + echo "WARNING: no getrlimit(); dropping rlimit.pl from targets" +fi + + + +mkdir -p library/lammpi +mkdir -p library/matrix +mkdir -p library/matlab +mkdir -p library/mpi +mkdir -p library/random +mkdir -p library/regex +mkdir -p library/system +mkdir -p library/tries +mkdir -p library/rltree +mkdir -p library/yap2swi +mkdir -p LGPL/clp +mkdir -p LGPL/swi_console +mkdir -p GPL +mkdir -p packages/ +mkdir -p packages/clib +mkdir -p packages/clib/sha1 +mkdir -p packages/clib/maildrop +mkdir -p packages/clib/maildrop/rfc822 +mkdir -p packages/clib/maildrop/rfc2045 +mkdir -p packages/CLPBN +mkdir -p packages/clpqr +mkdir -p packages/cplint +mkdir -p packages/cplint/approx +mkdir -p packages/cplint/approx/simplecuddLPADs +mkdir -p packages/http +mkdir -p packages/jpl +mkdir -p packages/jpl/src/java +mkdir -p packages/jpl/src/java/jpl +mkdir -p packages/jpl/src/java/jpl/fli +mkdir -p packages/jpl/src/java/jpl/test +mkdir -p packages/jpl/examples +mkdir -p packages/jpl/examples/java +mkdir -p packages/tai +mkdir -p packages/tai/libtai +mkdir -p packages/PLStream +mkdir -p packages/plunit +mkdir -p packages/ProbLog +mkdir -p packages/ProbLog/simplecudd +mkdir -p packages/RDF +mkdir -p packages/semweb +mkdir -p packages/sgml +mkdir -p packages/zlib + +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([GPL/Makefile]) +AC_CONFIG_FILES([library/Makefile]) +AC_CONFIG_FILES([library/lammpi/Makefile]) +AC_CONFIG_FILES([library/matlab/Makefile]) +AC_CONFIG_FILES([library/matrix/Makefile]) +AC_CONFIG_FILES([library/mpi/Makefile]) +AC_CONFIG_FILES([library/random/Makefile]) +AC_CONFIG_FILES([library/regex/Makefile]) +AC_CONFIG_FILES([library/rltree/Makefile]) +AC_CONFIG_FILES([library/system/Makefile]) +AC_CONFIG_FILES([library/tries/Makefile]) +AC_CONFIG_FILES([library/yap2swi/Makefile]) +AC_CONFIG_FILES([LGPL/Makefile]) +AC_CONFIG_FILES([LGPL/clp/Makefile]) +AC_CONFIG_FILES([LGPL/swi_console/Makefile]) +AC_CONFIG_FILES([packages/clib/Makefile]) +AC_CONFIG_FILES([packages/clib/maildrop/rfc822/Makefile]) +AC_CONFIG_FILES([packages/clib/maildrop/rfc2045/Makefile]) +AC_CONFIG_FILES([packages/CLPBN/Makefile]) +AC_CONFIG_FILES([packages/cplint/Makefile]) +AC_CONFIG_FILES([packages/cplint/approx/simplecuddLPADs/Makefile]) +AC_CONFIG_FILES([packages/http/Makefile]) +AC_CONFIG_FILES([packages/tai/Makefile]) +AC_CONFIG_FILES([packages/tai/libtai/Makefile]) +AC_CONFIG_FILES([packages/PLStream/Makefile]) +AC_CONFIG_FILES([packages/plunit/Makefile]) +AC_CONFIG_FILES([packages/ProbLog/Makefile ]) +AC_CONFIG_FILES([packages/RDF/Makefile]) +AC_CONFIG_FILES([packages/semweb/Makefile]) +AC_CONFIG_FILES([packages/sgml/Makefile]) +AC_CONFIG_FILES([packages/zlib/Makefile]) + +if test "$ENABLE_CHR" = ""; then +AC_CONFIG_FILES([packages/chr/Makefile]) +fi + +if test "$ENABLE_CLPQR" = ""; then +AC_CONFIG_FILES([packages/clpqr/Makefile]) +fi + +if test "$ENABLE_JPL" = ""; then +AC_CONFIG_FILES([packages/jpl/Makefile packages/jpl/jpl_paths.yap packages/jpl/src/java/Makefile packages/pyswip/Makefile ]) +fi + +if test "$USE_CUDD" = ""; then +AC_CONFIG_FILES([packages/ProbLog/simplecudd/Makefile]) +fi + +if test "$USE_MINISAT" = ""; then +AC_CONFIG_FILES([packages/swi-minisat2/Makefile]) +AC_CONFIG_FILES([packages/swi-minisat2/C/Makefile]) +fi + +AC_OUTPUT() +