]> git.ipfire.org Git - thirdparty/cups.git/blob - config-scripts/cups-sharedlibs.m4
Import changes from CUPS 1.4svn-r8704.
[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 the Common UNIX Printing System (CUPS).
5 dnl
6 dnl Copyright 2007-2009 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 if test x$enable_shared != xno; then
22 case "$uname" in
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*)
35 LIBCUPS="libcups.so.2"
36 LIBCUPSCGI="libcupscgi.so.1"
37 LIBCUPSDRIVER="libcupsdriver.so.1"
38 LIBCUPSIMAGE="libcupsimage.so.2"
39 LIBCUPSMIME="libcupsmime.so.1"
40 LIBCUPSPPDC="libcupsppdc.so.1"
41 DSO="\$(CC)"
42 DSOXX="\$(CXX)"
43 DSOFLAGS="$DSOFLAGS -Wl,-h,\`basename \$@\` -G \$(OPTIM)"
44 ;;
45 HP-UX*)
46 case "$uarch" in
47 ia64)
48 LIBCUPS="libcups.so.2"
49 LIBCUPSCGI="libcupscgi.so.1"
50 LIBCUPSDRIVER="libcupsdriver.so.1"
51 LIBCUPSIMAGE="libcupsimage.so.2"
52 LIBCUPSMIME="libcupsmime.so.1"
53 LIBCUPSPPDC="libcupsppdc.so.1"
54 DSO="\$(CC)"
55 DSOXX="\$(CXX)"
56 DSOFLAGS="$DSOFLAGS -Wl,-b,-z,+h,\`basename \$@\`"
57 ;;
58 *)
59 LIBCUPS="libcups.sl.2"
60 LIBCUPSCGI="libcupscgi.sl.1"
61 LIBCUPSDRIVER="libcupsdriver.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="libcups.so.2"
73 LIBCUPSCGI="libcupscgi.so.1"
74 LIBCUPSDRIVER="libcupsdriver.so.1"
75 LIBCUPSIMAGE="libcupsimage.so.2"
76 LIBCUPSMIME="libcupsmime.so.1"
77 LIBCUPSPPDC="libcupsppdc.so.1"
78 DSO="\$(CC)"
79 DSOXX="\$(CXX)"
80 DSOFLAGS="$DSOFLAGS -set_version,sgi2.6,-soname,\`basename \$@\` -shared \$(OPTIM)"
81 ;;
82 OSF1* | Linux | GNU | *BSD*)
83 LIBCUPS="libcups.so.2"
84 LIBCUPSCGI="libcupscgi.so.1"
85 LIBCUPSDRIVER="libcupsdriver.so.1"
86 LIBCUPSIMAGE="libcupsimage.so.2"
87 LIBCUPSMIME="libcupsmime.so.1"
88 LIBCUPSPPDC="libcupsppdc.so.1"
89 DSO="\$(CC)"
90 DSOXX="\$(CXX)"
91 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
92 ;;
93 Darwin*)
94 LIBCUPS="libcups.2.dylib"
95 LIBCUPSCGI="libcupscgi.1.dylib"
96 LIBCUPSDRIVER="libcupsdriver.1.dylib"
97 LIBCUPSIMAGE="libcupsimage.2.dylib"
98 LIBCUPSMIME="libcupsmime.1.dylib"
99 LIBCUPSPPDC="libcupsppdc.1.dylib"
100 DSO="\$(CC)"
101 DSOXX="\$(CXX)"
102 DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc"
103 ;;
104 AIX*)
105 LIBCUPS="libcups_s.a"
106 LIBCUPSCGI="libcupscgi_s.a"
107 LIBCUPSDRIVER="libcupsdriver_s.a"
108 LIBCUPSIMAGE="libcupsimage_s.a"
109 LIBCUPSMIME="libcupsmime_s.a"
110 LIBCUPSPPDC="libcupsppdc_s.a"
111 DSO="\$(CC)"
112 DSOXX="\$(CXX)"
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"
119 LIBCUPSCGI="libcupscgi.so.1"
120 LIBCUPSDRIVER="libcupsdriver.so.1"
121 LIBCUPSIMAGE="libcupsimage.so.2"
122 LIBCUPSMIME="libcupsmime.so.1"
123 LIBCUPSPPDC="libcupsppdc.so.1"
124 DSO="\$(CC)"
125 DSOXX="\$(CXX)"
126 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
127 ;;
128 esac
129 else
130 PICFLAG=0
131 LIBCUPS="libcups.a"
132 LIBCUPSCGI="libcupscgi.a"
133 LIBCUPSDRIVER="libcupsdriver.a"
134 LIBCUPSIMAGE="libcupsimage.a"
135 LIBCUPSMIME="libcupsmime.a"
136 LIBCUPSPPDC="libcupsppdc.a"
137 DSO=":"
138 DSOXX=":"
139 fi
140
141 # 32-bit and 64-bit libraries need variations of the standard
142 # DSOFLAGS...
143 DSO32FLAGS="$DSOFLAGS"
144 DSO64FLAGS="$DSOFLAGS"
145
146 AC_SUBST(DSO)
147 AC_SUBST(DSOXX)
148 AC_SUBST(DSOFLAGS)
149 AC_SUBST(DSO32FLAGS)
150 AC_SUBST(DSO64FLAGS)
151 AC_SUBST(LIBCUPS)
152 AC_SUBST(LIBCUPSCGI)
153 AC_SUBST(LIBCUPSDRIVER)
154 AC_SUBST(LIBCUPSIMAGE)
155 AC_SUBST(LIBCUPSMIME)
156 AC_SUBST(LIBCUPSPPDC)
157
158 if test x$enable_shared = xno; then
159 LINKCUPS="../cups/libcups.a"
160 LINKCUPSIMAGE="../filter/libcupsimage.a"
161 else
162 if test $uname = AIX; then
163 LINKCUPS="-lcups_s"
164 LINKCUPSIMAGE="-lcupsimage_s"
165 else
166 LINKCUPS="-lcups"
167 LINKCUPSIMAGE="-lcupsimage"
168 fi
169 fi
170
171 AC_SUBST(LINKCUPS)
172 AC_SUBST(LINKCUPSIMAGE)
173
174 dnl Update libraries for DSOs...
175 EXPORT_LDFLAGS=""
176
177 if 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...
182 DSOLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
183 IMGLIBS=""
184
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...
188 case $uname in
189 HP-UX*)
190 # HP-UX needs the path, even for /usr/lib...
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
203 LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir"
204 EXPORT_LDFLAGS="-Wl,+s,+b,$libdir"
205 ;;
206 SunOS*)
207 # Solaris...
208 if test $exec_prefix != /usr; then
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"
214 fi
215 ;;
216 *BSD*)
217 # *BSD...
218 if test $exec_prefix != /usr; then
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"
224 fi
225 ;;
226 IRIX | Linux | GNU)
227 # IRIX, Linux, and HURD...
228 if test $exec_prefix != /usr; then
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"
234 fi
235 ;;
236 esac
237 else
238 DSOLIBS=""
239 IMGLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
240 fi
241
242 AC_SUBST(DSOLIBS)
243 AC_SUBST(IMGLIBS)
244 AC_SUBST(EXPORT_LDFLAGS)
245
246 dnl
247 dnl End of "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $".
248 dnl