]> git.ipfire.org Git - thirdparty/cups.git/blame - config-scripts/cups-sharedlibs.m4
Merge changes from CUPS 1.5svn-r9000.
[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
MS
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"
34 DSO="\$(CC)"
35 DSOXX="\$(CXX)"
36 DSOFLAGS="$DSOFLAGS -Wl,-h\`basename \$@\` -G \$(OPTIM)"
37 ;;
38 UNIX_S*)
f8b3a85b 39 LIBCUPS="lib$cupsbase.so.2"
50fe7201
MS
40 LIBCUPSCGI="libcupscgi.so.1"
41 LIBCUPSDRIVER="libcupsdriver.so.1"
ef416fc2 42 LIBCUPSIMAGE="libcupsimage.so.2"
50fe7201
MS
43 LIBCUPSMIME="libcupsmime.so.1"
44 LIBCUPSPPDC="libcupsppdc.so.1"
ef416fc2 45 DSO="\$(CC)"
50fe7201 46 DSOXX="\$(CXX)"
f301802f 47 DSOFLAGS="$DSOFLAGS -Wl,-h,\`basename \$@\` -G \$(OPTIM)"
ef416fc2 48 ;;
49 HP-UX*)
b86bc4cf 50 case "$uarch" in
51 ia64)
f8b3a85b 52 LIBCUPS="lib$cupsbase.so.2"
50fe7201
MS
53 LIBCUPSCGI="libcupscgi.so.1"
54 LIBCUPSDRIVER="libcupsdriver.so.1"
b86bc4cf 55 LIBCUPSIMAGE="libcupsimage.so.2"
50fe7201
MS
56 LIBCUPSMIME="libcupsmime.so.1"
57 LIBCUPSPPDC="libcupsppdc.so.1"
b86bc4cf 58 DSO="\$(CC)"
50fe7201 59 DSOXX="\$(CXX)"
b86bc4cf 60 DSOFLAGS="$DSOFLAGS -Wl,-b,-z,+h,\`basename \$@\`"
61 ;;
62 *)
f8b3a85b 63 LIBCUPS="lib$cupsbase.sl.2"
50fe7201
MS
64 LIBCUPSCGI="libcupscgi.sl.1"
65 LIBCUPSDRIVER="libcupsdriver.sl.1"
b86bc4cf 66 LIBCUPSIMAGE="libcupsimage.sl.2"
50fe7201
MS
67 LIBCUPSMIME="libcupsmime.sl.1"
68 LIBCUPSPPDC="libcupsppdc.sl.1"
b86bc4cf 69 DSO="\$(LD)"
50fe7201 70 DSOXX="\$(LD)"
b86bc4cf 71 DSOFLAGS="$DSOFLAGS -b -z +h \`basename \$@\`"
72 ;;
73 esac
ef416fc2 74 ;;
75 IRIX)
f8b3a85b 76 LIBCUPS="lib$cupsbase.so.2"
50fe7201
MS
77 LIBCUPSCGI="libcupscgi.so.1"
78 LIBCUPSDRIVER="libcupsdriver.so.1"
ef416fc2 79 LIBCUPSIMAGE="libcupsimage.so.2"
50fe7201
MS
80 LIBCUPSMIME="libcupsmime.so.1"
81 LIBCUPSPPDC="libcupsppdc.so.1"
ef416fc2 82 DSO="\$(CC)"
50fe7201 83 DSOXX="\$(CXX)"
f301802f 84 DSOFLAGS="$DSOFLAGS -set_version,sgi2.6,-soname,\`basename \$@\` -shared \$(OPTIM)"
ef416fc2 85 ;;
86 OSF1* | Linux | GNU | *BSD*)
f8b3a85b 87 LIBCUPS="lib$cupsbase.so.2"
50fe7201
MS
88 LIBCUPSCGI="libcupscgi.so.1"
89 LIBCUPSDRIVER="libcupsdriver.so.1"
ef416fc2 90 LIBCUPSIMAGE="libcupsimage.so.2"
50fe7201
MS
91 LIBCUPSMIME="libcupsmime.so.1"
92 LIBCUPSPPDC="libcupsppdc.so.1"
ef416fc2 93 DSO="\$(CC)"
50fe7201 94 DSOXX="\$(CXX)"
f301802f 95 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
ef416fc2 96 ;;
97 Darwin*)
f8b3a85b 98 LIBCUPS="lib$cupsbase.2.dylib"
50fe7201
MS
99 LIBCUPSCGI="libcupscgi.1.dylib"
100 LIBCUPSDRIVER="libcupsdriver.1.dylib"
ef416fc2 101 LIBCUPSIMAGE="libcupsimage.2.dylib"
50fe7201
MS
102 LIBCUPSMIME="libcupsmime.1.dylib"
103 LIBCUPSPPDC="libcupsppdc.1.dylib"
ef416fc2 104 DSO="\$(CC)"
50fe7201 105 DSOXX="\$(CXX)"
f301802f 106 DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc"
ef416fc2 107 ;;
108 AIX*)
f8b3a85b
MS
109 LIBCUPS="lib${cupsbase}_s.a"
110 LIBCUPSBASE="${cupsbase}_s"
50fe7201
MS
111 LIBCUPSCGI="libcupscgi_s.a"
112 LIBCUPSDRIVER="libcupsdriver_s.a"
ef416fc2 113 LIBCUPSIMAGE="libcupsimage_s.a"
50fe7201
MS
114 LIBCUPSMIME="libcupsmime_s.a"
115 LIBCUPSPPDC="libcupsppdc_s.a"
ef416fc2 116 DSO="\$(CC)"
50fe7201 117 DSOXX="\$(CXX)"
ef416fc2 118 DSOFLAGS="$DSOFLAGS -Wl,-bexpall,-bM:SRE,-bnoentry,-blibpath:\$(libdir)"
119 ;;
120 *)
121 echo "Warning: shared libraries may not be supported. Trying -shared"
122 echo " option with compiler."
f8b3a85b 123 LIBCUPS="lib$cupsbase.so.2"
50fe7201
MS
124 LIBCUPSCGI="libcupscgi.so.1"
125 LIBCUPSDRIVER="libcupsdriver.so.1"
ef416fc2 126 LIBCUPSIMAGE="libcupsimage.so.2"
50fe7201
MS
127 LIBCUPSMIME="libcupsmime.so.1"
128 LIBCUPSPPDC="libcupsppdc.so.1"
ef416fc2 129 DSO="\$(CC)"
50fe7201 130 DSOXX="\$(CXX)"
f301802f 131 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
ef416fc2 132 ;;
133 esac
134else
135 PICFLAG=0
f8b3a85b 136 LIBCUPS="lib$cupsbase.a"
50fe7201
MS
137 LIBCUPSCGI="libcupscgi.a"
138 LIBCUPSDRIVER="libcupsdriver.a"
ef416fc2 139 LIBCUPSIMAGE="libcupsimage.a"
50fe7201
MS
140 LIBCUPSMIME="libcupsmime.a"
141 LIBCUPSPPDC="libcupsppdc.a"
ef416fc2 142 DSO=":"
50fe7201 143 DSOXX=":"
ef416fc2 144fi
145
f301802f 146# 32-bit and 64-bit libraries need variations of the standard
147# DSOFLAGS...
148DSO32FLAGS="$DSOFLAGS"
149DSO64FLAGS="$DSOFLAGS"
150
ef416fc2 151AC_SUBST(DSO)
50fe7201 152AC_SUBST(DSOXX)
ef416fc2 153AC_SUBST(DSOFLAGS)
f301802f 154AC_SUBST(DSO32FLAGS)
155AC_SUBST(DSO64FLAGS)
ef416fc2 156AC_SUBST(LIBCUPS)
f8b3a85b 157AC_SUBST(LIBCUPSBASE)
50fe7201
MS
158AC_SUBST(LIBCUPSCGI)
159AC_SUBST(LIBCUPSDRIVER)
ef416fc2 160AC_SUBST(LIBCUPSIMAGE)
50fe7201
MS
161AC_SUBST(LIBCUPSMIME)
162AC_SUBST(LIBCUPSPPDC)
f8b3a85b 163AC_SUBST(LIBCUPSSTATIC)
ef416fc2 164
165if test x$enable_shared = xno; then
f8b3a85b 166 LINKCUPS="../cups/lib$cupsbase.a"
ef416fc2 167 LINKCUPSIMAGE="../filter/libcupsimage.a"
168else
169 if test $uname = AIX; then
f8b3a85b 170 LINKCUPS="-l${cupsbase}_s"
ef416fc2 171 LINKCUPSIMAGE="-lcupsimage_s"
172 else
f8b3a85b 173 LINKCUPS="-l${cupsbase}"
ef416fc2 174 LINKCUPSIMAGE="-lcupsimage"
175 fi
176fi
177
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...
ed486911 189 DSOLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(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=""
ed486911 246 IMGLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(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