2 dnl "$Id: cups-sharedlibs.m4 6649 2007-07-11 21:46:42Z 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)"
37 LIBCUPS="libcups.so.2"
38 LIBCUPSCGI="libcupscgi.so.1"
39 LIBCUPSDRIVER="libcupsdriver.so.1"
40 LIBCUPSIMAGE="libcupsimage.so.2"
41 LIBCUPSMIME="libcupsmime.so.1"
42 LIBCUPSPPDC="libcupsppdc.so.1"
45 DSOFLAGS="$DSOFLAGS -Wl,-b,-z,+h,\`basename \$@\`"
48 LIBCUPS="libcups.sl.2"
49 LIBCUPSCGI="libcupscgi.sl.1"
50 LIBCUPSDRIVER="libcupsdriver.sl.1"
51 LIBCUPSIMAGE="libcupsimage.sl.2"
52 LIBCUPSMIME="libcupsmime.sl.1"
53 LIBCUPSPPDC="libcupsppdc.sl.1"
56 DSOFLAGS="$DSOFLAGS -b -z +h \`basename \$@\`"
61 LIBCUPS="libcups.so.2"
62 LIBCUPSCGI="libcupscgi.so.1"
63 LIBCUPSDRIVER="libcupsdriver.so.1"
64 LIBCUPSIMAGE="libcupsimage.so.2"
65 LIBCUPSMIME="libcupsmime.so.1"
66 LIBCUPSPPDC="libcupsppdc.so.1"
69 DSOFLAGS="$DSOFLAGS -set_version,sgi2.6,-soname,\`basename \$@\` -shared \$(OPTIM)"
71 OSF1* | Linux | GNU | *BSD*)
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 -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
83 LIBCUPS="libcups.2.dylib"
84 LIBCUPSCGI="libcupscgi.1.dylib"
85 LIBCUPSDRIVER="libcupsdriver.1.dylib"
86 LIBCUPSIMAGE="libcupsimage.2.dylib"
87 LIBCUPSMIME="libcupsmime.1.dylib"
88 LIBCUPSPPDC="libcupsppdc.1.dylib"
91 DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc"
95 LIBCUPSCGI="libcupscgi_s.a"
96 LIBCUPSDRIVER="libcupsdriver_s.a"
97 LIBCUPSIMAGE="libcupsimage_s.a"
98 LIBCUPSMIME="libcupsmime_s.a"
99 LIBCUPSPPDC="libcupsppdc_s.a"
102 DSOFLAGS="$DSOFLAGS -Wl,-bexpall,-bM:SRE,-bnoentry,-blibpath:\$(libdir)"
105 echo "Warning: shared libraries may not be supported. Trying -shared"
106 echo " option with compiler."
107 LIBCUPS="libcups.so.2"
108 LIBCUPSCGI="libcupscgi.so.1"
109 LIBCUPSDRIVER="libcupsdriver.so.1"
110 LIBCUPSIMAGE="libcupsimage.so.2"
111 LIBCUPSMIME="libcupsmime.so.1"
112 LIBCUPSPPDC="libcupsppdc.so.1"
115 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
121 LIBCUPSCGI="libcupscgi.a"
122 LIBCUPSDRIVER="libcupsdriver.a"
123 LIBCUPSIMAGE="libcupsimage.a"
124 LIBCUPSMIME="libcupsmime.a"
125 LIBCUPSPPDC="libcupsppdc.a"
130 # 32-bit and 64-bit libraries need variations of the standard
132 DSO32FLAGS="$DSOFLAGS"
133 DSO64FLAGS="$DSOFLAGS"
142 AC_SUBST(LIBCUPSDRIVER)
143 AC_SUBST(LIBCUPSIMAGE)
144 AC_SUBST(LIBCUPSMIME)
145 AC_SUBST(LIBCUPSPPDC)
147 if test x$enable_shared = xno; then
148 LINKCUPS="../cups/libcups.a"
149 LINKCUPSIMAGE="../filter/libcupsimage.a"
151 if test $uname = AIX; then
153 LINKCUPSIMAGE="-lcupsimage_s"
156 LINKCUPSIMAGE="-lcupsimage"
161 AC_SUBST(LINKCUPSIMAGE)
163 dnl Update libraries for DSOs...
166 if test "$DSO" != ":"; then
167 # When using DSOs the image libraries are linked to libcupsimage.so
168 # rather than to the executables. This makes things smaller if you
169 # are using any static libraries, and it also allows us to distribute
170 # a single DSO rather than a bunch...
171 DSOLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
174 # Tell the run-time linkers where to find a DSO. Some platforms
175 # need this option, even when the library is installed in a
176 # standard location...
179 # HP-UX needs the path, even for /usr/lib...
182 DSOFLAGS="-Wl,+s,+b,$libdir $DSOFLAGS"
183 DSO32FLAGS="-Wl,+s,+b,$LIB32DIR $DSO32FLAGS"
184 DSO64FLAGS="-Wl,+s,+b,$LIB64DIR $DSO64FLAGS"
187 DSOFLAGS="+s +b $libdir $DSOFLAGS"
188 DSO32FLAGS="+s +b $LIB32DIR $DSO32FLAGS"
189 DSO64FLAGS="+s +b $LIB64DIR $DSO64FLAGS"
192 LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir"
193 EXPORT_LDFLAGS="-Wl,+s,+b,$libdir"
197 if test $exec_prefix != /usr; then
198 DSOFLAGS="-R$libdir $DSOFLAGS"
199 DSO32FLAGS="-R$LIB32DIR $DSO32FLAGS"
200 DSO64FLAGS="-R$LIB64DIR $DSO64FLAGS"
201 LDFLAGS="$LDFLAGS -R$libdir"
202 EXPORT_LDFLAGS="-R$libdir"
207 if test $exec_prefix != /usr; then
208 DSOFLAGS="-Wl,-R$libdir $DSOFLAGS"
209 DSO32FLAGS="-Wl,-R$LIB32DIR $DSO32FLAGS"
210 DSO64FLAGS="-Wl,-R$LIB64DIR $DSO64FLAGS"
211 LDFLAGS="$LDFLAGS -Wl,-R$libdir"
212 EXPORT_LDFLAGS="-Wl,-R$libdir"
216 # IRIX, Linux, and HURD...
217 if test $exec_prefix != /usr; then
218 DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS"
219 DSO32FLAGS="-Wl,-rpath,$LIB32DIR $DSO32FLAGS"
220 DSO64FLAGS="-Wl,-rpath,$LIB64DIR $DSO64FLAGS"
221 LDFLAGS="$LDFLAGS -Wl,-rpath,$libdir"
222 EXPORT_LDFLAGS="-Wl,-rpath,$libdir"
228 IMGLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
233 AC_SUBST(EXPORT_LDFLAGS)
236 dnl End of "$Id: cups-sharedlibs.m4 6649 2007-07-11 21:46:42Z mike $".