--- gforth/configure.in 2008/10/09 20:57:43 1.246 +++ gforth/configure.in 2008/10/28 22:23:26 1.262 @@ -20,12 +20,12 @@ dnl Process this file with autoconf to p dnl We use some automake macros here, dnl but don't use automake for creating Makefile.in -AC_INIT([gforth],[0.6.9-20081006],[https://savannah.gnu.org/bugs/?func=addbug&group=gforth]) +AC_INIT([gforth],[0.6.9-20081026],[https://savannah.gnu.org/bugs/?func=addbug&group=gforth]) AC_PREREQ(2.54) #snapshots have numbers major.minor.release-YYYYMMDD #note that lexicographic ordering must be heeded. #I.e., 0.4.1-YYYYMMDD must not exist before 0.4.1! -UPDATED="October 10, 2008" +UPDATED="October 26, 2008" AC_SUBST(UPDATED) AC_CONFIG_HEADERS(engine/config.h) @@ -118,12 +118,15 @@ AC_ARG_VAR(ac_cv_sizeof_int, [sizeof(int AC_ARG_VAR(ac_cv_sizeof_long, [sizeof(long)]) AC_ARG_VAR(ac_cv_sizeof_long_long, [sizeof(long long)]) AC_ARG_VAR(ac_cv_sizeof_intptr_t, [sizeof(intptr_t)]) +AC_ARG_VAR(ac_cv_sizeof_int128_t, [sizeof(int128_t)]) +AC_ARG_VAR(ac_cv_sizeof_uint128_t, [sizeof(uint128_t)]) AC_ARG_VAR(ac_cv_c_bigendian, [Is the target big-endian ("yes" or "no")?]) AC_ARG_VAR(no_dynamic_default, [run gforth with --dynamic (0) or --no-dynamic (1) by default]) AC_ARG_VAR(condbranch_opt, [enable (1) or disable (0) using two dispatches for conditional branches]) AC_ARG_VAR(skipcode, [assembly code for skipping 16 bytes of code]) AC_ARG_VAR(asmcomment, [assembler comment start string]) AC_ARG_VAR(arm_cacheflush, [file containing ARM cacheflush function (without .c)]) +AC_ARG_VAR(LTDL_LIBRARY_PATH, [additional directories for libltdl (for some 64-bit platforms)]) #set up feature test macros, so the tests get them right: # turn on all POSIX, SUSv3, and GNU features if available @@ -201,25 +204,24 @@ case "$host_cpu" in if test -z $arm_cacheflush; then case "$host_os" in *linux*) - arm_cacheflush=arch/arm/cacheflush-linux + AC_LIBOBJ(../arch/arm/cacheflush-linux) ;; *) no_dynamic_default=1 - arm_cacheflush=arch/arm/cacheflush0 + AC_LIBOBJ(../arch/arm/cacheflush0) AC_MSG_WARN([No I-cache flush code known, disabling dynamic native code generation]) ;; esac + else + AC_LIBOBJ(../$arm_cacheflush) + test $srcdir = . || AC_MSG_WARN([setting arm_cacheflush requires building in the source directory]) fi - AC_LIBSOURCES([../arch/arm/cacheflush0, dnl - ../arch/arm/cacheflush-linux]) - AC_LIBOBJ(../$arm_cacheflush) #longer skipcodes lead to problems on ARM, and it uses #only 4-byte alignment anyway test "$skipcode" || skipcode="nop" ;; hppa*) machine=hppa - $srcdir/mkinstalldirs arch/hppa AC_LIBOBJ(../arch/hppa/cache) #-N needed for --dynamic LDFLAGS="$LDFLAGS -Xlinker -N" @@ -287,7 +289,7 @@ case "$host_cpu" in #particular, the delay slots of LW, MFLO, etc.) # #Therefore we disable dynamic native code by default: - if test -z $no_dynamic_default; then + if test -z "$no_dynamic_default"; then no_dynamic_default=1 AC_MSG_WARN([Disabling default dynamic native code generation (relocation and delay slot issues)]) fi @@ -299,7 +301,6 @@ case "$host_cpu" in ;; power*|rs6000) machine=power - $srcdir/mkinstalldirs arch/power AC_CHECK_FUNC(_sync_cache_range,[true],[AC_LIBOBJ(../arch/power/_sync_cache_range)]) #long long is broken on (at least) gcc-2.95.* for PPC test x$ac_cv_sizeof_long_long = x && @@ -528,7 +529,7 @@ else fi fi -if grep FORCE_REG arch/$machine/machine.h >/dev/null; then +if grep FORCE_REG $srcdir/arch/$machine/machine.h >/dev/null; then OPTS2='' for i in $OPTS; do OPTS2="$OPTS2 $i-reg"; done OPTS="$OPTS2 $OPTS" @@ -622,7 +623,8 @@ AC_MSG_RESULT($M4) # Find installed Gforth AC_MSG_CHECKING([for gforth]) GFORTH="`cd / && which gforth 2>/dev/null`" -(cd / && $GFORTH -e bye >/dev/null 2>/dev/null) || GFORTH="" +#the "$srcdir" = "." test defends agains the "../" bug in gforth-0.6.2 +(cd / && $GFORTH -e bye >/dev/null 2>/dev/null && test "$srcdir" = ".") || GFORTH="" if test -z "$GFORTH"; then PREFORTH='echo "You need to configure with a gforth in \$PATH to build this part" && false' kernel_anti_dependence='' @@ -673,8 +675,8 @@ case "$host_os" in DIRSEP="/" PATHSEP=":" DEFAULTSYSTEMPREFIX="" - if test "$wordsize" = 64; then - AC_DEFINE(LTDL_LIBRARY_PATH,"/lib64:/usr/lib64",[Define LTDL_LIBRARY_PATH for 64 bit Linux]) + if test -z "$LTDL_LIBRARY_PATH" -a "$wordsize" = 64; then + LTDL_LIBRARY_PATH=`/sbin/ldconfig -p |tail -n +2 |sed 's/^.* => //'|sed 's|/[[^/]]*$||'| grep 64 | sort -u | tr '\n' : | sed -e 's/:$//'` fi ;; *) @@ -689,6 +691,9 @@ AC_SUBST(PATHSEP) AC_DEFINE_UNQUOTED(PATHSEP,'$PATHSEP',[a path separator character]) AC_SUBST(DEFAULTSYSTEMPREFIX) AC_DEFINE_UNQUOTED(DEFAULTSYSTEMPREFIX,"$DEFAULTSYSTEMPREFIX",[default for environment variable GFORTHSYSTEMPREFIX]) +if test -n "$LTDL_LIBRARY_PATH"; then + AC_DEFINE_UNQUOTED(LTDL_LIBRARY_PATH,"$LTDL_LIBRARY_PATH",[Define LTDL_LIBRARY_PATH for 64 bit Linux]) +fi #work around SELinux brain damage (from Andrew Haley <12t8f3jakb74g2c@news.supernews.com>) #This magic incantation seems to be completely undocumented. @@ -731,7 +736,7 @@ dnl the following macro produces a warni AC_C_BIGENDIAN AC_SUBST(KERNEL) dnl ac_cv_c_bigendian is an undocumented variable of autoconf-2.1 -if test $ac_cv_c_bigendian = yes; then +if test $ac_cv_c_bigendian != no; then bytesex=b KERNEL="kernl16b.fi kernl16l.fi kernl32b.fi kernl32l.fi kernl64b.fi kernl64l.fi" else @@ -815,6 +820,14 @@ AC_CHECK_PROGS(TEXI2DVI,texi2dvi4a2ps te dnl MacOS X has a libtool that does something else AC_CHECK_PROGS(GNU_LIBTOOL,glibtool libtool) +if test -n "$GNU_LIBTOOL"; then + build_libcc_named=build-libcc-named +else + build_libcc_named="" +fi +AC_SUBST(build_libcc_named) + + dnl Checks for library functions dnl This check is just for making later checks link with libm. dnl using sin here is no good idea since it is built-into gcc and typechecked @@ -866,10 +879,10 @@ AC_CHECK_FUNCS(expm1 log1p) AC_REPLACE_FUNCS(rint ecvt) dnl No check for select, because our replacement is no good under dnl anything but DOS -AC_CHECK_HEADERS(sys/mman.h fnmatch.h alloca.h) +AC_CHECK_HEADERS(sys/mman.h fnmatch.h alloca.h wchar.h) AC_FUNC_FNMATCH test $ac_cv_func_fnmatch_works = yes || AC_LIBOBJ(fnmatch) -AC_CHECK_FUNCS(mmap sysconf getpagesize) +AC_CHECK_FUNCS(mmap sysconf getpagesize wcwidth) AM_PATH_LISPDIR kernel_fi=kernl${vwordsize}${bytesex}.fi @@ -901,7 +914,11 @@ chmod +x vmgen chmod +x build-ec chmod +x preforth test -d kernel||mkdir kernel +if test $srcdir != "."; then ln -sf $srcdir/gforth.el .; fi $srcdir/mkinstalldirs include/gforth/$PACKAGE_VERSION -ln -sf ../../../engine/config.h ../../../engine/libcc.h include/gforth/$PACKAGE_VERSION]],[[PACKAGE_VERSION=$PACKAGE_VERSION]]) +$srcdir/mkinstalldirs arch/$machine +ln -sf ../../../engine/config.h ../../../engine/libcc.h include/gforth/$PACKAGE_VERSION]], +[PACKAGE_VERSION=$PACKAGE_VERSION + machine=$machine]) AC_OUTPUT