]>
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 |
12f89d24 | 6 | dnl Copyright 2007-2012 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 | 29 | LIBCUPSCGI="libcupscgi.so.1" |
dd1abb6b MS |
30 | LIBCUPSIMAGE="libcupsimage.so.2" |
31 | LIBCUPSMIME="libcupsmime.so.1" | |
32 | LIBCUPSPPDC="libcupsppdc.so.1" | |
33 | DSO="\$(CC)" | |
34 | DSOXX="\$(CXX)" | |
35 | DSOFLAGS="$DSOFLAGS -Wl,-h\`basename \$@\` -G \$(OPTIM)" | |
36 | ;; | |
37 | UNIX_S*) | |
f8b3a85b | 38 | LIBCUPS="lib$cupsbase.so.2" |
50fe7201 | 39 | LIBCUPSCGI="libcupscgi.so.1" |
ef416fc2 | 40 | LIBCUPSIMAGE="libcupsimage.so.2" |
50fe7201 MS |
41 | LIBCUPSMIME="libcupsmime.so.1" |
42 | LIBCUPSPPDC="libcupsppdc.so.1" | |
ef416fc2 | 43 | DSO="\$(CC)" |
50fe7201 | 44 | DSOXX="\$(CXX)" |
f301802f | 45 | DSOFLAGS="$DSOFLAGS -Wl,-h,\`basename \$@\` -G \$(OPTIM)" |
ef416fc2 | 46 | ;; |
47 | HP-UX*) | |
b86bc4cf | 48 | case "$uarch" in |
49 | ia64) | |
f8b3a85b | 50 | LIBCUPS="lib$cupsbase.so.2" |
50fe7201 | 51 | LIBCUPSCGI="libcupscgi.so.1" |
b86bc4cf | 52 | LIBCUPSIMAGE="libcupsimage.so.2" |
50fe7201 MS |
53 | LIBCUPSMIME="libcupsmime.so.1" |
54 | LIBCUPSPPDC="libcupsppdc.so.1" | |
b86bc4cf | 55 | DSO="\$(CC)" |
50fe7201 | 56 | DSOXX="\$(CXX)" |
b86bc4cf | 57 | DSOFLAGS="$DSOFLAGS -Wl,-b,-z,+h,\`basename \$@\`" |
58 | ;; | |
59 | *) | |
f8b3a85b | 60 | LIBCUPS="lib$cupsbase.sl.2" |
50fe7201 | 61 | LIBCUPSCGI="libcupscgi.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) | |
f8b3a85b | 72 | LIBCUPS="lib$cupsbase.so.2" |
50fe7201 | 73 | LIBCUPSCGI="libcupscgi.so.1" |
ef416fc2 | 74 | LIBCUPSIMAGE="libcupsimage.so.2" |
50fe7201 MS |
75 | LIBCUPSMIME="libcupsmime.so.1" |
76 | LIBCUPSPPDC="libcupsppdc.so.1" | |
ef416fc2 | 77 | DSO="\$(CC)" |
50fe7201 | 78 | DSOXX="\$(CXX)" |
f301802f | 79 | DSOFLAGS="$DSOFLAGS -set_version,sgi2.6,-soname,\`basename \$@\` -shared \$(OPTIM)" |
ef416fc2 | 80 | ;; |
81 | OSF1* | Linux | GNU | *BSD*) | |
f8b3a85b | 82 | LIBCUPS="lib$cupsbase.so.2" |
50fe7201 | 83 | LIBCUPSCGI="libcupscgi.so.1" |
ef416fc2 | 84 | LIBCUPSIMAGE="libcupsimage.so.2" |
50fe7201 MS |
85 | LIBCUPSMIME="libcupsmime.so.1" |
86 | LIBCUPSPPDC="libcupsppdc.so.1" | |
ef416fc2 | 87 | DSO="\$(CC)" |
50fe7201 | 88 | DSOXX="\$(CXX)" |
f301802f | 89 | DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)" |
ef416fc2 | 90 | ;; |
91 | Darwin*) | |
f8b3a85b | 92 | LIBCUPS="lib$cupsbase.2.dylib" |
50fe7201 | 93 | LIBCUPSCGI="libcupscgi.1.dylib" |
ef416fc2 | 94 | LIBCUPSIMAGE="libcupsimage.2.dylib" |
50fe7201 MS |
95 | LIBCUPSMIME="libcupsmime.1.dylib" |
96 | LIBCUPSPPDC="libcupsppdc.1.dylib" | |
ef416fc2 | 97 | DSO="\$(CC)" |
50fe7201 | 98 | DSOXX="\$(CXX)" |
f301802f | 99 | DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc" |
ef416fc2 | 100 | ;; |
101 | AIX*) | |
f8b3a85b MS |
102 | LIBCUPS="lib${cupsbase}_s.a" |
103 | LIBCUPSBASE="${cupsbase}_s" | |
50fe7201 | 104 | LIBCUPSCGI="libcupscgi_s.a" |
ef416fc2 | 105 | LIBCUPSIMAGE="libcupsimage_s.a" |
50fe7201 MS |
106 | LIBCUPSMIME="libcupsmime_s.a" |
107 | LIBCUPSPPDC="libcupsppdc_s.a" | |
ef416fc2 | 108 | DSO="\$(CC)" |
50fe7201 | 109 | DSOXX="\$(CXX)" |
ef416fc2 | 110 | DSOFLAGS="$DSOFLAGS -Wl,-bexpall,-bM:SRE,-bnoentry,-blibpath:\$(libdir)" |
111 | ;; | |
112 | *) | |
113 | echo "Warning: shared libraries may not be supported. Trying -shared" | |
114 | echo " option with compiler." | |
f8b3a85b | 115 | LIBCUPS="lib$cupsbase.so.2" |
50fe7201 | 116 | LIBCUPSCGI="libcupscgi.so.1" |
ef416fc2 | 117 | LIBCUPSIMAGE="libcupsimage.so.2" |
50fe7201 MS |
118 | LIBCUPSMIME="libcupsmime.so.1" |
119 | LIBCUPSPPDC="libcupsppdc.so.1" | |
ef416fc2 | 120 | DSO="\$(CC)" |
50fe7201 | 121 | DSOXX="\$(CXX)" |
f301802f | 122 | DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)" |
ef416fc2 | 123 | ;; |
124 | esac | |
125 | else | |
126 | PICFLAG=0 | |
f8b3a85b | 127 | LIBCUPS="lib$cupsbase.a" |
50fe7201 | 128 | LIBCUPSCGI="libcupscgi.a" |
ef416fc2 | 129 | LIBCUPSIMAGE="libcupsimage.a" |
50fe7201 MS |
130 | LIBCUPSMIME="libcupsmime.a" |
131 | LIBCUPSPPDC="libcupsppdc.a" | |
ef416fc2 | 132 | DSO=":" |
50fe7201 | 133 | DSOXX=":" |
ef416fc2 | 134 | fi |
135 | ||
136 | AC_SUBST(DSO) | |
50fe7201 | 137 | AC_SUBST(DSOXX) |
ef416fc2 | 138 | AC_SUBST(DSOFLAGS) |
139 | AC_SUBST(LIBCUPS) | |
f8b3a85b | 140 | AC_SUBST(LIBCUPSBASE) |
50fe7201 | 141 | AC_SUBST(LIBCUPSCGI) |
ef416fc2 | 142 | AC_SUBST(LIBCUPSIMAGE) |
50fe7201 MS |
143 | AC_SUBST(LIBCUPSMIME) |
144 | AC_SUBST(LIBCUPSPPDC) | |
f8b3a85b | 145 | AC_SUBST(LIBCUPSSTATIC) |
ef416fc2 | 146 | |
147 | if test x$enable_shared = xno; then | |
f8b3a85b | 148 | LINKCUPS="../cups/lib$cupsbase.a" |
ef416fc2 | 149 | LINKCUPSIMAGE="../filter/libcupsimage.a" |
c7017ecc MS |
150 | |
151 | EXTLINKCUPS="-lcups" | |
c7017ecc | 152 | EXTLINKCUPSIMAGE="-lcupsimage" |
ef416fc2 | 153 | else |
154 | if test $uname = AIX; then | |
f8b3a85b | 155 | LINKCUPS="-l${cupsbase}_s" |
ef416fc2 | 156 | LINKCUPSIMAGE="-lcupsimage_s" |
c7017ecc MS |
157 | |
158 | EXTLINKCUPS="-lcups_s" | |
c7017ecc | 159 | EXTLINKCUPSIMAGE="-lcupsimage_s" |
ef416fc2 | 160 | else |
f8b3a85b | 161 | LINKCUPS="-l${cupsbase}" |
ef416fc2 | 162 | LINKCUPSIMAGE="-lcupsimage" |
c7017ecc MS |
163 | |
164 | EXTLINKCUPS="-lcups" | |
c7017ecc | 165 | EXTLINKCUPSIMAGE="-lcupsimage" |
ef416fc2 | 166 | fi |
167 | fi | |
168 | ||
c7017ecc | 169 | AC_SUBST(EXTLINKCUPS) |
c7017ecc | 170 | AC_SUBST(EXTLINKCUPSIMAGE) |
ef416fc2 | 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... | |
a4845881 | 182 | DSOLIBS="\$(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" | |
b86bc4cf | 194 | ;; |
195 | *) | |
196 | DSOFLAGS="+s +b $libdir $DSOFLAGS" | |
b86bc4cf | 197 | ;; |
198 | esac | |
ed486911 | 199 | LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir" |
200 | EXPORT_LDFLAGS="-Wl,+s,+b,$libdir" | |
f301802f | 201 | ;; |
ef416fc2 | 202 | SunOS*) |
f301802f | 203 | # Solaris... |
204 | if test $exec_prefix != /usr; then | |
ed486911 | 205 | DSOFLAGS="-R$libdir $DSOFLAGS" |
ed486911 | 206 | LDFLAGS="$LDFLAGS -R$libdir" |
207 | EXPORT_LDFLAGS="-R$libdir" | |
f301802f | 208 | fi |
209 | ;; | |
ef416fc2 | 210 | *BSD*) |
f301802f | 211 | # *BSD... |
212 | if test $exec_prefix != /usr; then | |
ed486911 | 213 | DSOFLAGS="-Wl,-R$libdir $DSOFLAGS" |
ed486911 | 214 | LDFLAGS="$LDFLAGS -Wl,-R$libdir" |
215 | EXPORT_LDFLAGS="-Wl,-R$libdir" | |
f301802f | 216 | fi |
217 | ;; | |
3dd9c340 MS |
218 | Linux | GNU) |
219 | # Linux, and HURD... | |
f301802f | 220 | if test $exec_prefix != /usr; then |
ed486911 | 221 | DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS" |
ed486911 | 222 | LDFLAGS="$LDFLAGS -Wl,-rpath,$libdir" |
223 | EXPORT_LDFLAGS="-Wl,-rpath,$libdir" | |
f301802f | 224 | fi |
225 | ;; | |
ef416fc2 | 226 | esac |
227 | else | |
228 | DSOLIBS="" | |
a4845881 | 229 | IMGLIBS="\$(LIBZ)" |
ef416fc2 | 230 | fi |
231 | ||
232 | AC_SUBST(DSOLIBS) | |
233 | AC_SUBST(IMGLIBS) | |
234 | AC_SUBST(EXPORT_LDFLAGS) | |
235 | ||
236 | dnl | |
75bd9771 | 237 | dnl End of "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $". |
ef416fc2 | 238 | dnl |