Commit | Line | Data |
---|---|---|
a0a23c6b MP |
1 | # hints/openbsd.sh |
2 | # | |
3 | # hints file for OpenBSD; Todd Miller <millert@openbsd.org> | |
4 | # Edited to allow Configure command-line overrides by | |
5 | # Andy Dougherty <doughera@lafayette.edu> | |
6 | # | |
7 | # To build with distribution paths, use: | |
8 | # ./Configure -des -Dopenbsd_distribution=defined | |
9 | # | |
10 | ||
11 | # OpenBSD has a better malloc than perl... | |
12 | test "$usemymalloc" || usemymalloc='n' | |
13 | ||
14 | # Currently, vfork(2) is not a real win over fork(2). | |
15 | usevfork="$undef" | |
16 | ||
a0a23c6b MP |
17 | # |
18 | # Not all platforms support dynamic loading... | |
19 | # For the case of "$openbsd_distribution", the hints file | |
20 | # needs to know whether we are using dynamic loading so that | |
21 | # it can set the libperl name appropriately. | |
22 | # Allow command line overrides. | |
23 | # | |
24 | #ARCH=`arch | sed 's/^OpenBSD.//'` | |
25 | ARCH=`arch | sed 's/^Bitrig.//'` | |
26 | case "${ARCH}-${osvers}" in | |
a0a23c6b MP |
27 | *) |
28 | test -z "$usedl" && usedl=$define | |
29 | # We use -fPIC here because -fpic is *NOT* enough for some of the | |
30 | # extensions like Tk on some OpenBSD platforms (ie: sparc) | |
31 | cccdlflags="-DPIC -fPIC $cccdlflags" | |
32 | case "$osvers" in | |
33 | *) # from 3.1 onwards | |
34 | ld=${cc:-cc} | |
35 | lddlflags="-shared -fPIC $lddlflags" | |
36 | libswanted=`echo $libswanted | sed 's/ dl / /'` | |
37 | ;; | |
38 | esac | |
39 | ||
40 | # We need to force ld to export symbols on ELF platforms. | |
41 | # Without this, dlopen() is crippled. | |
42 | ELF=`${cc:-cc} -dM -E - </dev/null | grep __ELF__` | |
43 | test -n "$ELF" && ldflags="-Wl,-E $ldflags" | |
44 | ;; | |
45 | esac | |
46 | ||
a0a23c6b MP |
47 | # malloc wrap causes problems on m68k |
48 | if [ X"$usemallocwrap" = X"" ]; then | |
49 | case "${ARCH}" in | |
a0a23c6b MP |
50 | *) usemallocwrap="define" ;; |
51 | esac | |
52 | fi | |
53 | ||
54 | # OpenBSD doesn't need libcrypt but many folks keep a stub lib | |
55 | # around for old NetBSD binaries. | |
56 | libswanted=`echo $libswanted | sed 's/ crypt / /'` | |
57 | ||
58 | # Configure can't figure this out non-interactively | |
59 | d_suidsafe=$define | |
60 | ||
61 | # cc is gcc so we can do better than -O | |
62 | # Allow a command-line override, such as -Doptimize=-g | |
63 | case "${ARCH}-${osvers}" in | |
a0a23c6b MP |
64 | *) |
65 | test "$optimize" || optimize='-O2' | |
66 | ;; | |
67 | esac | |
68 | ||
2af44768 | 69 | # This script UU/usethreads.cbu will get 'called-back' by Configure |
a0a23c6b MP |
70 | # after it has prompted the user for whether to use threads. |
71 | cat > UU/usethreads.cbu <<'EOCBU' | |
72 | case "$usethreads" in | |
73 | $define|true|[yY]*) | |
74 | # any openbsd version dependencies with pthreads? | |
75 | ccflags="-pthread $ccflags" | |
76 | ldflags="-pthread $ldflags" | |
a0a23c6b MP |
77 | esac |
78 | EOCBU | |
79 | ||
a0a23c6b MP |
80 | # When building in the OpenBSD tree we use different paths |
81 | # This is only part of the story, the rest comes from config.over | |
82 | case "$openbsd_distribution" in | |
83 | ''|$undef|false) ;; | |
84 | *) | |
85 | # We put things in /usr, not /usr/local | |
86 | prefix='/usr' | |
87 | prefixexp='/usr' | |
88 | sysman='/usr/share/man/man1' | |
89 | libpth='/usr/lib' | |
90 | glibpth='/usr/lib' | |
91 | # Local things, however, do go in /usr/local | |
92 | siteprefix='/usr/local' | |
93 | siteprefixexp='/usr/local' | |
94 | # Ports installs non-std libs in /usr/local/lib so look there too | |
95 | locincpth='/usr/local/include' | |
96 | loclibpth='/usr/local/lib' | |
97 | # Link perl with shared libperl | |
98 | if [ "$usedl" = "$define" -a -r $src/shlib_version ]; then | |
99 | useshrplib=true | |
100 | libperl=`. $src/shlib_version; echo libperl.so.${major}.${minor}` | |
101 | fi | |
102 | ;; | |
103 | esac | |
104 | ||
105 | # end |