This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
8ec9470183bbe8ff576b71f53c1e79f72bf54a5e
[perl5.git] / hints / gnu.sh
1 # hints/gnu.sh
2 # Originally contributed by:  Mark Kettenis <kettenis@phys.uva.nl> Dec 10 1998
3
4 # libnsl is unusable on the Hurd.
5 # XXX remove this once SUNRPC is implemented.
6 set `echo X "$libswanted "| sed -e 's/ bsd / /' -e 's/ nsl / /' -e 's/ c / pthread /'`
7 shift
8 libswanted="$*"
9
10 # Debian 4.0 puts ndbm in the -lgdbm_compat library.
11 libswanted="$libswanted gdbm_compat"
12
13 case "$optimize" in
14 '') optimize='-O2' ;;
15 esac
16
17 case "$plibpth" in
18 '') plibpth=`gcc -print-search-dirs | grep libraries |
19         cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
20     set X $plibpth # Collapse all entries on one line
21     shift
22     plibpth="$*"
23     ;;
24 esac
25
26 # Flags needed to produce shared libraries.
27 lddlflags='-shared'
28
29 # Flags needed by programs that use dynamic linking.
30 ccdlflags='-Wl,-E'
31
32 # This script UU/usethreads.cbu will get 'called-back' by Configure
33 # after it has prompted the user for whether to use threads.
34 cat > UU/usethreads.cbu <<'EOCBU'
35 case "$usethreads" in
36 $define|true|[yY]*)
37         ccflags="-D_REENTRANT -D_GNU_SOURCE $ccflags"
38         if echo $libswanted | grep -v pthread >/dev/null
39         then
40             set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
41             shift
42             libswanted="$*"
43         fi
44
45         # Somehow at least in Debian 2.2 these manage to escape
46         # the #define forest of <features.h> and <time.h> so that
47         # the hasproto macro of Configure doesn't see these protos,
48         # even with the -D_GNU_SOURCE.
49
50         d_asctime_r_proto="$define"
51         d_crypt_r_proto="$define"
52         d_ctime_r_proto="$define"
53         d_gmtime_r_proto="$define"
54         d_localtime_r_proto="$define"
55         d_random_r_proto="$define"
56
57         ;;
58 esac
59 EOCBU
60
61 cat > UU/uselargefiles.cbu <<'EOCBU'
62 # This script UU/uselargefiles.cbu will get 'called-back' by Configure
63 # after it has prompted the user for whether to use large files.
64 case "$uselargefiles" in
65 ''|$define|true|[yY]*)
66 # Keep this in the left margin.
67 ccflags_uselargefiles="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
68
69         ccflags="$ccflags $ccflags_uselargefiles"
70         ;;
71 esac
72 EOCBU
73
74 # The following routines are only available as stubs in GNU libc.
75 # XXX remove this once metaconf detects the GNU libc stubs.
76 d_msgctl='undef'
77 d_msgget='undef'
78 d_msgrcv='undef'
79 d_msgsnd='undef'
80 d_semctl='undef'
81 d_semget='undef'
82 d_semop='undef'
83 d_shmat='undef'
84 d_shmctl='undef'
85 d_shmdt='undef'
86 d_shmget='undef'