--- rpl/configure.ac 2011/11/19 17:53:20 1.10 +++ rpl/configure.ac 2013/07/05 08:08:32 1.71 @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([rpl],[4.1.4]) +AC_INIT([rpl],[4.1.15]) AC_CANONICAL_TARGET AC_CANONICAL_TARGET AM_INIT_AUTOMAKE(silent-rules) @@ -10,51 +10,53 @@ AC_CONFIG_HEADERS([rplconfig.h]) dnl Libraries NCURSES=ncurses-5.9 READLINE=readline-6.2 -UNITS=units-1.88 +UNITS=units-2.01 GSL=gsl-1.15 GPP=gpp-3.0 -GNUPLOT=gnuplot-4.4.3 -FILE=file-5.03 -ICONV=libiconv-1.13.1 -SQLITE=sqlite-3.7.9 -OPENSSL=openssl-1.0.0e -OPENMOTIF=openmotif-2.3.3 +GNUPLOT=gnuplot-4.6.3 +FILE=file-5.11 +ICONV=libiconv-1.14 +SQLITE=sqlite-3.7.17 +OPENSSL=openssl-1.0.1e +OPENMOTIF=openmotif-2.3.4 LIBXPM=libXpm-3.5.9 -SIGSEGV=libsigsegv-2.6 +SIGSEGV=libsigsegv-2.11 +ZLIB=zlib-1.2.7 -GMP=gmp-5.0.2 -MPFR=mpfr-3.0.1 +GMP=gmp-5.1.2 +MPFR=mpfr-3.1.2 NTL=ntl-5.5.2 -COCOA=CoCoALib-0.9943 -PARI=pari-2.5.0 -GIAC=giac-0.9.5 +COCOA=CoCoALib-0.9950 +PARI=pari-2.5.1 +GIAC=giac-1.1.0 + +dnl 32 bits ABI +AC_ARG_WITH(gcc_version, +[ --with-gcc-version force gcc version],[ +CC=gcc-$with_gcc_version +CXX=g++-$with_gcc_version +CF=gfortran-$with_gcc_version +F77=gfortran-$with_gcc_version +AC_SUBST(CC) +AC_SUBST(CXX) +AC_SUBST(CF) +AC_SUBST(F77) +],[]) + +dnl Checks for Bash +BASH=$(which bash | sed 's/\//\\\//g') + +if test x$BASH = x; then + AC_MSG_ERROR([Cannot find bash! You have to install it.]) +fi + +AC_SUBST(BASH) dnl Checks for C compiler 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 5; then - OPTIMISATION_C=-O3 - else - if test $GCC_VERSION_MAJEURE -ge 4 -a $GCC_VERSION_MINEURE -ge 4; \ - then - OPTIMISATION_C=-O3 - else - 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 - AM_PROG_CC_C_O if test "$GCC" != yes; then @@ -68,26 +70,6 @@ if test "$GXX" != yes; then AC_MSG_ERROR([Cannot find g++! You have to install it.]) fi -if test x"$CXX" != x""; then - GCC_VERSION_MAJEURE=`$CXX -v 2>&1 | awk '/^gcc/ { print $3; }' | \ - awk -F. '{ printf("%s", $1);}'` - GCC_VERSION_MINEURE=`$CXX -v 2>&1 | awk '/^gcc/ { print $3; }' | \ - awk -F. '{ printf("%s", $2);}'` - if test $GCC_VERSION_MAJEURE -ge 5; then - OPTIMISATION_GXX=-O3 - else - if test $GCC_VERSION_MAJEURE -ge 4 -a $GCC_VERSION_MINEURE -ge 4; then - OPTIMISATION_GXX=-O3 - else - if test $GCC_VERSION_MAJEURE -ge 3; then - OPTIMISATION_GXX=-O2 - else - AC_MSG_ERROR([Cannot find decent or recent g++ (g++-4.3 or better)!]) - fi - fi - fi -fi - dnl Checks for Fortran 77 compiler AC_PROG_F77(gfortran) @@ -102,25 +84,9 @@ if test x"$FC" == x; then AC_MSG_ERROR([Cannot find gfortran! You have to install it.]) fi -if test x"$FC" != x""; then - GCC_VERSION_MAJEURE=`$FC -v 2>&1 | awk '/^gcc/ { print $3; }' | \ - 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 5; then - OPTIMISATION_F=-O3 - else - if test $GCC_VERSION_MAJEURE -ge 4 -a $GCC_VERSION_MINEURE -ge 4; then - OPTIMISATION_F=-O3 - else - 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 +OPTIMISATION_C=-O3 +OPTIMISATION_CXX=-O3 +OPTIMISATION_F=-O3 dnl X paths AC_PATH_X @@ -141,7 +107,7 @@ fi dnl 32 bits ABI AC_ARG_WITH(32bits-abi, [ --with-32bits-abi force 32bits ABI (multilib)],[ -if test "$with-32bits-abi" = "no"; then +if test "$with_32bits_abi" = "no"; then ABI= else ABI=-m32 @@ -153,7 +119,7 @@ fi],[ if test x$ABI = x; then AC_ARG_WITH(64bits-abi, [ --with-64bits-abi force 64bits ABI (multilib)],[ -if test "$with-64bits-abi" = "no"; then +if test "$with_64bits_abi" = "no"; then ABI= else ABI=-m64 @@ -165,6 +131,19 @@ fi LDFLAGS="$LDFLAGS $ABI" +AC_ARG_WITH(sysroot, +[ --with-sysroot sysroot for cross compilation],[ +if test "$with_sysroot" = "no" -o "$with_rpltools" = "yes"; then + AC_MSG_ERROR([You have to specify sysroot path !]) +else + SYSROOT="-I$with_sysroot/usr/include" + SYSROOT2=$with_sysroot +fi],[ + SYSROOT= + SYSROOT2= + ] +) + AC_ARG_ENABLE(recursive, [ --enable-recursive recursive configuration (default=yes)],[ if test "$enableval" = "yes"; then @@ -178,7 +157,7 @@ fi],[ AC_ARG_WITH(rpltools, [ --with-rpltools specify rpltools path used for cross compilation],[ -if test "$with_rpltools" = "no" -o "$with_rpltools" = yes; then +if test "$with_rpltools" = "no" -o "$with_rpltools" = "yes"; then AC_MSG_ERROR([You have to specify rpltools path !]) else RPLTOOLS=$with_rpltools @@ -273,7 +252,7 @@ REG=$LDFLAGS POSIX_IPCS=guessed LDFLAGS=-lrt [AC_MSG_CHECKING([for POSIX semaphores and shared objects]) -AC_RUN_IFELSE( +AC_LINK_IFELSE( [AC_LANG_PROGRAM([#include #include #include @@ -297,7 +276,7 @@ if test "$IPCS_SYSV" = "-UIPCS_SYSV" -a REG=$LDFLAGS LDFLAGS=-pthread AC_MSG_CHECKING([for POSIX anonymous semaphores]) -AC_RUN_IFELSE( +AC_LINK_IFELSE( [AC_LANG_PROGRAM([#include ], [ sem_t sem; @@ -350,8 +329,10 @@ AC_ARG_ENABLE(vim, [ --enable-vim provide the vim support [[default=guessed]]], [ if test "$enableval" = "no"; then VIM_SUPPORT=no + DEBVIM= else VIM_SUPPORT=yes + DEBVIM=", vim" fi], VIM_SUPPORT=guessed) @@ -402,7 +383,7 @@ else fi) if test "$MOTIF_SUPPORT" = "-DMOTIF_SUPPORT"; then - libX="$X_LIBS -lXt -lX11" + libX="$X_LIBS -lXt -lX11 -lXext" LIBMOTIF="\$(top_builddir)/tools/$OPENMOTIF/lib/Xm/.libs/libXm.a \ \$(top_builddir)/tools/$LIBXPM/src/.libs/libXpm.a" INCMOTIF="-I\$(top_srcdir)/tools/$OPENMOTIF/lib \ @@ -443,6 +424,12 @@ fi], [PROFILAGE=""]) AC_SUBST(PROFILAGE) +dnl Checks for uuencode +AC_CHECK_PROG(UUENCODE, uuencode, yes, no) +if test "$UUENCODE" = no; then + AC_MSG_ERROR([Can not find uuencode !]) +fi + if test ! -d tools; then mkdir tools fi @@ -450,8 +437,14 @@ if test ! -d "$srcdir"/tools/$NCURSES; t gunzip -c "$srcdir"/tools/$NCURSES.tar.gz | \ (cd "$srcdir/tools" && tar -xf -) (cd "$srcdir/tools/"$NCURSES && \ + for i in ../$NCURSES*.sh.gz; + do TMP=$i; gunzip -c $i > ${TMP%.*}; + done; + for i in ../$NCURSES*.sh; + do echo Applying script $i && chmod 775 $i && ./$i; + done; for i in ../$NCURSES*.patch.gz; - do gunzip -c $i | patch -p1; + do echo Applying patch $i && gunzip -c $i | patch -p1; done); fi if test ! -d "$srcdir"/tools/$READLINE; then @@ -479,11 +472,8 @@ fi if test ! -d "$srcdir"/tools/$FILE; then gunzip -c "$srcdir"/tools/$FILE.tar.gz | \ (cd "$srcdir/tools" && tar -xf - ) - (cd "$srcdir/tools"/$FILE && gunzip -c ../$FILE.diff.gz | patch -p1) -fi -if test ! -d "$srcdir"/tools/$ICONV; then - gunzip -c "$srcdir"/tools/$ICONV.tar.gz | \ - (cd "$srcdir/tools" && tar -xf -) + (cd "$srcdir/tools"/$FILE && gunzip -c ../$FILE.diff.gz | patch -p1 && \ + autoreconf) fi if test ! -d "$srcdir"/tools/$SQLITE; then gunzip -c "$srcdir"/tools/$SQLITE.tar.gz | \ @@ -492,6 +482,12 @@ fi if test ! -d "$srcdir"/tools/$SIGSEGV; then gunzip -c "$srcdir"/tools/$SIGSEGV.tar.gz | \ (cd "$srcdir/tools" && tar -xf -) + (cd "$srcdir/tools/$SIGSEGV" && ./autogen.sh --skip-gnulib) +fi +if test ! -d "$srcdir"/tools/$ICONV; then + gunzip -c "$srcdir"/tools/$ICONV.tar.gz | \ + (cd "$srcdir/tools" && tar -xf -) + (cd "$srcdir"/tools/$ICONV && ln -sf ../$SIGSEGV/gnulib gnulib) fi if test ! -d "$srcdir"/tools/$OPENMOTIF; then gunzip -c "$srcdir"/tools/$OPENMOTIF.tar.gz | \ @@ -505,6 +501,10 @@ if test ! -d tools/$OPENSSL; then gunzip -c "$srcdir"/tools/$OPENSSL.tar.gz | \ (cd tools && tar -xf -) fi +if test ! -d tools/$ZLIB; then + gunzip -c "$srcdir"/tools/$ZLIB.tar.gz | \ + (cd tools && tar -xf - && cd $ZLIB && ./configure --static) +fi if test ! -d rplcas; then mkdir rplcas fi @@ -573,6 +573,12 @@ if test "$SED" = no; then AC_MSG_ERROR([Can not find sed !]) fi +dnl Checks for yacc +AC_CHECK_PROG(YACC, yacc, yes, no) +if test "$YACC" = no; then + AC_MSG_ERROR([Can not find yacc !]) +fi + dnl Checks for TeX, LaTeX, dvips, gs, gv, vim and gnuplot if test "$TEX_SUPPORT" = guessed; then POSTSCRIPT_SUPPORT="-DPOSTSCRIPT_SUPPORT" @@ -649,14 +655,18 @@ if test "$VIM_SUPPORT" = guessed; then Download at http://www.vim.org/ ]) VIM_SUPPORT="-UVIM_SUPPORT" + DEBVIM= else VIM_SUPPORT="-DVIM_SUPPORT" + DEBVIM=", vim" fi else if test "$VIM_SUPPORT" = no; then VIM_SUPPORT="-UVIM_SUPPORT" + DEBVIM= else VIM_SUPPORT="-DVIM_SUPPORT" + DEBVIM=", vim" fi fi @@ -806,9 +816,13 @@ if test "$MYSQL_SUPPORT" = "-DMYSQL_SUPP fi fi +DEBMYSQL= + if test "$MYSQL_SUPPORT" != "-DMYSQL_SUPPORT"; then libMySQLinc= libMySQLlib= +else + DEBMYSQL=", libmysqlclient18" fi AC_SUBST(MYSQL_SUPPORT) @@ -952,9 +966,13 @@ if test "$POSTGRESQL_SUPPORT" = "-DPOSTG fi fi +DEBPQ= + if test "$POSTGRESQL_SUPPORT" != "-DPOSTGRESQL_SUPPORT"; then libPgSQLinc= libPgSQLlib= +else + DEBPQ=", libpq5" fi AC_SUBST(POSTGRESQL_SUPPORT) @@ -1047,8 +1065,15 @@ AC_ARG_WITH(openssl_arch, if test $(uname) = "OS/2"; then bash -c "cd tools/$OPENSSL && os2/OS2-EMX.cmd" else + if test $build = $host; then + OPENSSL_CROSS= + else + OPENSSL_CROSS="AR=$host-ar RANLIB=$host-ranlib CC=$host-gcc NM=$host-nm" + fi + echo $build $host + echo $OPENSSL_CROSS if test "x$with_openssl_arch" = xnone; then - (cd tools/$OPENSSL && ./config no-asm) + (cd tools/$OPENSSL && sh -c "$OPENSSL_CROSS ./config no-asm") 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!]) @@ -1056,7 +1081,8 @@ else (cd tools/$OPENSSL && ./Configure) AC_MSG_ERROR([Please specify OS and Architecture]) else - (cd tools/$OPENSSL && ./Configure no-asm $with_openssl_arch) + (cd tools/$OPENSSL && sh -c "$OPENSSL_CROSS ./Configure no-asm \ + $with_openssl_arch") fi fi @@ -1079,6 +1105,8 @@ AC_SUBST(GNUPLOT_COMPILATION) HOST=$target AC_SUBST(HOST) +BUILD=$build +AC_SUBST(BUILD) my_save_cflags="$CFLAGS" FPCFLAGS="" @@ -1180,6 +1208,7 @@ case $OS in OS/2) if test $FORCED_FINAL_ENCODING -eq 0; then \ FINAL_ENCODING=CP850; \ + FORCED_FINAL_ENCODING=1;\ fi; OS=OS2 NESTED_FUNCTIONS= @@ -1197,6 +1226,7 @@ case $OS in OpenBSD) if test $FORCED_FINAL_ENCODING -eq 0; then \ FINAL_ENCODING=UTF-8; \ + FORCED_FINAL_ENCODING=1;\ fi; EXPORT_DYNAMIC=-Wl,--export-dynamic NESTED_FUNCTIONS= @@ -1266,6 +1296,28 @@ case $OS in break ;; esac +case $HOST in + x86_64-*-linux-gnu) + ARCH=amd64 + break ;; + + i?86-*-linux-gnu) + ARCH=i386 + break ;; + + arm-unknown-linux-gnueabi) + ARCH=armel + break;; + + mips*el-unknown-linux-gnu) + ARCH=mipsel + break;; + + *) + ARCH=unknown + break ;; +esac + AC_SUBST(WHOLE_LIB1) AC_SUBST(WHOLE_LIB2) AC_SUBST(LIB_PREFIX) @@ -1279,6 +1331,7 @@ AC_SUBST(SEMUN) AC_SUBST(IPV6) AC_SUBST(BSH_PATH) AC_SUBST(ELF) +AC_SUBST(ARCH) AC_SUBST(NCURSES) AC_SUBST(READLINE) @@ -1295,6 +1348,7 @@ AC_SUBST(OPENMOTIF) AC_SUBST(BUILD_OPENMOTIF) AC_SUBST(SIGSEGV) AC_SUBST(FINAL_ENCODING) +AC_SUBST(FORCED_FINAL_ENCODING) AC_SUBST(DATE) AC_SUBST(DATE_FR) AC_SUBST(EXT_SQL) @@ -1307,12 +1361,19 @@ AC_SUBST(PARI) AC_SUBST(GIAC) AC_SUBST(INCMOTIF) AC_SUBST(LIBMOTIF) +AC_SUBST(ZLIB) AC_SUBST(CFLAGS) AC_SUBST(CXXFLAGS) AC_SUBST(FFLAGS) AC_SUBST(FCFLAGS) AC_SUBST(LDFLAGS) +AC_SUBST(SYSROOT) +AC_SUBST(SYSROOT2) + +AC_SUBST(DEBPQ) +AC_SUBST(DEBMYSQL) +AC_SUBST(DEBVIM) if test $RECURSIVE = yes; then AC_CONFIG_SUBDIRS(tools/$NCURSES) @@ -1327,7 +1388,7 @@ if test $RECURSIVE = yes; then fi AC_CONFIG_FILES(Makefile) -AC_CONFIG_FILES(COPYING) +AC_CONFIG_FILES(HEADER) AC_CONFIG_FILES(tools/Makefile) AC_CONFIG_FILES(src/Makefile) AC_CONFIG_FILES(man/Makefile) @@ -1356,4 +1417,6 @@ AC_CONFIG_FILES(man/fr_FR/rpllink.1) AC_CONFIG_FILES(man/fr_FR/rpltags.1) AC_CONFIG_FILES(man/fr_FR/mkrplso.1) +AC_CONFIG_FILES(DEBIAN/control) + AC_OUTPUT