Revert manifest to default one
[external/cups.git] / config-scripts / cups-sharedlibs.m4
1 dnl
2 dnl "$Id: cups-sharedlibs.m4 9153 2010-06-16 00:48:25Z 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                         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*)
39                         LIBCUPS="lib$cupsbase.so.2"
40                         LIBCUPSCGI="libcupscgi.so.1"
41                         LIBCUPSDRIVER="libcupsdriver.so.1"
42                         LIBCUPSIMAGE="libcupsimage.so.2"
43                         LIBCUPSMIME="libcupsmime.so.1"
44                         LIBCUPSPPDC="libcupsppdc.so.1"
45                         DSO="\$(CC)"
46                         DSOXX="\$(CXX)"
47                         DSOFLAGS="$DSOFLAGS -Wl,-h,\`basename \$@\` -G \$(OPTIM)"
48                         ;;
49                 HP-UX*)
50                         case "$uarch" in
51                                 ia64)
52                                         LIBCUPS="lib$cupsbase.so.2"
53                                         LIBCUPSCGI="libcupscgi.so.1"
54                                         LIBCUPSDRIVER="libcupsdriver.so.1"
55                                         LIBCUPSIMAGE="libcupsimage.so.2"
56                                         LIBCUPSMIME="libcupsmime.so.1"
57                                         LIBCUPSPPDC="libcupsppdc.so.1"
58                                         DSO="\$(CC)"
59                                         DSOXX="\$(CXX)"
60                                         DSOFLAGS="$DSOFLAGS -Wl,-b,-z,+h,\`basename \$@\`"
61                                         ;;
62                                 *)
63                                         LIBCUPS="lib$cupsbase.sl.2"
64                                         LIBCUPSCGI="libcupscgi.sl.1"
65                                         LIBCUPSDRIVER="libcupsdriver.sl.1"
66                                         LIBCUPSIMAGE="libcupsimage.sl.2"
67                                         LIBCUPSMIME="libcupsmime.sl.1"
68                                         LIBCUPSPPDC="libcupsppdc.sl.1"
69                                         DSO="\$(LD)"
70                                         DSOXX="\$(LD)"
71                                         DSOFLAGS="$DSOFLAGS -b -z +h \`basename \$@\`"
72                                         ;;
73                         esac
74                         ;;
75                 IRIX)
76                         LIBCUPS="lib$cupsbase.so.2"
77                         LIBCUPSCGI="libcupscgi.so.1"
78                         LIBCUPSDRIVER="libcupsdriver.so.1"
79                         LIBCUPSIMAGE="libcupsimage.so.2"
80                         LIBCUPSMIME="libcupsmime.so.1"
81                         LIBCUPSPPDC="libcupsppdc.so.1"
82                         DSO="\$(CC)"
83                         DSOXX="\$(CXX)"
84                         DSOFLAGS="$DSOFLAGS -set_version,sgi2.6,-soname,\`basename \$@\` -shared \$(OPTIM)"
85                         ;;
86                 OSF1* | Linux | GNU | *BSD*)
87                         LIBCUPS="lib$cupsbase.so.2"
88                         LIBCUPSCGI="libcupscgi.so.1"
89                         LIBCUPSDRIVER="libcupsdriver.so.1"
90                         LIBCUPSIMAGE="libcupsimage.so.2"
91                         LIBCUPSMIME="libcupsmime.so.1"
92                         LIBCUPSPPDC="libcupsppdc.so.1"
93                         DSO="\$(CC)"
94                         DSOXX="\$(CXX)"
95                         DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
96                         ;;
97                 Darwin*)
98                         LIBCUPS="lib$cupsbase.2.dylib"
99                         LIBCUPSCGI="libcupscgi.1.dylib"
100                         LIBCUPSDRIVER="libcupsdriver.1.dylib"
101                         LIBCUPSIMAGE="libcupsimage.2.dylib"
102                         LIBCUPSMIME="libcupsmime.1.dylib"
103                         LIBCUPSPPDC="libcupsppdc.1.dylib"
104                         DSO="\$(CC)"
105                         DSOXX="\$(CXX)"
106                         DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc"
107                         ;;
108                 AIX*)
109                         LIBCUPS="lib${cupsbase}_s.a"
110                         LIBCUPSBASE="${cupsbase}_s"
111                         LIBCUPSCGI="libcupscgi_s.a"
112                         LIBCUPSDRIVER="libcupsdriver_s.a"
113                         LIBCUPSIMAGE="libcupsimage_s.a"
114                         LIBCUPSMIME="libcupsmime_s.a"
115                         LIBCUPSPPDC="libcupsppdc_s.a"
116                         DSO="\$(CC)"
117                         DSOXX="\$(CXX)"
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."
123                         LIBCUPS="lib$cupsbase.so.2"
124                         LIBCUPSCGI="libcupscgi.so.1"
125                         LIBCUPSDRIVER="libcupsdriver.so.1"
126                         LIBCUPSIMAGE="libcupsimage.so.2"
127                         LIBCUPSMIME="libcupsmime.so.1"
128                         LIBCUPSPPDC="libcupsppdc.so.1"
129                         DSO="\$(CC)"
130                         DSOXX="\$(CXX)"
131                         DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
132                         ;;
133         esac
134 else
135         PICFLAG=0
136         LIBCUPS="lib$cupsbase.a"
137         LIBCUPSCGI="libcupscgi.a"
138         LIBCUPSDRIVER="libcupsdriver.a"
139         LIBCUPSIMAGE="libcupsimage.a"
140         LIBCUPSMIME="libcupsmime.a"
141         LIBCUPSPPDC="libcupsppdc.a"
142         DSO=":"
143         DSOXX=":"
144 fi
145
146 # 32-bit and 64-bit libraries need variations of the standard
147 # DSOFLAGS...
148 DSO32FLAGS="$DSOFLAGS"
149 DSO64FLAGS="$DSOFLAGS"
150
151 AC_SUBST(DSO)
152 AC_SUBST(DSOXX)
153 AC_SUBST(DSOFLAGS)
154 AC_SUBST(DSO32FLAGS)
155 AC_SUBST(DSO64FLAGS)
156 AC_SUBST(LIBCUPS)
157 AC_SUBST(LIBCUPSBASE)
158 AC_SUBST(LIBCUPSCGI)
159 AC_SUBST(LIBCUPSDRIVER)
160 AC_SUBST(LIBCUPSIMAGE)
161 AC_SUBST(LIBCUPSMIME)
162 AC_SUBST(LIBCUPSPPDC)
163 AC_SUBST(LIBCUPSSTATIC)
164
165 if test x$enable_shared = xno; then
166         LINKCUPS="../cups/lib$cupsbase.a"
167         LINKCUPSIMAGE="../filter/libcupsimage.a"
168
169         EXTLINKCUPS="-lcups"
170         EXTLINKCUPSDRIVER="-lcupsdriver"
171         EXTLINKCUPSIMAGE="-lcupsimage"
172 else
173         if test $uname = AIX; then
174                 LINKCUPS="-l${cupsbase}_s"
175                 LINKCUPSIMAGE="-lcupsimage_s"
176
177                 EXTLINKCUPS="-lcups_s"
178                 EXTLINKCUPSDRIVER="-lcupsdriver_s"
179                 EXTLINKCUPSIMAGE="-lcupsimage_s"
180         else
181                 LINKCUPS="-l${cupsbase}"
182                 LINKCUPSIMAGE="-lcupsimage"
183
184                 EXTLINKCUPS="-lcups"
185                 EXTLINKCUPSDRIVER="-lcupsdriver"
186                 EXTLINKCUPSIMAGE="-lcupsimage"
187         fi
188 fi
189
190 AC_SUBST(EXTLINKCUPS)
191 AC_SUBST(EXTLINKCUPSDRIVER)
192 AC_SUBST(EXTLINKCUPSIMAGE)
193 AC_SUBST(LINKCUPS)
194 AC_SUBST(LINKCUPSIMAGE)
195
196 dnl Update libraries for DSOs...
197 EXPORT_LDFLAGS=""
198
199 if test "$DSO" != ":"; then
200         # When using DSOs the image libraries are linked to libcupsimage.so
201         # rather than to the executables.  This makes things smaller if you
202         # are using any static libraries, and it also allows us to distribute
203         # a single DSO rather than a bunch...
204         DSOLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
205         IMGLIBS=""
206
207         # Tell the run-time linkers where to find a DSO.  Some platforms
208         # need this option, even when the library is installed in a
209         # standard location...
210         case $uname in
211                 HP-UX*)
212                         # HP-UX needs the path, even for /usr/lib...
213                         case "$uarch" in
214                                 ia64)
215                                         DSOFLAGS="-Wl,+s,+b,$libdir $DSOFLAGS"
216                                         DSO32FLAGS="-Wl,+s,+b,$LIB32DIR $DSO32FLAGS"
217                                         DSO64FLAGS="-Wl,+s,+b,$LIB64DIR $DSO64FLAGS"
218                                         ;;
219                                 *)
220                                         DSOFLAGS="+s +b $libdir $DSOFLAGS"
221                                         DSO32FLAGS="+s +b $LIB32DIR $DSO32FLAGS"
222                                         DSO64FLAGS="+s +b $LIB64DIR $DSO64FLAGS"
223                                         ;;
224                         esac
225                         LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir"
226                         EXPORT_LDFLAGS="-Wl,+s,+b,$libdir"
227                         ;;
228                 SunOS*)
229                         # Solaris...
230                         if test $exec_prefix != /usr; then
231                                 DSOFLAGS="-R$libdir $DSOFLAGS"
232                                 DSO32FLAGS="-R$LIB32DIR $DSO32FLAGS"
233                                 DSO64FLAGS="-R$LIB64DIR $DSO64FLAGS"
234                                 LDFLAGS="$LDFLAGS -R$libdir"
235                                 EXPORT_LDFLAGS="-R$libdir"
236                         fi
237                         ;;
238                 *BSD*)
239                         # *BSD...
240                         if test $exec_prefix != /usr; then
241                                 DSOFLAGS="-Wl,-R$libdir $DSOFLAGS"
242                                 DSO32FLAGS="-Wl,-R$LIB32DIR $DSO32FLAGS"
243                                 DSO64FLAGS="-Wl,-R$LIB64DIR $DSO64FLAGS"
244                                 LDFLAGS="$LDFLAGS -Wl,-R$libdir"
245                                 EXPORT_LDFLAGS="-Wl,-R$libdir"
246                         fi
247                         ;;
248                 IRIX | Linux | GNU)
249                         # IRIX, Linux, and HURD...
250                         if test $exec_prefix != /usr; then
251                                 DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS"
252                                 DSO32FLAGS="-Wl,-rpath,$LIB32DIR $DSO32FLAGS"
253                                 DSO64FLAGS="-Wl,-rpath,$LIB64DIR $DSO64FLAGS"
254                                 LDFLAGS="$LDFLAGS -Wl,-rpath,$libdir"
255                                 EXPORT_LDFLAGS="-Wl,-rpath,$libdir"
256                         fi
257                         ;;
258         esac
259 else
260         DSOLIBS=""
261         IMGLIBS="\$(LIBTIFF) \$(LIBPNG) \$(LIBJPEG) \$(LIBZ)"
262 fi
263
264 AC_SUBST(DSOLIBS)
265 AC_SUBST(IMGLIBS)
266 AC_SUBST(EXPORT_LDFLAGS)
267
268 dnl
269 dnl End of "$Id: cups-sharedlibs.m4 9153 2010-06-16 00:48:25Z mike $".
270 dnl