This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
(perl #128954) improved hints for Hurd
[perl5.git] / hints / gnu.sh
CommitLineData
c8c809ad 1# hints/gnu.sh
46943012 2# Originally contributed by: Mark Kettenis <kettenis@phys.uva.nl> Dec 10 1998
c8c809ad
MK
3
4# libnsl is unusable on the Hurd.
5# XXX remove this once SUNRPC is implemented.
e9827b37 6set `echo X "$libswanted "| sed -e 's/ bsd / /' -e 's/ nsl / /' -e 's/ c / pthread /'`
c8c809ad
MK
7shift
8libswanted="$*"
9
a1da11a3
PT
10# Debian 4.0 puts ndbm in the -lgdbm_compat library.
11libswanted="$libswanted gdbm_compat"
12
fb9b5c74
PT
13# malloc wrap works
14case "$usemallocwrap" in
15'') usemallocwrap='define' ;;
16esac
17
18# The system malloc() is about as fast and as frugal as perl's.
19# Since the system malloc() has been the default since at least
20# 5.001, we might as well leave it that way. --AD 10 Jan 2002
21case "$usemymalloc" in
22'') usemymalloc='n' ;;
23esac
24
c8c809ad
MK
25case "$optimize" in
26'') optimize='-O2' ;;
27esac
28
a1da11a3
PT
29case "$plibpth" in
30'') plibpth=`gcc -print-search-dirs | grep libraries |
31 cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
32 set X $plibpth # Collapse all entries on one line
33 shift
34 plibpth="$*"
35 ;;
36esac
37
fb9b5c74
PT
38case "$libc" in
39'')
40# If you have glibc, then report the version for ./myconfig bug reporting.
41# (Configure doesn't need to know the specific version since it just uses
42# gcc to load the library for all tests.)
43# We don't use __GLIBC__ and __GLIBC_MINOR__ because they
44# are insufficiently precise to distinguish things like
45# libc-2.0.6 and libc-2.0.7.
46 for p in $plibpth
47 do
48 for trylib in libc.so.0.3 libc.so
49 do
50 if $test -e $p/$trylib; then
51 libc=`ls -l $p/$trylib | awk '{print $NF}'`
52 if $test "X$libc" != X; then
53 break
54 fi
55 fi
56 done
57 if $test "X$libc" != X; then
58 break
59 fi
60 done
61 ;;
62esac
63
c8c809ad
MK
64# Flags needed to produce shared libraries.
65lddlflags='-shared'
66
67# Flags needed by programs that use dynamic linking.
68ccdlflags='-Wl,-E'
69
46943012
ST
70# This script UU/usethreads.cbu will get 'called-back' by Configure
71# after it has prompted the user for whether to use threads.
72cat > UU/usethreads.cbu <<'EOCBU'
73case "$usethreads" in
74$define|true|[yY]*)
75 ccflags="-D_REENTRANT -D_GNU_SOURCE $ccflags"
76 if echo $libswanted | grep -v pthread >/dev/null
77 then
78 set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
79 shift
80 libswanted="$*"
81 fi
82
83 # Somehow at least in Debian 2.2 these manage to escape
84 # the #define forest of <features.h> and <time.h> so that
85 # the hasproto macro of Configure doesn't see these protos,
86 # even with the -D_GNU_SOURCE.
87
88 d_asctime_r_proto="$define"
89 d_crypt_r_proto="$define"
90 d_ctime_r_proto="$define"
91 d_gmtime_r_proto="$define"
92 d_localtime_r_proto="$define"
93 d_random_r_proto="$define"
94
95 ;;
96esac
97EOCBU
bfbdaa66 98
1fda587d
PT
99cat > UU/uselargefiles.cbu <<'EOCBU'
100# This script UU/uselargefiles.cbu will get 'called-back' by Configure
101# after it has prompted the user for whether to use large files.
102case "$uselargefiles" in
103''|$define|true|[yY]*)
104# Keep this in the left margin.
105ccflags_uselargefiles="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
106
107 ccflags="$ccflags $ccflags_uselargefiles"
108 ;;
109esac
110EOCBU
111
c8c809ad
MK
112# The following routines are only available as stubs in GNU libc.
113# XXX remove this once metaconf detects the GNU libc stubs.
114d_msgctl='undef'
115d_msgget='undef'
116d_msgrcv='undef'
117d_msgsnd='undef'
118d_semctl='undef'
119d_semget='undef'
120d_semop='undef'
121d_shmat='undef'
122d_shmctl='undef'
123d_shmdt='undef'
124d_shmget='undef'