]> git.ipfire.org Git - thirdparty/cups.git/blob - config-scripts/cups-sharedlibs.m4
Merge changes from CUPS 1.7svn-r10643
[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-2012 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 AC_SUBST(DSO)
137 AC_SUBST(DSOXX)
138 AC_SUBST(DSOFLAGS)
139 AC_SUBST(LIBCUPS)
140 AC_SUBST(LIBCUPSBASE)
141 AC_SUBST(LIBCUPSCGI)
142 AC_SUBST(LIBCUPSIMAGE)
143 AC_SUBST(LIBCUPSMIME)
144 AC_SUBST(LIBCUPSPPDC)
145 AC_SUBST(LIBCUPSSTATIC)
146
147 if test x$enable_shared = xno; then
148 LINKCUPS="../cups/lib$cupsbase.a"
149 LINKCUPSIMAGE="../filter/libcupsimage.a"
150
151 EXTLINKCUPS="-lcups"
152 EXTLINKCUPSIMAGE="-lcupsimage"
153 else
154 if test $uname = AIX; then
155 LINKCUPS="-l${cupsbase}_s"
156 LINKCUPSIMAGE="-lcupsimage_s"
157
158 EXTLINKCUPS="-lcups_s"
159 EXTLINKCUPSIMAGE="-lcupsimage_s"
160 else
161 LINKCUPS="-l${cupsbase}"
162 LINKCUPSIMAGE="-lcupsimage"
163
164 EXTLINKCUPS="-lcups"
165 EXTLINKCUPSIMAGE="-lcupsimage"
166 fi
167 fi
168
169 AC_SUBST(EXTLINKCUPS)
170 AC_SUBST(EXTLINKCUPSIMAGE)
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="\$(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 ;;
195 *)
196 DSOFLAGS="+s +b $libdir $DSOFLAGS"
197 ;;
198 esac
199 LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir"
200 EXPORT_LDFLAGS="-Wl,+s,+b,$libdir"
201 ;;
202 SunOS*)
203 # Solaris...
204 if test $exec_prefix != /usr; then
205 DSOFLAGS="-R$libdir $DSOFLAGS"
206 LDFLAGS="$LDFLAGS -R$libdir"
207 EXPORT_LDFLAGS="-R$libdir"
208 fi
209 ;;
210 *BSD*)
211 # *BSD...
212 if test $exec_prefix != /usr; then
213 DSOFLAGS="-Wl,-R$libdir $DSOFLAGS"
214 LDFLAGS="$LDFLAGS -Wl,-R$libdir"
215 EXPORT_LDFLAGS="-Wl,-R$libdir"
216 fi
217 ;;
218 Linux | GNU)
219 # Linux, and HURD...
220 if test $exec_prefix != /usr; then
221 DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS"
222 LDFLAGS="$LDFLAGS -Wl,-rpath,$libdir"
223 EXPORT_LDFLAGS="-Wl,-rpath,$libdir"
224 fi
225 ;;
226 esac
227 else
228 DSOLIBS=""
229 IMGLIBS="\$(LIBZ)"
230 fi
231
232 AC_SUBST(DSOLIBS)
233 AC_SUBST(IMGLIBS)
234 AC_SUBST(EXPORT_LDFLAGS)
235
236 dnl
237 dnl End of "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $".
238 dnl