]> git.ipfire.org Git - thirdparty/cups.git/blame - config-scripts/cups-sharedlibs.m4
Merge changes from CUPS 1.4svn-r7696.
[thirdparty/cups.git] / config-scripts / cups-sharedlibs.m4
CommitLineData
ef416fc2 1dnl
75bd9771 2dnl "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $"
ef416fc2 3dnl
4dnl Shared library support for the Common UNIX Printing System (CUPS).
5dnl
50fe7201 6dnl Copyright 2007-2008 by Apple Inc.
ef416fc2 7dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
8dnl
9dnl These coded instructions, statements, and computer programs are the
bc44d920 10dnl property of Apple Inc. and are protected by Federal copyright
11dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
12dnl which should have been included with this file. If this file is
13dnl file is missing or damaged, see the license at "http://www.cups.org/".
ef416fc2 14dnl
15
16PICFLAG=1
17DSOFLAGS="${DSOFLAGS:=}"
18
19AC_ARG_ENABLE(shared, [ --enable-shared turn on shared libraries, default=yes])
20
21if test x$enable_shared != xno; then
22 case "$uname" in
dd1abb6b
MS
23 SunOS*)
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"
30 DSO="\$(CC)"
31 DSOXX="\$(CXX)"
32 DSOFLAGS="$DSOFLAGS -Wl,-h\`basename \$@\` -G \$(OPTIM)"
33 ;;
34 UNIX_S*)
ef416fc2 35 LIBCUPS="libcups.so.2"
50fe7201
MS
36 LIBCUPSCGI="libcupscgi.so.1"
37 LIBCUPSDRIVER="libcupsdriver.so.1"
ef416fc2 38 LIBCUPSIMAGE="libcupsimage.so.2"
50fe7201
MS
39 LIBCUPSMIME="libcupsmime.so.1"
40 LIBCUPSPPDC="libcupsppdc.so.1"
ef416fc2 41 DSO="\$(CC)"
50fe7201 42 DSOXX="\$(CXX)"
f301802f 43 DSOFLAGS="$DSOFLAGS -Wl,-h,\`basename \$@\` -G \$(OPTIM)"
ef416fc2 44 ;;
45 HP-UX*)
b86bc4cf 46 case "$uarch" in
47 ia64)
48 LIBCUPS="libcups.so.2"
50fe7201
MS
49 LIBCUPSCGI="libcupscgi.so.1"
50 LIBCUPSDRIVER="libcupsdriver.so.1"
b86bc4cf 51 LIBCUPSIMAGE="libcupsimage.so.2"
50fe7201
MS
52 LIBCUPSMIME="libcupsmime.so.1"
53 LIBCUPSPPDC="libcupsppdc.so.1"
b86bc4cf 54 DSO="\$(CC)"
50fe7201 55 DSOXX="\$(CXX)"
b86bc4cf 56 DSOFLAGS="$DSOFLAGS -Wl,-b,-z,+h,\`basename \$@\`"
57 ;;
58 *)
59 LIBCUPS="libcups.sl.2"
50fe7201
MS
60 LIBCUPSCGI="libcupscgi.sl.1"
61 LIBCUPSDRIVER="libcupsdriver.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)
72 LIBCUPS="libcups.so.2"
50fe7201
MS
73 LIBCUPSCGI="libcupscgi.so.1"
74 LIBCUPSDRIVER="libcupsdriver.so.1"
ef416fc2 75 LIBCUPSIMAGE="libcupsimage.so.2"
50fe7201
MS
76 LIBCUPSMIME="libcupsmime.so.1"
77 LIBCUPSPPDC="libcupsppdc.so.1"
ef416fc2 78 DSO="\$(CC)"
50fe7201 79 DSOXX="\$(CXX)"
f301802f 80 DSOFLAGS="$DSOFLAGS -set_version,sgi2.6,-soname,\`basename \$@\` -shared \$(OPTIM)"
ef416fc2 81 ;;
82 OSF1* | Linux | GNU | *BSD*)
83 LIBCUPS="libcups.so.2"
50fe7201
MS
84 LIBCUPSCGI="libcupscgi.so.1"
85 LIBCUPSDRIVER="libcupsdriver.so.1"
ef416fc2 86 LIBCUPSIMAGE="libcupsimage.so.2"
50fe7201
MS
87 LIBCUPSMIME="libcupsmime.so.1"
88 LIBCUPSPPDC="libcupsppdc.so.1"
ef416fc2 89 DSO="\$(CC)"
50fe7201 90 DSOXX="\$(CXX)"
f301802f 91 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
ef416fc2 92 ;;
93 Darwin*)
94 LIBCUPS="libcups.2.dylib"
50fe7201
MS
95 LIBCUPSCGI="libcupscgi.1.dylib"
96 LIBCUPSDRIVER="libcupsdriver.1.dylib"
ef416fc2 97 LIBCUPSIMAGE="libcupsimage.2.dylib"
50fe7201
MS
98 LIBCUPSMIME="libcupsmime.1.dylib"
99 LIBCUPSPPDC="libcupsppdc.1.dylib"
ef416fc2 100 DSO="\$(CC)"
50fe7201 101 DSOXX="\$(CXX)"
f301802f 102 DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc"
ef416fc2 103 ;;
104 AIX*)
105 LIBCUPS="libcups_s.a"
50fe7201
MS
106 LIBCUPSCGI="libcupscgi_s.a"
107 LIBCUPSDRIVER="libcupsdriver_s.a"
ef416fc2 108 LIBCUPSIMAGE="libcupsimage_s.a"
50fe7201
MS
109 LIBCUPSMIME="libcupsmime_s.a"
110 LIBCUPSPPDC="libcupsppdc_s.a"
ef416fc2 111 DSO="\$(CC)"
50fe7201 112 DSOXX="\$(CXX)"
ef416fc2 113 DSOFLAGS="$DSOFLAGS -Wl,-bexpall,-bM:SRE,-bnoentry,-blibpath:\$(libdir)"
114 ;;
115 *)
116 echo "Warning: shared libraries may not be supported. Trying -shared"
117 echo " option with compiler."
118 LIBCUPS="libcups.so.2"
50fe7201
MS
119 LIBCUPSCGI="libcupscgi.so.1"
120 LIBCUPSDRIVER="libcupsdriver.so.1"
ef416fc2 121 LIBCUPSIMAGE="libcupsimage.so.2"
50fe7201
MS
122 LIBCUPSMIME="libcupsmime.so.1"
123 LIBCUPSPPDC="libcupsppdc.so.1"
ef416fc2 124 DSO="\$(CC)"
50fe7201 125 DSOXX="\$(CXX)"
f301802f 126 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
ef416fc2 127 ;;
128 esac
129else
130 PICFLAG=0
131 LIBCUPS="libcups.a"
50fe7201
MS
132 LIBCUPSCGI="libcupscgi.a"
133 LIBCUPSDRIVER="libcupsdriver.a"
ef416fc2 134 LIBCUPSIMAGE="libcupsimage.a"
50fe7201
MS
135 LIBCUPSMIME="libcupsmime.a"
136 LIBCUPSPPDC="libcupsppdc.a"
ef416fc2 137 DSO=":"
50fe7201 138 DSOXX=":"
ef416fc2 139fi
140
f301802f 141# 32-bit and 64-bit libraries need variations of the standard
142# DSOFLAGS...
143DSO32FLAGS="$DSOFLAGS"
144DSO64FLAGS="$DSOFLAGS"
145
ef416fc2 146AC_SUBST(DSO)
50fe7201 147AC_SUBST(DSOXX)
ef416fc2 148AC_SUBST(DSOFLAGS)
f301802f 149AC_SUBST(DSO32FLAGS)
150AC_SUBST(DSO64FLAGS)
ef416fc2 151AC_SUBST(LIBCUPS)
50fe7201
MS
152AC_SUBST(LIBCUPSCGI)
153AC_SUBST(LIBCUPSDRIVER)
ef416fc2 154AC_SUBST(LIBCUPSIMAGE)
50fe7201
MS
155AC_SUBST(LIBCUPSMIME)
156AC_SUBST(LIBCUPSPPDC)
ef416fc2 157
158if test x$enable_shared = xno; then
159 LINKCUPS="../cups/libcups.a"
160 LINKCUPSIMAGE="../filter/libcupsimage.a"
161else
162 if test $uname = AIX; then
163 LINKCUPS="-lcups_s"
164 LINKCUPSIMAGE="-lcupsimage_s"
165 else
166 LINKCUPS="-lcups"
167 LINKCUPSIMAGE="-lcupsimage"
168 fi
169fi
170
171AC_SUBST(LINKCUPS)
172AC_SUBST(LINKCUPSIMAGE)
173
174dnl Update libraries for DSOs...
175EXPORT_LDFLAGS=""
176
177if 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...
ed486911 182 DSOLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(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"
194 DSO32FLAGS="-Wl,+s,+b,$LIB32DIR $DSO32FLAGS"
195 DSO64FLAGS="-Wl,+s,+b,$LIB64DIR $DSO64FLAGS"
196 ;;
197 *)
198 DSOFLAGS="+s +b $libdir $DSOFLAGS"
199 DSO32FLAGS="+s +b $LIB32DIR $DSO32FLAGS"
200 DSO64FLAGS="+s +b $LIB64DIR $DSO64FLAGS"
201 ;;
202 esac
ed486911 203 LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir"
204 EXPORT_LDFLAGS="-Wl,+s,+b,$libdir"
f301802f 205 ;;
ef416fc2 206 SunOS*)
f301802f 207 # Solaris...
208 if test $exec_prefix != /usr; then
ed486911 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"
f301802f 214 fi
215 ;;
ef416fc2 216 *BSD*)
f301802f 217 # *BSD...
218 if test $exec_prefix != /usr; then
ed486911 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"
f301802f 224 fi
225 ;;
226 IRIX | Linux | GNU)
227 # IRIX, Linux, and HURD...
228 if test $exec_prefix != /usr; then
ed486911 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"
f301802f 234 fi
235 ;;
ef416fc2 236 esac
237else
238 DSOLIBS=""
ed486911 239 IMGLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
ef416fc2 240fi
241
242AC_SUBST(DSOLIBS)
243AC_SUBST(IMGLIBS)
244AC_SUBST(EXPORT_LDFLAGS)
245
246dnl
75bd9771 247dnl End of "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $".
ef416fc2 248dnl