]>
Commit | Line | Data |
---|---|---|
ef416fc2 | 1 | dnl |
75bd9771 | 2 | dnl "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $" |
ef416fc2 | 3 | dnl |
4 | dnl Shared library support for the Common UNIX Printing System (CUPS). | |
5 | dnl | |
50fe7201 | 6 | dnl Copyright 2007-2008 by Apple Inc. |
ef416fc2 | 7 | dnl Copyright 1997-2005 by Easy Software Products, all rights reserved. |
8 | dnl | |
9 | dnl These coded instructions, statements, and computer programs are the | |
bc44d920 | 10 | dnl property of Apple Inc. and are protected by Federal copyright |
11 | dnl law. Distribution and use rights are outlined in the file "LICENSE.txt" | |
12 | dnl which should have been included with this file. If this file is | |
13 | dnl file is missing or damaged, see the license at "http://www.cups.org/". | |
ef416fc2 | 14 | dnl |
15 | ||
16 | PICFLAG=1 | |
17 | DSOFLAGS="${DSOFLAGS:=}" | |
18 | ||
19 | AC_ARG_ENABLE(shared, [ --enable-shared turn on shared libraries, default=yes]) | |
20 | ||
21 | if test x$enable_shared != xno; then | |
22 | case "$uname" in | |
dd1abb6b MS |
23 | SunOS*) |
24 | LIBCUPS="libcups.so.2" | |
25 | LIBCUPSCGI="libcupscgi.so.1" | |
26 | LIBCUPSDRIVER="libcupsdriver.so.1" | |
27 | LIBCUPSIMAGE="libcupsimage.so.2" | |
28 | LIBCUPSMIME="libcupsmime.so.1" | |
29 | LIBCUPSPPDC="libcupsppdc.so.1" | |
30 | DSO="\$(CC)" | |
31 | DSOXX="\$(CXX)" | |
32 | DSOFLAGS="$DSOFLAGS -Wl,-h\`basename \$@\` -G \$(OPTIM)" | |
33 | ;; | |
34 | UNIX_S*) | |
ef416fc2 | 35 | LIBCUPS="libcups.so.2" |
50fe7201 MS |
36 | LIBCUPSCGI="libcupscgi.so.1" |
37 | LIBCUPSDRIVER="libcupsdriver.so.1" | |
ef416fc2 | 38 | LIBCUPSIMAGE="libcupsimage.so.2" |
50fe7201 MS |
39 | LIBCUPSMIME="libcupsmime.so.1" |
40 | LIBCUPSPPDC="libcupsppdc.so.1" | |
ef416fc2 | 41 | DSO="\$(CC)" |
50fe7201 | 42 | DSOXX="\$(CXX)" |
f301802f | 43 | DSOFLAGS="$DSOFLAGS -Wl,-h,\`basename \$@\` -G \$(OPTIM)" |
ef416fc2 | 44 | ;; |
45 | HP-UX*) | |
b86bc4cf | 46 | case "$uarch" in |
47 | ia64) | |
48 | LIBCUPS="libcups.so.2" | |
50fe7201 MS |
49 | LIBCUPSCGI="libcupscgi.so.1" |
50 | LIBCUPSDRIVER="libcupsdriver.so.1" | |
b86bc4cf | 51 | LIBCUPSIMAGE="libcupsimage.so.2" |
50fe7201 MS |
52 | LIBCUPSMIME="libcupsmime.so.1" |
53 | LIBCUPSPPDC="libcupsppdc.so.1" | |
b86bc4cf | 54 | DSO="\$(CC)" |
50fe7201 | 55 | DSOXX="\$(CXX)" |
b86bc4cf | 56 | DSOFLAGS="$DSOFLAGS -Wl,-b,-z,+h,\`basename \$@\`" |
57 | ;; | |
58 | *) | |
59 | LIBCUPS="libcups.sl.2" | |
50fe7201 MS |
60 | LIBCUPSCGI="libcupscgi.sl.1" |
61 | LIBCUPSDRIVER="libcupsdriver.sl.1" | |
b86bc4cf | 62 | LIBCUPSIMAGE="libcupsimage.sl.2" |
50fe7201 MS |
63 | LIBCUPSMIME="libcupsmime.sl.1" |
64 | LIBCUPSPPDC="libcupsppdc.sl.1" | |
b86bc4cf | 65 | DSO="\$(LD)" |
50fe7201 | 66 | DSOXX="\$(LD)" |
b86bc4cf | 67 | DSOFLAGS="$DSOFLAGS -b -z +h \`basename \$@\`" |
68 | ;; | |
69 | esac | |
ef416fc2 | 70 | ;; |
71 | IRIX) | |
72 | LIBCUPS="libcups.so.2" | |
50fe7201 MS |
73 | LIBCUPSCGI="libcupscgi.so.1" |
74 | LIBCUPSDRIVER="libcupsdriver.so.1" | |
ef416fc2 | 75 | LIBCUPSIMAGE="libcupsimage.so.2" |
50fe7201 MS |
76 | LIBCUPSMIME="libcupsmime.so.1" |
77 | LIBCUPSPPDC="libcupsppdc.so.1" | |
ef416fc2 | 78 | DSO="\$(CC)" |
50fe7201 | 79 | DSOXX="\$(CXX)" |
f301802f | 80 | DSOFLAGS="$DSOFLAGS -set_version,sgi2.6,-soname,\`basename \$@\` -shared \$(OPTIM)" |
ef416fc2 | 81 | ;; |
82 | OSF1* | Linux | GNU | *BSD*) | |
83 | LIBCUPS="libcups.so.2" | |
50fe7201 MS |
84 | LIBCUPSCGI="libcupscgi.so.1" |
85 | LIBCUPSDRIVER="libcupsdriver.so.1" | |
ef416fc2 | 86 | LIBCUPSIMAGE="libcupsimage.so.2" |
50fe7201 MS |
87 | LIBCUPSMIME="libcupsmime.so.1" |
88 | LIBCUPSPPDC="libcupsppdc.so.1" | |
ef416fc2 | 89 | DSO="\$(CC)" |
50fe7201 | 90 | DSOXX="\$(CXX)" |
f301802f | 91 | DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)" |
ef416fc2 | 92 | ;; |
93 | Darwin*) | |
94 | LIBCUPS="libcups.2.dylib" | |
50fe7201 MS |
95 | LIBCUPSCGI="libcupscgi.1.dylib" |
96 | LIBCUPSDRIVER="libcupsdriver.1.dylib" | |
ef416fc2 | 97 | LIBCUPSIMAGE="libcupsimage.2.dylib" |
50fe7201 MS |
98 | LIBCUPSMIME="libcupsmime.1.dylib" |
99 | LIBCUPSPPDC="libcupsppdc.1.dylib" | |
ef416fc2 | 100 | DSO="\$(CC)" |
50fe7201 | 101 | DSOXX="\$(CXX)" |
f301802f | 102 | DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc" |
ef416fc2 | 103 | ;; |
104 | AIX*) | |
105 | LIBCUPS="libcups_s.a" | |
50fe7201 MS |
106 | LIBCUPSCGI="libcupscgi_s.a" |
107 | LIBCUPSDRIVER="libcupsdriver_s.a" | |
ef416fc2 | 108 | LIBCUPSIMAGE="libcupsimage_s.a" |
50fe7201 MS |
109 | LIBCUPSMIME="libcupsmime_s.a" |
110 | LIBCUPSPPDC="libcupsppdc_s.a" | |
ef416fc2 | 111 | DSO="\$(CC)" |
50fe7201 | 112 | DSOXX="\$(CXX)" |
ef416fc2 | 113 | DSOFLAGS="$DSOFLAGS -Wl,-bexpall,-bM:SRE,-bnoentry,-blibpath:\$(libdir)" |
114 | ;; | |
115 | *) | |
116 | echo "Warning: shared libraries may not be supported. Trying -shared" | |
117 | echo " option with compiler." | |
118 | LIBCUPS="libcups.so.2" | |
50fe7201 MS |
119 | LIBCUPSCGI="libcupscgi.so.1" |
120 | LIBCUPSDRIVER="libcupsdriver.so.1" | |
ef416fc2 | 121 | LIBCUPSIMAGE="libcupsimage.so.2" |
50fe7201 MS |
122 | LIBCUPSMIME="libcupsmime.so.1" |
123 | LIBCUPSPPDC="libcupsppdc.so.1" | |
ef416fc2 | 124 | DSO="\$(CC)" |
50fe7201 | 125 | DSOXX="\$(CXX)" |
f301802f | 126 | DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)" |
ef416fc2 | 127 | ;; |
128 | esac | |
129 | else | |
130 | PICFLAG=0 | |
131 | LIBCUPS="libcups.a" | |
50fe7201 MS |
132 | LIBCUPSCGI="libcupscgi.a" |
133 | LIBCUPSDRIVER="libcupsdriver.a" | |
ef416fc2 | 134 | LIBCUPSIMAGE="libcupsimage.a" |
50fe7201 MS |
135 | LIBCUPSMIME="libcupsmime.a" |
136 | LIBCUPSPPDC="libcupsppdc.a" | |
ef416fc2 | 137 | DSO=":" |
50fe7201 | 138 | DSOXX=":" |
ef416fc2 | 139 | fi |
140 | ||
f301802f | 141 | # 32-bit and 64-bit libraries need variations of the standard |
142 | # DSOFLAGS... | |
143 | DSO32FLAGS="$DSOFLAGS" | |
144 | DSO64FLAGS="$DSOFLAGS" | |
145 | ||
ef416fc2 | 146 | AC_SUBST(DSO) |
50fe7201 | 147 | AC_SUBST(DSOXX) |
ef416fc2 | 148 | AC_SUBST(DSOFLAGS) |
f301802f | 149 | AC_SUBST(DSO32FLAGS) |
150 | AC_SUBST(DSO64FLAGS) | |
ef416fc2 | 151 | AC_SUBST(LIBCUPS) |
50fe7201 MS |
152 | AC_SUBST(LIBCUPSCGI) |
153 | AC_SUBST(LIBCUPSDRIVER) | |
ef416fc2 | 154 | AC_SUBST(LIBCUPSIMAGE) |
50fe7201 MS |
155 | AC_SUBST(LIBCUPSMIME) |
156 | AC_SUBST(LIBCUPSPPDC) | |
ef416fc2 | 157 | |
158 | if test x$enable_shared = xno; then | |
159 | LINKCUPS="../cups/libcups.a" | |
160 | LINKCUPSIMAGE="../filter/libcupsimage.a" | |
161 | else | |
162 | if test $uname = AIX; then | |
163 | LINKCUPS="-lcups_s" | |
164 | LINKCUPSIMAGE="-lcupsimage_s" | |
165 | else | |
166 | LINKCUPS="-lcups" | |
167 | LINKCUPSIMAGE="-lcupsimage" | |
168 | fi | |
169 | fi | |
170 | ||
171 | AC_SUBST(LINKCUPS) | |
172 | AC_SUBST(LINKCUPSIMAGE) | |
173 | ||
174 | dnl Update libraries for DSOs... | |
175 | EXPORT_LDFLAGS="" | |
176 | ||
177 | if test "$DSO" != ":"; then | |
178 | # When using DSOs the image libraries are linked to libcupsimage.so | |
179 | # rather than to the executables. This makes things smaller if you | |
180 | # are using any static libraries, and it also allows us to distribute | |
181 | # a single DSO rather than a bunch... | |
ed486911 | 182 | DSOLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)" |
ef416fc2 | 183 | IMGLIBS="" |
184 | ||
f301802f | 185 | # Tell the run-time linkers where to find a DSO. Some platforms |
186 | # need this option, even when the library is installed in a | |
187 | # standard location... | |
ef416fc2 | 188 | case $uname in |
189 | HP-UX*) | |
f301802f | 190 | # HP-UX needs the path, even for /usr/lib... |
b86bc4cf | 191 | case "$uarch" in |
192 | ia64) | |
193 | DSOFLAGS="-Wl,+s,+b,$libdir $DSOFLAGS" | |
194 | DSO32FLAGS="-Wl,+s,+b,$LIB32DIR $DSO32FLAGS" | |
195 | DSO64FLAGS="-Wl,+s,+b,$LIB64DIR $DSO64FLAGS" | |
196 | ;; | |
197 | *) | |
198 | DSOFLAGS="+s +b $libdir $DSOFLAGS" | |
199 | DSO32FLAGS="+s +b $LIB32DIR $DSO32FLAGS" | |
200 | DSO64FLAGS="+s +b $LIB64DIR $DSO64FLAGS" | |
201 | ;; | |
202 | esac | |
ed486911 | 203 | LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir" |
204 | EXPORT_LDFLAGS="-Wl,+s,+b,$libdir" | |
f301802f | 205 | ;; |
ef416fc2 | 206 | SunOS*) |
f301802f | 207 | # Solaris... |
208 | if test $exec_prefix != /usr; then | |
ed486911 | 209 | DSOFLAGS="-R$libdir $DSOFLAGS" |
210 | DSO32FLAGS="-R$LIB32DIR $DSO32FLAGS" | |
211 | DSO64FLAGS="-R$LIB64DIR $DSO64FLAGS" | |
212 | LDFLAGS="$LDFLAGS -R$libdir" | |
213 | EXPORT_LDFLAGS="-R$libdir" | |
f301802f | 214 | fi |
215 | ;; | |
ef416fc2 | 216 | *BSD*) |
f301802f | 217 | # *BSD... |
218 | if test $exec_prefix != /usr; then | |
ed486911 | 219 | DSOFLAGS="-Wl,-R$libdir $DSOFLAGS" |
220 | DSO32FLAGS="-Wl,-R$LIB32DIR $DSO32FLAGS" | |
221 | DSO64FLAGS="-Wl,-R$LIB64DIR $DSO64FLAGS" | |
222 | LDFLAGS="$LDFLAGS -Wl,-R$libdir" | |
223 | EXPORT_LDFLAGS="-Wl,-R$libdir" | |
f301802f | 224 | fi |
225 | ;; | |
226 | IRIX | Linux | GNU) | |
227 | # IRIX, Linux, and HURD... | |
228 | if test $exec_prefix != /usr; then | |
ed486911 | 229 | DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS" |
230 | DSO32FLAGS="-Wl,-rpath,$LIB32DIR $DSO32FLAGS" | |
231 | DSO64FLAGS="-Wl,-rpath,$LIB64DIR $DSO64FLAGS" | |
232 | LDFLAGS="$LDFLAGS -Wl,-rpath,$libdir" | |
233 | EXPORT_LDFLAGS="-Wl,-rpath,$libdir" | |
f301802f | 234 | fi |
235 | ;; | |
ef416fc2 | 236 | esac |
237 | else | |
238 | DSOLIBS="" | |
ed486911 | 239 | IMGLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)" |
ef416fc2 | 240 | fi |
241 | ||
242 | AC_SUBST(DSOLIBS) | |
243 | AC_SUBST(IMGLIBS) | |
244 | AC_SUBST(EXPORT_LDFLAGS) | |
245 | ||
246 | dnl | |
75bd9771 | 247 | dnl End of "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $". |
ef416fc2 | 248 | dnl |