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