2 dnl "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $"
4 dnl Shared library support for CUPS.
6 dnl Copyright 2007-2010 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, [ --disable-shared do not create shared libraries])
22 LIBCUPSBASE="lib$cupsbase"
23 LIBCUPSSTATIC="lib$cupsbase.a"
25 if test x$enable_shared != xno; then
28 LIBCUPS="lib$cupsbase.so.2"
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"
36 DSOFLAGS="$DSOFLAGS -Wl,-h\`basename \$@\` -G \$(OPTIM)"
39 LIBCUPS="lib$cupsbase.so.2"
40 LIBCUPSCGI="libcupscgi.so.1"
41 LIBCUPSDRIVER="libcupsdriver.so.1"
42 LIBCUPSIMAGE="libcupsimage.so.2"
43 LIBCUPSMIME="libcupsmime.so.1"
44 LIBCUPSPPDC="libcupsppdc.so.1"
47 DSOFLAGS="$DSOFLAGS -Wl,-h,\`basename \$@\` -G \$(OPTIM)"
52 LIBCUPS="lib$cupsbase.so.2"
53 LIBCUPSCGI="libcupscgi.so.1"
54 LIBCUPSDRIVER="libcupsdriver.so.1"
55 LIBCUPSIMAGE="libcupsimage.so.2"
56 LIBCUPSMIME="libcupsmime.so.1"
57 LIBCUPSPPDC="libcupsppdc.so.1"
60 DSOFLAGS="$DSOFLAGS -Wl,-b,-z,+h,\`basename \$@\`"
63 LIBCUPS="lib$cupsbase.sl.2"
64 LIBCUPSCGI="libcupscgi.sl.1"
65 LIBCUPSDRIVER="libcupsdriver.sl.1"
66 LIBCUPSIMAGE="libcupsimage.sl.2"
67 LIBCUPSMIME="libcupsmime.sl.1"
68 LIBCUPSPPDC="libcupsppdc.sl.1"
71 DSOFLAGS="$DSOFLAGS -b -z +h \`basename \$@\`"
76 LIBCUPS="lib$cupsbase.so.2"
77 LIBCUPSCGI="libcupscgi.so.1"
78 LIBCUPSDRIVER="libcupsdriver.so.1"
79 LIBCUPSIMAGE="libcupsimage.so.2"
80 LIBCUPSMIME="libcupsmime.so.1"
81 LIBCUPSPPDC="libcupsppdc.so.1"
84 DSOFLAGS="$DSOFLAGS -set_version,sgi2.6,-soname,\`basename \$@\` -shared \$(OPTIM)"
86 OSF1* | Linux | GNU | *BSD*)
87 LIBCUPS="lib$cupsbase.so.2"
88 LIBCUPSCGI="libcupscgi.so.1"
89 LIBCUPSDRIVER="libcupsdriver.so.1"
90 LIBCUPSIMAGE="libcupsimage.so.2"
91 LIBCUPSMIME="libcupsmime.so.1"
92 LIBCUPSPPDC="libcupsppdc.so.1"
95 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
98 LIBCUPS="lib$cupsbase.2.dylib"
99 LIBCUPSCGI="libcupscgi.1.dylib"
100 LIBCUPSDRIVER="libcupsdriver.1.dylib"
101 LIBCUPSIMAGE="libcupsimage.2.dylib"
102 LIBCUPSMIME="libcupsmime.1.dylib"
103 LIBCUPSPPDC="libcupsppdc.1.dylib"
106 DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc"
109 LIBCUPS="lib${cupsbase}_s.a"
110 LIBCUPSBASE="${cupsbase}_s"
111 LIBCUPSCGI="libcupscgi_s.a"
112 LIBCUPSDRIVER="libcupsdriver_s.a"
113 LIBCUPSIMAGE="libcupsimage_s.a"
114 LIBCUPSMIME="libcupsmime_s.a"
115 LIBCUPSPPDC="libcupsppdc_s.a"
118 DSOFLAGS="$DSOFLAGS -Wl,-bexpall,-bM:SRE,-bnoentry,-blibpath:\$(libdir)"
121 echo "Warning: shared libraries may not be supported. Trying -shared"
122 echo " option with compiler."
123 LIBCUPS="lib$cupsbase.so.2"
124 LIBCUPSCGI="libcupscgi.so.1"
125 LIBCUPSDRIVER="libcupsdriver.so.1"
126 LIBCUPSIMAGE="libcupsimage.so.2"
127 LIBCUPSMIME="libcupsmime.so.1"
128 LIBCUPSPPDC="libcupsppdc.so.1"
131 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
136 LIBCUPS="lib$cupsbase.a"
137 LIBCUPSCGI="libcupscgi.a"
138 LIBCUPSDRIVER="libcupsdriver.a"
139 LIBCUPSIMAGE="libcupsimage.a"
140 LIBCUPSMIME="libcupsmime.a"
141 LIBCUPSPPDC="libcupsppdc.a"
146 # 32-bit and 64-bit libraries need variations of the standard
148 DSO32FLAGS="$DSOFLAGS"
149 DSO64FLAGS="$DSOFLAGS"
157 AC_SUBST(LIBCUPSBASE)
159 AC_SUBST(LIBCUPSDRIVER)
160 AC_SUBST(LIBCUPSIMAGE)
161 AC_SUBST(LIBCUPSMIME)
162 AC_SUBST(LIBCUPSPPDC)
163 AC_SUBST(LIBCUPSSTATIC)
165 if test x$enable_shared = xno; then
166 LINKCUPS="../cups/lib$cupsbase.a"
167 LINKCUPSIMAGE="../filter/libcupsimage.a"
169 if test $uname = AIX; then
170 LINKCUPS="-l${cupsbase}_s"
171 LINKCUPSIMAGE="-lcupsimage_s"
173 LINKCUPS="-l${cupsbase}"
174 LINKCUPSIMAGE="-lcupsimage"
179 AC_SUBST(LINKCUPSIMAGE)
181 dnl Update libraries for DSOs...
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...
189 DSOLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
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...
197 # HP-UX needs the path, even for /usr/lib...
200 DSOFLAGS="-Wl,+s,+b,$libdir $DSOFLAGS"
201 DSO32FLAGS="-Wl,+s,+b,$LIB32DIR $DSO32FLAGS"
202 DSO64FLAGS="-Wl,+s,+b,$LIB64DIR $DSO64FLAGS"
205 DSOFLAGS="+s +b $libdir $DSOFLAGS"
206 DSO32FLAGS="+s +b $LIB32DIR $DSO32FLAGS"
207 DSO64FLAGS="+s +b $LIB64DIR $DSO64FLAGS"
210 LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir"
211 EXPORT_LDFLAGS="-Wl,+s,+b,$libdir"
215 if test $exec_prefix != /usr; then
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"
225 if test $exec_prefix != /usr; then
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"
234 # IRIX, Linux, and HURD...
235 if test $exec_prefix != /usr; then
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"
246 IMGLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
251 AC_SUBST(EXPORT_LDFLAGS)
254 dnl End of "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $".