xref: /openbsd-src/gnu/usr.bin/perl/hints/minix.sh (revision f3efcd0145415b7d44d9da97e0ad5c21b186ac61)
1*f3efcd01Safresh1# hints/minix.sh
2*f3efcd01Safresh1#
3*f3efcd01Safresh1# Please check with packages@netbsd.org before making modifications
4*f3efcd01Safresh1# to this file.
5*f3efcd01Safresh1
6*f3efcd01Safresh1case "$archname" in
7*f3efcd01Safresh1'')
8*f3efcd01Safresh1    archname=`uname -m`-${osname}
9*f3efcd01Safresh1    ;;
10*f3efcd01Safresh1esac
11*f3efcd01Safresh1
12*f3efcd01Safresh1# NetBSD keeps dynamic loading dl*() functions in /usr/lib/crt0.o,
13*f3efcd01Safresh1# so Configure doesn't find them (unless you abandon the nm scan).
14*f3efcd01Safresh1#
15*f3efcd01Safresh1case "$osvers" in
16*f3efcd01Safresh1*)
17*f3efcd01Safresh1	if test -f /usr/libexec/ld.elf_so; then
18*f3efcd01Safresh1		# ELF
19*f3efcd01Safresh1		d_dlopen=$define
20*f3efcd01Safresh1		d_dlerror=$define
21*f3efcd01Safresh1		cccdlflags="-DPIC -fPIC $cccdlflags"
22*f3efcd01Safresh1		lddlflags="-shared $lddlflags"
23*f3efcd01Safresh1		rpathflag="-Wl,-rpath,"
24*f3efcd01Safresh1		ccdlflags="-Wl,-E $ccdlflags"
25*f3efcd01Safresh1	elif test -f /usr/libexec/ld.so; then
26*f3efcd01Safresh1		# a.out
27*f3efcd01Safresh1		d_dlopen=$define
28*f3efcd01Safresh1		d_dlerror=$define
29*f3efcd01Safresh1		cccdlflags="-DPIC -fPIC $cccdlflags"
30*f3efcd01Safresh1		lddlflags="-Bshareable $lddlflags"
31*f3efcd01Safresh1		rpathflag="-R"
32*f3efcd01Safresh1	else
33*f3efcd01Safresh1		d_dlopen=$undef
34*f3efcd01Safresh1		rpathflag=
35*f3efcd01Safresh1	fi
36*f3efcd01Safresh1	d_getprotoent_r="$undef"
37*f3efcd01Safresh1	d_getprotobyname_r="$undef"
38*f3efcd01Safresh1	d_getprotobynumber_r="$undef"
39*f3efcd01Safresh1	d_setprotoent_r="$undef"
40*f3efcd01Safresh1	d_endprotoent_r="$undef"
41*f3efcd01Safresh1	d_getservent_r="$undef"
42*f3efcd01Safresh1	d_getservbyname_r="$undef"
43*f3efcd01Safresh1	d_getservbyport_r="$undef"
44*f3efcd01Safresh1	d_setservent_r="$undef"
45*f3efcd01Safresh1	d_endservent_r="$undef"
46*f3efcd01Safresh1	d_gethostbyname_r="$undef"
47*f3efcd01Safresh1	d_gethostbyaddr2_r="$undef"
48*f3efcd01Safresh1	d_gethostbyaddr_r="$undef"
49*f3efcd01Safresh1	d_sethostent_r="$undef"
50*f3efcd01Safresh1	d_gethostent_r="$undef"
51*f3efcd01Safresh1	d_endhostent_r="$undef"
52*f3efcd01Safresh1	d_getprotoent_r_proto="0"
53*f3efcd01Safresh1	d_getprotobyname_r_proto="0"
54*f3efcd01Safresh1	d_getprotobynumber_r_proto="0"
55*f3efcd01Safresh1	d_setprotoent_r_proto="0"
56*f3efcd01Safresh1	d_endprotoent_r_proto="0"
57*f3efcd01Safresh1	d_getservent_r_proto="0"
58*f3efcd01Safresh1	d_getservbyname_r_proto="0"
59*f3efcd01Safresh1	d_getservbyport_r_proto="0"
60*f3efcd01Safresh1	d_setservent_r_proto="0"
61*f3efcd01Safresh1	d_endservent_r_proto="0"
62*f3efcd01Safresh1	d_gethostbyname_r_proto="0"
63*f3efcd01Safresh1	d_gethostbyaddr2_r_proto="0"
64*f3efcd01Safresh1	d_gethostbyaddr_r_proto="0"
65*f3efcd01Safresh1	d_sethostent_r_proto="0"
66*f3efcd01Safresh1	d_endhostent_r_proto="0"
67*f3efcd01Safresh1	d_gethostent_r_proto="0"
68*f3efcd01Safresh1	;;
69*f3efcd01Safresh1esac
70*f3efcd01Safresh1
71*f3efcd01Safresh1# there's no problem with vfork.
72*f3efcd01Safresh1usevfork=true
73*f3efcd01Safresh1
74*f3efcd01Safresh1# This is there but in machine/ieeefp_h.
75*f3efcd01Safresh1ieeefp_h="define"
76*f3efcd01Safresh1
77*f3efcd01Safresh1# This script UU/usethreads.cbu will get 'called-back' by Configure
78*f3efcd01Safresh1# after it has prompted the user for whether to use threads.
79*f3efcd01Safresh1cat > UU/usethreads.cbu <<'EOCBU'
80*f3efcd01Safresh1case "$usethreads" in
81*f3efcd01Safresh1$define|true|[yY]*)
82*f3efcd01Safresh1	lpthread=
83*f3efcd01Safresh1	for xxx in pthread; do
84*f3efcd01Safresh1		for yyy in $loclibpth $plibpth $glibpth dummy; do
85*f3efcd01Safresh1			zzz=$yyy/lib$xxx.a
86*f3efcd01Safresh1			if test -f "$zzz"; then
87*f3efcd01Safresh1				lpthread=$xxx
88*f3efcd01Safresh1				break;
89*f3efcd01Safresh1			fi
90*f3efcd01Safresh1			zzz=$yyy/lib$xxx.so
91*f3efcd01Safresh1			if test -f "$zzz"; then
92*f3efcd01Safresh1				lpthread=$xxx
93*f3efcd01Safresh1				break;
94*f3efcd01Safresh1			fi
95*f3efcd01Safresh1			zzz=`ls $yyy/lib$xxx.so.* 2>/dev/null`
96*f3efcd01Safresh1			if test "X$zzz" != X; then
97*f3efcd01Safresh1				lpthread=$xxx
98*f3efcd01Safresh1				break;
99*f3efcd01Safresh1			fi
100*f3efcd01Safresh1		done
101*f3efcd01Safresh1		if test "X$lpthread" != X; then
102*f3efcd01Safresh1			break;
103*f3efcd01Safresh1		fi
104*f3efcd01Safresh1	done
105*f3efcd01Safresh1	if test "X$lpthread" != X; then
106*f3efcd01Safresh1		# Add -lpthread.
107*f3efcd01Safresh1		libswanted="$libswanted $lpthread"
108*f3efcd01Safresh1		# There is no libc_r as of NetBSD 1.5.2, so no c -> c_r.
109*f3efcd01Safresh1		# This will be revisited when NetBSD gains a native pthreads
110*f3efcd01Safresh1		# implementation.
111*f3efcd01Safresh1	else
112*f3efcd01Safresh1		echo "$0: No POSIX threads library (-lpthread) found.  " \
113*f3efcd01Safresh1		     "You may want to install GNU pth.  Aborting." >&4
114*f3efcd01Safresh1		exit 1
115*f3efcd01Safresh1	fi
116*f3efcd01Safresh1	unset lpthread
117*f3efcd01Safresh1esac
118*f3efcd01Safresh1EOCBU
119*f3efcd01Safresh1
120*f3efcd01Safresh1# Set sensible defaults for Minix: look for local software in
121*f3efcd01Safresh1# /usr/local, plus the build prefix, which might or might not be
122*f3efcd01Safresh1# /usr/pkg.
123*f3efcd01Safresh1#
124*f3efcd01Safresh1loclibpth="/usr/local/lib ${prefix}/lib"
125*f3efcd01Safresh1locincpth="/usr/local/include ${prefix}/include"
126*f3efcd01Safresh1
127*f3efcd01Safresh1case "$rpathflag" in
128*f3efcd01Safresh1'')
129*f3efcd01Safresh1	ldflags=
130*f3efcd01Safresh1	;;
131*f3efcd01Safresh1*)
132*f3efcd01Safresh1	ldflags=
133*f3efcd01Safresh1	for yyy in $loclibpth; do
134*f3efcd01Safresh1		ldflags="$ldflags $rpathflag$yyy"
135*f3efcd01Safresh1	done
136*f3efcd01Safresh1	;;
137*f3efcd01Safresh1esac
138*f3efcd01Safresh1
139*f3efcd01Safresh1# malloc wrap works
140*f3efcd01Safresh1case "$usemallocwrap" in
141*f3efcd01Safresh1'') usemallocwrap='define' ;;
142*f3efcd01Safresh1esac
143*f3efcd01Safresh1
144*f3efcd01Safresh1# don't use perl malloc by default
145*f3efcd01Safresh1case "$usemymalloc" in
146*f3efcd01Safresh1'') usemymalloc=n ;;
147*f3efcd01Safresh1esac
148