--- rpl/Attic/configure.in 2010/03/17 14:14:35 1.12 +++ rpl/Attic/configure.in 2010/08/13 21:02:19 1.36 @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([rpl],[4.0.13]) +AC_INIT([rpl],[4.0.18]) 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-20100619 READLINE=readline-6.1 -UNITS=units-1.87 -GSL=gsl-1.13 +UNITS=units-1.88 +GSL=gsl-1.14 GPP=gpp-2.24 -GNUPLOT=gnuplot-4.2.6 +GNUPLOT=gnuplot-4.4.0 FILE=file-5.03 ICONV=libiconv-1.13.1 -SQLITE=sqlite-3.6.22 -OPENSSL=openssl-0.9.8m +SQLITE=sqlite-3.7.0.1 +OPENSSL=openssl-1.0.0a 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,25 @@ fi],[ ] ) +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;}')" + \$(AWK) '/\=/ { print \$\$3;} !/\=/ { print \$\$1;}')" else FINAL_ENCODING="$enable_final_encoding" fi], 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 +224,13 @@ 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" + MALLOC="\$(top_builddir)/ptmalloc3/libptmalloc3.a" else - DEBUG="-DDEBUG_MEMOIRE" -fi], [DEBUG=""]) + DEBUG="-DDEBUG_MEMOIRE -UDEBUG_ERREURS" + MALLOC="" +fi], [DEBUG="-UDEBUG_MEMOIRE -UDEBUG_ERREURS" + MALLOC="\$(top_builddir)/ptmalloc3/libptmalloc3.a"]) AC_ARG_ENABLE(profile, [ --enable-profile enable profile code [[default=no]]], [ @@ -237,6 +260,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 | \ @@ -245,16 +274,7 @@ fi if test ! -d "$srcdir"/tools/$FILE; then gunzip -c "$srcdir"/tools/$FILE.tar.gz | \ (cd "$srcdir/tools" && tar -xf - ) - TMP=$(mktemp) (cd "$srcdir/tools"/$FILE && gunzip -c ../$FILE.diff.gz | patch -p1) - sed 's/libmagic/librplfile/g' "$srcdir"/tools/$FILE/src/Makefile.am > $TMP - sed 's/^bin_PROGRAMS = file/bin_PROGRAMS = rplfile/g' $TMP | \ - sed 's/^file_/rplfile_/g' > \ - "$srcdir"/tools/$FILE/src/Makefile.am - sed 's/file$/rplfile/g' "$srcdir"/tools/$FILE/magic/Makefile.am > $TMP - \mv -f $TMP "$srcdir"/tools/$FILE/magic/Makefile.am - (cd "$srcdir"/tools/$FILE && libtoolize --copy --force \ - && aclocal && automake -af && autoconf); fi if test ! -d "$srcdir"/tools/$ICONV; then gunzip -c "$srcdir"/tools/$ICONV.tar.gz | \ @@ -263,30 +283,11 @@ 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 - && cd $OPENSSL && ./config) -fi - -AC_CHECK_PROG(LIBTOOLIZE, libtoolize, yes, no) -if test "$LIBTOOLIZE" = "no"; then - AC_MSG_ERROR([Cannot find libtoolize! You have to install it.]) -fi - -AC_CHECK_PROG(ACLOCAL, aclocal, yes, no) -if test "$ACLOCAL" = "no"; then - AC_MSG_ERROR([Cannot find aclocal! You have to install it.]) -fi - -AC_CHECK_PROG(AUTOMAKE, automake, yes, no) -if test "$AUTOMAKE" = "no"; then - AC_MSG_ERROR([Cannot find automake! You have to install it.]) -fi - -AC_CHECK_PROG(AUTOCONF, autoconf, yes, no) -if test "$AUTOCONF" = "no"; then - AC_MSG_ERROR([Cannot find autoconf! You have to install it.]) + (cd tools && tar -xf -) fi dnl Default installation directory @@ -312,10 +313,10 @@ AC_PROG_LN_S AC_PROG_MAKE_SET AC_PROG_RANLIB -dnl Checks for awk -AC_CHECK_PROG(AWK, awk, yes, no) +dnl Checks for nawk +AC_CHECK_PROG(AWK, nawk, yes, no) if test "$AWK" = no; then - AC_MSG_ERROR([Can not find awk !]) + AC_MSG_ERROR([Can not find nawk !]) fi dnl Checks for sed @@ -465,6 +466,16 @@ 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 +]]) + dnl Do we need to use -ldl? if test "$CYGWIN" != yes; then AC_CHECK_LIB(dl, dlopen, LIBS="$LIBS -ldl", @@ -487,11 +498,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 @@ -530,7 +541,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" @@ -559,10 +570,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 @@ -589,7 +609,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" @@ -657,7 +677,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" @@ -699,11 +719,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 @@ -762,15 +791,35 @@ AC_FUNC_VPRINTF AC_CHECK_FUNCS(ftime getcwd putenv select strcspn strdup \ strerror strspn strstr strtod) +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) -AC_CONFIG_SUBDIRS(tools/$UNITS) 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) -tools/$OPENSSL/config +AC_CONFIG_SUBDIRS(tools/$UNITS) if test "$MYGNUPLOT" = "yes"; then if test ! -d "$srcdir"/tools/$GNUPLOT; then @@ -838,13 +887,81 @@ 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 + + Darwin) + EXPORT_DYNAMIC=-Wl,-flat_namespace + NESTED_FUNCTIONS=-fnested-functions + SEMAPHORES_NOMMES=-DSEMAPHORES_NOMMES + SEMAPHORES_SYSV=-USEMAPHORES_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=-Wl,--export-all-symbols + NESTED_FUNCTIONS= + SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES + SEMAPHORES_SYSV=-USEMAPHORES_SYSV + ac_configure_args="$ac_configure_args --with-readline=builtin \ + --disable-shared --enable-static" + C_STANDARD=-std=gnu99 + break ;; + + Interix) + EXPORT_DYNAMIC=-Wl,--export-all-symbols + NESTED_FUNCTIONS= + SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES + SEMAPHORES_SYSV=-USEMAPHORES_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 + SEMAPHORES_SYSV=-USEMAPHORES_SYSV + ac_configure_args="$ac_configure_args --with-readline=builtin \ + --disable-shared --enable-static" + C_STANDARD=-std=gnu99 + break ;; + + OS/2) + MALLOC= + OS=OS2 + FINAL_ENCODING=CP850 + NESTED_FUNCTIONS= + EXPORT_DYNAMIC=-Zmap + SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES + SEMAPHORES_SYSV=-DSEMAPHORES_SYSV + ac_configure_args="$ac_configure_args --without-readline \ + --without-cairo --disable-shared --enable-static" + C_STANDARD= + break;; + + *) + EXPORT_DYNAMIC=-Wl,--export-dynamic + NESTED_FUNCTIONS= + SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES + SEMAPHORES_SYSV=-USEMAPHORES_SYSV + 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(SEMAPHORES_SYSV) +AC_SUBST(SEMUN) +AC_SUBST(IPV6) AC_SUBST(NCURSES) AC_SUBST(READLINE) @@ -859,6 +976,8 @@ AC_SUBST(OPENSSL) AC_SUBST(FINAL_ENCODING) AC_SUBST(DATE) AC_SUBST(DATE_FR) +AC_SUBST(MALLOC) +AC_SUBST(EXT_SQL) AC_SUBST(CFLAGS) AC_SUBST(CXXFLAGS) @@ -881,6 +1000,7 @@ AC_CONFIG_FILES(rpliconv/Makefile) AC_CONFIG_FILES(rplsums/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)