| @@ -1,82 +1,84 @@ | | | @@ -1,82 +1,84 @@ |
1 | $NetBSD: patch-ai,v 1.41 2019/07/17 13:33:00 triaxx Exp $ | | 1 | $NetBSD: patch-ai,v 1.42 2021/07/26 15:38:10 taca Exp $ |
2 | | | 2 | |
3 | 1) Add shlib definitions for NetBSD 5; the build system must be | | 3 | 1) Add shlib definitions for NetBSD 5; the build system must be |
4 | hard-coded per OS per version. Not yet reported upstream. | | 4 | hard-coded per OS per version. Not yet reported upstream. |
5 | | | 5 | |
6 | 2) Make this pkgsrc friendly. | | 6 | 2) Make this pkgsrc friendly. |
7 | | | 7 | |
8 | 3) Add support for FreeBSD 12. | | 8 | 3) Add support for FreeBSD 12. |
9 | | | 9 | |
10 | --- makedefs.orig 2019-03-10 23:42:59.000000000 +0000 | | 10 | 4) Add blocklist(3) support. |
| | | 11 | |
| | | 12 | --- makedefs.orig 2021-04-24 20:49:37.000000000 +0000 |
11 | +++ makedefs | | 13 | +++ makedefs |
12 | @@ -298,6 +298,15 @@ case "$SYSTEM.$RELEASE" in | | 14 | @@ -309,6 +309,15 @@ case "$SYSTEM.$RELEASE" in |
13 | : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"} | | 15 | : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"} |
14 | : ${PLUGIN_LD="${CC} -shared"} | | 16 | : ${PLUGIN_LD="${CC} -shared"} |
15 | ;; | | 17 | ;; |
16 | + FreeBSD.12*) SYSTYPE=FREEBSD12 | | 18 | + FreeBSD.12*) SYSTYPE=FREEBSD12 |
17 | + : ${CC=cc} | | 19 | + : ${CC=cc} |
18 | + : ${SHLIB_SUFFIX=.so} | | 20 | + : ${SHLIB_SUFFIX=.so} |
19 | + : ${SHLIB_CFLAGS=-fPIC} | | 21 | + : ${SHLIB_CFLAGS=-fPIC} |
20 | + : ${SHLIB_LD="${CC} -shared"' -Wl,-soname,${LIB}'} | | 22 | + : ${SHLIB_LD="${CC} -shared"' -Wl,-soname,${LIB}'} |
21 | + : ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'} | | 23 | + : ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'} |
22 | + : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"} | | 24 | + : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"} |
23 | + : ${PLUGIN_LD="${CC} -shared"} | | 25 | + : ${PLUGIN_LD="${CC} -shared"} |
24 | + ;; | | 26 | + ;; |
25 | DragonFly.*) SYSTYPE=DRAGONFLY | | 27 | DragonFly.*) SYSTYPE=DRAGONFLY |
26 | ;; | | 28 | ;; |
27 | OpenBSD.2*) SYSTYPE=OPENBSD2 | | 29 | OpenBSD.2*) SYSTYPE=OPENBSD2 |
28 | @@ -326,25 +335,7 @@ case "$SYSTEM.$RELEASE" in | | 30 | @@ -337,25 +346,7 @@ case "$SYSTEM.$RELEASE" in |
29 | ;; | | 31 | ;; |
30 | ekkoBSD.1*) SYSTYPE=EKKOBSD1 | | 32 | ekkoBSD.1*) SYSTYPE=EKKOBSD1 |
31 | ;; | | 33 | ;; |
32 | - NetBSD.1*) SYSTYPE=NETBSD1 | | 34 | - NetBSD.1*) SYSTYPE=NETBSD1 |
33 | - ;; | | 35 | - ;; |
34 | - NetBSD.2*) SYSTYPE=NETBSD2 | | 36 | - NetBSD.2*) SYSTYPE=NETBSD2 |
35 | - ;; | | 37 | - ;; |
36 | - NetBSD.3*) SYSTYPE=NETBSD3 | | 38 | - NetBSD.3*) SYSTYPE=NETBSD3 |
37 | - ;; | | 39 | - ;; |
38 | - NetBSD.4*) SYSTYPE=NETBSD4 | | 40 | - NetBSD.4*) SYSTYPE=NETBSD4 |
39 | - ;; | | 41 | - ;; |
40 | - NetBSD.5*) SYSTYPE=NETBSD5 | | 42 | - NetBSD.5*) SYSTYPE=NETBSD5 |
41 | - ;; | | 43 | - ;; |
42 | - NetBSD.6*) SYSTYPE=NETBSD6 | | 44 | - NetBSD.6*) SYSTYPE=NETBSD6 |
43 | - : ${SHLIB_SUFFIX=.so} | | 45 | - : ${SHLIB_SUFFIX=.so} |
44 | - : ${SHLIB_CFLAGS=-fPIC} | | 46 | - : ${SHLIB_CFLAGS=-fPIC} |
45 | - : ${SHLIB_LD="${CC-gcc} -shared"' -Wl,-soname,${LIB}'} | | 47 | - : ${SHLIB_LD="${CC-gcc} -shared"' -Wl,-soname,${LIB}'} |
46 | - : ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'} | | 48 | - : ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'} |
47 | - : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"} | | 49 | - : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"} |
48 | - : ${PLUGIN_LD="${CC-gcc} -shared"} | | 50 | - : ${PLUGIN_LD="${CC-gcc} -shared"} |
49 | - ;; | | 51 | - ;; |
50 | - NetBSD.7*) SYSTYPE=NETBSD7 | | 52 | - NetBSD.7*) SYSTYPE=NETBSD7 |
51 | + NetBSD*) SYSTYPE=NETBSD | | 53 | + NetBSD*) SYSTYPE=NETBSD |
52 | : ${SHLIB_SUFFIX=.so} | | 54 | : ${SHLIB_SUFFIX=.so} |
53 | : ${SHLIB_CFLAGS=-fPIC} | | 55 | : ${SHLIB_CFLAGS=-fPIC} |
54 | : ${SHLIB_LD="${CC-gcc} -shared"' -Wl,-soname,${LIB}'} | | 56 | : ${SHLIB_LD="${CC-gcc} -shared"' -Wl,-soname,${LIB}'} |
55 | @@ -423,13 +414,6 @@ case "$SYSTEM.$RELEASE" in | | 57 | @@ -434,13 +425,6 @@ case "$SYSTEM.$RELEASE" in |
56 | esac | | 58 | esac |
57 | ;; | | 59 | ;; |
58 | ULTRIX.4*) SYSTYPE=ULTRIX4 | | 60 | ULTRIX.4*) SYSTYPE=ULTRIX4 |
59 | - if [ -f /usr/local/lib/libdb.a ]; then | | 61 | - if [ -f /usr/local/lib/libdb.a ]; then |
60 | - SYSLIBS="$SYSLIBS -ldb" | | 62 | - SYSLIBS="$SYSLIBS -ldb" |
61 | - CCARGS="$CCARGS -DHAS_DB" | | 63 | - CCARGS="$CCARGS -DHAS_DB" |
62 | - if [ -d /usr/local/include/db ]; then | | 64 | - if [ -d /usr/local/include/db ]; then |
63 | - CCARGS="$CCARGS -I/usr/local/include/db" | | 65 | - CCARGS="$CCARGS -I/usr/local/include/db" |
64 | - fi | | 66 | - fi |
65 | - fi | | 67 | - fi |
66 | for l in syslog resolv; do | | 68 | for l in syslog resolv; do |
67 | if [ -f /usr/local/lib/lib$l.a ]; then | | 69 | if [ -f /usr/local/lib/lib$l.a ]; then |
68 | SYSLIBS="$SYSLIBS -l$l" | | 70 | SYSLIBS="$SYSLIBS -l$l" |
69 | @@ -471,33 +455,8 @@ case "$SYSTEM.$RELEASE" in | | 71 | @@ -482,33 +466,8 @@ case "$SYSTEM.$RELEASE" in |
70 | esac;; | | 72 | esac;; |
71 | # Tested with RedHat 3.03 on 20020729. | | 73 | # Tested with RedHat 3.03 on 20020729. |
72 | Linux.1*) SYSTYPE=LINUX1 | | 74 | Linux.1*) SYSTYPE=LINUX1 |
73 | - case "$CCARGS" in | | 75 | - case "$CCARGS" in |
74 | - *-DNO_DB*) ;; | | 76 | - *-DNO_DB*) ;; |
75 | - *-DHAS_DB*) ;; | | 77 | - *-DHAS_DB*) ;; |
76 | - *) SYSLIBS="-ldb";; | | 78 | - *) SYSLIBS="-ldb";; |
77 | - esac | | 79 | - esac |
78 | ;; | | 80 | ;; |
79 | Linux.2*) SYSTYPE=LINUX2 | | 81 | Linux.2*) SYSTYPE=LINUX2 |
80 | - case "$CCARGS" in | | 82 | - case "$CCARGS" in |
81 | - *-DNO_DB*) ;; | | 83 | - *-DNO_DB*) ;; |
82 | - *-DHAS_DB*) ;; | | 84 | - *-DHAS_DB*) ;; |
| @@ -90,80 +92,98 @@ hard-coded per OS per version. Not yet | | | @@ -90,80 +92,98 @@ hard-coded per OS per version. Not yet |
90 | - # No, we're not going to try db1 db2 db3 etc. | | 92 | - # No, we're not going to try db1 db2 db3 etc. |
91 | - # On a properly installed system, Postfix builds | | 93 | - # On a properly installed system, Postfix builds |
92 | - # by including <db.h> and by linking with -ldb | | 94 | - # by including <db.h> and by linking with -ldb |
93 | - echo "No <db.h> include file found." 1>&2 | | 95 | - echo "No <db.h> include file found." 1>&2 |
94 | - echo "Install the appropriate db*-devel package first." 1>&2 | | 96 | - echo "Install the appropriate db*-devel package first." 1>&2 |
95 | - exit 1 | | 97 | - exit 1 |
96 | - fi | | 98 | - fi |
97 | - SYSLIBS="-ldb" | | 99 | - SYSLIBS="-ldb" |
98 | - ;; | | 100 | - ;; |
99 | - esac | | 101 | - esac |
100 | for name in nsl resolv $GDBM_LIBS | | 102 | for name in nsl resolv $GDBM_LIBS |
101 | do | | 103 | do |
102 | for lib in /usr/lib64 /lib64 /usr/lib /lib | | 104 | for lib in /usr/lib64 /lib64 /usr/lib /lib |
103 | @@ -597,24 +556,6 @@ EOF | | 105 | @@ -608,24 +567,6 @@ EOF |
104 | ;; | | 106 | ;; |
105 | GNU.0*|GNU/kFreeBSD.[567]*) | | 107 | GNU.0*|GNU/kFreeBSD.[567]*) |
106 | SYSTYPE=GNU0 | | 108 | SYSTYPE=GNU0 |
107 | - case "$CCARGS" in | | 109 | - case "$CCARGS" in |
108 | - *-DNO_DB*) ;; | | 110 | - *-DNO_DB*) ;; |
109 | - *) if [ -f /usr/include/db.h ] | | 111 | - *) if [ -f /usr/include/db.h ] |
110 | - then | | 112 | - then |
111 | - : we are all set | | 113 | - : we are all set |
112 | - elif [ -f /usr/include/db/db.h ] | | 114 | - elif [ -f /usr/include/db/db.h ] |
113 | - then | | 115 | - then |
114 | - CCARGS="$CCARGS -I/usr/include/db" | | 116 | - CCARGS="$CCARGS -I/usr/include/db" |
115 | - else | | 117 | - else |
116 | - # On a properly installed system, Postfix builds | | 118 | - # On a properly installed system, Postfix builds |
117 | - # by including <db.h> and by linking with -ldb | | 119 | - # by including <db.h> and by linking with -ldb |
118 | - echo "No <db.h> include file found." 1>&2 | | 120 | - echo "No <db.h> include file found." 1>&2 |
119 | - echo "Install the appropriate db*-devel package first." 1>&2 | | 121 | - echo "Install the appropriate db*-devel package first." 1>&2 |
120 | - exit 1 | | 122 | - exit 1 |
121 | - fi | | 123 | - fi |
122 | - SYSLIBS="-ldb" | | 124 | - SYSLIBS="-ldb" |
123 | - ;; | | 125 | - ;; |
124 | - esac | | 126 | - esac |
125 | for name in nsl resolv | | 127 | for name in nsl resolv |
126 | do | | 128 | do |
127 | for lib in /usr/lib64 /lib64 /usr/lib /lib | | 129 | for lib in /usr/lib64 /lib64 /usr/lib /lib |
128 | @@ -645,26 +586,14 @@ EOF | | 130 | @@ -656,26 +597,14 @@ EOF |
129 | HP-UX.A.09.*) SYSTYPE=HPUX9 | | 131 | HP-UX.A.09.*) SYSTYPE=HPUX9 |
130 | SYSLIBS=-ldbm | | 132 | SYSLIBS=-ldbm |
131 | CCARGS="$CCARGS -DMISSING_USLEEP -DNO_SNPRINTF" | | 133 | CCARGS="$CCARGS -DMISSING_USLEEP -DNO_SNPRINTF" |
132 | - if [ -f /usr/lib/libdb.a ]; then | | 134 | - if [ -f /usr/lib/libdb.a ]; then |
133 | - CCARGS="$CCARGS -DHAS_DB" | | 135 | - CCARGS="$CCARGS -DHAS_DB" |
134 | - SYSLIBS="$SYSLIBS -ldb" | | 136 | - SYSLIBS="$SYSLIBS -ldb" |
135 | - fi | | 137 | - fi |
136 | ;; | | 138 | ;; |
137 | HP-UX.B.10.*) SYSTYPE=HPUX10 | | 139 | HP-UX.B.10.*) SYSTYPE=HPUX10 |
138 | CCARGS="$CCARGS `nm /usr/lib/libc.a 2>/dev/null | | | 140 | CCARGS="$CCARGS `nm /usr/lib/libc.a 2>/dev/null | |
139 | (grep usleep >/dev/null || echo '-DMISSING_USLEEP')`" | | 141 | (grep usleep >/dev/null || echo '-DMISSING_USLEEP')`" |
140 | CCARGS="$CCARGS -DNO_SNPRINTF" | | 142 | CCARGS="$CCARGS -DNO_SNPRINTF" |
141 | - if [ -f /usr/lib/libdb.a ]; then | | 143 | - if [ -f /usr/lib/libdb.a ]; then |
142 | - CCARGS="$CCARGS -DHAS_DB" | | 144 | - CCARGS="$CCARGS -DHAS_DB" |
143 | - SYSLIBS=-ldb | | 145 | - SYSLIBS=-ldb |
144 | - fi | | 146 | - fi |
145 | ;; | | 147 | ;; |
146 | HP-UX.B.11.*) SYSTYPE=HPUX11 | | 148 | HP-UX.B.11.*) SYSTYPE=HPUX11 |
147 | SYSLIBS=-lnsl | | 149 | SYSLIBS=-lnsl |
148 | - if [ -f /usr/lib/libdb.a ]; then | | 150 | - if [ -f /usr/lib/libdb.a ]; then |
149 | - CCARGS="$CCARGS -DHAS_DB" | | 151 | - CCARGS="$CCARGS -DHAS_DB" |
150 | - SYSLIBS="$SYSLIBS -ldb" | | 152 | - SYSLIBS="$SYSLIBS -ldb" |
151 | - fi | | 153 | - fi |
152 | ;; | | 154 | ;; |
153 | ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix543 | | 155 | ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix543 |
154 | RANLIB=echo | | 156 | RANLIB=echo |
155 | @@ -706,12 +635,12 @@ ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix5 | | 157 | @@ -717,12 +646,12 @@ ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix5 |
156 | esac | | 158 | esac |
157 | : ${SHLIB_CFLAGS=-fPIC} | | 159 | : ${SHLIB_CFLAGS=-fPIC} |
158 | : ${SHLIB_SUFFIX=.dylib} | | 160 | : ${SHLIB_SUFFIX=.dylib} |
159 | - : ${SHLIB_LD='cc -shared -Wl,-flat_namespace -Wl,-undefined,dynamic_lookup -Wl,-install_name,@rpath/${LIB}'} | | 161 | - : ${SHLIB_LD='cc -shared -Wl,-flat_namespace -Wl,-undefined,dynamic_lookup -Wl,-install_name,@rpath/${LIB}'} |
160 | + : ${SHLIB_LD='${CC} -shared -Wl,-flat_namespace -Wl,-undefined,dynamic_lookup -Wl,-install_name,@rpath/${LIB}'} | | 162 | + : ${SHLIB_LD='${CC} -shared -Wl,-flat_namespace -Wl,-undefined,dynamic_lookup -Wl,-install_name,@rpath/${LIB}'} |
161 | : ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'} | | 163 | : ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'} |
162 | # In MacOS/X 10.11.x /bin/sh unsets DYLD_LIBRARY_PATH, so we | | 164 | # In MacOS/X 10.11.x /bin/sh unsets DYLD_LIBRARY_PATH, so we |
163 | # have export it into postfix-install indirectly! | | 165 | # have export it into postfix-install indirectly! |
164 | : ${SHLIB_ENV="DYLD_LIBRARY_PATH=`pwd`/lib SHLIB_ENV_VAR=DYLD_LIBRARY_PATH SHLIB_ENV_VAL=`pwd`/lib"} | | 166 | : ${SHLIB_ENV="DYLD_LIBRARY_PATH=`pwd`/lib SHLIB_ENV_VAR=DYLD_LIBRARY_PATH SHLIB_ENV_VAL=`pwd`/lib"} |
165 | - : ${PLUGIN_LD='cc -shared -Wl,-flat_namespace -Wl,-undefined,dynamic_lookup'} | | 167 | - : ${PLUGIN_LD='cc -shared -Wl,-flat_namespace -Wl,-undefined,dynamic_lookup'} |
166 | + : ${PLUGIN_LD='${CC} -shared -Wl,-flat_namespace -Wl,-undefined,dynamic_lookup'} | | 168 | + : ${PLUGIN_LD='${CC} -shared -Wl,-flat_namespace -Wl,-undefined,dynamic_lookup'} |
167 | ;; | | 169 | ;; |
168 | dcosx.1*) SYSTYPE=DCOSX1 | | 170 | dcosx.1*) SYSTYPE=DCOSX1 |
169 | RANLIB=echo | | 171 | RANLIB=echo |
| | | 172 | @@ -746,6 +675,17 @@ ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix5 |
| | | 173 | esac |
| | | 174 | |
| | | 175 | # |
| | | 176 | +# Support for blocklist(3) or blacklist(3). |
| | | 177 | +# |
| | | 178 | +if test -f /usr/include/blocklist.h; then |
| | | 179 | + CCARGS="$CCARGS -DHAVE_BLOCKLIST" |
| | | 180 | + SYSLIBS="$SYSLIBS -lblocklist" |
| | | 181 | +elif test -f /usr/include/blacklist.h; then |
| | | 182 | + CCARGS="$CCARGS -DHAVE_BLACKLIST" |
| | | 183 | + SYSLIBS="$SYSLIBS -lblacklist" |
| | | 184 | +fi |
| | | 185 | + |
| | | 186 | +# |
| | | 187 | # sigsetjmp()/siglongjmp() can be "better" than setjmp()/longjmp() |
| | | 188 | # if used wisely (that is: almost never, just like signals). |
| | | 189 | # Unfortunately some implementations have been buggy in the past. |