pike.git / src / configure.in

version» Context lines:

pike.git/src/configure.in:1:   AC_INIT(interpret.c)   AC_CONFIG_HEADER(machine.h)    + AC_SUBST(CONFIG_HEADERS)    -  +    rm -f config.warnings 2>/dev/null      if_autoconf(2,50,, [    PIKE_MSG_WARN([configure script has been generated with autoconf 2.13 or earlier.])   ])      # We want an absolute path to the source-dir.   case "$srcdir" in    /*)    ;;    *)    oldsrcdir="$srcdir"    srcdir="`cd \"$srcdir\";pwd`"    AC_MSG_WARN([Converted $oldsrcdir to $srcdir,   If this does not work, please use an absolute path to the configure script.])    ;;   esac      # Check that we can write to the source directory. - sleep 1 +    if touch "$srcdir/configure~"; then    # Check that the system time is reasonably correct.    if test `cd "$srcdir" && ls -1t configure configure~ | head -n 1` = "configure"; then    echo "Current system time is `date`."    AC_MSG_ERROR([   $srcdir/configure has modification time in the future.   Check and set your system time.   ])    fi   else    ls -ld "$srcdir"    AC_MSG_ERROR([   Failed to write in source directory.   Fix your permissions.   ])   fi    - # Attempt to use bash instead of /bin/sh to run configure - # since bash is usually several orders of magnitude faster - # on machines that have a real /bin/sh. - # Some OS's also have a seriously broken /bin/sh (eg NetBSD). - if test "x$CONFIG_SHELL" = "x" -a "x$BASH" = x; then -  AC_PATH_PROG(bash_prog, bash, no) -  if test "x$ac_cv_path_bash_prog" = "xno"; then :; else -  AC_MSG_CHECKING([if $ac_cv_path_bash_prog works]) -  if "$ac_cv_path_bash_prog" --norc -c : 2>&AC_FD_CC; then -  AC_MSG_RESULT(yes) + if_autoconf(2,50,[ +  if test "x$cache_file" = "x/dev/null"; then +  if uname | grep -i windows >/dev/null; then +  PIKE_MSG_WARN([Windows detected.]) +  PIKE_MSG_WARN([Enabling the configure cache for performance reasons.]) +  cache_file=./config.cache +  if test -r "$cache_file"; then +  echo "loading cache $cache_file" +  . $cache_file    else -  AC_MSG_RESULT(no) -  ac_cv_path_bash_prog=no +  echo "creating cache $cache_file" +  > $cache_file    fi    fi -  if test "x$ac_cv_path_bash_prog" = "xno"; then :; else -  AC_MSG_WARN([Found bash as $ac_cv_path_bash_prog. - Will attempt to restart configure with bash for performance. - If this fails, please set CONFIG_SHELL to /bin/sh before starting configure.]) -  if_autoconf(2,63,[ -  # Autoconf 2.63 and later don't like CONFIG_SHELL containing args... -  # It will break the generated config.status. -  CONFIG_SHELL="$ac_cv_path_bash_prog" -  export CONFIG_SHELL -  echo $CONFIG_SHELL --norc "$srcdir/configure" $ac_configure_args -  eval exec $CONFIG_SHELL --norc "$srcdir/configure" $ac_configure_args -  ], [ -  # Autoconf 2.61 and earlier support CONFIG_SHELL containing args. -  # Make sure the users config files aren't used. We don't want -  # strange aliases and stuff confusing things... -  CONFIG_SHELL="$ac_cv_path_bash_prog --norc" -  export CONFIG_SHELL -  echo $CONFIG_SHELL "$srcdir/configure" $ac_configure_args -  eval exec $CONFIG_SHELL "$srcdir/configure" $ac_configure_args -  ]) -  exit 17 +     fi - else :; fi + ])      AC_PROG_MAKE_SET         rm -f "conftest_VPATH.in" 2>/dev/null   touch "$srcdir/conftest_VPATH.in"   if test -f conftest_VPATH.in; then :; else    # Not building in source tree.    AC_MSG_CHECKING([whether ${MAKE-make} supports VPATH])    AC_CACHE_VAL(pike_cv_make_supports_VPATH, [    cat > conftestmake <<EOF - VPATH=.$PATH_SEPARATOR$srcdir + VPATH=$srcdir   .SUFFIXES: .in .out   .in.out:    cat "\$<" >"\$@"   EOF    pike_cv_make_supports_VPATH=no    if ${MAKE-make} -f conftestmake conftest_VPATH.out >/dev/null 2>&AC_FD_CC; then    if test -f conftest_VPATH.out; then    pike_cv_make_supports_VPATH=yes    else :; fi    else :; fi
pike.git/src/configure.in:206:    if test ! -z "$pike_cv_prog_CC_save" -a ! -z "$CC" -a "$CC" != "$pike_cv_prog_CC_save"    then    PIKE_MSG_WARN([CC is different than last time Pike was compiled,   It is probably best to delete ./config.cache before proceeding.])    fi       pike_cv_prog_CC_save="$CC"      fi    - AC_ARG_ENABLE(noopt-retry, MY_DESCR([--disable-noopty-retry], -  [do not retry compilation without optimizations if it fails]), -  [], [noopt_retry=yes]) -  +    # Do the below even when --disable-binary is used, since we need a   # real $CPP, and AC_PROG_CPP wants AC_PROG_CC to be called earlier.   # $CC will be overridden with a dummy later on.      # MY_AC_PROG_CC   # The above has problems if the smartlink binary is removed. /grubba      AC_LANG_C      # Workaround for COMPILER_EXEEXT bailing out with icc and too new gcc.
pike.git/src/configure.in:279:   #if defined(__ECC) || defined(__ICC) || defined(__INTEL_COMPILER)    oui;   #endif    ], pike_cv_prog_icc=yes, pike_cv_prog_icc=no)   ])   AC_MSG_RESULT($pike_cv_prog_icc)   if test "$pike_cv_prog_icc" = "yes"; then    ICC=yes   fi    - # This segment is disabled for now. - if :; then :; else - AC_MSG_CHECKING([for option to enter C99-mode]) - AC_CACHE_VAL(pike_cv_flag_c99, [ -  ORIG_CPPFLAGS="$CPPFLAGS" -  for pike_cv_flag_c99 in '' '-std=gnu99' '-std=gnu9x' '-xc99' no; do -  if test "x$pike_cv_flag_c99" = "xno"; then break; fi -  # C99 is supported only in XPG6/POSIX.1-2001. -  pike_cv_flag_c99="$pike_cv_flag_c99 -D_GNU_SOURCE -D_XOPEN_SOURCE=600 -DPOSIX_C_SOURCE=200112" -  CPPFLAGS="$ORIG_CPPFLAGS $pike_cv_flag_c99" -  AC_EGREP_CPP([oui], [ - /* Include THE standard header file to check for C99 compliance. */ - #include <stdio.h> - #if __STDC_VERSION__ - 0 >= 199901 -  oui - #endif -  ], [ -  # Ok. -  break; -  ]) -  done -  ORIG_CPPFLAGS="$CPPFLAGS" - ]) - if test "x$pike_cv_flag_c99" = "xno"; then -  AC_MSG_RESULT(not supported) -  AC_MSG_CHECKING([for level of XPG support]) -  AC_CACHE_VAL(pike_cv_flag_xpg, [ -  # FIXME: How determine what the max level of XPG support is? -  :; -  ]) -  AC_MSG_RESULT([$pike_cv_flag_xpg]) - else -  AC_MSG_RESULT([${pike_cv_flag_c99:-(none)}]) -  CPPFLAGS="$CPPFLAGS $pike_cv_flag_c99" - fi - fi -  +    #############################################################################      if test "x$enable_binary" != "xno"; then    AC_ISC_POSIX    AC_AIX    AC_MINIX   fi      #############################################################################   
pike.git/src/configure.in:338:   PIKE_SELECT_ABI      #############################################################################      if test "x$GCC" = "x"; then    GCC=no   else    :;   fi    - if test "x$GCC" = "xno" -a "x$TCC" = "xno"; then + if test "x$GCC" = "xno"; then       if test "x$ac_cv_prog_cc_cross" = "xyes"; then    # The AIX 5L/cc beta can not generate working binaries without a    # data-segment...    AC_MSG_CHECKING([if we are really using a cross-compiler])       AC_CACHE_VAL(pike_cv_datasegment_required, [    ac_cv_prog_cc_cross=no;    AC_TRY_RUN([int foo;main(){return(0);}], [    pike_cv_datasegment_required=yes
pike.git/src/configure.in:393:    PIKE_MSG_WARN(Some tests may yield false results.)    else    LIBS="$pike_cv_datasegment_file $LIBS"    export LIBS    PIKE_MSG_WARN(Data-segment kludge applied.)    fi    else    AC_MSG_RESULT(yes)    fi    fi - elif test "x$TCC" = "xyes"; then -  AC_MSG_CHECKING(if we can use pragma TenDRA longlong) -  AC_CACHE_VAL(pike_cv_pragma_tendra_longlong, [ -  AC_TRY_COMPILE([ - #pragma TenDRA longlong type allow -  ], [], [ pike_cv_pragma_tendra_longlong=yes -  ], [ pike_cv_pragma_tendra_longlong=no ]) -  ]) -  if test "x$pike_cv_pragma_tendra_longlong" = "xyes"; then -  AC_MSG_RESULT(yes) -  AC_DEFINE(HAVE_PRAGMA_TENDRA_LONGLONG) -  else -  AC_MSG_RESULT(no) -  fi -  -  AC_MSG_CHECKING(if we can use pragma TenDRA set longlong type) -  AC_CACHE_VAL(pike_cv_pragma_tendra_set_longlong_type, [ -  AC_TRY_COMPILE([ - #ifdef HAVE_TENDRA_LONGLONG - #pragma TenDRA longlong type allow - #endif /* HAVE_TENDRA_LONGLONG */ - #pragma TenDRA set longlong type : long long -  - long long foo; -  ], [], [ pike_cv_pragma_tendra_set_longlong_type=yes -  ], [ pike_cv_pragma_tendra_set_longlong_type=no ]) -  ]) -  if test "x$pike_cv_pragma_tendra_set_longlong_type" = "xyes"; then -  AC_MSG_RESULT(yes) -  AC_DEFINE(HAVE_PRAGMA_TENDRA_SET_LONGLONG_TYPE) -  else -  AC_MSG_RESULT(no) -  fi +    else :; fi      #############################################################################      if test "x$enable_binary" != "xno"; then      #   # The purpose of this test is to check that there is no filesystem   # caching preventing pike from compiling correctly.   #
pike.git/src/configure.in:612:    fi])      if test -x /usr/bin/uname 2>/dev/null; then    UNAME=`/usr/bin/uname -sr`   elif test -x /bin/uname 2>/dev/null; then    UNAME=`/bin/uname -sr`   else    UNAME=unknown   fi    - # We need some special hacks when running slowaris - AC_PATH_PROG(uname_prog,uname,no) - AC_MSG_CHECKING(operating system) - AC_CACHE_VAL(pike_cv_sys_os, - [ - if test "$cross_compiling" = "yes"; then -  case "$host_alias" in -  *amigaos*) pike_cv_sys_os="AmigaOS";; -  *linux*) pike_cv_sys_os="Linux";; -  *solaris*) pike_cv_sys_os="Solaris";; -  *sunos*) pike_cv_sys_os="SunOS";; -  *windows*) pike_cv_sys_os="Windows_NT";; -  *mingw*|*MINGW*) -  pike_cv_sys_os="Windows_NT" -  pike_cv_is_mingw="yes";; -  *) pike_cv_sys_os="Unknown";; -  esac - elif test "$uname_prog" != "no"; then -  # uname on UNICOS doesn't work like other people's uname... -  if getconf CRAY_RELEASE >/dev/null 2>&1; then -  pike_cv_sys_os="UNICOS" -  else -  pike_cv_sys_os="`uname`" -  fi + # We need some special hacks when running slowaris and winblows. + PIKE_AC_CHECK_OS()    -  case "$pike_cv_sys_os" in -  SunOS) -  case "`uname -r`" in -  5.*) pike_cv_sys_os="Solaris" ;; -  esac -  ;; -  Monterey64) -  # According to the release notes, the string "Monterey64" -  # will be changed to "AIX" in the final release. -  # (Monterey 64 is also known as AIX 5L). -  pike_cv_sys_os="AIX" -  ;; -  *Windows*|*windows*) -  pike_cv_sys_os="Windows_NT" -  ;; -  *MINGW*|*mingw*) -  pike_cv_is_mingw="yes" -  pike_cv_sys_os="Windows_NT" -  ;; -  -  esac - else -  pike_cv_sys_os="Not Solaris" - fi - ]) - AC_MSG_RESULT($pike_cv_sys_os) -  +    if test "x$pike_cv_sys_os" = xWindows_NT; then    PIKE_FUNCS_NEED_DECLS(yes)   fi    - AC_CHECK_HEADERS(stdlib.h string.h unistd.h sys/stat.h sys/types.h sys/errno.h) + # NB: We need to have gmp.h in the search path for the entirety of Pike, + # since gmp.h is included by bignum.h, which in turn is included + # by much of Pike. + PIKE_PKG_CONFIG(libgmp)    -  + AC_CHECK_HEADERS(gmp.h unistd.h sys/stat.h sys/types.h sys/errno.h) +    if test "$GCC" = "yes"; then :; else   #   # Special hack for HP-UX stupid cc   #    if test "$pike_cv_sys_os" = "HP-UX"; then    AC_TRY_COMPILE([int foo(int bar);],[],[],    [    OLD_CC="${CC-cc}"    OLD_CFLAGS="$CFLAGS"    case "/$CC" in
pike.git/src/configure.in:742:    fi    if test "x${SDL_CONFIG}" = "x"; then    SDL_CONFIG=`which ${ac_tool_prefix}sdl11-config`    export SDL_CONFIG    fi    ;;   esac      # Skip if user does not wish to use smartlink binary.   if test "x$force_smartlink_script_only" = "x"; then - # Strip smartlink from $CC - REALCC="`echo $CC|sed -e 's/.*smartlink //'`" + # Strip smartlink and arguments from $CC + REALCC="`echo $CC|sed -e 's/.*smartlink *//'`"; + RAWCC="`echo $REALCC|sed -e 's/ .*//g'`"         # FIXME: Add proper tests   AC_MSG_CHECKING([for ld.so run path method])   AC_CACHE_VAL(pike_cv_ld_so_run_path_method, [    case "$UNAME" in    OSF1\ V4.*|OSF1\ V5.*|OSF1\ V6.*)    pike_cv_run_path_method=rpath    ;;    HPUX\ 11.*)    pike_cv_run_path_method=plus_b    ;; -  IRIX\ 6.*) -  pike_cv_run_path_method=rpath -  ;; -  IRIX\ 5.*) -  pike_cv_run_path_method=rpath -  ;; +     SunOS\ 5.*) -  if test "$TCC" = "yes"; then -  # tcc doesn't know about -R -  pike_cv_run_path_method=wl_r -  else +     pike_cv_run_path_method=r -  fi +     ;;    Linux\ 2.* | GNU/kFreeBSD* )    if test "$ICC" = "yes"; then    # icc or ecc.    pike_cv_run_path_method=qoption    else    pike_cv_run_path_method=wl    fi    ;;    UnixWare\ 7.*|OpenUNIX\ 8.*)    if test "$ac_cv_prog_gcc" = "yes"; then    pike_cv_run_path_method=xlinker_yp_    else    pike_cv_run_path_method=yp_    fi    ;; -  +  Darwin\ *|NetBSD\ *) +  pike_cv_run_path_method=darwin_rpath +  ;;    *)    pike_cv_run_path_method=ld_library_path    ;;    esac   ])   case "$pike_cv_run_path_method" in    rpath)    AC_DEFINE(USE_RPATH)    AC_MSG_RESULT([use -rpath])    ;;
pike.git/src/configure.in:819:    AC_MSG_RESULT([use -Wl,-R])    ;;    r)    AC_DEFINE(USE_R)    AC_MSG_RESULT([use -R])    ;;    wl)    AC_DEFINE(USE_Wl)    AC_MSG_RESULT([use -Wl,-rpath])    ;; +  darwin_rpath) +  AC_DEFINE(USE_Wl_rpath_darwin) +  AC_MSG_RESULT([use -Wl,-rpath (Darwin-style)]) +  ;;    qoption)    AC_DEFINE(USE_Qoption)    AC_MSG_RESULT([use -Qoption,ld,-rpath])    ;;    ld_library_path|*)    AC_DEFINE(USE_LD_LIBRARY_PATH)    AC_MSG_RESULT([use LD_LIBRARY_PATH/LD_RUN_PATH])    ;;   esac   
pike.git/src/configure.in:888:   else # force_smartlink_script_only    AC_MSG_CHECKING(for smartlink build script)    SMARTLINK="$BINDIR/smartlink"    REALCC="$CC"    AC_MSG_RESULT($SMARTLINK)   fi # force_smartlink_script_only      CC="$SMARTLINK $REALCC"   pike_cv_prog_CC="$CC"    - # Strip smartlink from $CXX - REALCXX="`echo $CXX|sed -e 's/.*smartlink //'`" + # Strip smartlink and arguments from $CXX + REALCXX="`echo $CXX|sed -e 's/.*smartlink *//'`" + RAWCXX="`echo $REALCXX|sed -e 's/ .*//g'`"   CXX="$SMARTLINK $REALCXX"   pike_cv_prog_CXX="$CXX"      AC_SUBST(SMARTLINK)   AC_SUBST(REALCC)   AC_SUBST(REALCXX)   export CC CXX REALCC REALCXX SMARTLINK      AC_MSG_CHECKING([for a fallback compiler]) - # Strip smartlink from $FALLBACK_CC - FALLBACK_CC="`echo $FALLBACK_CC|sed -e 's/.*smartlink //'`" + # Strip smartlink and arguments from $FALLBACK_CC + FALLBACK_CC="`echo $FALLBACK_CC|sed -e 's/.*smartlink *//'`"   if test "x$FALLBACK_CC" = "x"; then    AC_MSG_RESULT(no)   else    FALLBACK_CC="$SMARTLINK $FALLBACK_CC"    AC_MSG_RESULT($FALLBACK_CC)   fi   AC_SUBST(FALLBACK_CC)   export FALLBACK_CC      #############################################################################
pike.git/src/configure.in:952:   ])],    [$4])dnl   AS_VAR_POPDEF([ac_Framework])dnl   ])# AC_CHECK_FRAMEWORK      # AH_CHECK_FRAMEWORK(FRAMEWORK)   # ---------------------   m4_define([AH_CHECK_FRAMEWORK],   [AH_TEMPLATE(AS_TR_CPP(HAVE_FRAMEWORK_$1),    [Define to 1 if you have the `]$1[' framework (-framework ]$1[).])]) + dnl '`       -  +    PIKE_AC_DEBUG      if :; then :; else   # Disabled for now.   # It looks this makes it even worse...   # It seems to cause bash to loop on a SIGSEGV in the signal handler   # on Gentoo Linux/IA64.   AC_MSG_CHECKING([if the stack ulimit is excessive])   if ulimit -s 1>&AC_FD_CC 2>&AC_FD_CC; then    orig_ulimit="`ulimit -s 2>&AC_FD_CC`"
pike.git/src/configure.in:1075:    LC_REQ=""    fi    ;;   esac      AC_SUBST(LD)   AC_SUBST(LC_REQ)      #############################################################################    - AC_ARG_WITH(extra_debug_checks, -  MY_DESCR([--with-extra-debug-checks], -  [enable some extra (possibly verbose) debug checks.]), -  [], [ -  if test "x$pike_cv_sys_os" = "xOSF1"; then -  # Attempt to detect the cause for test_resolv to fail on Unicode.so. -  with_extra_debug_checks="yes" -  elif test "x$pike_cv_sys_os" = "xOpenBSD"; then -  # Attempt to detect cause of dmalloc failure on OpenBSD. -  with_extra_debug_checks="yes" -  else -  with_extra_debug_checks=no -  fi -  ]) +     - if test "x$with_extra_debug_checks" = "xno"; then :; else -  AC_MSG_WARN([Enabling extra debug checks.]) -  AC_DEFINE([PIKE_EXTRA_DEBUG]) - fi -  - ############################################################################# -  - AC_ARG_WITH(patch_gcc, MY_DESCR([--with-patch-gcc], -  [attempt to patch the UA32 relocation bug.]), -  [], [with_patch_gcc=no]) -  - AC_ARG_WITH(force_ua32, MY_DESCR([--with-force-ua32], -  [ignore the UA32 relocation bug.]), -  [], [with_force_ua32=no]) -  - # Some sanity checks. -  - if test "$GCC" = "yes" -a "$pike_cv_sys_os" = "Solaris" && test "`uname -p`" = "sparc"; then -  # Solaris/sparc: -  # Check that gnu ld isn't used. -  # It's usually hidden in $prefix/sparc-sun-solaris2.?/bin/. -  # NOTE: M4 uses [] as quotes. -  gcc_ld_path="`$CC -v 2>&1 | sed -e '1,1s/[[^\/]]*\(\/.*\/\)[[^\/]]*$/\1/p;d' | sed -e '/lib\/gcc-lib\//s/lib\/gcc-lib\///;s/\/[[0-9]]*\.[[0-9]]*\.[[0-9]]*\/$/\/bin/'`" -  if test "x$gcc_ld_path" = "x"; then :; -  elif test -d "$gcc_ld_path/."; then -  if "$gcc_ld_path/ld" -v 2>&1 | grep -i GNU >/dev/null; then -  PIKE_MSG_WARN([GNU ld found on Solaris sparc system ($gcc_ld_path/ld). - This may cause the dynamic module support to fail.]) -  else :; fi -  else :; fi -  unset gcc_ld_path -  -  -  # Watch out for gcc-2.8.1 on Solaris 7 sparc machines. It generates -  # assembler code which contains .uaword directives, which in turn -  # generates code with R_SPARC_UA32 relocations, which /usr/bin/ld.so -  # has buggy support for (it doesn't relocate the MSB). -  -  # Check that gcc doesn't generate uaword opcodes -  AC_MSG_CHECKING(if your gcc generates uaword opcodes) -  AC_CACHE_VAL(pike_cv_gcc_uaword, [ -  cat > conftest.c <<EOF - char *foo[[]] = { "bar" }; - EOF -  pike_compile='${CC-cc} -S $CPPFLAGS conftest.c 1>&AC_FD_CC' -  pike_cv_gcc_uaword=no -  if { (eval echo configure: \"$pike_compile\") >&AC_FD_CC; (eval $pike_compile) 2>&AC_FD_CC; }; then -  if grep ".uaword" conftest.s 2>&AC_FD_CC >/dev/null; then -  echo "configure: result contains .uaword:" >&AC_FD_CC -  cat conftest.s >&AC_FD_CC -  pike_cv_gcc_uaword=yes -  else :; fi -  else -  echo "configure: failed program was:" >&AC_FD_CC -  cat conftest.c >&AC_FD_CC -  fi -  rm -rf conftest.* -  ]) -  AC_MSG_RESULT($pike_cv_gcc_uaword) -  -  # Check if as generates R_SPARC_UA32 relocations from .uaword. -  if test "$pike_cv_gcc_uaword" = "yes"; then -  AC_MSG_CHECKING([if your as generates R_SPARC_UA32 relocations]) -  AC_CACHE_VAL(pike_cv_as_r_sparc_ua32, [ -  AC_TRY_ASSEMBLE([ - .section ".rodata" -  .align 8 - .STRING: -  .asciz "String" - .section ".data" -  .align 4 -  .type string,#object -  .size string,4 - string: -  .uaword .STRING -  ],[ -  if /usr/ccs/bin/elfdump -r conftest.o | grep -i R_SPARC_UA32 >/dev/null 2>&AC_FD_CC; then -  pike_cv_ac_r_sparc_ua32=yes -  else -  pike_cv_ac_r_sparc_ua32=no -  fi -  ],[ -  pike_cv_ac_r_sparc_ua32=no -  ]) -  ]) -  AC_MSG_RESULT($pike_cv_ac_r_sparc_ua32) -  if test "$pike_cv_ac_r_sparc_ua32" = "yes"; then -  PIKE_MSG_WARN([Your gcc/as combo may generate R_SPARC_UA32 relocations. - R_SPARC_UA32 relocations are unsupported in Solaris >= 2.3, - and have broken support in Solaris 7.]) -  -  if test "x$with_patch_gcc$with_force_ua32" = "xnono"; then -  if test -d "/var/sadm/patch/107058-01/."; then -  PIKE_MSG_WARN([Back out patch 107058-01, or - recompile gcc with a modified config/sparc/sol2.h.]) -  else -  PIKE_MSG_WARN([Recompile gcc with a modified config/sparc/sol2.h.]) -  fi -  -  PIKE_MSG_WARN([You may want to try binary patching gcc. - In that case rerun configure with --with-patch-gcc. - NOTE: Binary patching is highly experimental and risky, -  and may break your existing gcc even more. -  - R_SPARC_UA32 relocations are supported on some versions - of Solaris. If you want to try a binary with R_SPARC_UA32 - relocations, rerun configure with --with-force-ua32.]) -  exit 1 -  fi -  -  if test "x$with_patch_gcc" = "xno"; then :; else -  AC_MSG_WARN([Will attempt to patch gcc.]) -  -  AC_MSG_CHECKING([for cc1]) -  if test "x$with_patch_gcc" = "xyes"; then -  cc1="`$CC -v 2>&1|sed -e '/\//s!^[[^/]]*\(/.*\)/specs$!\1/cc1!p' -ed`" -  else -  cc1="$with_patch_gcc"; -  fi -  if test -f "$cc1"; then -  AC_MSG_RESULT($cc1) -  else -  AC_MSG_RESULT(not found. Tried $cc1) -  exit 1 -  fi -  -  AC_MSG_CHECKING(if $cc1 looks unpatched) -  if /usr/bin/strings "$cc1" | grep uaword >/dev/null 2>&1; then -  AC_MSG_RESULT(yes) -  else -  AC_MSG_RESULT(no -- strange) -  exit 1 -  fi -  -  AC_MSG_CHECKING(if patch_cc1 compiles) -  link_cmd='${CC-cc} -o patch_cc1${ac_exeext} $CFLAGS -I. $CPPFLAGS $LDFLAGS $srcdir/patch_cc1.$ac_ext $LIBS 2>&AC_FD_CC' -  if { (eval echo Compiling patch_cc1: \"$link_cmd\") 1>&AC_FD_CC; (eval $link_cmd) 2>&AC_FD_CC; } && "$BUILDDIR/patch_cc1" -v >/dev/null 2>&AC_FD_CC; then -  AC_MSG_RESULT(yes) -  -  if test -f "$cc1.patched"; then -  AC_MSG_ERROR([$cc1.patched already exists. - Please move it out of the way.]) -  exit 1; -  fi -  -  if test -f "$cc1.orig"; then -  AC_MSG_ERROR([$cc1.orig already exists. - Please move it out of the way.]) -  exit 1; -  fi -  -  AC_MSG_CHECKING(if patch_cc1 works) -  if ./patch_cc1 "$cc1" 2>&AC_FD_CC >"$cc1.patched"; then -  if test -f "$cc1.patched"; then :; else -  AC_MSG_RESULT(no - failed to create $cc1.patched) -  exit 1 -  fi -  if chmod 755 "$cc1.patched"; then :; else -  AC_MSG_RESULT(no - failed to set permission to 755 on $cc1.patched) -  exit 1 -  fi -  -  if test "`/bin/ls -l \"$cc1\"|awk '{print $5}'`" = "`/bin/ls -l \"$cc1.patched\"|awk '{print $5}'`"; then -  if /usr/bin/strings "$cc1.patched" | grep uaword >/dev/null 2>&1; then -  rm -f "$cc1.patched" -  AC_MSG_RESULT(no -- patching failed) -  exit 1 -  fi -  -  if "$cc1.patched" --help >/dev/null 2>&1; then :; else -  AC_MSG_RESULT(no -- the patched binary does not seem to work) -  exit 1 -  fi -  -  AC_MSG_RESULT(yes) -  -  AC_MSG_WARN([Activating the patched cc1. - NOTE: Entering critical section. - If configure fails at this point a broken gcc my result.]) -  if /usr/bin/mv -f "$cc1" "$cc1.orig"; then -  -  AC_MSG_WARN([Moved $cc1 to $cc1.orig.]) -  -  if /usr/bin/mv -f "$cc1.patched" "$cc1"; then -  AC_MSG_WARN([Patching seems to have succeeded. - Please rerun configure.]) -  exit 1 -  fi -  -  AC_MSG_WARN([Moving the patched cc1 into place failed. - Will try to restore the old cc1.]) -  -  if /usr/bin/mv -f "$cc1.orig" "$cc1"; then -  AC_MSG_WARN([The old cc1 has been restored.]) -  exit 1 -  fi -  -  AC_MSG_ERROR([Restoring the old cc1 failed. - Your installation of gcc is most likely broken now. - Sorry, you will have to restore it yourself. - Please move $cc1.orig to $cc1.]) -  exit 1 -  else -  AC_MSG_ERROR([Failed to move the old cc1 to safety. - Please replace $cc1 with $cc1.patched by hand.]) -  exit 1 -  fi -  else -  rm -f "$cc1.patched" -  AC_MSG_ERROR([The size has changed. - You need to patch cc1 by hand.]) -  exit 1 -  fi -  else -  AC_MSG_RESULT(no -- you need to patch cc1 by hand) -  exit 1 -  fi -  else -  AC_MSG_RESULT(no -- you need to patch cc1 by hand) -  exit 1 -  fi -  fi -  else :; fi -  else :; fi - else :; fi -  - ############################################################################# -  -  +    AC_ARG_WITH(root, MY_DESCR([--with-root=path],    [specify a cross-compilation root-directory]),[    case "$with_root" in    /)    with_root=""    ;;    /*)    ;;    no)    with_root=""
pike.git/src/configure.in:1498:   AC_ARG_WITH(malloc_page_size,    MY_DESCR([--with-malloc-page-size=n],    [tune to the memory page size (default is 4 kb)]),    [AC_DEFINE(PIKE_MALLOC_PAGE_SIZE,($withval))],    [AC_DEFINE(PIKE_MALLOC_PAGE_SIZE,(4 * 1024))])      PIKE_AC_DEBUG      AC_ARG_WITH(thread_c_stack,    MY_DESCR([--with-thread-c-stack=n], -  [tune the thread c-stack (default is 256 * 1024)]), +  [tune the thread c-stack (default is 1024 * 1024)]),    [AC_DEFINE_UNQUOTED(PIKE_THREAD_C_STACK_SIZE,($withval))], -  [AC_DEFINE(PIKE_THREAD_C_STACK_SIZE,(256 * 1024))]) +  [AC_DEFINE(PIKE_THREAD_C_STACK_SIZE,(1024 * 1024))])      AC_ARG_WITH(devpoll, MY_DESCR([--without-devpoll],    [disable support for /dev/poll]),    [],[with_devpoll=yes])   AC_ARG_WITH(gdbm, MY_DESCR([--without-gdbm],[no GNU database manager support])) -  + AC_ARG_WITH(mpi, MY_DESCR([--with-mpi],[enable MPI suppport]), +  [], [with_mpi=no])   AC_ARG_WITH(gmp, MY_DESCR([--without-gmp],[no support for Gmp bignums]))   AC_ARG_WITH(zlib, MY_DESCR([--without-zlib],[disable gz compression support]),    [],[with_zlib=yes])   AC_ARG_WITH(mysql, MY_DESCR([--without-mysql],    [disable support for the Mysql database]),    [],[with_mysql=yes])   AC_ARG_WITH(valgrind, MY_DESCR([--with-valgrind=path],    [Support for running with valgrind. Implies --with-cleanup-on-exit.])   MY_DESCR([],[Specify --without-cleanup-on-exit if you do not want this.]),    [
pike.git/src/configure.in:1534:   AC_ARG_WITH(checker, MY_DESCR([--with-checker],    [add extra memory checking overhead (Purify)]))   AC_ARG_WITH(gcov, MY_DESCR([--with-gcov],    [compile with support for gcov (gcc-only)]))   MY_AC_ARG_WITH(profiling, MY_DESCR([--with-profiling],    [add code used to profile pike code]),    [AC_DEFINE(PROFILING)])   MY_AC_ARG_WITH(internal-profiling, MY_DESCR([--with-internal-profiling],    [add profiling code for various internal things]),    [AC_DEFINE(INTERNAL_PROFILING)]) + MY_AC_ARG_WITH(mc-stack-frames, MY_DESCR([--with-mc-stack-frames], +  [add machine code to generate proper stack frames (X86-64 only)]), +  [AC_DEFINE(MACHINE_CODE_STACK_FRAMES)])   MY_AC_ARG_WITH(pg, MY_DESCR([--with-pg],[use the gcc -pg option]),    [PROFIL=-pg])   AC_ARG_WITH(poll, MY_DESCR([--with-poll], [use poll instead of select]), [], [    # Neither --with-poll nor --without-poll was specified    case "$pike_cv_sys_os" in -  Solaris|HP-UX|OSF1|IRIX|Linux|UnixWare|OpenUNIX) +  Solaris|HP-UX|OSF1|Linux|UnixWare|OpenUNIX|AIX)   # PIKE_MSG_WARN([Defaulting to --with-poll since the OS is $pike_cv_sys_os.])   # Nothing to warn about, really...   # NOTE: Darwin (OSX/iOS) have poll, but it's layered on kqueue, so there's no   # real benefit to supporting it separately there.    with_poll=yes    ;; -  AIX) -  # poll(2) is broken on AIX 4.1 and earlier. -  if test "`uname -r`" -ge 2 -a "`uname -v`" -ge 4 ; then -  with_poll=yes -  elif test "`uname -v`" -gt 4 ; then -  with_poll=yes -  else :; fi -  ;; +     esac   ])   AC_ARG_WITH(max-fd,    MY_DESCR([--with-max-fd=X],    [set how many filedescriptors can be used at once]),    [pike_cv_max_open_fd=$withval])   MY_AC_ARG_WITH(oob, MY_DESCR([--without-oob],    [disable out-of-band data handling (INVALID)]),   [],[    AC_MSG_ERROR([Support for out of band data is mandatory in Pike 7.5 and later.])   ])   MY_AC_ARG_WITH(compiler-trace, MY_DESCR([--with-compiler-trace],    [enable tracing of the compiler]),    [AC_DEFINE(YYDEBUG)]) - MY_AC_ARG_WITH(atomic-svalue, -  MY_DESCR([--with-atomic-svalue], -  [change the svalue representation to one]) - MY_DESCR([],[supporting atomic changes (EXPERIMENTAL)]), -  [ AC_DEFINE(ATOMIC_SVALUE) -  PIKE_MSG_WARN([Atomic svalues enabled.]) -  ]) - AC_ARG_WITH(security, MY_DESCR([--with-security], -  [enable internal pike security system]), -  [AC_MSG_ERROR([Pike security is deprecated. Use --with-deprecated-security to enable.])]) - AC_ARG_WITH(deprecated-security, MY_DESCR([--with-deprecated-security], -  [enable internal pike security system]), -  [AC_DEFINE(PIKE_SECURITY)]) - dnl Shared nodes has been disabled in an ugly way. To enable it you - dnl need to remove the line that sets the OPT_NOT_SHARED flag at the - dnl top of freeze_node in src/las.c. /mast - dnl AC_ARG_WITH(shared-nodes, - dnl MY_DESCR([--without-shared-nodes], - dnl [disable the SHARED_NODES mode of the optimizer]), - dnl [],[with_shared_nodes=yes]) - AC_ARG_WITH(typechecker, MY_DESCR([--with-typechecker=new|old],[])) - AC_ARG_WITH(type-checker, -  MY_DESCR([--with-type-checker=new|old], -  [select type-checker behaviour]), -  [],[with_type_checker="${with_typechecker:-new}"]) - if test "x$with_type_checker" = "xold"; then :; -  PIKE_MSG_WARN([Old type checker selected.]) - else -  AC_DEFINE(NEW_ARG_CHECK) - fi - AC_ARG_WITH(computed-goto, -  MY_DESCR([--with-computed-goto], -  [enable use of gcc-style computed goto (EXPERIMENTAL).]), -  [], [with_computed_goto=no]) +    AC_ARG_WITH(machine-code,    MY_DESCR([--without-machine-code],    [do not try to use of machine code on supported architectures.]),    [], [    case "x$pike_cv_sys_os" in    xOpenBSD*)    PIKE_MSG_WARN([OpenBSD detected, disabling machine code.    Use --with-machine-code to force usage of machine code support.])    with_machine_code="no"    ;;
pike.git/src/configure.in:1630:    if test "x${with_machine_code-}" = x; then    with_machine_code="yes"    fi       ])   AC_ARG_WITH(small-eval-instruction,    MY_DESCR([--with-small-eval-instruction],    [attempt to reduce the size of eval_instruction (EXPERIMENTAL).]), [    AC_DEFINE(PIKE_SMALL_EVAL_INSTRUCTION)    with_machine_code="no" -  with_computed_goto="no" +     ])      MY_AC_ARG_WITH(keypair-loop,    MY_DESCR([--with-keypair-loop],    [enable use of keypair mapping loop method.]),    [AC_DEFINE(PIKE_MAPPING_KEYPAIR_LOOP)],[],    [])    - MY_AC_ARG_WITH(portable-bytecode, -  MY_DESCR([--without-portable-bytecode], -  [disable portable bytecode support.]), -  [AC_DEFINE(PIKE_PORTABLE_BYTECODE)],[], -  [AC_DEFINE(PIKE_PORTABLE_BYTECODE)]) -  - MY_AC_ARG_WITH(lock, -  MY_DESCR([--without-lock], -  [enable experimental code for multicpu machines (EXPERIMENTAL).]), -  [],[AC_DEFINE(PIKE_RUN_UNLOCKED)]) -  - AC_ARG_WITH(pike-type, MY_DESCR([--without-pike-type], -  [disable struct pike_type (IGNORED).])) -  +    if test "x$with_pike_type" = "xno"; then    PIKE_MSG_WARN([Disabling of USE_PIKE_TYPE is no longer supported.])   fi    - AC_DEFINE(AUTO_BIGNUM) +    if test "x$with_gmp" = xno; then    AC_MSG_ERROR([The GMP library is required to compile Pike.])   fi    - dnl Pike currently breaks miserably if SHARED_NODES is not defined. - dnl Shared nodes are still disabled bluntly. (See note above.) - dnl if test "x$with_shared_nodes" != xno; then - dnl echo 'Enabling the SHARED_NODES mode of the optimizer.' -  AC_DEFINE(SHARED_NODES) - dnl else :; fi -  +    if test "x$with_poll" = "xyes"; then    AC_DEFINE(HAVE_AND_USE_POLL)   else :; fi      if test "x$with_valgrind" = "xno"; then    VALGRIND=""    VALGRINDARGS=""   else    VALGRIND="$with_valgrind"    # Make valgrind a bit silent by default.
pike.git/src/configure.in:1703:      # DTrace probes   if test "x$with_dtrace" = "xyes"; then    AC_PATH_PROG(dtrace_prog, dtrace, no)    if test "x$ac_cv_path_dtrace_prog" != "xno"; then    AC_DEFINE(USE_DTRACE)    DTRACE_REQUIREMENTS="dtrace_probes.h"    fi   fi    - if test "x$with_checker" = "xyes"; then -  AC_DEFINE(__CHECKER__) - else :; fi -  +    if test "x$with_relocatable_dumped_modules" = xyes; then    PIKE_MODULE_RELOC=1   else    PIKE_MODULE_RELOC=""   fi   AC_SUBST(PIKE_MODULE_RELOC)         #   # Allow --with(out)-debug to toggle both cdebug and rtldebug, but
pike.git/src/configure.in:1765:      #############################################################################      OSFLAGS=""   WARN=""   OPTIMIZE="${OPTFLAGS-}"      AC_ARG_ENABLE(pedantic, MY_DESCR([--enable-pedantic],    [enable -pedantic compilation]))    + AC_ARG_ENABLE(werror, MY_DESCR([--enable-werror], +  [enable -Werror compilation])) +  + AC_SYS_COMPILER_FLAG_REQUIREMENTS +    if test "$cflags_is_set" = "no"; then    if test "x$with_cdebug" = "xno" ; then    CFLAGS=`echo " $CFLAGS " | sed -e 's@ -g @ @g'`    else    :    fi       if test "x$enable_pedantic" = "xyes"; then    AC_SYS_COMPILER_FLAG(-pedantic,pedantic,WARN)    fi    -  +  if test "x$enable_werror" = "xyes"; then +  AC_SYS_COMPILER_FLAG(-Werror,error,WARN) +  fi    if test "x${GCC-}" = xyes ; then    # Do not use -Wall, since that produces a lot of warnings that are not    # really interresting (such as the warning for if( ... ) ... if(    # ... ) .... else    AC_SYS_COMPILER_FLAG(-W,W,WARN)    AC_SYS_COMPILER_FLAG(-Wall,Wall,WARN)    AC_SYS_COMPILER_FLAG(-Wno-unused,Wno_unused,WARN)    AC_SYS_COMPILER_FLAG(-Wcomment,Wcomment,WARN)    AC_SYS_COMPILER_FLAG(-Wformat,Wformat,WARN)    AC_SYS_COMPILER_FLAG(-Wformat-security,Wformat_security,WARN) -  AC_SYS_COMPILER_FLAG(-Wimplicit-function-declaration,Wimplicit_function_declaration,WARN) +  AC_SYS_COMPILER_FLAG(-Wimplicit-function-declaration,Wimplicit_function_declaration,CFLAGS)    AC_SYS_COMPILER_FLAG(-Wmultichar,Wmultichar,WARN) -  +  AC_SYS_COMPILER_FLAG(-Wunused-function,Wunused_function,WARN)    AC_SYS_COMPILER_FLAG(-Wswitch,Wswitch,WARN)       if test "x$with_copt" != xno; then    # gcc complains that it doesn't support this when compiling    # without optimizations.    AC_SYS_COMPILER_FLAG(-Wuninitialized,Wuninitialized,WARN)    fi    AC_SYS_COMPILER_FLAG(-Wpointer-arith,Wpointer_arith,WARN)    AC_SYS_COMPILER_FLAG(-Wchar-subscripts,Wchar_subscripts,WARN)    AC_SYS_COMPILER_FLAG(-Wno-long-long,Wno_long_long,WARN) -  AC_SYS_COMPILER_FLAG(-Wdeclaration-after-statement,Wdeclaration_after_statement,WARN) +        if test "x${with_static_linking-}" = "xyes" ; then    AC_SYS_COMPILER_FLAG(-static,link_static,CFLAGS)    else    :    fi    -  +  # NB: Both $CPP and $CC need to be configured to support +  # the same version of the C standard. Otherwise there +  # will be build failures on eg Solaris. +  AC_SYS_OS_COMPILER_FLAG(Solaris, -std=c99, std_c99, CPP) +  AC_SYS_OS_COMPILER_FLAG(Solaris, -std=c99, std_c99, CC) +  AC_SYS_COMPILER_FLAG(-std=c99, std_c99, CFLAGS)    if test "x$with_gcov" = "xyes"; then    # Support for gcov    AC_SYS_COMPILER_FLAG(-fprofile-arcs, fprofile_arcs, CFLAGS)    AC_SYS_COMPILER_FLAG(-ftest-coverage, ftest_coverage, CFLAGS)    else :; fi       if test "x$with_cdebug" = "xyes" ; then -  AC_SYS_COMPILER_FLAG(-ggdb3,ggdb3,CFLAGS) +  AC_SYS_COMPILER_FLAG(-ggdb,ggdb,CFLAGS) +  AC_SYS_COMPILER_FLAG(-fvar-tracking-assignments,vartracking,CFLAGS)    fi       ##    ## -fomit-frame-pointer does not work with egcs 1.1.1    ## /Hubbe 1998-12-20    ##    #if test "x$with_cdebug" = "xno" ; then    # AC_SYS_COMPILER_FLAG(-fomit-frame-pointer,fomit_frame_pointer,OPTIMIZE)    #else    # :    #fi    -  +  AC_SYS_COMPILER_FLAG(-funswitch-loops,unswitch_loops,CFLAGS)   ### Optimize for different SUN machines. If there is no working 'uname'   ### no extra optimization will be done, but nothing should break either.    case "`uname -m 2>/dev/null`" in    sun4c)    # The -msparclite option seems to generate assembler that /bin/as doesn't    # understand. /grubba 1998-07-17    # AC_SYS_COMPILER_FLAG(-msparclite,sparclite,CFLAGS)    ;;    sun4m)    AC_SYS_COMPILER_FLAG(-mv8,microsparc,CFLAGS)
pike.git/src/configure.in:1974:    AC_SYS_COMPILER_FLAG(-mtune=pentium,mtune_pentium,CFLAGS,[    AC_SYS_COMPILER_FLAG(-mcpu=pentium,mcpu_pentium,CFLAGS,[    AC_SYS_COMPILER_FLAG(-mpentium,pentium,CFLAGS,[    AC_SYS_COMPILER_FLAG(-m486,486,CFLAGS)    ])    ])    ])    ;;    esac    ;; -  ia64) -  case "`uname -p`" in -  [Ii]tanium*2) -  AC_SYS_COMPILER_FLAG(-mtune=itanium2,mtune_itanium2,CFLAGS) -  ;; -  [Ii]tanium) -  AC_SYS_COMPILER_FLAG(-mtune=itanium1,mtune_itanium1,CFLAGS) -  ;; -  esac -  ;; +     ppc64)    case "`uname -p 2>/dev/null`" in    Cell\ Broadband\ Engine*)    AC_SYS_COMPILER_FLAG(-mcpu=cell,mcpu_cell,CFLAGS)    ;;    esac    ;;    esac       # AIX    DO_IF_OS(AIX,    [    # Tell the linker to generate a large toc if needed -  # -  # This option is not needed on AIX 5L/ia64. -  if test "x`uname -p`" = "xia64"; then :; else +     AC_SYS_COMPILER_FLAG(-bbigtoc,bbigtoc,LDFLAGS)    AC_SYS_COMPILER_FLAG([-Wl,-bbigtoc],Wlbbigtoc,LDFLAGS) -  fi +     ])       DO_IF_OS(Darwin,    [    # aka MacOS X.    # Foundation framework needed by JavaVM.framework. The OS X 10.1 linker    # no longer includes indirect dependencies so we need to add them here.    AC_SYS_COMPILER_FLAG(-framework Foundation, framework_Foundation, LDFLAGS)    AC_SYS_COMPILER_FLAG(-framework System, framework_System, LDFLAGS)       # Needed for MakeDataExecutable which comes from CarbonLib    AC_SYS_COMPILER_FLAG(-framework CoreServices, framework_CoreServices, LDFLAGS)       # -flat_namespace only needed for linking with libMallocDebug    # AC_SYS_COMPILER_FLAG(-flat_namespace, flat_namespace, LDFLAGS)    -  # Take care of warning when linking with GMP libraries +  # Take care of warning when linking with GMP libraries (not on 64-bit) +  if test "x$with_abi" != "x64"; then    AC_SYS_COMPILER_FLAG(-read_only_relocs warning, ro_relocs_warn, LDFLAGS) -  +  fi       # Tune based on processor family    case "`machine`" in    i486)    # Darwin x86 runs on Intel Core Solo/Duo (based on Pentium M) and newer -  +  if test "x$with_abi" != "x64"; then    AC_SYS_COMPILER_FLAG(-march=pentium-m, arch_pentium_m, OPTIMIZE)    AC_SYS_COMPILER_FLAG(-msse3, opt_sse3, OPTIMIZE)    AC_SYS_COMPILER_FLAG(-mfpmath=sse, opt_mfpmath_sse, OPTIMIZE) -  +  fi       # no-pic required for machine code to work    AC_SYS_COMPILER_FLAG(-mdynamic-no-pic, dynamicnopic, OSFLAGS)       # Silence warnings about not working on systems older than the base    # version of the current machine. We'll convert e.g. 10.5.8 to 1050.    AC_SYS_COMPILER_FLAG(-DMAC_OS_X_VERSION_MIN_REQUIRED=`sw_vers -productVersion | tr -d . | cut -c -3`0, osxminversion, CFLAGS)    ;;    ppc970|ppc7450|ppc7400)    # Improve performance on G4 and G5. Note that if the build machine
pike.git/src/configure.in:2080:    # # No.    # # FIXME: Add support for use of chstk(1).    # PIKE_MSG_WARN([Could not find any way to enable executable stack.])    # ])    # ])    # ])    # ])    # fi    ])    -  elif test "x${TCC-}" = xyes ; then -  -  # Yikes! We're using the TenDRA compiler! -  -  # Make sure we can use the system headerfiles... -  # Already done by the CC test in aclocal.m4. -  # AC_SYS_COMPILER_FLAG(-Ysystem, ysystem, CPPFLAGS) -  -  # Use lenient ANSI compliance... -  #AC_SYS_COMPILER_FLAG(-Xa, xa, CFLAGS) -  -  # Find out where libtdf.a is hidden. -  AC_MSG_CHECKING(for machine dependant library directory) -  AC_CACHE_VAL(pike_cv_tcc_lib_path, -  [ -  pike_cv_tcc_lib_path="`${CC-cc} -dry conftest.c -i 2>&1 | sed -e '/tdfc/s/bin\/tdfc.*/lib\/sys/p' -ed| head -n 1`" -  if test -d "$pike_cv_tcc_lib_path/." ; then :; else -  # Failed. -  pike_cv_tcc_lib_path="no" -  fi -  ]) -  AC_MSG_RESULT($pike_cv_tcc_lib_path) -  -  if test "$pike_cv_tcc_lib_path" = "no" ; then :; else -  LDFLAGS="$LDFLAGS -L$pike_cv_tcc_lib_path" -  -  # This library is needed for 64bit support on 32bit machines/OS's. -  AC_CHECK_LIB(tdf, __TDFUnot) -  fi -  +     else       # Assume system compiler "cc".       if test "x${with_static_linking-}" = "xyes" ; then    DO_IF_OS(AIX,    [    AC_SYS_COMPILER_FLAG([-Wl,-bstatic],wl_link_static,CFLAGS)    LD_FALLBACK_FLAGS="${LD_FALLBACK_FLAGS} -bstatic"    ])       DO_IF_OS(OSF1,    [    AC_SYS_COMPILER_FLAG(-non_shared,non_shared,CFLAGS)    LD_FALLBACK_FLAGS="${LD_FALLBACK_FLAGS} -non_shared"    ])    -  DO_IF_OS(IRIX, -  [ -  AC_SYS_COMPILER_FLAG(-non_shared,non_shared,CFLAGS) -  LD_FALLBACK_FLAGS="${LD_FALLBACK_FLAGS} -B static" -  ]) -  +     # how do you link statically on HP-UX ?    else    :    fi      ### Non-gcc thingies. This should probably be enhanced...          if test "x$with_cdebug" = "xyes" ; then    # FIXME:
pike.git/src/configure.in:2225:    AC_SYS_COMPILER_FLAG(-qsuppress=$1,    translit([qsuppress_$1],[-:],[__]),    ifelse([$2],,WARN,[$2]))    ])    # 1506-010 (W) Macro XX invoked with a null argument for parameter Z.    AC_SYS_COMPILER_FLAG_QSUPPRESS(1506-010)    # 1506-219 (W) #line value 40140 too large.    AC_SYS_COMPILER_FLAG_QSUPPRESS(1506-219, CPPFLAGS)       # Tell the linker to generate a large toc if needed -  # -  # This option is not needed on AIX 5L/ia64. -  if test "x`uname -p`" = "xia64"; then :; else +     AC_SYS_COMPILER_FLAG(-bbigtoc,bbigtoc,LDFLAGS) -  fi +     ])       # HP-UX    DO_IF_OS(HP-UX,    [    AC_SYS_COMPILER_FLAG(-D__STDC_EXT__,stdc_ext,CFLAGS)    AC_SYS_COMPILER_FLAG([-Wp,-H50000],cpp_buffer_size,CFLAGS)    AC_SYS_COMPILER_FLAG(+ESlit,plus_ESlit,OPTIMIZE)    AC_SYS_COMPILER_FLAG(+Odataprefetch,plus_Odataprefetch,OPTIMIZE)    AC_SYS_COMPILER_FLAG(+Ofailsafe,plus_Ofailsafe,OPTIMIZE)
pike.git/src/configure.in:2269:       AC_SYS_COMPILER_FLAG(-host,host,OPTIMIZE)       # Flags that cause errors or change compiler behaviour    # must go in CFLAGS, they can not go in WARN    # /Hubbe    AC_SYS_COMPILER_FLAG(-std1,std1,CFLAGS)    AC_SYS_COMPILER_FLAG(-warnprotos,warnprotos,WARN)    ])    -  # IRIX -  DO_IF_OS(IRIX, -  [ -  # sopt disabled since it takes too long time on interpret.c (>45min on an O²) -  # AC_SYS_COMPILER_FLAG(-sopt,sopt,OPTIMIZE) -  -  # -n32 moved to smartlink so it will affect cc as well as linker -  # this way the user can override it by setting LDFLAGS and/or CFLAGS -  # AC_SYS_COMPILER_FLAG(-n32,n32,CFLAGS) -  AC_SYS_COMPILER_FLAG(-fullwarn,fullwarn,WARN) -  AC_SYS_COMPILER_FLAG(-woff 1209,woff_1209,WARN) -  AC_SYS_COMPILER_FLAG(-OPT:Olimit_opt=on,OPT_Olimit_opt_on,OPTIMIZE) -  if test x$with_cdebug = xyes ; then -  AC_SYS_COMPILER_FLAG(-g3,g3,CFLAGS) -  fi -  if test x$with_rtldebug = xyes ; then -  AC_SYS_COMPILER_FLAG(-trapuw,trapuw,WARN) -  fi -  ]) -  +     # Windows NT    DO_IF_OS(Windows_NT,    [    case "x$CC" in -  *rntecl*) -  # Some options used by ecl (Intel's IA64 compiler). -  -  # We want threads, and link libc statically. -  AC_SYS_COMPILER_FLAG(-MT,MT,LDFLAGS) -  -  # Interprocedural optimizations. -  # For some reason this seems to cause the error: -  # dynamic_buffer.obj : error LNK2001: unresolved external symbol "[Entry] ?1memcpy" (.?1memcpy) -  # AC_SYS_COMPILER_FLAG(-Qip,Qip,OPTIMIZE) -  -  # More warnings. -  AC_SYS_COMPILER_FLAG(-W3,W3,WARN) -  -  if test x$with_rtldebug = xyes ; then -  # Initialize auto variables to 0xcc. -  # (Only if optimizations are turned off with -Od). -  AC_SYS_COMPILER_FLAG(-GZ,GZ,WARN) -  fi -  ;; -  +     *rntcl*)    if test x$with_debug_crt = xyes; then    dynamic_crt_flag=-MDd    static_crt_flag=-MTd    else    dynamic_crt_flag=-MD    static_crt_flag=-MT    fi    # We want the full 32-bit address space (not the default 31-bit).    AC_SYS_COMPILER_FLAG(-LARGEADDRESSAWARE,LARGEADDRESSAWARE,LDFLAGS)
pike.git/src/configure.in:2414:    # CFLAGS has already been set by the user.    # Avoid adding anything that isn't essential.    DO_IF_OS(AIX,    [    # This one is needed to get the compiler to fail on errors,    # which is needed for several configure-tests.    AC_SYS_COMPILER_FLAG(-qhalt=e,qhalt_e,CFLAGS)    ])   fi    + # Define various *_SOURCE macros to enable later POSIX versions, etc. + # NB: As these affect the visibility/availability of symbols these + # must be defined before other probes. + PIKE_USE_SYSTEM_EXTENSIONS +    AC_MSG_CHECKING([crc32 intrinsics])   AC_CACHE_VAL(pike_cv_sys_have_crc_intrinsics,[    AC_TRY_LINK([    __attribute__((target("sse4"))) int c(int a) {    return __builtin_ia32_crc32si(0,a);    }],[    return c(0);    ],    [pike_cv_sys_have_crc_intrinsics=yes],    [pike_cv_sys_have_crc_intrinsics=no])
pike.git/src/configure.in:2435:   AC_MSG_RESULT($pike_cv_sys_have_crc_intrinsics)      if test "x$pike_cv_sys_have_crc_intrinsics" = "xyes" ; then    AC_DEFINE(HAVE_CRC32_INTRINSICS,[], [True if crc32 intrinsics are available])   fi      # test for several buildins      define(TEST_BUILTIN, [    AC_MSG_CHECKING(for $1) +  AC_CACHE_VAL(translit([pike_cv_builtin_$1], [A-Z], [a-z]), [    AC_TRY_LINK([   $3   ],[   unsigned long lint;   volatile int foo = 0;   foo = (int)$1($2);   return 0;   ], -  AC_MSG_RESULT(yes) +  translit([pike_cv_builtin_$1], [A-Z], [a-z])="yes", +  translit([pike_cv_builtin_$1], [A-Z], [a-z])="no") +  ]) +  AC_MSG_RESULT($translit([pike_cv_builtin_$1], [A-Z], [a-z])) +  if test "$translit([pike_cv_builtin_$1], [A-Z], [a-z])" = "yes"; then    AC_DEFINE(translit([HAS_$1], [a-z], [A-Z]), 1, [Whether $1 is available]) -  , -  AC_MSG_RESULT(no) -  ) +  fi   ])    - # GCC builtins +  + define(TEST_BUILTIN_VOID, [ +  AC_MSG_CHECKING(for $1) +  AC_CACHE_VAL(translit([pike_cv_builtin_$1], [A-Z], [a-z]), [ +  AC_TRY_LINK([ + $3 + ],[ + unsigned long lint; + $1($2); + return 0; + ], +  translit([pike_cv_builtin_$1], [A-Z], [a-z])="yes", +  translit([pike_cv_builtin_$1], [A-Z], [a-z])="no") +  ]) +  AC_MSG_RESULT($translit([pike_cv_builtin_$1], [A-Z], [a-z])) +  if test "$translit([pike_cv_builtin_$1], [A-Z], [a-z])" = "yes"; then +  AC_DEFINE(translit([HAS_$1], [a-z], [A-Z]), 1, [Whether $1 is available]) +  fi + ]) +  + # RDRND hardware random support + AC_SYS_COMPILER_FLAG(-mrdrnd, opt_rdrnd, OPTIMIZE) + TEST_BUILTIN(__builtin_ia32_rdrand64_step,[&foo]) +  + TEST_BUILTIN_VOID(__builtin_unreachable,[]) + TEST_BUILTIN_VOID(__builtin_assume,[]) + TEST_BUILTIN(__builtin_memset, [&foo,0,0]) + TEST_BUILTIN(__builtin_constant_p, 23)   TEST_BUILTIN(__builtin_clz, 23)   TEST_BUILTIN(__builtin_clzl, 23)   TEST_BUILTIN(__builtin_clzll, 23)   TEST_BUILTIN(__builtin_ctz, 23)   TEST_BUILTIN(__builtin_ctzl, 23)   TEST_BUILTIN(__builtin_ctzll, 23)   TEST_BUILTIN(__builtin_bswap32, 23)   TEST_BUILTIN(__builtin_bswap64, 23)   TEST_BUILTIN(__builtin_expect, [foo,0])   # ICC builtins
pike.git/src/configure.in:2641:   fi      primary_path=""   fallback_path=""      if test $ldflags_is_set = yes -a $cppflags_is_set = yes ; then :; else    for dd in \    `echo "${with_site_prefixes}"|sed -e 's/:/ /g'` \    `echo $exec_prefix | sed "s@^NONE@$prefix@g" | sed "s@^NONE@$with_root$ac_default_prefix@g"` \    $with_root/usr \ -  $with_root/usr/local $with_root/sw/local $with_root/sw \ +  $with_root/usr/local $with_root/sw/local $with_root/sw $with_root/opt/local \    $with_root/usr/gnu $with_root/opt/gnu $with_root/sw/gnu \    $with_root/usr/freeware $with_root/usr/pkg \    `echo $with_root/opt/gnome* | sort -r` \    `echo $with_root/usr/X* | sort -r` \    $with_root/usr/sfw $with_root/opt/sfw $with_root/opt/csw \    $with_root/usr/ccs    do    if test "$dd" = "/"; then continue; fi    #if test "$dd" = "/usr"; then continue; fi    AC_MSG_CHECKING($dd)
pike.git/src/configure.in:3002:    INSTALL="$ac_install_sh"    fi    ;;   esac      #############################################################################      AC_MSG_CHECKING(for yacc clone that handles %pure_parser)   AC_CACHE_VAL(pike_cv_prog_working_yacc,   [ - for YACC in pyacc byacc "bison -y" yacc "None"; do + for YACC in pyacc "byacc -s" "bison -y" yacc "None"; do    set dummy $YACC; ac_word=$2    has_it=no    IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"    for ac_dir in $PATH; do    test -z "$ac_dir" && ac_dir=.    if test -f $ac_dir/$ac_word; then    has_it="yes"    break    fi    done
pike.git/src/configure.in:3284:   ])   if test "$pike_cv_function_cast" = "yes"; then    AC_MSG_RESULT(yes)   else    AC_MSG_RESULT(no)    AC_DEFINE(NO_CAST_TO_FUN)   fi      #############################################################################    - AC_MSG_CHECKING(for isgraph) - AC_CACHE_VAL(pike_cv_func_isgraph, [ AC_TRY_LINK([ - #include <ctype.h> -  ], [ -  return(!isgraph('A')); -  ], pike_cv_func_isgraph=yes, pike_cv_func_isgraph=no) - ]) - AC_MSG_RESULT($pike_cv_func_isgraph) - if test "x$pike_cv_func_isgraph" = "xyes" ; then -  AC_DEFINE(HAVE_ISGRAPH) - else :; fi -  - ############################################################################# -  +    PIKE_AC_DEBUG      # Note: For function detection to work correctly with   # PIKE_FUNCS_NEED_DECLS (i.e. windows), it's necessary that   # AC_CHECK_HEADERS tests all potential header files for a function   # before AC_CHECK_FUNCS is used.      AC_HEADER_TIME   AC_HEADER_STDC   # Note: winsock2.h has to be included before winsock.h to avoid   # conflict. Thus check for winsock2.h before anything else in case   # winsock.h is included indirectly. - AC_CHECK_HEADERS(winsock2.h sys/rusage.h time.h sys/time.h sys/types.h \ -  unistd.h stdlib.h memory.h values.h string.h strings.h \ -  fcntl.h sys/filio.h sys/sockio.h crypt.h locale.h \ -  sys/select.h net/socket.h sys/param.h stdio.h wchar.h io.h \ -  sys/mman.h setjmp.h sys/user.h limits.h pthread.h \ -  crt/signal.h sys/id.h mach-o/dyld.h sys/ptrace.h \ + AC_CHECK_HEADERS(winsock2.h sys/rusage.h sys/time.h \ +  memory.h strings.h \ +  fcntl.h sys/filio.h sys/sockio.h crypt.h \ +  sys/select.h net/socket.h sys/param.h io.h \ +  sys/mman.h sys/user.h pthread.h \ +  sys/id.h mach-o/dyld.h sys/ptrace.h \    thread.h dlfcn.h dld.h dl.h sys/times.h sched.h \ -  sys/procfs.h sys/ioct.h sys/socket.h sys/uio.h fcntl.h \ +  sys/procfs.h sys/socket.h sys/uio.h fcntl.h \    malloc.h netinet/in.h sys/wait.h windows.h grp.h pwd.h \ -  passwd.h group.h winsock.h signal.h sys/file.h poll.h \ +  passwd.h group.h winsock.h sys/file.h poll.h \    sys/poll.h socket.h ieeefp.h fp_class.h floatingpoint.h \ -  float.h sys/priocntl.h sys/sched.h winbase.h errno.h \ -  stddef.h mmx.h asm/mmx.h sys/termio.h sys/termios.h \ +  sys/priocntl.h sys/sched.h winbase.h \ +  sys/termio.h termios.h sys/termios.h \    ws2tcpip.h valgrind/memcheck.h memcheck.h valgrind.h \    sys/prctl.h sys/ioctl.h mach/task_info.h mach/task.h \    mach/mach_init.h syscall.h sys/syscall.h devices/timer.h \    direct.h CoreServices/CoreServices.h execinfo.h \ -  mach/mach.h mach/thread_act.h mach/clock.h urcu.h,,,[ +  mach/mach.h mach/thread_act.h mach/clock.h \ +  machine/bswap.h sys/endian.h emmintrin.h,,,[   #if (defined(__WINNT__) || defined(__WIN32__)) && !defined(__NT__)   #define __NT__   #endif   #ifndef _LARGEFILE_SOURCE   # define _FILE_OFFSET_BITS 64   # define _LARGEFILE_SOURCE   #endif   #ifndef __STDC_EXT__   # define __STDC_EXT__   #endif /* !__STDC_EXT__ */
pike.git/src/configure.in:3364:   #endif   #if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x500)   #undef _WIN32_WINNT   #define _WIN32_WINNT 0x0500   #endif   #if !defined(NTDDI_VERSION) || (NTDDI_VERSION < 0x05000000)   #undef NTDDI_VERSION   #define NTDDI_VERSION 0x05000000   #endif   #endif /* __NT__ */ - #ifdef __amigaos__ - #define __USE_NETINET_IN_H - #endif +    #ifndef __BUILTIN_VA_ARG_INCR   #define __BUILTIN_VA_ARG_INCR 1   #endif /* !__BUILTIN_VA_ARG_INCR */   #ifdef HAVE_WINDOWS_H   #include <windows.h>   #undef HAVE_WINDOWS_H   #endif   /* Necessary to find sys/socket.h on MacOS X 10.3 */ - #if HAVE_SYS_TYPES_H +    # include <sys/types.h> - #endif +    /* Necessary to find ws2tcpip.h on WIN32. */   #ifdef HAVE_WINSOCK2_H   # include <winsock2.h>   #endif   /* Necessary to find sys/user.h on OpenBSD */   #ifdef HAVE_SYS_PARAM_H   # include <sys/param.h>   #endif   ])      # Setjmp.   #   # POSIX defines sigsetjmp().   # BSD defines both _setjmp() and setjmp(), where setjmp()   # saves the signal mask.   # SVID explicitly defines setjmp() not to save the signal mask. - AC_CHECK_FUNCS(sigsetjmp setjmp _setjmp siglongjmp longjmp _longjmp) + AC_CHECK_FUNCS(sigsetjmp _setjmp siglongjmp _longjmp)      # Make it possible to disable use of /dev/poll.   if test "x$with_devpoll" = "xno"; then :; else    AC_CHECK_HEADERS(sys/devpoll.h sys/event.h sys/epoll.h)    AC_CHECK_FUNCS(kqueue)    AC_CHECK_FRAMEWORK(CoreServices, CFRunLoopRunInMode)    AC_CHECK_FUNCS(CFRunLoopRunInMode)    AC_MSG_CHECKING(for poll device)    AC_CACHE_VAL(pike_cv_device_devpoll, [    pike_cv_poll_device="no"
pike.git/src/configure.in:3422:    AC_MSG_RESULT($pike_cv_poll_device)    if test "x$pike_cv_poll_device" = "xno"; then :; else    AC_DEFINE_UNQUOTED(PIKE_POLL_DEVICE, "$pike_cv_poll_device")    fi       if test "x$ac_cv_header_sys_epoll_h" = "xyes"; then    AC_MSG_CHECKING(if epoll is available)    AC_CACHE_VAL(pike_cv_epoll_works, [    if test "x$pike_cv_poll_device" = "xno"; then    AC_TRY_RUN([ - #ifdef HAVE_ERRNO_H +    #include <errno.h> - #endif +    #include <sys/epoll.h>   #ifdef __stub_epoll_create   /* We have a libc without the wrappers for epoll support.    */   #ifdef HAVE_SYSCALL_H   #include <syscall.h>   #elif defined(HAVE_SYS_SYSCALL_H)   #include <sys/syscall.h>   #endif /* HAVE_SYSCALL_H || HAVE_SYS_SYSCALL_H */   #ifndef __NR_epoll_create   /* Our libc does not even know the syscall numbers for the epoll syscalls.    */   #ifdef __i386__   #define __NR_epoll_create 254 - #elif defined(__ia64__) - #define __NR_epoll_create 1243 +    #elif defined(__x86_64__)   #define __NR_epoll_create 214   #else /* cpu types */   #error Syscall numbers for epoll_create et al not known on this architecture.   #endif /* cpu types */   #endif /* !defined(__NR_epoll_create) */      #if defined(_syscall1) && defined(_syscall4)   _syscall1(int, epoll_create, int, size);   #undef __stub_epoll_create
pike.git/src/configure.in:3485:    if test "x$pike_cv_epoll_works" = "xyes"; then    AC_DEFINE(WITH_EPOLL)    fi    fi   fi      # some Linux systems have a broken resource.h that compiles anyway /Mirar   AC_MSG_CHECKING([for sys/resource.h])   AC_CACHE_VAL(pike_cv_sys_resource_h, [    AC_TRY_COMPILE([ - #ifdef HAVE_SYS_TYPES_H +    #include <sys/types.h> - #endif /* HAVE_SYS_TYPES_H */ - #ifdef HAVE_TIME_H +    #include <time.h> - #endif /* HAVE_TIME_H */ +    #ifdef HAVE_SYS_TIME_H   #include <sys/time.h>   #endif /* HAVE_SYS_TIME_H */      #include <sys/resource.h>       ],[],    [pike_cv_sys_resource_h=yes], [pike_cv_sys_resource_h=no])   ])   if test "x$pike_cv_sys_resource_h" = "xyes"; then
pike.git/src/configure.in:3516:      AC_CHECK_SIZEOF(char *,4)   AC_CHECK_SIZEOF(int, 4)   AC_CHECK_SIZEOF(short, 2)   AC_CHECK_SIZEOF(float, 4)   AC_CHECK_SIZEOF(double, 8)   AC_CHECK_SIZEOF(long double, 0)   AC_CHECK_SIZEOF(long, 4)   AC_CHECK_SIZEOF(long long, 0)   AC_CHECK_SIZEOF(__int64, 0) - AC_CHECK_SIZEOF(time_t, 4) + AC_CHECK_SIZEOF(time_t, 4, [ + #ifndef _LARGEFILE_SOURCE + # define _FILE_OFFSET_BITS 64 + # define _TIME_BITS 64 + # define _LARGEFILE_SOURCE + #endif + #if TIME_WITH_SYS_TIME + # include <sys/time.h> + # include <time.h> + #else + # if HAVE_SYS_TIME_H + # include <sys/time.h> + # else + # include <time.h> + # endif + #endif + ])   AC_CHECK_SIZEOF(__int128)   AC_CHECK_SIZEOF(__int128_t)   AC_CHECK_SIZEOF(unsigned __int128)   AC_CHECK_SIZEOF(unsigned __int128_t)   AC_CHECK_SIZEOF(__uint128_t)      AC_MY_CHECK_TYPE(size_t,unsigned long)   AC_MY_CHECK_TYPE(ptrdiff_t,long)   AC_MY_CHECK_TYPE(off_t,long)   AC_MY_CHECK_TYPE(pid_t,int)   AC_MY_CHECK_TYPE(uid_t,int)   AC_MY_CHECK_TYPE(gid_t,int)   AC_MY_CHECK_TYPE(time_t,INT32)   AC_MY_CHECK_TYPE(pri_t, short)      AC_CHECK_SIZEOF(off_t, 4) -  + AC_CHECK_SIZEOF(off64_t, 0)    -  + if test "x$ac_cv_sizeof_off64_t" = "x0"; then :; else +  AC_MSG_CHECKING(if off64_t is a scalar integer) +  AC_TRY_COMPILE([ + #include <stdio.h> + #include <sys/types.h> +  + off64_t var = 17; + ],[],[ +  AC_MSG_RESULT(yes) +  ],[ +  AC_MSG_RESULT(no) +  AC_DEFINE(HAVE_NON_SCALAR_OFF64_T, 1, +  [Define if off64_t is a union or similar.]) +  ]) + fi +    AC_MSG_CHECKING(for sizeof anything)   if test "$ac_cv_sizeof_long_double" != 0 -a \    "x$with_long_double_precision" = xyes ; then    sizeof_float_type="$ac_cv_sizeof_long_double"   elif test "x$with_double_precision" = xyes ; then    sizeof_float_type="$ac_cv_sizeof_double"   else    sizeof_float_type="$ac_cv_sizeof_float"   fi   
pike.git/src/configure.in:3620:   AC_MSG_CHECKING(for INT_TYPE)      if test "x$with_long_long_int" = x -a \    "x$with_long_int" = x -a \    "x$with_int_int" = x -a \    "x$with_short_int" = x ; then    # Choose the longest available integer that fits in a pointer.   # if test $ac_cv_sizeof_long_long != 0 -a \   # $ac_cv_sizeof_long_long -le $ac_cv_sizeof_char_p ; then   # # This isn't a good idea on architectures where - # # sizeof(long int) < sizeof(LONGEST). + # # sizeof(long int) < sizeof(INT64).   # # This is due to the gmp mpz api's using long int instead of   # # mp_limb_{signed_}t.   # #with_long_long_int=yes   # :   # fi    if test "$ac_cv_sizeof_long" -le "$sizeof_anything" ; then    with_long_int=yes    else    with_int_int=yes    fi
pike.git/src/configure.in:3721:    AC_MSG_RESULT(yes)    # Apparently the libraries are stilled named *32...    # LIBS="-lkernel64 -lws2_64 -ladvapi64 $LIBS"    LIBS="-lshell32 -lkernel32 -lws2_32 -ladvapi32 $LIBS"    else    AC_MSG_RESULT(no)    LIBS="-lshell32 -lkernel32 -lws2_32 -ladvapi32 $LIBS"    fi   fi    - AC_CHECK_LIB(urcu, rcu_init_mb) -  +    AC_CHECK_LIB(nsl, gethostbyname)   AC_CHECK_LIB(rt, nanosleep)      AC_CHECK_LIB(dl, dlopen)   AC_CHECK_LIB(dld, shl_load)   AC_CHECK_LIB(dld, dld_link)         if test "${pike_cv_sys_os}" = "Linux"; then    if test "${ac_cv_lib_m_floor}" = "no"; then
pike.git/src/configure.in:3890:    ])    else    CFLAGS="$CFLAGS `${PTHREAD_CONFIG} --cflags`"    LIBS="${OLDLIBS} `${PTHREAD_CONFIG} --libs`"    LDFLAGS="$CFLAGS `${PTHREAD_CONFIG} --ldflags`"    fi    fi    ;;       xAIX*) -  if test "`uname -v`" -gt 4 ; then +     LIBS="${OLDLIBS} -lpthread" -  else -  LIBS="${OLDLIBS} -lpthreads -lc_r" -  fi +     ;;       xSolaris*)    # Some versions of Solaris 2.5.1 require linking with -lthread too.    LIBS="${OLDLIBS} -lpthread -lthread"    ;;       xDarwin*)    LIBS="${OLDLIBS}"   
pike.git/src/configure.in:4178:    AC_DEFINE(HAVE_PTHREAD_INITIAL_THREAD_BOS)    else    :    fi      ##########################################################################       # On Linux the threads don't inherit euid & egid from the main thread.    # FIXME: Add a real test here!    case "$pike_cv_sys_os" in -  Linux* | *kFreeBSD*) -  AC_DEFINE(HAVE_BROKEN_LINUX_THREAD_EUID) +  Linux*) +  # Since 2.6 it is not actually very likely to be broken, +  # since LinuxThreads is not used unless you patch the +  # kernel source and build your own kernel. +  AC_MSG_CHECKING([If threads are broken ...]); +  AC_TRY_RUN([ + #define _REENTRANT + #define _THREAD_SAFE + #define _MIT_POSIX_THREADS 1 +  + #include <pthread.h> +  + void *foo(void *bar) { return (void *)getpid(); } + pthread_mutexattr_t attr; + pthread_mutex_t tmp; + pthread_t gazonk; +  + int main() + { +  void *sune; + #ifdef HAVE_PTHREAD_INIT +  pthread_init(); + #endif /* HAVE_PTHREAD_INIT */ +  pthread_create(&gazonk,0,foo,0); +  pthread_join(gazonk,&sune); +  exit(((int)sune) != getpid()); + }],[ +  AC_MSG_RESULT(no) + ], + [ +  AC_MSG_RESULT(yes) +  AC_DEFINE(HAVE_BROKEN_LINUX_THREAD_EUID)], + [AC_MSG_RESULT(assuming no)])    ;; -  +  *kFreeBSD*) +  ;;    esac       AC_MSG_CHECKING([behaviour of the pthread_t type])    AC_CACHE_VAL(pike_cv_thread_t_type, [    AC_TRY_COMPILE([   #include <sys/types.h> - #ifdef STDC_HEADERS +    #include <stdlib.h>   #include <stddef.h> - #endif +    #include <pthread.h>   extern pthread_t bar;    ], [    void *foo = (void *)(ptrdiff_t)bar;    return 0;    ], [ pike_cv_thread_t_type=integer ], [ pike_cv_thread_t_type=pointer ])    ])    AC_MSG_RESULT($pike_cv_thread_t_type)       else
pike.git/src/configure.in:4384:    PTHREAD_MUTEX_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP, [   #ifdef HAVE_PTHREAD_H   #include <pthread.h>   #elif defined (HAVE_THREAD_H)   #include <thread.h>   #endif    ], PIKE_MUTEX_RECURSIVE)      ########################################################################    - # NOTE: The following test is hardcoded to fail when crosscompiling - # It also clobbers $LIBOBJS. -  - ifdef([m4_pattern_allow], [ -  # Handle the latest autoconf incompatibility... -  m4_pattern_allow(LIBOBJS) - ]) - OLD_LIBOBJS="${LIBOBJS}" -  - AC_FUNC_MEMCMP -  - # Old Autoconf set memcmp_clean while newer define memcmp_working - if test "x$ac_cv_func_memcmp_clean" = "xyes" -o \ -  "x$ac_cv_func_memcmp_working" = "xyes"; then -  AC_DEFINE(HAVE_MEMCMP) - fi -  - LIBOBJS="${OLD_LIBOBJS}" -  - ######################################################################## -  +    AC_FUNC_MMAP      if test "x$ac_cv_func_mmap_fixed_mapped" = "xyes"; then    # Mac OS X has an mmap that fails with ENODEV if we try    # to use it for mexec_alloc et al.    #    # NB: mmap with MAP_ANON does however work.    AC_MSG_CHECKING([if mmap can be used to allocate PROT_EXEC])    AC_CACHE_VAL(pike_cv_mmap_PROT_EXEC, [    AC_TRY_RUN([   #include <stdio.h> -  - #ifdef HAVE_SYS_TYPES_H +    #include <sys/types.h> - #endif +       #ifdef HAVE_SYS_MMAN_H   #include <sys/mman.h>   #endif      #ifdef HAVE_SYS_STAT_H   #include <sys/stat.h>   #endif      #ifdef HAVE_FCNTL_H
pike.git/src/configure.in:4472:    return 2;    }    return 0;    }    ], [    pike_cv_mmap_PROT_EXEC="yes"    ], [    pike_cv_mmap_PROT_EXEC="no"    ], [    AC_TRY_COMPILE([ - #ifdef HAVE_SYS_TYPES_H +    #include <sys/types.h> - #endif +       #ifdef HAVE_SYS_MMAN_H   #include <sys/mman.h>   #endif      #ifdef HAVE_SYS_STAT_H   #include <sys/stat.h>   #endif      #ifdef HAVE_FCNTL_H
pike.git/src/configure.in:4528:    ])    ])    ])    AC_MSG_RESULT($pike_cv_mmap_PROT_EXEC)    if test "x$pike_cv_mmap_PROT_EXEC" = "xyes"; then    AC_DEFINE(MEXEC_USES_MMAP)    fi   fi      AC_CHECK_FUNCS( \ -  _alldiv \ -  _aullshr \ +     _crypt \    poll \ -  bcopy \ -  bzero \ -  clock \ +  accept4 \    closefrom \    crypt \ -  fchmod \ +     fdwalk \ -  +  ftruncate64 \    gethrtime \    gethrvtime \ -  getenv \ +     getrlimit \    getrusage \    gettimeofday \ -  index \ +  getwd \ +  get_current_dir_name \    inet_ntop \ -  localtime \ -  gmtime \ +     gmtime_r \    gmtime_s \    strptime \    mallinfo \    mallopt \ -  memchr \ -  mktime \ -  perror \ +     ptrace \ -  recvmsg \ -  rindex \ -  sendmsg \ -  setbuf \ -  setlocale \ +     setrlimit \    setresuid \ -  setvbuf \ -  signal \ +     sigaction \ -  sigblock \ -  sigprocmask \ +     sigvec \    strcasecmp \ -  strnlen \ -  strncmp \ -  strchr \ -  strcspn \ -  strerror \ -  strtod \ -  strtol \ -  time \ +     times \ -  +  truncate64 \    tzset \ -  vfprintf \ -  vsprintf \ +     _snprintf \ -  snprintf \ -  vsnprintf \ +     wait3 \    wait4 \    waitpid \    munmap \    shl_load \    dld_link \    dld_get_func \    pipe \    strdup \ -  +  _strdup \    kill \    alarm \    fork1 \    flock \ -  lockf \ +  lockf lockf64 \    setuid getuid seteuid geteuid \ -  setgid getgid setegid getegid \ +  setgid getgid getegid \    getpwent getpwnam getpwuid \    getgrent getgrnam \ -  setsid setpgrp getpgrp setpgid getpgid \ +  setsid \    initgroups setgroups \    socketpair \ -  +  bswap16 \ +  __bswap16 \ +  bswap32 \ +  __bswap32 \ +  bswap64 \ +  __bswap64 \    fpclass \    fp_class_d \    isinf \ -  isnan \ +  _isnan \    iszero \ -  finite \ +  _finite \    signbit \    nan \    nice \    __priocntl \    sched_setscheduler \    setpriority \ -  usleep \ +     nanosleep \    sched_yield \    thr_yield \    prctl \    SetFilePointerEx \    sync_instruction_memory \    MakeDataExecutable \    _get_timezone \    _get_daylight \    localtime_s \
pike.git/src/configure.in:4796:    ], [    # FIXME: Should probably have a warning here.    # FIXME: Should we check if socklen_t exists, and use that?    pike_cv_accept_size_t=int    ])    fi   ])   AC_MSG_RESULT($pike_cv_accept_size_t *)   AC_DEFINE_UNQUOTED(ACCEPT_SIZE_T, $pike_cv_accept_size_t)    + AC_MSG_CHECKING(for working getcwd) + AC_CACHE_VAL(pike_cv_func_working_getcwd, + [ + # First try getcwd(NULL, 0). + # This is the working == yes case, and is true on glibc and win32. + AC_TRY_RUN([ + #ifndef _LARGEFILE_SOURCE + # define _FILE_OFFSET_BITS 64 + # define _LARGEFILE_SOURCE + # define _LARGEFILE64_SOURCE 1 + #endif + /* HPUX needs these too... */ + #ifndef __STDC_EXT__ + # define __STDC_EXT__ + #endif /* !__STDC_EXT__ */ +  + #ifndef POSIX_SOURCE + #define POSIX_SOURCE + #endif + #ifdef HAVE_UNISTD_H + #include <unistd.h> + #endif + #ifdef HAVE_DIRECT_H + #include <direct.h> + #endif /* HAVE_DIRECT_H */ + #ifdef HAVE_SYS_WAIT_H + #include <sys/wait.h> + #endif + #include <signal.h> +  + #include <stdlib.h> + #include <string.h> +  + #ifndef __NT__ + int sig_child(int arg) + { + #ifdef HAVE_WAITPID +  waitpid(-1,0,WNOHANG); + #else + #ifdef HAVE_WAIT3 +  wait3(0,WNOHANG,0); + #else + #ifdef HAVE_WAIT4 +  wait3(-1,0,WNOHANG,0); + #else +  +  /* Leave them hanging */ +  + #endif /* HAVE_WAIT4 */ + #endif /* HAVE_WAIT3 */ + #endif /* HAVE_WAITPID */ +  + #ifdef SIGNAL_ONESHOT +  signal(SIGCHLD, sig_child); + #endif + } +  + int sig_alarm() { exit(1); } + #endif /* !__NT__ */ +  + int main() + { +  char *tmp; + #ifndef __NT__ +  signal(SIGCHLD,sig_child); +  signal(SIGALRM,sig_alarm); +  alarm(4); + #endif /* !__NT__ */ +  tmp=getcwd(0,0); +  if(tmp && tmp[0] && (strlen(tmp) < 10000)) { +  free(tmp); +  exit(0); +  } +  exit(1); + } + ],pike_cv_func_working_getcwd=yes,[ + # The getcwd(NULL, 0) case failed. + # Retry with getcwd(NULL, 10000). + # This is the working == some case, and is true on Solaris. + AC_TRY_RUN([ + #ifndef _LARGEFILE_SOURCE + # define _FILE_OFFSET_BITS 64 + # define _LARGEFILE_SOURCE + # define _LARGEFILE64_SOURCE 1 + #endif + /* HPUX needs these too... */ + #ifndef __STDC_EXT__ + # define __STDC_EXT__ + #endif /* !__STDC_EXT__ */ +  + #ifndef POSIX_SOURCE + #define POSIX_SOURCE + #endif + #ifdef HAVE_UNISTD_H + #include <unistd.h> + #endif + #ifdef HAVE_DIRECT_H + #include <direct.h> + #endif /* HAVE_DIRECT_H */ + #ifdef HAVE_SYS_WAIT_H + #include <sys/wait.h> + #endif + #include <signal.h> +  + #include <stdlib.h> + #include <string.h> +  + #ifndef __NT__ + int sig_child(int arg) + { + #ifdef HAVE_WAITPID +  waitpid(-1,0,WNOHANG); + #else + #ifdef HAVE_WAIT3 +  wait3(0,WNOHANG,0); + #else + #ifdef HAVE_WAIT4 +  wait3(-1,0,WNOHANG,0); + #else +  +  /* Leave them hanging */ +  + #endif /* HAVE_WAIT4 */ + #endif /* HAVE_WAIT3 */ + #endif /* HAVE_WAITPID */ +  + #ifdef SIGNAL_ONESHOT +  signal(SIGCHLD, sig_child); + #endif + } +  + int sig_alarm() { exit(1); } + #endif /* !__NT__ */ +  + int main() + { +  char *tmp; + #ifndef __NT__ +  signal(SIGCHLD,sig_child); +  signal(SIGALRM,sig_alarm); +  alarm(4); + #endif /* !__NT__ */ +  tmp=getcwd(0,10000); +  if(tmp && tmp[0] && (strlen(tmp) < 10000)) { +  free(tmp); +  exit(0); +  } +  exit(1); + } + ],pike_cv_func_working_getcwd=some, +  pike_cv_func_working_getcwd=no, +  # NB: This should be unreachable. +  pike_cv_func_working_getcwd=no) + ], +  # Assume that getcwd(NULL, val) works. +  pike_cv_func_working_getcwd=some) + ]) +  + if test "$pike_cv_func_working_getcwd" = yes; then +  AC_MSG_RESULT(yes) +  AC_DEFINE(HAVE_WORKING_GETCWD, [1]) + elif test "$pike_cv_func_working_getcwd" = some; then +  AC_MSG_RESULT(some) +  AC_DEFINE(HAVE_WORKING_GETCWD, [0]) + else +  AC_MSG_RESULT(no) + fi +  + AC_MSG_CHECKING(if mkdir takes 1 or 2 arguments) + AC_CACHE_VAL(pike_cv_func_mkdir_args,[ + AC_TRY_COMPILE([ + #ifndef _LARGEFILE_SOURCE + # define _FILE_OFFSET_BITS 64 + # define _LARGEFILE_SOURCE + # define _LARGEFILE64_SOURCE 1 + #endif + /* HPUX needs these too... */ + #ifndef __STDC_EXT__ + # define __STDC_EXT__ + #endif /* !__STDC_EXT__ */ +  + #include <sys/types.h> + #ifdef HAVE_UNISTD_H + #include <unistd.h> + #endif + #ifdef HAVE_DIRECT_H + #include <direct.h> + #endif + ],[ +  mkdir("conftestdir",0666); + ],pike_cv_func_mkdir_args=2,pike_cv_func_mkdir_args=1) + ]) +  + AC_MSG_RESULT($pike_cv_func_mkdir_args) + AC_DEFINE_UNQUOTED(MKDIR_ARGS,$pike_cv_func_mkdir_args) +    if test x"$pike_cv_sys_os" = xWindows_NT ; then    AC_DEFINE(HAVE_LOADLIBRARY)    AC_DEFINE(HAVE_FREELIBRARY)    AC_DEFINE(HAVE_GETPROCADDRESS)    AC_DEFINE(DL_EXPORT, _dlspec(export))   else    AC_DEFINE(DL_EXPORT, [])   fi      if test $ac_cv_func_crypt$ac_cv_func__crypt = nono ; then
pike.git/src/configure.in:4820:    EXTRA_OBJS="${EXTRA_OBJS} crypt.o"    AC_DEFINE(HAVE_CRYPT)    AC_DEFINE(USE_CRYPT_C)    else    :    fi   ])      fi    -  +    ############################################################################# - MY_CHECK_FUNCTION(infnan, + # isfinite() is a macro on at least OS X and Linux which doesn't play well + # with AC_CHECK_FUNCS(). + MY_CHECK_FUNCTION(isfinite,   [ - #include <errno.h> +    #include <math.h>   ], [ -  double pinf = infnan(ERANGE); -  double ninf = infnan(-ERANGE); -  double nan = infnan(EDOM); -  exit(!(isinf(pinf)>0 && isinf(ninf)<0 && isnan(nan))); +  int t = isfinite(0.0); +  exit(0);   ])   ############################################################################# - MY_CHECK_FUNCTION(_isnan, - [ - #include <float.h> - ], [ -  exit(_isnan(0.0)); - ]) - ############################################################################# +       # FreeBSD 3.0 has broken F_SETFD when running with threads.      AC_MSG_CHECKING(whether F_SETFD exists and works)      AC_CACHE_VAL(pike_cv_broken_f_setfd, [    AC_TRY_RUN([ - #ifdef HAVE_SYS_TYPES_H +    #include <sys/types.h> - #endif /* HAVE_SYS_TYPES_H */ +    #include <sys/stat.h>   #ifdef HAVE_FCNTL_H   #include <fcntl.h>   #endif /* HAVE_FCNTL_H */   #include <stdio.h>   #ifndef FD_CLOEXEC   #define FD_CLOEXEC 1   #endif /* FD_CLOEXEC */   int main(int argc, char **argv)   {
pike.git/src/configure.in:4904:    timezone=_tz;   ],pike_cv_has_external_timezone=yes,pike_cv_has_external_timezone=no)   ])      if test "$pike_cv_has_external_timezone" = "yes"; then    AC_DEFINE(HAVE_EXTERNAL_TIMEZONE)   fi      AC_MSG_RESULT($pike_cv_has_external_timezone)    + AC_MSG_CHECKING(extern int altzone) +  + AC_CACHE_VAL(pike_cv_has_external_altzone,[ + AC_TRY_LINK([ + #include <time.h> + ],[ +  int _tz; +  _tz=altzone; +  altzone=_tz; + ],pike_cv_has_external_altzone=yes,pike_cv_has_external_altzone=no) + ]) +  + if test "$pike_cv_has_external_altzone" = "yes"; then +  AC_DEFINE(HAVE_EXTERNAL_ALTZONE) + fi +  + AC_MSG_RESULT($pike_cv_has_external_altzone) +    #############################################################################      # No test for this yet...   AC_DEFINE(HAVE_STRUCT_TIMEVAL)      #############################################################################      AC_MSG_CHECKING(struct sockaddr_in6)      AC_CACHE_VAL(pike_cv_has_struct_sockaddr_in6,[   AC_TRY_LINK([ - #ifdef HAVE_SYS_TYPES_H +    #include <sys/types.h> - #endif /* HAVE_SYS_TYPES_H */ +    #ifdef HAVE_UNISTD_H   #include <unistd.h>   #endif /* HAVE_UNISTD_H */   #ifdef HAVE_SYS_SOCKET_H   #include <sys/socket.h>   #endif /* HAVE_SYS_SOCKET_H */   #ifdef HAVE_NETINET_IN_H   #include <netinet/in.h>   #endif /* HAVE_NETINET_IN_H */   #ifdef HAVE_WINSOCK2_H
pike.git/src/configure.in:4968:    ])    if test $pike_cv_struct_mallinfo = yes; then    AC_DEFINE(HAVE_STRUCT_MALLINFO, 1,    [Defined if malloc.h contains a struct mallinfo.])    fi    AC_MSG_RESULT($pike_cv_struct_mallinfo)   fi      #############################################################################    - if test "x$ac_cv_func_strtol" = "xyes"; then -  AC_MSG_CHECKING(if strtol works for large hexadecimal constants) -  AC_CACHE_VAL(pike_cv_func_strtol_works, [ -  AC_TRY_RUN([ - #include <stdlib.h> - int main(int argc, char **argv) - { -  /* On some OS:s strtol() rounds this to 0x7fffffff. */ -  return(strtol("0xffffffff", NULL, 0) != 0xffffffff); - } -  ], pike_cv_func_strtol_works=yes, -  pike_cv_func_strtol_works=no, -  pike_cv_func_strtol_works=no) -  ]) -  AC_MSG_RESULT($pike_cv_func_strtol_works) -  if test "x$pike_cv_func_strtol_works" = "xyes"; then -  AC_DEFINE(HAVE_WORKING_STRTOL) -  else :; fi - else :; fi -  - ############################################################################# -  +    # if test "x$ac_cv_func_gethrtime" != "xyes"; then   # AC_MSG_CHECKING(if we can make gethrtime by the RDTSC instruction)   # AC_CACHE_VAL(pike_cv_own_gethrtime_rdtsc, [   # AC_TRY_RUN([   # #include <unistd.h>   # #include <stdio.h>   # #include <sys/time.h>   #   # static long long hrtime_rtsc_zero;   # static long long hrtime_rtsc_last;
pike.git/src/configure.in:5159:   fi      AC_MSG_RESULT($pike_cv_struct_tm_has___tm_gmtoff)      #############################################################################   # iovec      AC_MSG_CHECKING(if struct iovec is defined)   AC_CACHE_VAL(pike_cv_struct_iovec, [    AC_TRY_COMPILE([ - #ifdef HAVE_SYS_TYPES_H +    #include <sys/types.h> - #endif /* HAVE_SYS_TYPES_H */ +    #include <unistd.h>   #ifdef HAVE_SYS_UIO_H   #include <sys/uio.h>   #endif /* HAVE_SYS_UIO_H */    ],[    struct iovec iov;       iov.iov_base = (void *)0;    iov.iov_len = 0;    ], [ pike_cv_struct_iovec=yes ], [ pike_cv_struct_iovec=no ])
pike.git/src/configure.in:5187:    AC_MSG_RESULT(no)   fi      #############################################################################   # msghdr et al.      AC_MSG_CHECKING(if struct msghdr is defined)   AC_CACHE_VAL(pike_cv_struct_msghdr, [    AC_TRY_COMPILE([   /* Needed for <sys/socket.h> on FreeBSD 4.9. */ - #ifdef HAVE_SYS_TYPES_H +    #include <sys/types.h> - #endif +    #ifdef HAVE_SYS_SOCKET_H   #include <sys/socket.h>   #endif    ],[    struct msghdr msg;       msg.msg_iov = (void *)0;    msg.msg_iovlen = 0;    ], [ pike_cv_struct_msghdr=yes ], [ pike_cv_struct_msghdr=no ])   ])   if test "$pike_cv_struct_msghdr" = "yes"; then    AC_MSG_RESULT(yes)    AC_DEFINE(HAVE_STRUCT_MSGHDR)       AC_MSG_CHECKING(if struct msghdr has the member msg_control (XPG 4.2))    AC_CACHE_VAL(pike_cv_struct_msghdr_msg_control, [    AC_TRY_COMPILE([   /* Needed for <sys/socket.h> on FreeBSD 4.9. */ - #ifdef HAVE_SYS_TYPES_H +    #include <sys/types.h> - #endif +    #ifdef HAVE_SYS_SOCKET_H   #include <sys/socket.h>   #endif    ],[    struct msghdr msg;       msg.msg_control = (void *)0;    msg.msg_controllen = 0;    ], [ pike_cv_struct_msghdr_msg_control=yes ], [    pike_cv_struct_msghdr_msg_control=no ])
pike.git/src/configure.in:5233:    AC_MSG_RESULT(yes)    AC_DEFINE(HAVE_STRUCT_MSGHDR_MSG_CONTROL)    else    AC_MSG_RESULT(no)    fi       AC_MSG_CHECKING(if struct msghdr has the member msg_accrights (old BSD))    AC_CACHE_VAL(pike_cv_struct_msghdr_msg_accrights, [    AC_TRY_COMPILE([   /* Needed for <sys/socket.h> on FreeBSD 4.9. */ - #ifdef HAVE_SYS_TYPES_H +    #include <sys/types.h> - #endif +    #ifdef HAVE_SYS_SOCKET_H   #include <sys/socket.h>   #endif    ],[    struct msghdr msg;       msg.msg_accrights = (void *)0;    msg.msg_accrightslen = 0;    ], [ pike_cv_struct_msghdr_msg_accrights=yes ], [    pike_cv_struct_msghdr_msg_accrights=no ])
pike.git/src/configure.in:5310:      MY_CHECK_HEADERS(strchr,string.h unistd.h stdlib.h)   MY_CHECK_HEADERS(malloc,memory.h unistd.h stdlib.h)   MY_CHECK_HEADERS(getpeername,sys/socket.h sys/socketvar.h sys/socketio.h winsock.h winsock2.h ws2tcpip.h)   MY_CHECK_HEADERS(popen,stdio.h unistd.h)   MY_CHECK_HEADERS(getenv,unistd.h stdlib.h)   MY_CHECK_HEADERS(gethostname,unistd.h netdb.h winsock.h winsock2.h ws2tcpip.h)      AC_ALLOCA    - AC_C_CONST - AC_C_INLINE -  +    AC_CHECK_FUNCS(ualarm setitimer)      if test "x$ac_cv_func_ualarm" = "xyes"; then    AC_MSG_CHECKING(no of arguments to ualarm)    AC_CACHE_VAL(pike_cv_ualarm_takes_two_args,    [    AC_TRY_COMPILE([   #ifdef HAVE_UNISTD_H   #include <unistd.h>   #endif /* HAVE_UNISTD_H */
pike.git/src/configure.in:5343:   fi      if test "x$ac_cv_func_ptrace" = "xyes"; then    AC_MSG_CHECKING(no of arguments to ptrace)    AC_CACHE_VAL(pike_cv_ptrace_takes_four_args,    [    AC_TRY_COMPILE([   #ifdef HAVE_UNISTD_H   #include <unistd.h>   #endif /* HAVE_UNISTD_H */ - #ifdef HAVE_SYS_TYPES_H +    #include <sys/types.h> - #endif /* HAVE_SYS_TYPES_H */ +    #ifdef HAVE_SYS_PTRACE_H   #include <sys/ptrace.h>   #endif /* HAVE_SYS_PTRACE_H */    ],[    ptrace(0,0,0,0);    ],pike_cv_ptrace_takes_four_args=yes,pike_cv_ptrace_takes_four_args=no)    ])    if test "$pike_cv_ptrace_takes_four_args" = yes; then    AC_MSG_RESULT(4)    AC_DEFINE(PTRACE_TAKES_FOUR_ARGS)    else    AC_MSG_RESULT(5)    fi    AC_MSG_CHECKING([type of argument 3 (addr) to ptrace])    AC_CACHE_VAL(pike_cv_ptrace_addr_type, [    AC_TRY_COMPILE([   #ifdef HAVE_UNISTD_H   #include <unistd.h>   #endif /* HAVE_UNISTD_H */ - #ifdef HAVE_SYS_TYPES_H +    #include <sys/types.h> - #endif /* HAVE_SYS_TYPES_H */ +    #ifdef HAVE_SYS_PTRACE_H   #include <sys/ptrace.h>   #endif /* HAVE_SYS_PTRACE_H */    ],[   #ifdef PTRACE_TAKES_FOUR_ARGS    ptrace(0,0,(void *)0,0);   #else    ptrace(0,0,(void *)0,0,0);   #endif    ],pike_cv_ptrace_addr_type=pointer,pike_cv_ptrace_addr_type=integer)
pike.git/src/configure.in:5473:   pike_cv_hardware_byteorder=0   )   fi   ])      AC_MSG_RESULT($pike_cv_hardware_byteorder)   AC_DEFINE_UNQUOTED(PIKE_BYTEORDER,$pike_cv_hardware_byteorder)      ########################################################################    + AC_MSG_CHECKING(null is special) + AC_CACHE_VAL(pike_cv_null_is_special, + [ +  AC_TRY_RUN([ + #include <stdio.h> + union test { +  void * ptr; +  int val; + }; + int main() + { +  union test t; +  t.ptr = NULL; +  if( t.val == 0 ) return 1; +  return 0; + }], pike_cv_null_is_special=yes, pike_cv_null_is_special=no, pike_cv_null_is_special=no) + ]) + AC_MSG_RESULT($pike_cv_null_is_special) + if test "x$pike_cv_null_is_special" = xyes ; then +  AC_DEFINE(PIKE_NULL_IS_SPECIAL) + fi +  + ######################################################################## +    AC_MSG_CHECKING(pointer alignment)   AC_CACHE_VAL(pike_cv_hardware_alignment,   [    if test "x$enable_binary" = "xno"; then    pike_cv_hardware_alignment=4    else    AC_TRY_RUN([   #include <stdio.h>      struct x { char a; void *b; };
pike.git/src/configure.in:5523:   ## Check if we should default to --with-machine-code      #############################################################################      if test "$with_machine_code" = "no"; then :; else       AC_MSG_CHECKING(machine code architecture)    AC_CACHE_VAL(pike_cv_machine_code_arch, [    pike_cv_machine_code_arch=unknown    AC_TRY_COMPILE([ - #if defined(__GNUC__) + #ifdef __GNUC__   #if !defined(__i386__) && !defined(__i386)   #error Not ia32 architecture   #endif   #elif defined(_MSC_VER)   #if !defined(_M_IX86)   #error Not ia32 architecture   #endif   #else   #error Unsupported compiler   #endif    ], [], [    pike_cv_machine_code_arch=ia32    ], [])    AC_TRY_COMPILE([ - #if defined(__GNUC__) + #ifdef __GNUC__   #if !defined(__x86_64__) && !defined(__x86_64) && !defined(__amd64) && !defined(__amd64__)   #error Not amd64 architecture   #endif   #elif defined(_MSC_VER)   #if !defined(_M_X64)   #error Not amd64 architecture   #endif   #error Unsupported ABI.   #else   #error Unsupported compiler   #endif    ], [], [    pike_cv_machine_code_arch=amd64    ], [])    AC_TRY_COMPILE([ - #if defined(__GNUC__) + #ifdef __GNUC__   #if !defined(sparc) && !defined(__sparc__) && !defined(__sparc)   #error Not sparc architecture   #endif   #else   #error Unsupported compiler   #endif    ], [], [    pike_cv_machine_code_arch=sparc    ], [])    AC_TRY_COMPILE([ - #if defined(__GNUC__) + #ifdef __GNUC__   #if !defined(__ppc__) && !defined(__powerpc__) && !defined(_POWER)   #error Not ppc32 architecture   #endif   #else   #error Unsupported compiler   #endif    ], [], [    pike_cv_machine_code_arch=ppc32    ], [])    AC_TRY_COMPILE([ - #if defined(__GNUC__) + #ifdef __GNUC__   #if !defined(__PPC64__) && !defined(__powerpc64__)   #error Not ppc64 architecture   #endif   #else   #error Unsupported compiler   #endif    ], [], [    pike_cv_machine_code_arch=ppc64    ], []) -  +  AC_TRY_COMPILE([ + #if defined(__GNUC__) + #if !defined(__arm__) + #error Not arm32 architecture + #endif + #else + #error Unsupported compiler + #endif +  ], [], [ +  pike_cv_machine_code_arch=arm32 +  ], []) +  AC_TRY_COMPILE([ + #if defined(__GNUC__) + #if !defined(__aarch64__) + #error Not arm64 architecture + #endif + #else + #error Unsupported compiler + #endif +  ], [], [ +  pike_cv_machine_code_arch=arm64 +  ], []) +  AC_TRY_COMPILE([ + #if defined(__GNUC__) + #if !defined(__riscv) || __riscv_xlen != 32 + #error Not rv32 architecture + #endif + #else + #error Unsupported compiler + #endif +  ], [], [ +  pike_cv_machine_code_arch=rv32 +  ], []) +  AC_TRY_COMPILE([ + #if defined(__GNUC__) + #if !defined(__riscv) || __riscv_xlen != 64 + #error Not rv64 architecture + #endif + #else + #error Unsupported compiler + #endif +  ], [], [ +  pike_cv_machine_code_arch=rv64 +  ], [])    ])    AC_MSG_RESULT($pike_cv_machine_code_arch)    if test "x$pike_cv_machine_code_arch" = xunknown ; then    with_machine_code="no"    else    with_machine_code="yes"    AC_DEFINE(PIKE_USE_MACHINE_CODE)    fi   fi   
pike.git/src/configure.in:5657:   }   ],[pike_cv_have_rdtsc=yes],[pike_cv_have_rdtsc=no],[pike_cv_have_rdtsc="possibly not"])])   AC_MSG_RESULT($pike_cv_have_rdtsc)   if test "$pike_cv_have_rdtsc" = yes; then    AC_DEFINE(HAVE_RDTSC)   fi      ########################################################################   MY_CHECK_FUNCTION(fork,   [ - #ifdef HAVE_SYS_TYPES_H +    #include <sys/types.h> - #endif +    #ifdef HAVE_UNISTD_H   #include <unistd.h>   #endif   ], [    exit(fork()==-1);   ])      ########################################################################   MY_CHECK_FUNCTION(fpsetmask,   [
pike.git/src/configure.in:5733:   #endif      #ifdef HAVE_IEEEFP_H   #include <ieeefp.h>   #endif      ], [    int t = isunordered(0.0, 0.0);    exit(0);   ]) +    ########################################################################   MY_CHECK_FUNCTION(dlopen,   [   #include <dlfcn.h>   ], [    dlopen(0, 0);    exit(0);   ]) - ######################################################################## +     - MY_CHECK_FUNCTION(ldexp, - [ - #include <math.h> - ], [ -  double x; -  int p; -  -  for(x=0.0;x<2.0;x+=1.0/64.0) -  for(p=-6;p<7;p++) -  if(ldexp(x,p) != x*pow(2.0, (double)p)) -  exit(1); -  exit(0); - ]) -  +    ########################################################################   MY_CHECK_FUNCTION(rint,   [   #include <math.h>   #ifdef HAVE_FLOATINGPOINT_H   #include <floatingpoint.h>   #endif      #ifdef HAVE_IEEEFP_H   #include <ieeefp.h>
pike.git/src/configure.in:5781:   #ifndef FP_RN   #define FP_RN 0   #endif /* FP_RN */    fpsetround(FP_RN);   #endif /* HAVE_FPSETROUND */    if(rint(0.1) != 0.0 ||    rint(0.6) != 1.0) exit(1);    exit(0);   ])    - ######################################################################## -  - MY_CHECK_FUNCTION(frexp, - [ - #include <math.h> - ], [ -  double x,y; -  int p,e; -  -  x=frexp(1.0, &e); -  if(x * pow(2.0,(double)e) != 1.0) exit(3); -  -  p=-7; -  for(x=3.0/4.0*pow(2.0,(double)p);x<50000.0;x*=2.0,p++) -  { -  if(frexp(x, &e)!=3.0/4.0) exit(1); -  if(e!=p) exit(2); -  } -  exit(0); - ]) -  +    #############################################################################   MY_CHECK_FUNCTION(GetSystemTimeAsFileTime,   [   #ifdef HAVE_WINDOWS_H   #include <windows.h>   #endif   #ifdef HAVE_WINBASE_H   #include <winbase.h>   #endif   ], [
pike.git/src/configure.in:5832:   #ifdef HAVE_WINSOCK2_H   #include <winsock2.h>   #elif defined(HAVE_WINSOCK_H)   #include <winsock.h>   #endif   ], [    char buffer[10000];    char *x=gethostname(buffer,sizeof(buffer));    exit(0);   ]) - ############################################################################# - MY_CHECK_FUNCTION(strcoll, - [ - #include <string.h> - #include <locale.h> - ], [ -  setlocale(LC_CTYPE, "ISO-8859-1"); -  exit(strcoll("abc", "def") >= 0 || -  strcoll("ABC", "DEF") >= 0 || -  strcoll("ABC", "ABCD") >= 0 || -  strcoll("ABCD", "ABC") <= 0 || -  strcoll("*^#", "*^#") != 0 || -  strcoll("123", "456") >= 0); - ]) -  +    ########################################################################    - MY_CHECK_FUNCTION(memmem, - [ - #include <string.h> - char *a="foo bar gazonk"; - char *b="foo"; - char *c="bar"; - char *d="gazonk"; - ], [ -  if(((char *)memmem(b,strlen(b),a,strlen(a)))!=a || -  ((char *)memmem(c,strlen(c),a,strlen(a)))!=(a+4) || -  ((char *)memmem(d,strlen(d),a,strlen(a)))!=(a+8) || -  ((char *)memmem(d,0,a,strlen(a)))!=a || -  memmem(d,strlen(d)+1,a,strlen(a))!=0) -  exit(1); -  exit(0); - ]) -  - ######################################################################## -  - MY_CHECK_FUNCTION(memcpy, - [ - #include <string.h> - char *a="foo bar gazonk"; - char foo[23]; - ], [ -  memcpy(foo, a, strlen(a)+1); -  memcpy(foo, a+4, 3); -  if(strcmp(foo,"bar bar gazonk")) exit(1); -  exit(0); - ]) -  - ######################################################################## -  - MY_CHECK_FUNCTION(memset, - [ - #ifdef HAVE_STDDEF_H - #include <stddef.h> - #endif /* HAVE_STDDEF_H */ - #ifdef HAVE_SYS_TYPES_H - #include <sys/types.h> - #endif /* HAVE_SYS_TYPES_H */ - #ifdef HAVE_STDLIB_H - #include <stdlib.h> - #endif /* HAVE_STDLIB_H */ - #include <stdio.h> - #include <string.h> - char foo[23]; -  - struct pike_string { -  int refs; -  int size_shift; -  ptrdiff_t len; -  size_t hval; -  struct pike_string *next; -  char str[1]; - }; -  - struct pike_string *begin_shared_string(int len) - { -  return (struct pike_string *)malloc(sizeof(struct pike_string) + len); - } -  - ], [ -  int i; -  struct pike_string *str; -  ptrdiff_t len; -  -  memset(foo, 0, 11); -  memset(foo, 'a', 10); -  memset(foo, 'b', 5); -  fprintf(stderr, "1\n"); -  if(strcmp(foo,"bbbbbaaaaa")) { -  exit(1); -  } -  memset(foo, 0, 6); -  fprintf(stderr, "2\n"); -  for (i=6; i--;) { -  if (foo[i]) { -  exit(1); -  } -  } -  memset(foo+1, 1, 6); -  fprintf(stderr, "3\n"); -  for (i=6; i--;) { -  if (foo[i+1] != 1) { -  exit(1); -  } -  } -  memset(foo+2, 0, 6); -  fprintf(stderr, "4\n"); -  for (i=6; i--;) { -  if (foo[i+2]) { -  exit(1); -  } -  } -  memset(foo+3, 1, 6); -  fprintf(stderr, "5\n"); -  for (i=6; i--;) { -  if (foo[i+3] != 1) { -  exit(1); -  } -  } -  memset(foo+4, 0, 6); -  fprintf(stderr, "6\n"); -  for (i=6; i--;) { -  if (foo[i+4]) { -  exit(1); -  } -  } -  memset(foo+5, 1, 6); -  fprintf(stderr, "7\n"); -  for (i=6; i--;) { -  if (foo[i+5] != 1) { -  exit(1); -  } -  } -  memset(foo+6, 0, 6); -  fprintf(stderr, "8\n"); -  for (i=6; i--;) { -  if (foo[i+6]) { -  exit(1); -  } -  } -  memset(foo+7, 1, 6); -  fprintf(stderr, "9\n"); -  for (i=6; i--;) { -  if (foo[i+7] != 1) { -  exit(1); -  } -  } -  -  len = 6; -  str = begin_shared_string(len); -  -  fprintf(stderr, "string start\n"); -  if (!str) exit(1); -  -  for (i=len; i--;) { -  str->str[i] = ~0; -  } -  memset(str->str, 0, len); -  fprintf(stderr, "string end\n"); -  for (i = len; i--;) { -  if (str->str[i]) { -  exit(1); -  } -  } -  free(str); -  exit(0); - ]) -  - ######################################################################## -  - MY_CHECK_FUNCTION(memmove, - [ - #include <string.h> - char buf[100]; - ], [ -  strcpy(buf,"foo bar gazonk elefantsnabel."); -  if(strcmp(buf,"foo bar gazonk elefantsnabel.")) exit(1); -  memmove(buf,buf+1,7); -  if(strcmp(buf,"oo bar gazonk elefantsnabel.")) exit(1); -  memmove(buf+1,buf+1,9); -  if(strcmp(buf,"oo bar gazonk elefantsnabel.")) exit(1); -  memmove(buf+1,buf,11); -  if(strcmp(buf,"ooo bar gaznk elefantsnabel.")) exit(1); -  exit(0); - ]) -  - ######################################################################## -  - MY_CHECK_FUNCTION(isspace, - [ - #include <ctype.h> - ], [ -  if(isspace(' ')) exit(0); -  exit(1); - ]) -  - ############################################################################# -  +    AC_MSG_CHECKING(if we can declare environ)   AC_CACHE_VAL(pike_cv_declare_environ,[   AC_TRY_COMPILE([   #include <stdlib.h>   ],[    extern char **environ;    exit(0);   ],pike_cv_declare_environ=yes,pike_cv_declare_environ=no,pike_cv_declare_environ=yes)   ])   
pike.git/src/configure.in:6126:   pike_cv_method_extract_char=not_by_cast,   pike_cv_method_extract_char=not_by_cast)])      if test "$pike_cv_method_extract_char" = by_cast; then    AC_MSG_RESULT(by cast)    AC_DEFINE(EXTRACT_CHAR_BY_CAST)   else    AC_MSG_RESULT(not by cast)   fi    - ############################################################################# - AC_ARG_WITH(mmx, MY_DESCR([--without-mmx], [disable MMX usage]), [], [with_mmx=]) +     - mmx_reason=' (no mmx.h found)' - if test "x$with_mmx" = xno; then -  mmx_reason=' (--without-mmx)' -  unset pike_cv_sys_has_working_mmx - elif test "x$ac_cv_header_mmx_h" = xyes -o "x$ac_cv_header_asm_mmx_h" = xyes; then -  AC_MSG_CHECKING(for working MMX) -  mmx_reason=' (mmx.h found, but mmx operations failed)' -  -  AC_CACHE_VAL(pike_cv_sys_has_working_mmx, -  [ -  AC_TRY_LINK([ - #ifdef HAVE_MMX_H - #include <mmx.h> - #endif - #ifdef HAVE_ASM_MMX_H - #include <asm/mmx.h> - #endif -  ],[ -  { -  int try_use_mmx; -  char a[8]; -  movq_m2r( *a, mm0 ); -  paddb_r2r( mm0, mm0 ); -  movq_r2m( mm0, *a ); -  try_use_mmx=mmx_ok(); -  } -  ],pike_cv_sys_has_working_mmx=yes,pike_cv_sys_has_working_mmx=no) -  ]) -  -  AC_MSG_RESULT($pike_cv_sys_has_working_mmx) -  -  if test "x$pike_cv_sys_has_working_mmx" = xyes ; then -  AC_DEFINE(TRY_USE_MMX) -  mmx_reason='' -  else :; fi -  -  if test "x$with_copt" = "xno"; then -  PIKE_MSG_WARN([--without-mmx is advisable when using --without-copt.]) -  fi - else :; fi -  - ############################################################################# -  +    AC_MSG_CHECKING(if float conversion can cause SIGFPE)   AC_CACHE_VAL(pike_cv_sys_idiot_sigfpe,   [    AC_TRY_RUN([   #include <math.h>      #ifdef HAVE_FLOATINGPOINT_H   #include <floatingpoint.h>   #endif   
pike.git/src/configure.in:6471:    AC_MSG_RESULT(no)    AC_DEFINE(VOLATILE,)   fi      ########################################################################      AC_MSG_CHECKING(for sig_atomic_t)   AC_CACHE_VAL(ac_cv_type_sig_atomic_t,   [    AC_EGREP_CPP(sig_atomic_t, [ - #ifdef HAVE_SIGNAL_H +    #include <signal.h> - #endif +    #ifdef HAVE_CRT_SIGNAL_H   #include <crt/signal.h>   #endif   #include <sys/types.h> - #if STDC_HEADERS +    #include <stdlib.h>   #include <stddef.h> - #endif +     ], ac_cv_type_sig_atomic_t=yes, ac_cv_type_sig_atomic_t=no)   ])   AC_MSG_RESULT($ac_cv_type_sig_atomic_t)   if test x"$ac_cv_type_sig_atomic_t" = xno; then    AC_DEFINE(sig_atomic_t, int)   else    :   fi      AC_MSG_CHECKING(if signal handlers reset automatically)   AC_CACHE_VAL(pike_cv_sys_signal_oneshot,   [    AC_TRY_RUN([ - #ifdef HAVE_SIGNAL_H +    #include <signal.h> - #endif +    #include <sys/types.h> - #if STDC_HEADERS +    #include <stdlib.h>   #include <stddef.h> - #endif +    #ifdef HAVE_POLL_H   #include <poll.h>   #endif   VOLATILE sig_atomic_t sigrun[2]= { 0, 0 };   RETSIGTYPE func(int sig)   {    write(2, "func called\n", sizeof("func called\n") - sizeof(""));    sigrun[0] = -1;   }   
pike.git/src/configure.in:6571:   ])      if test "$pike_cv_sys_signal_oneshot" = yes; then    AC_MSG_RESULT(yes)    AC_DEFINE(SIGNAL_ONESHOT)   else    AC_MSG_RESULT(no)   fi      ######################################################################## -  - AC_MSG_CHECKING(available file descriptors) - AC_CACHE_VAL(pike_cv_max_open_fd, - [ -  if test "x$enable_binary" = "xno"; then -  pike_cv_max_open_fd=256 -  else -  AC_TRY_RUN([ - #include <stdio.h> - #ifdef HAVE_SYS_TIME_H - #include <sys/time.h> - #endif - #ifdef HAVE_SYS_RESOURCE_H - #include <sys/resource.h> - #endif - #ifdef HAVE_LIMITS_H - #include <limits.h> - #endif -  - #ifndef MAX_FD - #define MAX_FD 65536 - #endif -  - int main() - { -  FILE *f; -  long limit; -  - #if !defined(RLIMIT_NOFILE) && defined(RLIMIT_OFILE) - #define RLIMIT_NOFILE RLIMIT_OFILE - #endif -  - #if defined(HAVE_SETRLIMIT) && defined(RLIMIT_NOFILE) -  struct rlimit lim; -  -  if(getrlimit(RLIMIT_NOFILE,&lim)) -  { -  limit = MAX_FD; -  }else{ -  if(lim.rlim_max == RLIM_INFINITY) -  { -  limit = 1024 * 1024 * 2; /* Noone needs more :-) */ -  - #if defined(OPEN_MAX) -  /* On Darwin we can find a reasonable limit in OPEN_MAX which limits.h -  will include from sys/syslimits.h. */ -  limit = (OPEN_MAX < limit) ? OPEN_MAX : limit; - #endif -  }else{ -  limit=lim.rlim_max; -  if(limit > 1024 * 1024 * 2) limit= 1024 * 1024 * 2; -  } -  } - #else -  limit = MAX_FD; - #endif -  -  f=fopen("conftest.out.2","w"); -  fprintf(f,"%ld\n",(long)limit); -  fclose(f); -  -  return 0; - } -  ], -  pike_cv_max_open_fd=`cat conftest.out.2` -  , -  pike_cv_max_open_fd=256 -  , -  pike_cv_max_open_fd=256 -  ) -  fi - ]) - AC_MSG_RESULT($pike_cv_max_open_fd) - AC_DEFINE_UNQUOTED(MAX_OPEN_FILEDESCRIPTORS,$pike_cv_max_open_fd) -  +    AC_MSG_CHECKING(full availability of struct rusage members)   AC_CACHE_VAL(pike_cv_func_getrusage_full,   [    AC_TRY_LINK([   #include <sys/time.h>   #ifdef HAVE_SYS_RUSAGE_H   #include <sys/rusage.h>   #endif   #include <sys/resource.h>   #ifndef RUSAGE_SELF
pike.git/src/configure.in:6691:   ])      if test "$pike_cv_func_getrusage_full" = yes; then    AC_MSG_RESULT(all there)   else    AC_MSG_RESULT(getrusage is restricted)    AC_DEFINE(GETRUSAGE_RESTRICTED)   fi      ######################################################################## - # - # IRIX also has procfs support, but it it different, a separate test - # should be made. /Hubbe - # +       if test "$ac_cv_header_sys_procfs_h" = "yes"; then    AC_MSG_CHECKING(getrusage() through procfs)    AC_CACHE_VAL(pike_cv_getrusage_procfs, [    AC_TRY_COMPILE([   #ifndef _LARGEFILE_SOURCE   # define _FILE_OFFSET_BITS 64   # define _LARGEFILE_SOURCE   # define _LARGEFILE64_SOURCE 1   #endif
pike.git/src/configure.in:6779:   #   # __func__ is new in ISO C 9x   #   # It should expand to the name of the current function, and is   # useful for debug.      AC_MSG_CHECKING(if __func__ exists and works)   AC_CACHE_VAL(pike_cv_have_working___func__,   [    AC_TRY_RUN([ - #ifdef HAVE_STRING_H +    #include <string.h> - #else /* !HAVE_STRING_H */ - #ifdef HAVE_STRINGS_H - #include <strings.h> - #endif /* HAVE_STRIGNS_H */ - #endif /* HAVE_STRING_H */ +    int main()   {    exit(strcmp("main", __func__));   }    ], pike_cv_have_working___func__=yes, pike_cv_have_working___func__=no,    pike_cv_have_working___func__=no)   ])   AC_MSG_RESULT($pike_cv_have_working___func__)   if test "$pike_cv_have_working___func__" = yes; then    AC_DEFINE(HAVE_WORKING___FUNC__)   else :; fi      # gcc has __FUNCTION__ instead.      AC_MSG_CHECKING(if __FUNCTION__ exists and works)   AC_CACHE_VAL(pike_cv_have_working___FUNCTION__,   [    AC_TRY_RUN([ - #ifdef HAVE_STRING_H +    #include <string.h> - #else /* !HAVE_STRING_H */ - #ifdef HAVE_STRINGS_H - #include <strings.h> - #endif /* HAVE_STRIGNS_H */ - #endif /* HAVE_STRING_H */ +    int main()   {    exit(strcmp("main", __FUNCTION__));   }    ], pike_cv_have_working___FUNCTION__=yes,    pike_cv_have_working___FUNCTION__=no,    pike_cv_have_working___FUNCTION__=no)   ])   AC_MSG_RESULT($pike_cv_have_working___FUNCTION__)   if test "$pike_cv_have_working___FUNCTION__" = yes; then    AC_DEFINE(HAVE_WORKING___FUNCTION__)   else :; fi      #############################################################################    - if test "x$with_computed_goto" = "xyes"; then -  AC_MSG_CHECKING(for gcc-style computed goto) -  AC_CACHE_VAL(pike_cv_gcc_computed_goto, [ -  AC_TRY_COMPILE([], [ -  void *skip = &&label; -  -  goto *skip; -  -  return 1; -  -  label: -  return 0; -  ], [ pike_cv_gcc_computed_goto=yes ], [ pike_cv_gcc_computed_goto=no ]) -  ]) -  AC_MSG_RESULT($pike_cv_gcc_computed_goto) -  if test "x$pike_cv_gcc_computed_goto" = "xyes"; then -  PIKE_MSG_WARN([Enabling computed goto (EXPERIMENTAL).]) -  AC_DEFINE(HAVE_COMPUTED_GOTO) -  else :; fi - else :; fi -  - ############################################################################# -  +    if test "$with_machine_code" = "yes" ; then    AC_DEFINE_UNQUOTED(PIKE_BYTECODE_METHOD, [[PIKE_BYTECODE_`echo $pike_cv_machine_code_arch | tr '[a-z]' '[A-Z]'`]])    byte_code_format=$pike_cv_machine_code_arch - elif test "x$with_computed_goto" = "xyes" -a "x$pike_cv_gcc_computed_goto" = "xyes"; then -  AC_DEFINE(PIKE_BYTECODE_METHOD, PIKE_BYTECODE_GOTO) -  byte_code_format="computed goto" +    else    AC_DEFINE(PIKE_BYTECODE_METHOD, PIKE_BYTECODE_DEFAULT)    byte_code_format="virtual machine"   fi      #############################################################################      AC_MSG_CHECKING(for lc __declspec)   AC_CACHE_VAL(pike_cv_lc___declspec,   [
pike.git/src/configure.in:6903:   }    ], [    exit(0);    ], pike_cv_lc___declspec=yes, pike_cv_lc___declspec=no)    ])   ])      AC_MSG_RESULT($pike_cv_lc___declspec)   if test "$pike_cv_lc___declspec" = yes; then    AC_DEFINE(HAVE_DECLSPEC) - else + fi    -  # NOTE: Avoid using __attribute__ if __declspec is available. -  # This is a kludge to descrease the number of warnings -  # on ecc. -  +    AC_MSG_CHECKING(for gcc function attributes)   AC_CACHE_VAL(pike_cv_gcc_attributes,   [    AC_TRY_RUN([   #include <stdarg.h> -  + #include <stdio.h> + #include <stdlib.h>   void fatal(char *foo,...) __attribute__ ((noreturn,format (printf,1,2)));   int sqr(int x) __attribute__ ((const));      int sqr(int x) { return x*x; }      void fatal(char *foo,...)   {    va_list args; -  va_start(foo,args); +  va_start(args, foo);    printf(foo,args);    va_end(args);    exit(2);   }      int main() { exit(0); }       ], pike_cv_gcc_attributes=yes, pike_cv_gcc_attributes=no, [    echo $ac_n "crosscompiling... $ac_c" 1>&6    AC_TRY_LINK([   #include <stdarg.h> -  + #include <stdio.h> + #include <stdlib.h>   void fatal(char *foo,...) __attribute__ ((noreturn,format (printf,1,2)));   int sqr(int x) __attribute__ ((const));      int sqr(int x) { return x*x; }      void fatal(char *foo,...)   {    va_list args; -  va_start(foo,args); +  va_start(args, foo);    printf(foo,args);    va_end(args);    exit(2);   }    ], [    exit(0);    ], pike_cv_gcc_attributes=yes, pike_cv_gcc_attributes=no)    ])   ])      AC_MSG_RESULT($pike_cv_gcc_attributes)   if test "$pike_cv_gcc_attributes" = yes; then    AC_DEFINE(HAVE_FUNCTION_ATTRIBUTES)   fi - fi +       AC_MSG_CHECKING(if va_list is a state pointer)   AC_CACHE_VAL(pike_cv_va_list_is_state_ptr, [    AC_TRY_RUN([   #include <stdarg.h>      void bar(va_list args)   {    va_arg(args, int);   }
pike.git/src/configure.in:7033:    AC_DEFINE(HAVE_VA_COPY)   else    AC_MSG_RESULT(no)   fi      #############################################################################      AC_MSG_CHECKING(how to set things nonblocking)   AC_CACHE_VAL(pike_cv_sys_nonblock,   [ -  # Kludge needed for AmigaOS -  if test "$pike_cv_sys_os" = "AmigaOS" ; then -  pike_cv_sys_nonblock=USE_FCNTL_O_NONBLOCK -  else +     OCPPFLAGS="$CPPFLAGS"    pike_cv_sys_bad_signal_handling=""    pike_cv_sys_nonblock=UNKNOWN    # USE_FCNTL_O_NONBLOCK seems to be the most common, so let's start    # with it.    for method in USE_FCNTL_O_NONBLOCK USE_FCNTL_FNDELAY USE_FCNTL_O_NDELAY \    USE_IOCTL_FIONBIO USE_IOCTLSOCKET_FIONBIO; do    # Make sure we can run configure in a separate directory,    # and set the method to try.    CPPFLAGS="$OCPPFLAGS -D$method"
pike.git/src/configure.in:7089:    pike_cv_sys_bad_signal_handling=" (signal handling failed)"    pike_cv_sys_nonblock=$method    break;    ], [], [    :; # Not meaningful.    ])    done    else :; fi    # Restore CPPFLAGS    CPPFLAGS="$OCPPFLAGS" -  fi +    ])      if test "${pike_cv_sys_nonblock}" = "UNKNOWN"; then    AC_MSG_RESULT(none found)    if test "${pike_cv_sys_os}" = "Windows_NT"; then :; else    config_fail="No way to set nonblocking I/O"    fi   else    AC_MSG_RESULT($pike_cv_sys_nonblock$pike_cv_sys_bad_signal_handling)    AC_DEFINE_UNQUOTED($pike_cv_sys_nonblock)
pike.git/src/configure.in:7186:      FILE *output;   static int socketpair_fd = -1;   int my_socketpair(int family, int type, int protocol, int sv[2])   {    static struct sockaddr_in my_addr;    struct sockaddr_in addr,addr2;    int retries=0;    ACCEPT_SIZE_T len;    -  memset((char *)&addr,0,sizeof(struct sockaddr_in)); +  memset(&addr,0,sizeof(struct sockaddr_in));       if(socketpair_fd==-1)    {    if((socketpair_fd=socket(AF_INET, SOCK_STREAM, 0)) < 0) {    SP_DEBUG((stderr, "my_socketpair:socket() failed, errno:%d\n",    errno));    return -1;    }    -  memset((char *)&my_addr,0,sizeof(struct sockaddr_in)); +  memset(&my_addr,0,sizeof(struct sockaddr_in));    my_addr.sin_family=AF_INET;    my_addr.sin_addr.s_addr=htonl(INADDR_ANY);    my_addr.sin_port=htons(0);          if(bind(socketpair_fd, (struct sockaddr *)&my_addr, sizeof(addr)) < 0)    {    SP_DEBUG((stderr, "my_socketpair:bind() failed, errno:%d\n",    errno));    close(socketpair_fd);
pike.git/src/configure.in:7436:    pollset[X].events=POLLIN; \   }while(0);       INIT(0);    INIT(1);       ping(0);       while(1)    { -  if(!poll(pollset, 2, 10000)) +  if(!poll(pollset, 2, 500))    {    fprintf(output,sent>1 ? "WORKS_A_LITTLE\n" : "TIMEOUT\n");    exit(0);    }       for(e=0;e<2;e++)    {    if(pollset[e].revents & POLLERR) exit(1);    if(pollset[e].revents & POLLRDBAND) pong(e);    if(pollset[e].revents & POLLWRBAND) ping(e);
pike.git/src/configure.in:7490:    [%${res}d, %${res}x])   MY_AC_CHECK_PRINTF_INT_TYPE(off_t,    "" "t" "j" "l" "ll" "L", "",    PRINTOFFT,    [%${res}d, %${res}x])   MY_AC_CHECK_PRINTF_INT_TYPE(INT64,    "" "l" "ll" "I64" "L", "l",    PRINTINT64,    [%${res}d, %${res}x])    - ####################################################################### + #############################################################################    - AC_MSG_CHECKING(if union initialization works) - AC_CACHE_VAL(pike_cv_have_union_init, [ -  AC_TRY_RUN([ -  struct foo {int a;}; -  struct bar {char b[2];}; -  union anything -  { -  struct foo foo; -  struct bar bar; + AC_MSG_CHECKING(for C99-style designator struct initialization) + AC_CACHE_VAL(pike_cv_c99_struct_init, [ +  AC_TRY_COMPILE([ +  struct foo { +  int a; +  float b; +  } f = { .b = 0.5, .a = 1 }; +  ], [], [ pike_cv_c99_struct_init=yes +  ], [ pike_cv_c99_struct_init=no ]) + ]) + if test "x$pike_cv_c99_struct_init" = "xyes"; then +  AC_MSG_RESULT(yes) +  AC_DEFINE(HAVE_C99_STRUCT_INIT, [], [C99-style struct initialization supported.]) + else +  AC_MSG_RESULT(no) + fi +  + ############################################################################# +  + AC_MSG_CHECKING(for C99-style struct literal expressions) + AC_CACHE_VAL(pike_cv_c99_struct_literal_expr, [ +  AC_TRY_COMPILE([ +  struct foo { +  int a; +  float b;    }; -  struct svalue -  { -  unsigned type; -  unsigned subtype; -  union anything u; -  }; -  struct svalue my_svalue = {0, 0, {{4711}}}; -  int main() { -  return !(my_svalue.u.foo.a == 4711); -  } -  ], -  pike_cv_have_union_init=yes, -  pike_cv_have_union_init=no, -  pike_cv_have_union_init=no) +  ], [ +  struct foo f = ((struct foo){ 1, 0.5 }); +  ], [ pike_cv_c99_struct_literal_expr=yes +  ], [ pike_cv_c99_struct_literal_expr=no ])   ]) - AC_MSG_RESULT($pike_cv_have_union_init) - if test "$pike_cv_have_union_init" = yes; then -  AC_DEFINE(HAVE_UNION_INIT) + if test "x$pike_cv_c99_struct_literal_expr" = "xyes"; then +  AC_MSG_RESULT(yes) +  AC_DEFINE(HAVE_C99_STRUCT_LITERAL_EXPR, [], +  [C99-style struct literal expressions supported.]) + else +  AC_MSG_RESULT(no)   fi      #############################################################################      AC_MSG_CHECKING(if port.c works in CONFIGURE_TEST mode)   AC_CACHE_VAL(pike_cv_configure_test_port_c, [    AC_TRY_RUN([   #include <stdio.h>      #define CONFIGURE_TEST
pike.git/src/configure.in:7570:   AC_CACHE_VAL(pike_cv_func_gettimeofday_has_two_args,   [    AC_TRY_RUN([   #if TIME_WITH_SYS_TIME   # include <sys/time.h>   # include <time.h>   #else   # if HAVE_SYS_TIME_H   # include <sys/time.h>   # else - # if HAVE_TIME_H +    # include <time.h> - # endif +    # endif   #endif      #ifndef HAVE_STRUCT_TIMEVAL   struct timeval   {    long tv_sec;    long tv_usec;   };   #endif
pike.git/src/configure.in:7600:    ], [ pike_cv_func_gettimeofday_has_two_args=no    ], [    AC_TRY_LINK([   #if TIME_WITH_SYS_TIME   # include <sys/time.h>   # include <time.h>   #else   # if HAVE_SYS_TIME_H   # include <sys/time.h>   # else - # if HAVE_TIME_H +    # include <time.h> - # endif +    # endif   #endif      #ifndef HAVE_STRUCT_TIMEVAL   struct timeval   {    long tv_sec;    long tv_usec;   };   #endif
pike.git/src/configure.in:7674:    if test "x$pike_cv_func_gethrvtime_works" = xyes; then    AC_DEFINE(HAVE_WORKING_GETHRVTIME)    fi   fi      #######################################################################      AC_MSG_CHECKING(if rusage.c works in CONFIGURE_TEST mode)   AC_CACHE_VAL(pike_cv_configure_test_rusage_c, [    AC_TRY_RUN([ + #define POSIX_SOURCE 1 + #define _POSIX_C_SOURCE 200112L +    #include <stdio.h>      #define CONFIGURE_TEST   /* The following headers can cause problems in this mode, and they easily    get indirectly included unless we do this. */   #define STRALLOC_H   #define SVALUE_H   #define ARRAY_H      #include "port.c" /* Tested earlier, but might be required. */
pike.git/src/configure.in:7709:   rusage.c does not work in CONFIGURE_TEST mode. This is an internal   problem in Pike. configure aborted since further configure tests will   be unreliable.   ])    exit 1   fi      AC_MSG_CHECKING(if threads.c works in CONFIGURE_TEST mode)   AC_CACHE_VAL(pike_cv_configure_test_threads_c, [    AC_TRY_RUN([ + #define POSIX_SOURCE 1 + #define _POSIX_C_SOURCE 200112L +    #include <stdio.h>      #define CONFIGURE_TEST   /* The following headers can cause problems in this mode, and they easily    get indirectly included unless we do this. */   #define STRALLOC_H   #define SVALUE_H   #define ARRAY_H      #include "port.c" /* Tested earlier, but might be required. */
pike.git/src/configure.in:7746:   ])    exit 1   fi      #######################################################################      AC_MSG_CHECKING(if fallback cpu time is thread local)   AC_CACHE_VAL(pike_cv_thread_local_cpu_time, [    rm -f confdefs.out.2 2>/dev/null    AC_TRY_RUN([ + #define POSIX_SOURCE 1 + #define _POSIX_C_SOURCE 200112L +    #include <stdio.h>    - /* libc_r:fputs on AIX 4.2 is broken. */ - #define FPUTS(S, F) fwrite(S, sizeof(S)-sizeof(""), 1, F) -  +    #ifdef PIKE_THREADS      #define CONFIGURE_TEST   #define CONFIGURE_TEST_FALLBACK_GCT   /* The following headers can cause problems in this mode, and they easily    get indirectly included unless we do this. */   #define STRALLOC_H   #define SVALUE_H   #define ARRAY_H   
pike.git/src/configure.in:7774:      PIKE_MUTEX_T m;   COND_T c;      cpu_time_t work_time, wait_time;      TH_RETURN_TYPE work_thread (void *dummy)   {    struct timeval rt_start, rt;    cpu_time_t start; -  FPUTS("work_thread waiting.\n", stderr); +  fputs("work_thread waiting.\n", stderr);    mt_lock (&m); -  FPUTS("work_thread start.\n", stderr); +  fputs("work_thread start.\n", stderr);    GETTIMEOFDAY (&rt_start);    start = get_cpu_time();    do {    cpu_time_t t = get_cpu_time();    GETTIMEOFDAY (&rt);    if (t == (cpu_time_t) -1) {    work_time = t;    break;    }    work_time = t - start;    } while (work_time < (CPU_TIME_TICKS / 10) && rt.tv_sec <= rt_start.tv_sec + 1); -  FPUTS("work_thread releasing main.\n", stderr); +  fputs("work_thread releasing main.\n", stderr);    co_signal (&c);    mt_unlock (&m); -  FPUTS("work_thread done.\n", stderr); +  fputs("work_thread done.\n", stderr);    return 0;   }      int main()   {    cpu_time_t start;    THREAD_T worker;    FILE *res = fopen ("confdefs.out.2", "w"); /* weird name to circumvent configure cleanups */    if (!res) return 2;       init_rusage();    really_low_th_init();       mt_init (&m);    co_init (&c);       mt_lock (&m); -  FPUTS("Creating work_thread.\n", stderr); +  fputs("Creating work_thread.\n", stderr);    if (th_create (&worker, work_thread, NULL)) { -  FPUTS("unknown (failed to create thread)", res); +  fputs("unknown (failed to create thread)", res);    fclose (res);    return 3;    }       start = get_cpu_time();    co_wait (&c, &m);    wait_time = get_cpu_time() - start;    if (start == (cpu_time_t) -1 || work_time == (cpu_time_t) -1) { -  FPUTS("unknown (get_cpu_time does not work)", res); +  fputs("unknown (get_cpu_time does not work)", res);    fclose (res);    return 4;    }    if (work_time < (CPU_TIME_TICKS / 10)) {    fprintf (res, "unknown (get_cpu_time does not work - loop took only %ld ms)",    (long) (work_time / (CPU_TIME_TICKS / 1000)));    fclose (res);    return 5;    }       if (work_time > wait_time)    return 0; /* It is thread local. */    else { -  FPUTS("no", res); +  fputs("no", res);    fclose (res);    return 1; /* It is not thread local. */    }   }      #else   int main()   {    FILE *res = fopen ("confdefs.out.2", "w"); /* weird name to circumvent configure cleanups */    if (!res) return 6; -  FPUTS("no", res); +  fputs("no", res);    fclose (res);    return 1;   }   #endif    ], [    pike_cv_thread_local_cpu_time=yes    ], [    if test -f confdefs.out.2 && test "x`cat confdefs.out.2`" != x; then    pike_cv_thread_local_cpu_time=`cat confdefs.out.2`    else
pike.git/src/configure.in:7933:   AC_MSG_CHECKING(SO)   if test -z "$SO"   then    case "$pike_cv_sys_os" in    hp*|HP*) SO=sl;;    *) SO=so;;    esac   fi   AC_MSG_RESULT($SO)   # LDSHARED is the ld *command* used to create shared library - # -- "ld" on SunOS 4.x.x, "ld -G" on SunOS 5.x, "ld -shared" on IRIX 5 + # -- "ld" on SunOS 4.x.x, "ld -G" on SunOS 5.x   AC_MSG_CHECKING(LDSHARED)   if test -z "$LDSHARED" ; then -  +  ldshared_is_cc=yes    case "$pike_cv_sys_os" in    AIX*) -  if test "$GCC" = yes ; then -  if test "`uname -r`" -ge 2 -a "`uname -v`" -eq 4 ; then -  LDSHARED="ld -G -bexpall" -  elif test "`uname -v`" -gt 4 ; then -  # AIX 5L+ +     LDSHARED="ld -G" -  else -  # AIX 4.1 and earlier don't have/have unreliable -  # handling of dlopen et al. -  # -  # Even AIX 4.2.1 has buggy dlopen -- NEVER attempt -  # to dlopen a file that hasn't been linked with -G. -  pike_cv_sys_dynamic_loading=no -  LDSHARED="ld" -  fi -  elif test "`uname -r`" -ge 3 -a "`uname -v`" -eq 4 ; then -  LDSHARED="ld -G -bexpall" -  elif test "`uname -v`" -gt 4 ; then -  # AIX 5L+ -  LDSHARED="ld -G" -  else -  # AIX 4.1 and earlier don't have/have unreliable -  # handling of dlopen et al. -  # -  # Even AIX 4.2.1 has buggy dlopen -- NEVER attempt -  # to dlopen a file that hasn't been linked with -G. -  pike_cv_sys_dynamic_loading=no -  LDSHARED="ld" -  fi +  ldshared_is_cc=no    ;;    Darwin*)    if test "$pike_cv_osx_twolevel_namespace" = yes ; then    # 10.3 or newer take advantage of two-level namespaces to avoid    # symbol collisions for e.g. libjpeg which is referenced from both    # _Image_JPEG and _Image_TIFF. It requires MACOSX_DEPLOYMENT_TARGET    # which is initialized in smartlink to 10.3.    LDSHARED="$REALCC $CFLAGS -bundle -bind_at_load -undefined dynamic_lookup"    else    # Mac OS X prior to 10.3 need -flat_namespace to support dynamic modules    LDSHARED="$REALCC $CFLAGS -bundle -bind_at_load -flat_namespace -undefined suppress"    fi    ;; -  IRIX*) -  if test "$GCC" = yes ; then -  # egcs defaults to building -n32 objects -  LDSHARED="ld -shared -n32" -  else -  LDSHARED="ld -shared" -  fi -  # -woff isn't understood by ld on Irix 5. -  if test "`uname -r`" -ge 6 ; then -  LDSHARED="$LDSHARED -woff 84,85,134" -  else :; fi +  SunOS*) +  LDSHARED="ld" +  ldshared_is_cc=no    ;; -  SunOS*) LDSHARED="ld";; -  Solaris) LDSHARED="/usr/ccs/bin/ld -G";; -  hp*|HP*) LDSHARED="ld -b";; -  OSF*) LDSHARED="ld -expect_unresolved '*' -shared -msym -O3";; -  DYNIX/ptx*) LDSHARED="ld -G";; +  Solaris) +  LDSHARED="/usr/ccs/bin/ld -G" +  ldshared_is_cc=no +  ;; +  hp*|HP*) +  LDSHARED="ld -b" +  ldshared_is_cc=no +  ;; +  OSF*) +  LDSHARED="ld -expect_unresolved '*' -shared -msym -O3" +  ldshared_is_cc=no +  ;; +  DYNIX/ptx*) +  LDSHARED="ld -G" +  ldshared_is_cc=no +  ;;    next*) LDSHARED="$REALCC $CFLAGS -nostdlib -r";;    Linux*) LDSHARED="$REALCC -shared";;    GNU/kFreeBSD*) LDSHARED="$REALCC -shared";;    GNU*) LDSHARED="$REALCC -Wl,-Bshareable";;    FreeBSD*) LDSHARED="$REALCC -Wl,-Bshareable";;    NetBSD*) LDSHARED="$REALCC -Wl,-Bshareable";;    OpenBSD*) LDSHARED="$REALCC -Wl,-Bshareable";;    BSD/OS*)    case "`uname -r`" in    [4-9].*) LDSHARED="$REALCC -shared";; -  *) LDSHARED="shlicc -r";; +  *) LDSHARED="shlicc -r" +  ldshared_is_cc=no +  ;;    esac    ;;    SCO_SV*) LDSHARED="$REALCC -G -KPIC -Wl,-Bexport";; -  UNIX_SV*) LDSHARED="ld -G";; +  UNIX_SV*) +  LDSHARED="ld -G" +  ldshared_is_cc=no +  ;;    UnixWare*|OpenUNIX*)    if test "$GCC" = yes ; then    LDSHARED="$REALCC -G -fPIC"    else    LDSHARED="$REALCC -G -KPIC -Wl,-Bexport"    fi    ;;    Windows_NT*|NT*)    if test x$with_dynamic_modules != xno; then -  if test x$enable_dll = xno; then -  LDSHARED="pntld" -  else +     # It's important that we use $(CC) unexpanded here so that any    # -MD/-MDd flags also gets passed to the linker.    LDSHARED='$(CC) -shared'    LDSHARED_BASE_REQS=pike.lib    LDSHARED_MODULE_ARGS="-l`pwd`/pike"    LDSHARED_MODULE_REQS="`pwd`/pike.lib" -  fi +     LDSHARED_MODULE_ARGS="$LDSHARED_MODULE_ARGS -pdb:\$\$modname.pdb"    fi    ;; -  *) LDSHARED="ld";; +  *) +  LDSHARED="ld" +  ldshared_is_cc=no +  ;;    esac -  +  if test "$GCC:$ldshared_is_cc" = "yes:yes" ; then +  # On some architectures gcc attempts to link the shared object with +  # the standard startup files (crt0.o et al), which may fail due to +  # relocation errors. The flag -nostartfiles exists in gcc since at +  # least version 3.3.2 from 2003, so this should be safe. +  LDSHARED="$LDSHARED -nostartfiles"    fi -  + fi   AC_MSG_RESULT($LDSHARED)      # CCSHARED are the C *flags* used to create objects to go into a shared   # library -- this is only needed for a few systems   AC_MSG_CHECKING(CCSHARED)   AC_CACHE_VAL(pike_cv_sys_ccshared,[    if test -z "$CCSHARED" ; then    if test "$GCC" = yes ; then    case "$pike_cv_sys_os" in    BSD/OS*)
pike.git/src/configure.in:8073:    AC_SYS_COMPILER_FLAG(-fPIC, fPIC, CCSHARED, [    AC_SYS_COMPILER_FLAG(-fpic, fpic, CCSHARED)    ])    ;;    esac    else    case "$pike_cv_sys_os" in    Darwin*)    CCSHARED="-fPIC"    ;; -  IRIX*) -  AC_SYS_COMPILER_FLAG(-share,cc_shared,CCSHARED) -  ;; +     hp*|HP*) CCSHARED="+z"; ;;    FreeBSD*) CCSHARED="-fpic";;    SCO_SV*) CCSHARED="-KPIC -dy -Bdynamic";;    UnixWare*|OpenUNIX*) CCSHARED="-KPIC -dy -Bdynamic";;    Solaris*)    CCSHARED="-KPIC -Bdynamic"    # Note: The Image module fails with    # Failed to load library: ld.so.1: pike: fatal:    # relocation error: R_AMD64_PC32: file Image.so:    # symbol really_free_svalue: value 0x28001ca5b2d does not fit
pike.git/src/configure.in:8113:      AC_CACHE_VAL(pike_cv_sys_linkforshared,[   # LINKFORSHARED are the flags passed to the $(CC) command that links   # the pike executable -- this is only needed for a few systems   if test -z "$LINKFORSHARED"   then    LINKFORSHARED=""    if test "$GCC" = yes ; then    case "$pike_cv_sys_os" in    AIX*) -  if test "`uname -v`" -gt 4 ; then +     # This is probably wrong, but I don't have a man page for ld yet.    LINKFORSHARED="" -  else -  LINKFORSHARED="-Wl,-bexpall -Wl,-brtl" -  fi +     ;;    Darwin*) LINKFORSHARED="-dynamic";;    hp*|HP*) LINKFORSHARED="-Wl,-E";;    Linux*) LINKFORSHARED="-rdynamic";;    BSD/OS*)    case "`uname -r`" in    4.*) LINKFORSHARED="-rdynamic";;    esac    ;;    BSD/OS*)
pike.git/src/configure.in:8154:    0   #else    1   #endif   );}    ],LINKFORSHARED=-rdynamic)    ;;    esac    else    case "$pike_cv_sys_os" in -  AIX*) -  if test "`uname -v`" -gt 4 ; then -  LINKFORSHARED="-Bexport" -  else -  LINKFORSHARED="-Wl,-bexpall -Wl,-brtl" -  fi -  ;; +  AIX*) LINKFORSHARED="-Bexport";;    Darwin*) LINKFORSHARED="-dynamic";;    hp*|HP*) LINKFORSHARED="-Wl,-E";;    Linux*) LINKFORSHARED="-rdynamic";;    GNU*) LINKFORSHARED="-rdynamic";;    next*) LINKFORSHARED="-u libsys_s";;    SCO_SV*) LINKFORSHARED="-Bdynamic -dy -Wl,-Bexport";;    # What about UNIX_SV?    UnixWare*|OpenUNIX*) LINKFORSHARED="-Bdynamic -dy -Wl,-Bexport";; -  Windows_NT*|NT*) -  test x$enable_dll != xyes && LINKFORSHARED="-rdynamic";; +        FreeBSD*)    AC_TRY_RUN([int main(){exit(   #ifdef __ELF__    0   #else    1   #endif   );}    ],LINKFORSHARED=-rdynamic)
pike.git/src/configure.in:8274:    if test x$pike_cv_sys_dynamic_loading = xno ; then    with_dynamic_modules=no    else    with_dynamic_modules=yes    fi   fi      crt_type=static      if test x$with_dynamic_modules = xyes \ -  -a x$enable_dll = xyes \ +     -a "x$pike_cv_sys_os" = xWindows_NT ; then    # If dlls are enabled then compile for and link with the dynamic crt    # to make all modules share the same crt instance.    crt_type=dynamic    AC_DEFINE(USE_DLL)   fi      # Let the --with-crt argument override the chosen crt linkage.   test x"$with_crt" != x && crt_type="$with_crt"   
pike.git/src/configure.in:8503:   # The following set of substitution variables are used to implement   # two quite different building orders in the makefile. See the comment   # above the "pike" target in Makefile.in.      if test x$with_dynamic_modules = xyes ; then    dmmsrc="modules/dynamic_module_makefile.in"    DYNAMIC_MODULE_FLAGS="-DDYNAMIC_MODULE"    CCSHARED="${CCSHARED} ${DYNAMIC_MODULE_FLAGS}"    PIKE_LIB="libpike.so"    MODULE_O=tmodule.o -  BUILD_PIKE=pike$EXEEXT +  BUILD_PIKE=pike    POST_MODULE_BUILD_TYPE=dynamic    STATIC_POST_MODULES_LINKOPTS=   else -  dmmsrc="modules/static_module_makefile.in" +  AC_DEFINE(USE_SEMIDYNAMIC_MODULES) +  dmmsrc="modules/semidynamic_module_makefile.in"    PIKE_LIB="libpike.a"    MODULE_O=module.o -  BUILD_PIKE=tpike$EXEEXT +  BUILD_PIKE=tpike    POST_MODULE_BUILD_TYPE=static    STATIC_POST_MODULES_LINKOPTS=post_modules/linker_options    DYNAMIC_MODULE_FLAGS=""   fi      AC_SUBST(PIKE_LIB)   AC_SUBST(MODULE_O)   AC_SUBST(BUILD_PIKE)   AC_SUBST(POST_MODULE_BUILD_TYPE)   AC_SUBST(STATIC_POST_MODULES_LINKOPTS)
pike.git/src/configure.in:8605:   echo "WARN: $WARN"   echo "PROFIL: $PROFIL"   echo "OPTIMIZE: $OPTIMIZE"   echo "LDFLAGS: $LDFLAGS"   echo "LIBS: $LIBS"   echo "prefix: $prefix"   echo      #############################################################################    - export LDFLAGS CFLAGS CPPFLAGS LIBS + export CC CPP LDFLAGS CFLAGS CPPFLAGS LIBS   export prefix exec_prefix OTHERFLAGS   export DEFINES INSTALL - export noopt_retry +       PIKE_SRC_DIR=$srcdir   export PIKE_SRC_DIR   BUILD_BASE=`pwd`   export BUILD_BASE      if test "$pike_cv_sys_os" = "Windows_NT"; then    # If this doesn't begin with '/', it's relative to pike.exe.    default_master=../lib/master.pike   else
pike.git/src/configure.in:8632:      AC_SUBST(OSFLAGS)   AC_SUBST(WARN)   AC_SUBST(PROFIL)   AC_SUBST(OPTIMIZE)   AC_SUBST(EXTRA_OBJS)   AC_SUBST(RANLIB)   AC_SUBST(DEBUGDEF)   AC_SUBST(EXTRA_MODULE_REQUIREMENTS)   AC_SUBST(DTRACE_REQUIREMENTS) - AC_SUBST(noopt_retry) +       pike_cv_prog_CC="${CC}"      #############################################################################      # Autoconf 2.50 and later stupidity...   if_autoconf(2,50,[    # Ensure that the propagated CC (if any) is up to date.    # Otherwise the sub-configures will attempt to use eg    # -R with the raw compiler, which only works on Solaris. -  ac_configure_args=`echo " $ac_configure_args " | sed -e "s% 'CC=$REALCC' % 'CC=$CC' %g"` +  ac_configure_args=`echo " $ac_configure_args " | sed -e "s% 'CC=$REALCC' % 'CC=$CC' %g" -e "s% 'CC=$RAWCC' % 'CC=$CC' %g"`   ])      AC_CONFIG_SUBDIRS(modules post_modules)      AC_SUBST_FILE(dependencies)   dependencies=$srcdir/dependencies      AC_SUBST(YACC)   AC_SUBST(INSTALL)   AC_SUBST(ac_configure_args)
pike.git/src/configure.in:8668:   AC_SUBST_FILE(common_module_makefile)      # Assignments for make_variables.in.      # Afaik BUILDDIR/TMP_BUILDDIR and BINDIR/TMP_BINDIR are always the   # same thing. Can it be cleaned up? /mast   TMP_BUILDDIR=$BUILDDIR   TMP_BINDIR=$BINDIR      BASE_CFLAGS=$CFLAGS + BASE_CXXFLAGS=$CXXFLAGS   BASE_CPPFLAGS=$CPPFLAGS   MOD_LDSHARED="$LDSHARED $LDSHARED_MODULE_ARGS"      # Put LIBS into the LDFLAGS that the modules will use. This is   # necessary to keep compatibility with module configure scripts. Some   # modules don't expand @LIBS@ at all, so we can't use a BASE_LIBS to   # init the module LIBS.   BASE_LDFLAGS="$LDFLAGS $LIBS"      #
pike.git/src/configure.in:8710:      if test "x$with_cdebug" = x; then    with_cdebug=no   fi   if test "x$with_rtldebug" = x; then    with_rtldebug=no   fi   if test "x$with_dmalloc" = x; then    with_dmalloc=no   fi - with_mmx=$pike_cv_sys_has_working_mmx - if test "x$with_mmx" = x; then -  with_mmx=no - fi -  +    if test "x$with_copt" = xno ; then    opt_reasons=" ($OPT_NOT_USED turned off with --without-copt)"   else    opt_reasons=   fi      rm -f config.info 2>/dev/null      float_is_ieee=""   if test "x$float_type" = "xfloat" -a "x$pike_cv_float_type" = "xieee_big"; then
pike.git/src/configure.in:8800:   cat >>config.info <<EOF      features:   PAD_FEATURE([dynamic loading])$pike_cv_sys_dynamic_loading   PAD_FEATURE([threads])$using_threads   PAD_FEATURE([signal handler])$signal_handler   PAD_FEATURE([cdebug])$with_cdebug   PAD_FEATURE([rtldebug])$with_rtldebug   PAD_FEATURE([dmalloc])$with_dmalloc   PAD_FEATURE([dlmalloc])$enable_dlmalloc - PAD_FEATURE([mmx])$with_mmx$mmx_reason +    PAD_FEATURE([byte code format])$byte_code_format   PAD_FEATURE([module reloc])${with_relocatable_dumped_modules:-no}   PAD_FEATURE([use machine code])$with_machine_code   PAD_FEATURE([int type])$int_type ($sizeof_int_type bytes)   PAD_FEATURE([float type])$float_type ($sizeof_float_type bytes)$float_is_ieee   PAD_FEATURE([pointer size])$ac_cv_sizeof_char_p bytes   EOF      touch confdefs.h 2>/dev/null   
pike.git/src/configure.in:8830:    char float_type[80] = "?";    char int_type[80] = "?";    char *s;    struct svalue sval;       out=fopen("config.info", "a");    if (!out) return 1;       fprintf(out,"]PAD_FEATURE([svalue size])[%d bytes (%d+%d+%d)\n",    sizeof(sval), -  sizeof(sval.type), -  sizeof(sval.subtype), +  sizeof(TYPEOF(sval)), +  sizeof(SUBTYPEOF(sval)),    sizeof(sval.u));       fclose(out);       return 0;   }   ],[],[],[:])   rm -f conftypes.txt 2>/dev/null   CPPFLAGS="$OLD_CPPFLAGS"