]> git.ipfire.org Git - thirdparty/cups.git/blob - config-scripts/cups-sharedlibs.m4
Merge changes from CUPS 1.6svn-r9939.
[thirdparty/cups.git] / config-scripts / cups-sharedlibs.m4
1 dnl
2 dnl "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $"
3 dnl
4 dnl Shared library support for CUPS.
5 dnl
6 dnl Copyright 2007-2010 by Apple Inc.
7 dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
8 dnl
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/".
14 dnl
15
16 PICFLAG=1
17 DSOFLAGS="${DSOFLAGS:=}"
18
19 AC_ARG_ENABLE(shared, [ --disable-shared do not create shared libraries])
20
21 cupsbase="cups"
22 LIBCUPSBASE="lib$cupsbase"
23 LIBCUPSSTATIC="lib$cupsbase.a"
24
25 if test x$enable_shared != xno; then
26 case "$uname" in
27 SunOS*)
28 LIBCUPS="lib$cupsbase.so.2"
29 LIBCUPSCGI="libcupscgi.so.1"
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*)
38 LIBCUPS="lib$cupsbase.so.2"
39 LIBCUPSCGI="libcupscgi.so.1"
40 LIBCUPSIMAGE="libcupsimage.so.2"
41 LIBCUPSMIME="libcupsmime.so.1"
42 LIBCUPSPPDC="libcupsppdc.so.1"
43 DSO="\$(CC)"
44 DSOXX="\$(CXX)"
45 DSOFLAGS="$DSOFLAGS -Wl,-h,\`basename \$@\` -G \$(OPTIM)"
46 ;;
47 HP-UX*)
48 case "$uarch" in
49 ia64)
50 LIBCUPS="lib$cupsbase.so.2"
51 LIBCUPSCGI="libcupscgi.so.1"
52 LIBCUPSIMAGE="libcupsimage.so.2"
53 LIBCUPSMIME="libcupsmime.so.1"
54 LIBCUPSPPDC="libcupsppdc.so.1"
55 DSO="\$(CC)"
56 DSOXX="\$(CXX)"
57 DSOFLAGS="$DSOFLAGS -Wl,-b,-z,+h,\`basename \$@\`"
58 ;;
59 *)
60 LIBCUPS="lib$cupsbase.sl.2"
61 LIBCUPSCGI="libcupscgi.sl.1"
62 LIBCUPSIMAGE="libcupsimage.sl.2"
63 LIBCUPSMIME="libcupsmime.sl.1"
64 LIBCUPSPPDC="libcupsppdc.sl.1"
65 DSO="\$(LD)"
66 DSOXX="\$(LD)"
67 DSOFLAGS="$DSOFLAGS -b -z +h \`basename \$@\`"
68 ;;
69 esac
70 ;;
71 IRIX)
72 LIBCUPS="lib$cupsbase.so.2"
73 LIBCUPSCGI="libcupscgi.so.1"
74 LIBCUPSIMAGE="libcupsimage.so.2"
75 LIBCUPSMIME="libcupsmime.so.1"
76 LIBCUPSPPDC="libcupsppdc.so.1"
77 DSO="\$(CC)"
78 DSOXX="\$(CXX)"
79 DSOFLAGS="$DSOFLAGS -set_version,sgi2.6,-soname,\`basename \$@\` -shared \$(OPTIM)"
80 ;;
81 OSF1* | Linux | GNU | *BSD*)
82 LIBCUPS="lib$cupsbase.so.2"
83 LIBCUPSCGI="libcupscgi.so.1"
84 LIBCUPSIMAGE="libcupsimage.so.2"
85 LIBCUPSMIME="libcupsmime.so.1"
86 LIBCUPSPPDC="libcupsppdc.so.1"
87 DSO="\$(CC)"
88 DSOXX="\$(CXX)"
89 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
90 ;;
91 Darwin*)
92 LIBCUPS="lib$cupsbase.2.dylib"
93 LIBCUPSCGI="libcupscgi.1.dylib"
94 LIBCUPSIMAGE="libcupsimage.2.dylib"
95 LIBCUPSMIME="libcupsmime.1.dylib"
96 LIBCUPSPPDC="libcupsppdc.1.dylib"
97 DSO="\$(CC)"
98 DSOXX="\$(CXX)"
99 DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc"
100 ;;
101 AIX*)
102 LIBCUPS="lib${cupsbase}_s.a"
103 LIBCUPSBASE="${cupsbase}_s"
104 LIBCUPSCGI="libcupscgi_s.a"
105 LIBCUPSIMAGE="libcupsimage_s.a"
106 LIBCUPSMIME="libcupsmime_s.a"
107 LIBCUPSPPDC="libcupsppdc_s.a"
108 DSO="\$(CC)"
109 DSOXX="\$(CXX)"
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."
115 LIBCUPS="lib$cupsbase.so.2"
116 LIBCUPSCGI="libcupscgi.so.1"
117 LIBCUPSIMAGE="libcupsimage.so.2"
118 LIBCUPSMIME="libcupsmime.so.1"
119 LIBCUPSPPDC="libcupsppdc.so.1"
120 DSO="\$(CC)"
121 DSOXX="\$(CXX)"
122 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
123 ;;
124 esac
125 else
126 PICFLAG=0
127 LIBCUPS="lib$cupsbase.a"
128 LIBCUPSCGI="libcupscgi.a"
129 LIBCUPSIMAGE="libcupsimage.a"
130 LIBCUPSMIME="libcupsmime.a"
131 LIBCUPSPPDC="libcupsppdc.a"
132 DSO=":"
133 DSOXX=":"
134 fi
135
136 # 32-bit and 64-bit libraries need variations of the standard
137 # DSOFLAGS...
138 DSO32FLAGS="$DSOFLAGS"
139 DSO64FLAGS="$DSOFLAGS"
140
141 AC_SUBST(DSO)
142 AC_SUBST(DSOXX)
143 AC_SUBST(DSOFLAGS)
144 AC_SUBST(DSO32FLAGS)
145 AC_SUBST(DSO64FLAGS)
146 AC_SUBST(LIBCUPS)
147 AC_SUBST(LIBCUPSBASE)
148 AC_SUBST(LIBCUPSCGI)
149 AC_SUBST(LIBCUPSIMAGE)
150 AC_SUBST(LIBCUPSMIME)
151 AC_SUBST(LIBCUPSPPDC)
152 AC_SUBST(LIBCUPSSTATIC)
153
154 if test x$enable_shared = xno; then
155 LINKCUPS="../cups/lib$cupsbase.a"
156 LINKCUPSIMAGE="../filter/libcupsimage.a"
157
158 EXTLINKCUPS="-lcups"
159 EXTLINKCUPSIMAGE="-lcupsimage"
160 else
161 if test $uname = AIX; then
162 LINKCUPS="-l${cupsbase}_s"
163 LINKCUPSIMAGE="-lcupsimage_s"
164
165 EXTLINKCUPS="-lcups_s"
166 EXTLINKCUPSIMAGE="-lcupsimage_s"
167 else
168 LINKCUPS="-l${cupsbase}"
169 LINKCUPSIMAGE="-lcupsimage"
170
171 EXTLINKCUPS="-lcups"
172 EXTLINKCUPSIMAGE="-lcupsimage"
173 fi
174 fi
175
176 AC_SUBST(EXTLINKCUPS)
177 AC_SUBST(EXTLINKCUPSIMAGE)
178 AC_SUBST(LINKCUPS)
179 AC_SUBST(LINKCUPSIMAGE)
180
181 dnl Update libraries for DSOs...
182 EXPORT_LDFLAGS=""
183
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="\$(LIBZ)"
190 IMGLIBS=""
191
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...
195 case $uname in
196 HP-UX*)
197 # HP-UX needs the path, even for /usr/lib...
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
210 LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir"
211 EXPORT_LDFLAGS="-Wl,+s,+b,$libdir"
212 ;;
213 SunOS*)
214 # Solaris...
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"
221 fi
222 ;;
223 *BSD*)
224 # *BSD...
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"
231 fi
232 ;;
233 IRIX | Linux | GNU)
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"
241 fi
242 ;;
243 esac
244 else
245 DSOLIBS=""
246 IMGLIBS="\$(LIBZ)"
247 fi
248
249 AC_SUBST(DSOLIBS)
250 AC_SUBST(IMGLIBS)
251 AC_SUBST(EXPORT_LDFLAGS)
252
253 dnl
254 dnl End of "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $".
255 dnl