--- rpl/Attic/configure.in 2010/08/06 15:27:41 1.32 +++ rpl/Attic/configure.in 2011/06/09 07:25:22 1.59 @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([rpl],[4.0.18]) +AC_INIT([rpl],[4.1.0.prerelease.0]) AC_CANONICAL_TARGET AC_CANONICAL_TARGET AM_INIT_AUTOMAKE @@ -7,16 +7,23 @@ AC_SUBST(target_cpu) AC_CONFIG_HEADERS([rplconfig.h]) dnl Libraries -NCURSES=ncurses-5.7-20100619 -READLINE=readline-6.1 +NCURSES=ncurses-5.9 +READLINE=readline-6.2 UNITS=units-1.88 -GSL=gsl-1.14 +GSL=gsl-1.15 GPP=gpp-2.24 -GNUPLOT=gnuplot-4.4.0 +GNUPLOT=gnuplot-4.4.3 FILE=file-5.03 ICONV=libiconv-1.13.1 -SQLITE=sqlite-3.7.0.1 -OPENSSL=openssl-1.0.0a +SQLITE=sqlite-3.7.6.3 +OPENSSL=openssl-1.0.0d + +GMP=gmp-5.0.1 +MPFR=mpfr-3.0.1 +NTL=ntl-5.5.2 +COCOA=CoCoALib-0.9943 +PARI=pari-2.3.5 +GIAC=giac-0.9.2 dnl Checks for C compiler AC_PROG_CC(gcc) @@ -126,6 +133,15 @@ fi],[ ] ) +AC_ARG_ENABLE(sysv-semaphores, +[ --enable-sysv-ipcs use SystemV IPC functions [[default=no]]], [ +if test "$enableval" = "no"; then + IPCS_SYSV=no +else + IPCS_SYSV=yes +fi], +IPCS_SYSV=no) + AC_ARG_ENABLE(full-static, [ --enable-full-static build static RPL/2 engine [[default=shared]]], [ if test "$enableval" = "no"; then @@ -140,11 +156,14 @@ AC_ARG_ENABLE(final-encoding, if test "$enableval" = "no"; then FINAL_ENCODING="\$(shell locale charmap | \ \$(AWK) '/\=/ { print \$\$3;} !/\=/ { print \$\$1;}')" + FORCED_FINAL_ENCODING=0 else FINAL_ENCODING="$enable_final_encoding" -fi], + FORCED_FINAL_ENCODING=1 +fi], [ +FORCED_FINAL_ENCODING=0 FINAL_ENCODING="\$(shell locale charmap | \ - \$(AWK) '/\=/ { print \$\$3;} !/\=/ { print \$\$1;}')") + \$(AWK) '/\=/ { print \$\$3;} !/\=/ { print \$\$1;}')"]) AC_ARG_ENABLE(tex, [ --enable-tex provide the TeX support [[default=guessed]]], [ @@ -225,12 +244,9 @@ AC_ARG_ENABLE(debug, [ --enable-debug enable debug code [[default=no]]], [ if test "$enableval" = "no"; then DEBUG="-UDEBUG_MEMOIRE -UDEBUG_ERREURS" - MALLOC="\$(top_builddir)/ptmalloc3/libptmalloc3.a" else DEBUG="-DDEBUG_MEMOIRE -UDEBUG_ERREURS" - MALLOC="" -fi], [DEBUG="-UDEBUG_MEMOIRE -UDEBUG_ERREURS" - MALLOC="\$(top_builddir)/ptmalloc3/libptmalloc3.a"]) +fi], [DEBUG="-UDEBUG_MEMOIRE -UDEBUG_ERREURS"]) AC_ARG_ENABLE(profile, [ --enable-profile enable profile code [[default=no]]], [ @@ -248,6 +264,10 @@ fi if test ! -d "$srcdir"/tools/$NCURSES; then gunzip -c "$srcdir"/tools/$NCURSES.tar.gz | \ (cd "$srcdir/tools" && tar -xf -) + (cd "$srcdir/tools/"$NCURSES && \ + for i in ../$NCURSES*.patch.gz; + do gunzip -c $i | patch -p1; + done); fi if test ! -d "$srcdir"/tools/$READLINE; then gunzip -c "$srcdir"/tools/$READLINE.tar.gz | \ @@ -260,6 +280,12 @@ fi if test ! -d "$srcdir"/tools/$GSL; then gunzip -c "$srcdir"/tools/$GSL.tar.gz | \ (cd "$srcdir/tools" && tar -xf -) + if test $(uname) = "OS/2"; then + (cd "$srcdir"/tools/$GSL; \ + TMP=$(mktemp tmp.XXXXXXXXXX); \ + sed -e '1,$s/\${1+"\$@"}/"\$@"/g' ltmain.sh > $TMP; \ + \mv -f $TMP ltmain.sh) + fi fi if test ! -d "$srcdir"/tools/$GPP; then gunzip -c "$srcdir"/tools/$GPP.tar.gz | \ @@ -277,12 +303,38 @@ fi if test ! -d "$srcdir"/tools/$SQLITE; then gunzip -c "$srcdir"/tools/$SQLITE.tar.gz | \ (cd "$srcdir/tools" && tar -xf -) - (cd "$srcdir/tools"/$SQLITE && gunzip -c ../$SQLITE.diff.gz | patch -p1) fi if test ! -d tools/$OPENSSL; then gunzip -c "$srcdir"/tools/$OPENSSL.tar.gz | \ (cd tools && tar -xf -) fi +if test ! -d rplcas; then + mkdir rplcas +fi +if test ! -d "$srcdir"/rplcas/$GMP; then + gunzip -c "$srcdir"/rplcas/$GMP.tar.gz | \ + (cd "$srcdir/rplcas" && tar -xf -) +fi +if test ! -d "$srcdir"/rplcas/$MPFR; then + gunzip -c "$srcdir"/rplcas/$MPFR.tar.gz | \ + (cd "$srcdir/rplcas" && tar -xf -) +fi +if test ! -d rplcas/$NTL; then + gunzip -c "$srcdir"/rplcas/$NTL.tar.gz | \ + (cd rplcas && tar -xf -) +fi +if test ! -d rplcas/$COCOA; then + gunzip -c "$srcdir"/rplcas/$COCOA.tar.gz | \ + (cd rplcas && tar -xf -) +fi +if test ! -d rplcas/$PARI; then + gunzip -c "$srcdir"/rplcas/$PARI.tar.gz | \ + (cd rplcas && tar -xf -) +fi +if test ! -d "$srcdir"/rplcas/$GIAC; then + gunzip -c "$srcdir"/rplcas/$GIAC.tar.gz | \ + (cd "$srcdir/rplcas" && tar -xf -) +fi dnl Default installation directory AC_PREFIX_DEFAULT(/usr/local) @@ -310,7 +362,10 @@ AC_PROG_RANLIB dnl Checks for nawk AC_CHECK_PROG(AWK, nawk, yes, no) if test "$AWK" = no; then - AC_MSG_ERROR([Can not find nawk !]) + AC_CHECK_PROG(AWK, gawk, yes, no) + if test "$AWK" = no; then + AC_MSG_ERROR([Can not find nawk !]) + fi fi dnl Checks for sed @@ -460,6 +515,17 @@ dnl Checks for libraries AC_CHECK_LIB(m, main,, AC_MSG_ERROR([Can not find libm !])) AC_CHECK_LIB(pthread, main,, AC_MSG_ERROR([Can not find libpthread !])) +dnl Check for union semun +AC_CHECK_TYPE([union semun], SEMUN=-DUNION_SEMUN, SEMUN=-UUNION_SEMUN, [[ +#include +]]) + +dnl Check for IPv6 support +AC_CHECK_TYPE([struct sockaddr_in6], IPV6=-DIPV6, IPV6=-UIPV6, [[ +#include +#include +]]) + dnl Do we need to use -ldl? if test "$CYGWIN" != yes; then AC_CHECK_LIB(dl, dlopen, LIBS="$LIBS -ldl", @@ -729,6 +795,37 @@ AC_SUBST(POSTGRESQL_SUPPORT) AC_SUBST(libPgSQLinc) AC_SUBST(libPgSQLlib) +# with_postgresql : check [pas défini], yes [uniquement --with], +# no [--without], valeur [--with=valeur]. +AC_ARG_WITH(bourne_shell, +[ --with-bourne-shell=PATH specify path for OS/2 bourne shell], +[], [with_bourne_shell=no]) + +if test "x$with_bourne_shell" = xyes; then + AC_MSG_ERROR([You have to specify a valide shell path !]) +fi + +if test "x$with_bourne_shell" = xno; then + if test $(uname) = "OS/2"; then + AC_MSG_ERROR([With OS/2 or eComstation, you have to specify a valide shell path !]) + fi + + BSH_PATH= +else + if test ! -x $with_bourne_shell; then + AC_MSG_ERROR([$with_bourne_shell is not executable !]) + fi + + if test $(uname) = "OS/2"; then + with_os2_bourne_shell=$(echo $with_bourne_shell | \ + sed -e '1,$s/\//\\\\\\\\/g') + BSH_PATH=-DBOURNE_SHELL=\"\\\"$with_os2_bourne_shell\\\"\" + else + AC_MSG_WARN([--with-bourne-shell ignored]) + BSH_PATH= + fi +fi + dnl Checks for sizes AC_CHECK_SIZEOF(void *, 4) AC_CHECK_SIZEOF(char, 1) @@ -769,28 +866,35 @@ AC_CACHE_CHECK([return type of signal ha AC_DEFINE_UNQUOTED([RETSIGTYPE],[$ac_cv_type_signal],[Define as the return type of signal handlers (`int' or `void').]) +dnl Checks for broken siginfo structure +AC_MSG_CHECKING([for broken siginfo->si_pid]) +AC_RUN_IFELSE([AC_LANG_PROGRAM([#include +#include +int flag; +void handler(int signal, siginfo_t *siginfo, void *context) +{ flag = ((*siginfo).si_pid == getpid()) ? 0 : 1; }], +[struct sigaction action; +action.sa_sigaction = handler; +action.sa_flags = SA_SIGINFO; +sigaction(SIGUSR1, &action, NULL); +raise(SIGUSR1); +return(flag);])], +[BROKEN_SIGINFO=-U_BROKEN_SIGINFO; AC_MSG_RESULT(no)], +[BROKEN_SIGINFO=-D_BROKEN_SIGINFO; AC_MSG_RESULT(yes)]) + AC_FUNC_STRCOLL AC_FUNC_STRFTIME AC_FUNC_VPRINTF AC_CHECK_FUNCS(ftime getcwd putenv select strcspn strdup \ strerror strspn strstr strtod) -AC_CONFIG_SUBDIRS(tools/$NCURSES) -AC_CONFIG_SUBDIRS(tools/$READLINE) -AC_CONFIG_SUBDIRS(tools/$GSL) -AC_CONFIG_SUBDIRS(tools/$GPP) -AC_CONFIG_SUBDIRS(tools/$FILE) -AC_CONFIG_SUBDIRS(tools/$ICONV) -AC_CONFIG_SUBDIRS(tools/$SQLITE) -AC_CONFIG_SUBDIRS(tools/$UNITS) - dnl Check for OpenSSL os/comp AC_ARG_WITH(openssl_arch, [ --with-openssl-arch=ARCH specify os and compiler for openssl (ARCH or list)], [], [with_openssl_arch=none]) if test $(uname) = "OS/2"; then - (cd tools/$OPENSSL && os2/OS2-EMX.cmd) + bash -c "cd tools/$OPENSSL && os2/OS2-EMX.cmd" else if test "x$with_openssl_arch" = xnone; then (cd tools/$OPENSSL && ./config) @@ -805,6 +909,15 @@ else fi fi +AC_CONFIG_SUBDIRS(tools/$NCURSES) +AC_CONFIG_SUBDIRS(tools/$READLINE) +AC_CONFIG_SUBDIRS(tools/$GSL) +AC_CONFIG_SUBDIRS(tools/$GPP) +AC_CONFIG_SUBDIRS(tools/$FILE) +AC_CONFIG_SUBDIRS(tools/$ICONV) +AC_CONFIG_SUBDIRS(tools/$SQLITE) +AC_CONFIG_SUBDIRS(tools/$UNITS) + if test "$MYGNUPLOT" = "yes"; then if test ! -d "$srcdir"/tools/$GNUPLOT; then gunzip -c "$srcdir"/tools/$GNUPLOT.tar.gz | \ @@ -870,6 +983,7 @@ AC_SUBST(OS) DATE_FR=$(env LC_ALL=fr_FR date +'%A %x, %X %Z') DATE=$(env LC_ALL=C date +'%A %x, %X %Z') +MALLOC= case $OS in @@ -877,51 +991,115 @@ case $OS in EXPORT_DYNAMIC=-Wl,-flat_namespace NESTED_FUNCTIONS=-fnested-functions SEMAPHORES_NOMMES=-DSEMAPHORES_NOMMES + IPCS_SYSV=-UIPCS_SYSV CXXFLAGS="$CXXFLAGS -D_GLIBCXX_FULLY_DYNAMIC_STRING" ac_configure_args="$ac_configure_args --with-readline=builtin \ - --disable-shared --enable-static" + --disable-shared --enable-static --enable-threads" + C_STANDARD=-std=gnu99 break ;; Cygwin) EXPORT_DYNAMIC=-Wl,--export-all-symbols NESTED_FUNCTIONS= SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES + IPCS_SYSV=-UIPCS_SYSV ac_configure_args="$ac_configure_args --with-readline=builtin \ - --disable-shared --enable-static" + --disable-shared --enable-static --enable-threads" + C_STANDARD=-std=gnu99 break ;; + Interix) + EXPORT_DYNAMIC=-Wl,--export-all-symbols + NESTED_FUNCTIONS= + SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES + IPCS_SYSV=-UIPCS_SYSV + ac_configure_args="$ac_configure_args --with-readline=builtin \ + --disable-shared --enable-static --enable-threads" + C_STANDARD=-std=gnu99 + break;; + AIX) EXPORT_DYNAMIC=-Wl,--export-dynamic NESTED_FUNCTIONS= SEMAPHORES_NOMMES=-DSEMAPHORES_NOMMES + IPCS_SYSV=-UIPCS_SYSV ac_configure_args="$ac_configure_args --with-readline=builtin \ - --disable-shared --enable-static" + --disable-shared --enable-static --enable-threads" + C_STANDARD=-std=gnu99 break ;; OS/2) - MALLOC= + if test $FORCED_FINAL_ENCODING -eq 0; then \ + FINAL_ENCODING=CP850; \ + fi; OS=OS2 - FINAL_ENCODING=UTF-8 NESTED_FUNCTIONS= EXPORT_DYNAMIC=-Zmap SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES + IPCS_SYSV=-DIPCS_SYSV ac_configure_args="$ac_configure_args --without-readline \ - --without-cairo --disable-shared --enable-static" + --without-cairo --disable-shared --enable-static \ + --enable-threads" + C_STANDARD= break;; + OpenBSD) + if test $FORCED_FINAL_ENCODING -eq 0; then \ + FINAL_ENCODING=UTF-8; \ + fi; + EXPORT_DYNAMIC=-Wl,--export-dynamic + NESTED_FUNCTIONS= + SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES + IPCS_SYSV=-DIPCS_SYSV + ac_configure_args="$ac_configure_args --with-readline=builtin \ + --disable-shared --enable-static --enable-threads" + C_STANDARD=-std=gnu99 + break;; + + SunOS) + EXPORT_DYNAMIC=-Wl,--export-dynamic + NESTED_FUNCTIONS= + SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES + + if test $IPCS_SYSV = no; then + IPCS_SYSV=-UIPCS_SYSV + else + IPCS_SYSV=-DIPCS_SYSV + fi + + ac_configure_args="$ac_configure_args --with-readline=builtin \ + --disable-shared --enable-static --enable-threads" + C_STANDARD=-std=gnu99 + MALLOC=-lumem + break ;; + *) EXPORT_DYNAMIC=-Wl,--export-dynamic NESTED_FUNCTIONS= SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES + + if test $IPCS_SYSV = no; then + IPCS_SYSV=-UIPCS_SYSV + else + IPCS_SYSV=-DIPCS_SYSV + fi + ac_configure_args="$ac_configure_args --with-readline=builtin \ - --disable-shared --enable-static" + --disable-shared --enable-static --enable-threads" + C_STANDARD=-std=gnu99 break ;; esac +AC_SUBST(C_STANDARD) AC_SUBST(EXPORT_DYNAMIC) AC_SUBST(NESTED_FUNCTIONS) AC_SUBST(SEMAPHORES_NOMMES) +AC_SUBST(IPCS_SYSV) +AC_SUBST(SEMUN) +AC_SUBST(IPV6) +AC_SUBST(BROKEN_SIGINFO) +AC_SUBST(BSH_PATH) AC_SUBST(NCURSES) AC_SUBST(READLINE) @@ -936,8 +1114,14 @@ AC_SUBST(OPENSSL) AC_SUBST(FINAL_ENCODING) AC_SUBST(DATE) AC_SUBST(DATE_FR) -AC_SUBST(MALLOC) AC_SUBST(EXT_SQL) +AC_SUBST(MALLOC) +AC_SUBST(GMP) +AC_SUBST(MPFR) +AC_SUBST(NTL) +AC_SUBST(COCOA) +AC_SUBST(PARI) +AC_SUBST(GIAC) AC_SUBST(CFLAGS) AC_SUBST(CXXFLAGS) @@ -958,9 +1142,10 @@ AC_CONFIG_FILES(scripts/rpllink) AC_CONFIG_FILES(rpltags/Makefile) AC_CONFIG_FILES(rpliconv/Makefile) AC_CONFIG_FILES(rplsums/Makefile) +AC_CONFIG_FILES(rplcas/Makefile) +AC_CONFIG_FILES(rplawk/Makefile) AC_CONFIG_FILES(lapack/lapack/Makefile) AC_CONFIG_FILES(lapack/blas/Makefile) -AC_CONFIG_FILES(ptmalloc3/Makefile) AC_CONFIG_FILES(man/rpl.1) AC_CONFIG_FILES(man/rplcc.1)