]> git.ipfire.org Git - thirdparty/cups.git/blame - config-scripts/cups-sharedlibs.m4
Merge changes from CUPS 1.6svn-r9939.
[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
f8b3a85b 4dnl Shared library support for CUPS.
ef416fc2 5dnl
f8b3a85b 6dnl Copyright 2007-2010 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
bf3816c7 19AC_ARG_ENABLE(shared, [ --disable-shared do not create shared libraries])
ef416fc2 20
f8b3a85b
MS
21cupsbase="cups"
22LIBCUPSBASE="lib$cupsbase"
23LIBCUPSSTATIC="lib$cupsbase.a"
24
ef416fc2 25if 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
125else
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 134fi
135
f301802f 136# 32-bit and 64-bit libraries need variations of the standard
137# DSOFLAGS...
138DSO32FLAGS="$DSOFLAGS"
139DSO64FLAGS="$DSOFLAGS"
140
ef416fc2 141AC_SUBST(DSO)
50fe7201 142AC_SUBST(DSOXX)
ef416fc2 143AC_SUBST(DSOFLAGS)
f301802f 144AC_SUBST(DSO32FLAGS)
145AC_SUBST(DSO64FLAGS)
ef416fc2 146AC_SUBST(LIBCUPS)
f8b3a85b 147AC_SUBST(LIBCUPSBASE)
50fe7201 148AC_SUBST(LIBCUPSCGI)
ef416fc2 149AC_SUBST(LIBCUPSIMAGE)
50fe7201
MS
150AC_SUBST(LIBCUPSMIME)
151AC_SUBST(LIBCUPSPPDC)
f8b3a85b 152AC_SUBST(LIBCUPSSTATIC)
ef416fc2 153
154if test x$enable_shared = xno; then
f8b3a85b 155 LINKCUPS="../cups/lib$cupsbase.a"
ef416fc2 156 LINKCUPSIMAGE="../filter/libcupsimage.a"
c7017ecc
MS
157
158 EXTLINKCUPS="-lcups"
c7017ecc 159 EXTLINKCUPSIMAGE="-lcupsimage"
ef416fc2 160else
161 if test $uname = AIX; then
f8b3a85b 162 LINKCUPS="-l${cupsbase}_s"
ef416fc2 163 LINKCUPSIMAGE="-lcupsimage_s"
c7017ecc
MS
164
165 EXTLINKCUPS="-lcups_s"
c7017ecc 166 EXTLINKCUPSIMAGE="-lcupsimage_s"
ef416fc2 167 else
f8b3a85b 168 LINKCUPS="-l${cupsbase}"
ef416fc2 169 LINKCUPSIMAGE="-lcupsimage"
c7017ecc
MS
170
171 EXTLINKCUPS="-lcups"
c7017ecc 172 EXTLINKCUPSIMAGE="-lcupsimage"
ef416fc2 173 fi
174fi
175
c7017ecc 176AC_SUBST(EXTLINKCUPS)
c7017ecc 177AC_SUBST(EXTLINKCUPSIMAGE)
ef416fc2 178AC_SUBST(LINKCUPS)
179AC_SUBST(LINKCUPSIMAGE)
180
181dnl Update libraries for DSOs...
182EXPORT_LDFLAGS=""
183
184if 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...
a4845881 189 DSOLIBS="\$(LIBZ)"
ef416fc2 190 IMGLIBS=""
191
f301802f 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...
ef416fc2 195 case $uname in
196 HP-UX*)
f301802f 197 # HP-UX needs the path, even for /usr/lib...
b86bc4cf 198 case "$uarch" in
199 ia64)
200 DSOFLAGS="-Wl,+s,+b,$libdir $DSOFLAGS"
201 DSO32FLAGS="-Wl,+s,+b,$LIB32DIR $DSO32FLAGS"
202 DSO64FLAGS="-Wl,+s,+b,$LIB64DIR $DSO64FLAGS"
203 ;;
204 *)
205 DSOFLAGS="+s +b $libdir $DSOFLAGS"
206 DSO32FLAGS="+s +b $LIB32DIR $DSO32FLAGS"
207 DSO64FLAGS="+s +b $LIB64DIR $DSO64FLAGS"
208 ;;
209 esac
ed486911 210 LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir"
211 EXPORT_LDFLAGS="-Wl,+s,+b,$libdir"
f301802f 212 ;;
ef416fc2 213 SunOS*)
f301802f 214 # Solaris...
215 if test $exec_prefix != /usr; then
ed486911 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"
f301802f 221 fi
222 ;;
ef416fc2 223 *BSD*)
f301802f 224 # *BSD...
225 if test $exec_prefix != /usr; then
ed486911 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"
f301802f 231 fi
232 ;;
233 IRIX | Linux | GNU)
234 # IRIX, Linux, and HURD...
235 if test $exec_prefix != /usr; then
ed486911 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"
f301802f 241 fi
242 ;;
ef416fc2 243 esac
244else
245 DSOLIBS=""
a4845881 246 IMGLIBS="\$(LIBZ)"
ef416fc2 247fi
248
249AC_SUBST(DSOLIBS)
250AC_SUBST(IMGLIBS)
251AC_SUBST(EXPORT_LDFLAGS)
252
253dnl
75bd9771 254dnl End of "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $".
ef416fc2 255dnl