This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update podlators to CPAN version 4.10
[perl5.git] / hints / gnu.sh
index 4233371..32672db 100644 (file)
@@ -1,16 +1,27 @@
 # hints/gnu.sh
-# Last modified: Thu Dec 10 20:47:28 CET 1998
-# Mark Kettenis <kettenis@phys.uva.nl>
+# Originally contributed by:  Mark Kettenis <kettenis@phys.uva.nl> Dec 10 1998
 
 # libnsl is unusable on the Hurd.
 # XXX remove this once SUNRPC is implemented.
-set `echo X "$libswanted "| sed -e 's/ nsl / /' -e 's/ c / pthread /'`
+set `echo X "$libswanted "| sed -e 's/ bsd / /' -e 's/ nsl / /' -e 's/ c / pthread /'`
 shift
 libswanted="$*"
 
 # Debian 4.0 puts ndbm in the -lgdbm_compat library.
 libswanted="$libswanted gdbm_compat"
 
+# malloc wrap works
+case "$usemallocwrap" in
+'') usemallocwrap='define' ;;
+esac
+
+# The system malloc() is about as fast and as frugal as perl's.
+# Since the system malloc() has been the default since at least
+# 5.001, we might as well leave it that way.  --AD  10 Jan 2002
+case "$usemymalloc" in
+'') usemymalloc='n' ;;
+esac
+
 case "$optimize" in
 '') optimize='-O2' ;;
 esac
@@ -24,14 +35,66 @@ case "$plibpth" in
     ;;
 esac
 
+case "$libc" in
+'')
+# If you have glibc, then report the version for ./myconfig bug reporting.
+# (Configure doesn't need to know the specific version since it just uses
+# gcc to load the library for all tests.)
+# We don't use __GLIBC__ and  __GLIBC_MINOR__ because they
+# are insufficiently precise to distinguish things like
+# libc-2.0.6 and libc-2.0.7.
+    for p in $plibpth
+    do
+        for trylib in libc.so.0.3 libc.so
+        do
+            if $test -e $p/$trylib; then
+                libc=`ls -l $p/$trylib | awk '{print $NF}'`
+                if $test "X$libc" != X; then
+                    break
+                fi
+            fi
+        done
+        if $test "X$libc" != X; then
+            break
+        fi
+    done
+    ;;
+esac
+
 # Flags needed to produce shared libraries.
 lddlflags='-shared'
 
 # Flags needed by programs that use dynamic linking.
 ccdlflags='-Wl,-E'
 
-# Debian bug #258618
-ccflags="-D_GNU_SOURCE $ccflags"
+# This script UU/usethreads.cbu will get 'called-back' by Configure
+# after it has prompted the user for whether to use threads.
+cat > UU/usethreads.cbu <<'EOCBU'
+case "$usethreads" in
+$define|true|[yY]*)
+        ccflags="-D_REENTRANT -D_GNU_SOURCE $ccflags"
+        if echo $libswanted | grep -v pthread >/dev/null
+        then
+            set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
+            shift
+            libswanted="$*"
+        fi
+
+       # Somehow at least in Debian 2.2 these manage to escape
+       # the #define forest of <features.h> and <time.h> so that
+       # the hasproto macro of Configure doesn't see these protos,
+       # even with the -D_GNU_SOURCE.
+
+       d_asctime_r_proto="$define"
+       d_crypt_r_proto="$define"
+       d_ctime_r_proto="$define"
+       d_gmtime_r_proto="$define"
+       d_localtime_r_proto="$define"
+       d_random_r_proto="$define"
+
+       ;;
+esac
+EOCBU
 
 cat > UU/uselargefiles.cbu <<'EOCBU'
 # This script UU/uselargefiles.cbu will get 'called-back' by Configure