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