2 dnl "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $"
4 dnl Shared library support for the Common UNIX Printing System (CUPS).
6 dnl Copyright 2007-2008 by Apple Inc.
7 dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
9 dnl These coded instructions, statements, and computer programs are the
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/".
17 DSOFLAGS="${DSOFLAGS:=}"
19 AC_ARG_ENABLE(shared, [ --enable-shared turn on shared libraries, default=yes])
21 if test x$enable_shared != xno; then
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"
32 DSOFLAGS="$DSOFLAGS -Wl,-h\`basename \$@\` -G \$(OPTIM)"
35 LIBCUPS="libcups.so.2"
36 LIBCUPSCGI="libcupscgi.so.1"
37 LIBCUPSDRIVER="libcupsdriver.so.1"
38 LIBCUPSIMAGE="libcupsimage.so.2"
39 LIBCUPSMIME="libcupsmime.so.1"
40 LIBCUPSPPDC="libcupsppdc.so.1"
43 DSOFLAGS="$DSOFLAGS -Wl,-h,\`basename \$@\` -G \$(OPTIM)"
48 LIBCUPS="libcups.so.2"
49 LIBCUPSCGI="libcupscgi.so.1"
50 LIBCUPSDRIVER="libcupsdriver.so.1"
51 LIBCUPSIMAGE="libcupsimage.so.2"
52 LIBCUPSMIME="libcupsmime.so.1"
53 LIBCUPSPPDC="libcupsppdc.so.1"
56 DSOFLAGS="$DSOFLAGS -Wl,-b,-z,+h,\`basename \$@\`"
59 LIBCUPS="libcups.sl.2"
60 LIBCUPSCGI="libcupscgi.sl.1"
61 LIBCUPSDRIVER="libcupsdriver.sl.1"
62 LIBCUPSIMAGE="libcupsimage.sl.2"
63 LIBCUPSMIME="libcupsmime.sl.1"
64 LIBCUPSPPDC="libcupsppdc.sl.1"
67 DSOFLAGS="$DSOFLAGS -b -z +h \`basename \$@\`"
72 LIBCUPS="libcups.so.2"
73 LIBCUPSCGI="libcupscgi.so.1"
74 LIBCUPSDRIVER="libcupsdriver.so.1"
75 LIBCUPSIMAGE="libcupsimage.so.2"
76 LIBCUPSMIME="libcupsmime.so.1"
77 LIBCUPSPPDC="libcupsppdc.so.1"
80 DSOFLAGS="$DSOFLAGS -set_version,sgi2.6,-soname,\`basename \$@\` -shared \$(OPTIM)"
82 OSF1* | Linux | GNU | *BSD*)
83 LIBCUPS="libcups.so.2"
84 LIBCUPSCGI="libcupscgi.so.1"
85 LIBCUPSDRIVER="libcupsdriver.so.1"
86 LIBCUPSIMAGE="libcupsimage.so.2"
87 LIBCUPSMIME="libcupsmime.so.1"
88 LIBCUPSPPDC="libcupsppdc.so.1"
91 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
94 LIBCUPS="libcups.2.dylib"
95 LIBCUPSCGI="libcupscgi.1.dylib"
96 LIBCUPSDRIVER="libcupsdriver.1.dylib"
97 LIBCUPSIMAGE="libcupsimage.2.dylib"
98 LIBCUPSMIME="libcupsmime.1.dylib"
99 LIBCUPSPPDC="libcupsppdc.1.dylib"
102 DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc"
105 LIBCUPS="libcups_s.a"
106 LIBCUPSCGI="libcupscgi_s.a"
107 LIBCUPSDRIVER="libcupsdriver_s.a"
108 LIBCUPSIMAGE="libcupsimage_s.a"
109 LIBCUPSMIME="libcupsmime_s.a"
110 LIBCUPSPPDC="libcupsppdc_s.a"
113 DSOFLAGS="$DSOFLAGS -Wl,-bexpall,-bM:SRE,-bnoentry,-blibpath:\$(libdir)"
116 echo "Warning: shared libraries may not be supported. Trying -shared"
117 echo " option with compiler."
118 LIBCUPS="libcups.so.2"
119 LIBCUPSCGI="libcupscgi.so.1"
120 LIBCUPSDRIVER="libcupsdriver.so.1"
121 LIBCUPSIMAGE="libcupsimage.so.2"
122 LIBCUPSMIME="libcupsmime.so.1"
123 LIBCUPSPPDC="libcupsppdc.so.1"
126 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
132 LIBCUPSCGI="libcupscgi.a"
133 LIBCUPSDRIVER="libcupsdriver.a"
134 LIBCUPSIMAGE="libcupsimage.a"
135 LIBCUPSMIME="libcupsmime.a"
136 LIBCUPSPPDC="libcupsppdc.a"
141 # 32-bit and 64-bit libraries need variations of the standard
143 DSO32FLAGS="$DSOFLAGS"
144 DSO64FLAGS="$DSOFLAGS"
153 AC_SUBST(LIBCUPSDRIVER)
154 AC_SUBST(LIBCUPSIMAGE)
155 AC_SUBST(LIBCUPSMIME)
156 AC_SUBST(LIBCUPSPPDC)
158 if test x$enable_shared = xno; then
159 LINKCUPS="../cups/libcups.a"
160 LINKCUPSIMAGE="../filter/libcupsimage.a"
162 if test $uname = AIX; then
164 LINKCUPSIMAGE="-lcupsimage_s"
167 LINKCUPSIMAGE="-lcupsimage"
172 AC_SUBST(LINKCUPSIMAGE)
174 dnl Update libraries for DSOs...
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...
182 DSOLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
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...
190 # HP-UX needs the path, even for /usr/lib...
193 DSOFLAGS="-Wl,+s,+b,$libdir $DSOFLAGS"
194 DSO32FLAGS="-Wl,+s,+b,$LIB32DIR $DSO32FLAGS"
195 DSO64FLAGS="-Wl,+s,+b,$LIB64DIR $DSO64FLAGS"
198 DSOFLAGS="+s +b $libdir $DSOFLAGS"
199 DSO32FLAGS="+s +b $LIB32DIR $DSO32FLAGS"
200 DSO64FLAGS="+s +b $LIB64DIR $DSO64FLAGS"
203 LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir"
204 EXPORT_LDFLAGS="-Wl,+s,+b,$libdir"
208 if test $exec_prefix != /usr; then
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"
218 if test $exec_prefix != /usr; then
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"
227 # IRIX, Linux, and HURD...
228 if test $exec_prefix != /usr; then
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"
239 IMGLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
244 AC_SUBST(EXPORT_LDFLAGS)
247 dnl End of "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $".