--- rpl/Attic/configure.in 2010/04/21 13:45:07 1.20 +++ rpl/Attic/configure.in 2010/12/14 15:46:24 1.50 @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([rpl],[4.0.15]) +AC_INIT([rpl],[4.0.20]) AC_CANONICAL_TARGET AC_CANONICAL_TARGET AM_INIT_AUTOMAKE @@ -7,32 +7,39 @@ AC_SUBST(target_cpu) AC_CONFIG_HEADERS([rplconfig.h]) dnl Libraries -NCURSES=ncurses-5.7-20100206 +NCURSES=ncurses-5.7-20101204 READLINE=readline-6.1 -UNITS=units-1.87 +UNITS=units-1.88 GSL=gsl-1.14 GPP=gpp-2.24 -GNUPLOT=gnuplot-4.4.0 +GNUPLOT=gnuplot-4.4.2 FILE=file-5.03 ICONV=libiconv-1.13.1 -SQLITE=sqlite-3.6.23.1 -OPENSSL=openssl-1.0.0 +SQLITE=sqlite-3.7.4 +OPENSSL=openssl-1.0.0c dnl Checks for C compiler -AC_PROG_CC(gcc-4.4 gcc) +AC_PROG_CC(gcc) + +EXT_SQL= if test x"$CC" != x""; then GCC_VERSION_MAJEURE=`$CC -v 2>&1 | awk '/^gcc/ { print $3; }' | \ awk -F. '{ printf("%s", $1);}'` GCC_VERSION_MINEURE=`$CC -v 2>&1 | awk '/^gcc/ { print $3; }' | \ awk -F. '{ printf("%s", $2);}'` - if test $GCC_VERSION_MAJEURE -ge 4 -a $GCC_VERSION_MINEURE -ge 4; then + if test $GCC_VERSION_MAJEURE -ge 5; then OPTIMISATION_C=-O3 else - if test $GCC_VERSION_MAJEURE -ge 5; then + if test $GCC_VERSION_MAJEURE -ge 4 -a $GCC_VERSION_MINEURE -ge 4; \ + then OPTIMISATION_C=-O3 else - OPTIMISATION_C=-O2 + if test $GCC_VERSION_MAJEURE -ge 2; then + OPTIMISATION_C=-O2 + else + AC_MSG_ERROR([Cannot find decent or recent gcc (gcc-4.2 or better)!]) + fi fi fi fi @@ -44,21 +51,21 @@ if test "$GCC" != yes; then fi dnl Checks for C++ compiler -AC_PROG_CXX(g++-4.4 g++) +AC_PROG_CXX(g++) if test "$GXX" != yes; then AC_MSG_ERROR([Cannot find g++! You have to install it.]) fi dnl Checks for Fortran 77 compiler -AC_PROG_F77(gfortran-4.4 gfortran) +AC_PROG_F77(gfortran) if test "$F77" != gfortran -a "$F77" != gfortran-4.4; then AC_MSG_ERROR([Cannot find gfortran! You have to install it.]) fi dnl Check for Fortran 9* compiler -AC_PROG_FC(gfortran-4.4 gfortran) +AC_PROG_FC(gfortran) if test "$FC" != gfortran -a "$FC" != gfortran-4.4; then AC_MSG_ERROR([Cannot find gfortran! You have to install it.]) @@ -69,13 +76,17 @@ if test x"$FC" != x""; then awk -F. '{ printf("%s", $1);}'` GCC_VERSION_MINEURE=`$FC -v 2>&1 | awk '/^gcc/ { print $3; }' | \ awk -F. '{ printf("%s", $2);}'` - if test $GCC_VERSION_MAJEURE -ge 4 -a $GCC_VERSION_MINEURE -ge 4; then + if test $GCC_VERSION_MAJEURE -ge 5; then OPTIMISATION_F=-O3 else - if test $GCC_VERSION_MAJEURE -ge 5; then + if test $GCC_VERSION_MAJEURE -ge 4 -a $GCC_VERSION_MINEURE -ge 4; then OPTIMISATION_F=-O3 else - OPTIMISATION_F=-O2 + if test $GCC_VERSION_MAJEURE -ge 3; then + OPTIMISATION_F=-O2 + else + AC_MSG_ERROR([Cannot find decent or recent gfortran (gfortran-4.3 or better)!]) + fi fi fi fi @@ -115,16 +126,37 @@ 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 + STATIC=no +else + STATIC=yes +fi], +STATIC=no) + AC_ARG_ENABLE(final-encoding, [ --enable-final-encoding force final encoding [[default=guessed]]], [ 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]]], [ @@ -204,10 +236,10 @@ EXPERIMENTAL_CODE="-UEXPERIMENTAL_CODE") AC_ARG_ENABLE(debug, [ --enable-debug enable debug code [[default=no]]], [ if test "$enableval" = "no"; then - DEBUG="" + DEBUG="-UDEBUG_MEMOIRE -UDEBUG_ERREURS" else - DEBUG="-DDEBUG_MEMOIRE" -fi], [DEBUG=""]) + DEBUG="-DDEBUG_MEMOIRE -UDEBUG_ERREURS" +fi], [DEBUG="-UDEBUG_MEMOIRE -UDEBUG_ERREURS"]) AC_ARG_ENABLE(profile, [ --enable-profile enable profile code [[default=no]]], [ @@ -237,6 +269,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 | \ @@ -254,6 +292,7 @@ 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 | \ @@ -286,7 +325,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 @@ -436,6 +478,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", @@ -458,11 +511,11 @@ AC_ARG_WITH(mysql, if test "x$with_mysql" = xcheck -o "x$with_mysql" = yes; then libMySQLinc="-I/usr/include" - libMySQLlib="-L/usr/lib" + libMySQLlib="/usr/lib" AC_MSG_CHECKING(for libmysql includes in /usr/include) saved_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $libMySQLinc" + CFLAGS="$CFLAGS -L/$libMySQLinc" AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include "mysql.h"]], [[]])],[AC_MSG_RESULT([yes]); MYSQL_SUPPORT="-DMYSQL_SUPPORT"; libMySQLinc=$libMySQLinc/mysql],[AC_MSG_RESULT([no]); MYSQL_SUPPORT="-UMYSQL_SUPPORT"]) CFLAGS=$saved_CFLAGS @@ -501,7 +554,7 @@ if test "x$with_mysql" = xcheck -o "x$wi else if test "x$with_mysql" != xno; then libMySQLinc="-I$with_mysql/include" - libMySQLlib="-L$with_mysql/lib" + libMySQLlib="$with_mysql/lib" AC_MSG_CHECKING(for libmysql includes in $with_mysql) saved_CFLAGS="$CFLAGS" @@ -530,10 +583,19 @@ if test "$MYSQL_SUPPORT" = "-DMYSQL_SUPP if test $MYSQL_LIB = no; then AC_MSG_CHECKING(for libmysql libraries in $libMySQLlib) saved_LIBS="$LIBS" - LIBS="$LIBS $libMySQLlib $libMySQLinc -lmysqlclient_r" + if test $STATIC = no; then + LIBS="$LIBS -L/$libMySQLlib -lmysqlclient_r $libMySQLinc" + else + LIBS="$LIBS $libMySQLlib/libmysqlclient_r.a -lz $libMySQLinc" + fi AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include "mysql.h"]], [[MYSQL mysql; mysql_init(&mysql);]])],[AC_MSG_RESULT([yes]); MYSQL_LIB="yes"],[AC_MSG_RESULT([no]); MYSQL_LIB="no"]) LIBS=$saved_LIBS; - libMySQLlib="$libMySQLlib -lmysqlclient_r" + if test $STATIC = no; then + libMySQLlib="-L/$libMySQLlib -lmysqlclient_r" + else + libMySQLlib="$libMySQLlib/libmysqlclient_r.a" + EXT_SQL="$EXT_SQL $libMySQLlib" + fi fi if test $MYSQL_LIB = no; then @@ -560,7 +622,7 @@ AC_ARG_WITH(postgresql, if test "x$with_postgresql" = xcheck -o "x$with_postgresql" = xyes; then libPgSQLinc="-I/usr/include" - libPgSQLlib="-L/usr/lib" + libPgSQLlib="/usr/lib" AC_MSG_CHECKING(for libpq includes in /usr/include) saved_CFLAGS="$CFLAGS" @@ -628,7 +690,7 @@ if test "x$with_postgresql" = xcheck -o else if test "x$with_postgresql" != xno; then libPgSQLinc="-I$with_postgresql/include" - libPgSQLlib="-L$with_postgresql/lib" + libPgSQLlib="$with_postgresql/lib" AC_MSG_CHECKING(for libpq includes in $libPgSQLinc) saved_CFLAGS="$CFLAGS" @@ -670,11 +732,20 @@ if test "$POSTGRESQL_SUPPORT" = "-DPOSTG if test $POSTGRESQL_LIB = no; then AC_MSG_CHECKING(for libpq libraries in $libPgSQLlib) saved_LIBS="$LIBS" - LIBS="$LIBS $libPgSQLlib $libPgSQLinc -lpq" + if test $STATIC = no; then + LIBS="$LIBS -L/$libPgSQLlib $libPgSQLinc -lpq" + else + LIBS="$LIBS $libPgSQLlib/libpq.a $libPgSQLinc" + fi AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include "libpq-fe.h"]], [[PGconn *conn; const char *conninfo="dbname=postgres"; conn = PQconnectdb(conninfo);]])],[AC_MSG_RESULT([yes]); POSTGRESQL_LIB="yes"],[AC_MSG_RESULT([no]); POSTGRESQL_LIB="no"]) LIBS=$saved_LIBS; - libPgSQLlib="$libPgSQLlib -lpq" + if test $STATIC = no; then + libPgSQLlib="-L/$libPgSQLlib -lpq" + else + libPgSQLlib="$libPgSQLlib/libpq.a" + EXT_SQL="$EXT_SQL $libPgSQLlib" + fi fi fi @@ -687,6 +758,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) @@ -727,13 +829,48 @@ 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_configure_args="$ac_configure_args --with-readline=builtin --disable-shared --enable-static" +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 + bash -c "cd tools/$OPENSSL && os2/OS2-EMX.cmd" +else + if test "x$with_openssl_arch" = xnone; then + (cd tools/$OPENSSL && ./config) + elif test "x$with_openssl_arch" = xyes -o "x$with_openssl_arch" = xno; then + (cd tools/$OPENSSL && ./Configure) + AC_MSG_ERROR([OS/COMP informations are required!]) + elif test "x$with_openssl_arch" = xlist; then + (cd tools/$OPENSSL && ./Configure) + AC_MSG_ERROR([Please specify OS and Architecture]) + else + (cd tools/$OPENSSL && ./Configure $with_openssl_arch) + fi +fi AC_CONFIG_SUBDIRS(tools/$NCURSES) AC_CONFIG_SUBDIRS(tools/$READLINE) @@ -744,23 +881,6 @@ 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 "x$with_openssl_arch" = xnone; then - (cd tools/$OPENSSL && ./config) -elif test "x$with_openssl_arch" = xyes -o "x$with_openssl_arch" = xno; then - (cd tools/$OPENSSL && ./Configure) - AC_MSG_ERROR([OS/COMP informations are required!]) -elif test "x$with_openssl_arch" = xlist; then - (cd tools/$OPENSSL && ./Configure) - AC_MSG_ERROR([Please specify OS and Architecture]) -else - (cd tools/$OPENSSL && ./Configure $with_openssl_arch) -fi - if test "$MYGNUPLOT" = "yes"; then if test ! -d "$srcdir"/tools/$GNUPLOT; then gunzip -c "$srcdir"/tools/$GNUPLOT.tar.gz | \ @@ -827,44 +947,103 @@ 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') -if test $(uname) = "SunOS"; then - LIBMTMALLOC=-lmtmalloc -else - LIBMTMALLOC= -fi - -case $(OS) in +case $OS in Darwin) - EXPORT_DYNAMIC=-flat_namespace + 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" + C_STANDARD=-std=gnu99 break ;; - Cygwin) - EXPORT_DYNAMIC=--export-all-symbols + 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" + C_STANDARD=-std=gnu99 break ;; - AIX) - EXPORT_DYNAMIC=--export-dynamic + 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" + 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" + C_STANDARD=-std=gnu99 break ;; + OS/2) + if test $FORCED_FINAL_ENCODING -eq 0; then \ + FINAL_ENCODING=CP850; \ + fi; + OS=OS2 + 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" + 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" + C_STANDARD=-std=gnu99 + break;; + *) - EXPORT_DYNAMIC=--export-dynamic + 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" + C_STANDARD=-std=gnu99 break ;; esac -AC_SUBST(LIBMTMALLOC) +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) @@ -879,6 +1058,7 @@ AC_SUBST(OPENSSL) AC_SUBST(FINAL_ENCODING) AC_SUBST(DATE) AC_SUBST(DATE_FR) +AC_SUBST(EXT_SQL) AC_SUBST(CFLAGS) AC_SUBST(CXXFLAGS) @@ -899,6 +1079,7 @@ AC_CONFIG_FILES(scripts/rpllink) AC_CONFIG_FILES(rpltags/Makefile) AC_CONFIG_FILES(rpliconv/Makefile) AC_CONFIG_FILES(rplsums/Makefile) +AC_CONFIG_FILES(rplawk/Makefile) AC_CONFIG_FILES(lapack/lapack/Makefile) AC_CONFIG_FILES(lapack/blas/Makefile)