3 # Please check with packages@netbsd.org before making modifications
8 archname=`uname -m`-${osname}
12 # NetBSD keeps dynamic loading dl*() functions in /usr/lib/crt0.o,
13 # so Configure doesn't find them (unless you abandon the nm scan).
14 # Also, NetBSD 0.9a was the first release to introduce shared
24 # NetBSD 1.3 and 1.3.1 on pmax shipped an `old' ld.so,
25 # which will not work.
33 if test -f /usr/libexec/ld.elf_so; then
37 cccdlflags="-DPIC -fPIC $cccdlflags"
38 lddlflags="--whole-archive -shared $lddlflags"
39 rpathflag="-Wl,-rpath,"
41 # Include the whole libgcc.a into the perl executable so
42 # that certain symbols needed by loadable modules built as
43 # C++ objects (__eh_alloc, __pure_virtual, etc.) will always
46 # XXX This should be obsoleted by gcc-3.0.
48 ccdlflags="-Wl,-whole-archive -lgcc -Wl,-no-whole-archive \
50 elif test -f /usr/libexec/ld.so; then
54 cccdlflags="-DPIC -fPIC $cccdlflags"
55 lddlflags="-Bshareable $lddlflags"
64 # netbsd had these but they don't really work as advertised, in the
65 # versions listed below. if they are defined, then there isn't a
66 # way to make perl call setuid() or setgid(). if they aren't, then
67 # ($<, $>) = ($u, $u); will work (same for $(/$)). this is because
68 # you can not change the real userid of a process under 4.4BSD.
69 # netbsd fixed this in 1.3.2.
71 0.9*|1.[012]*|1.3|1.3.1)
77 # These are obsolete in any netbsd.
81 # there's no problem with vfork.
84 # This is there but in machine/ieeefp_h.
87 # This script UU/usethreads.cbu will get 'called-back' by Configure
88 # after it has prompted the user for whether to use threads.
89 cat > UU/usethreads.cbu <<'EOCBU'
93 for xxx in pthread; do
94 for yyy in $loclibpth $plibpth $glibpth dummy; do
96 if test -f "$zzz"; then
101 if test -f "$zzz"; then
105 zzz=`ls $yyy/lib$xxx.so.* 2>/dev/null`
106 if test "X$zzz" != X; then
111 if test "X$lpthread" != X; then
115 if test "X$lpthread" != X; then
117 libswanted="$libswanted $lpthread"
118 # There is no libc_r as of NetBSD 1.5.2, so no c -> c_r.
119 # This will be revisited when NetBSD gains a native pthreads
122 echo "$0: No POSIX threads library (-lpthread) found. " \
123 "You may want to install GNU pth. Aborting." >&4
131 # Set sensible defaults for NetBSD: look for local software in
132 # /usr/pkg (NetBSD Packages Collection) and in /usr/local.
134 loclibpth="/usr/pkg/lib /usr/local/lib"
135 locincpth="/usr/pkg/include /usr/local/include"
142 for yyy in $loclibpth; do
143 ldflags="$ldflags $rpathflag$yyy"
150 echo 'int main() {}' > try.c
151 gcc=`${cc:-cc} -v -c try.c 2>&1|grep 'gcc version egcs-2'`
153 '' | "gcc version egcs-2.95."[3-9]*) ;; # 2.95.3 or better okay
156 *** Your gcc ($gcc) is known to be
157 *** too buggy on netbsd/alpha to compile Perl with optimization.
158 *** It is suggested you install the lang/gcc package which should
159 *** have at least gcc 2.95.3 which should work okay: use for example
160 *** Configure -Dcc=/usr/pkg/gcc-2.95.3/bin/cc. You could also
161 *** Configure -Doptimize=-O0 to compile Perl without any optimization
162 *** but that is not recommended.