]> git.ipfire.org Git - thirdparty/cups.git/blame - config-scripts/cups-sharedlibs.m4
Merge changes from CUPS 1.7svn-r10643
[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
12f89d24 6dnl Copyright 2007-2012 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 29 LIBCUPSCGI="libcupscgi.so.1"
dd1abb6b
MS
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*)
f8b3a85b 38 LIBCUPS="lib$cupsbase.so.2"
50fe7201 39 LIBCUPSCGI="libcupscgi.so.1"
ef416fc2 40 LIBCUPSIMAGE="libcupsimage.so.2"
50fe7201
MS
41 LIBCUPSMIME="libcupsmime.so.1"
42 LIBCUPSPPDC="libcupsppdc.so.1"
ef416fc2 43 DSO="\$(CC)"
50fe7201 44 DSOXX="\$(CXX)"
f301802f 45 DSOFLAGS="$DSOFLAGS -Wl,-h,\`basename \$@\` -G \$(OPTIM)"
ef416fc2 46 ;;
47 HP-UX*)
b86bc4cf 48 case "$uarch" in
49 ia64)
f8b3a85b 50 LIBCUPS="lib$cupsbase.so.2"
50fe7201 51 LIBCUPSCGI="libcupscgi.so.1"
b86bc4cf 52 LIBCUPSIMAGE="libcupsimage.so.2"
50fe7201
MS
53 LIBCUPSMIME="libcupsmime.so.1"
54 LIBCUPSPPDC="libcupsppdc.so.1"
b86bc4cf 55 DSO="\$(CC)"
50fe7201 56 DSOXX="\$(CXX)"
b86bc4cf 57 DSOFLAGS="$DSOFLAGS -Wl,-b,-z,+h,\`basename \$@\`"
58 ;;
59 *)
f8b3a85b 60 LIBCUPS="lib$cupsbase.sl.2"
50fe7201 61 LIBCUPSCGI="libcupscgi.sl.1"
b86bc4cf 62 LIBCUPSIMAGE="libcupsimage.sl.2"
50fe7201
MS
63 LIBCUPSMIME="libcupsmime.sl.1"
64 LIBCUPSPPDC="libcupsppdc.sl.1"
b86bc4cf 65 DSO="\$(LD)"
50fe7201 66 DSOXX="\$(LD)"
b86bc4cf 67 DSOFLAGS="$DSOFLAGS -b -z +h \`basename \$@\`"
68 ;;
69 esac
ef416fc2 70 ;;
71 IRIX)
f8b3a85b 72 LIBCUPS="lib$cupsbase.so.2"
50fe7201 73 LIBCUPSCGI="libcupscgi.so.1"
ef416fc2 74 LIBCUPSIMAGE="libcupsimage.so.2"
50fe7201
MS
75 LIBCUPSMIME="libcupsmime.so.1"
76 LIBCUPSPPDC="libcupsppdc.so.1"
ef416fc2 77 DSO="\$(CC)"
50fe7201 78 DSOXX="\$(CXX)"
f301802f 79 DSOFLAGS="$DSOFLAGS -set_version,sgi2.6,-soname,\`basename \$@\` -shared \$(OPTIM)"
ef416fc2 80 ;;
81 OSF1* | Linux | GNU | *BSD*)
f8b3a85b 82 LIBCUPS="lib$cupsbase.so.2"
50fe7201 83 LIBCUPSCGI="libcupscgi.so.1"
ef416fc2 84 LIBCUPSIMAGE="libcupsimage.so.2"
50fe7201
MS
85 LIBCUPSMIME="libcupsmime.so.1"
86 LIBCUPSPPDC="libcupsppdc.so.1"
ef416fc2 87 DSO="\$(CC)"
50fe7201 88 DSOXX="\$(CXX)"
f301802f 89 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
ef416fc2 90 ;;
91 Darwin*)
f8b3a85b 92 LIBCUPS="lib$cupsbase.2.dylib"
50fe7201 93 LIBCUPSCGI="libcupscgi.1.dylib"
ef416fc2 94 LIBCUPSIMAGE="libcupsimage.2.dylib"
50fe7201
MS
95 LIBCUPSMIME="libcupsmime.1.dylib"
96 LIBCUPSPPDC="libcupsppdc.1.dylib"
ef416fc2 97 DSO="\$(CC)"
50fe7201 98 DSOXX="\$(CXX)"
f301802f 99 DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc"
ef416fc2 100 ;;
101 AIX*)
f8b3a85b
MS
102 LIBCUPS="lib${cupsbase}_s.a"
103 LIBCUPSBASE="${cupsbase}_s"
50fe7201 104 LIBCUPSCGI="libcupscgi_s.a"
ef416fc2 105 LIBCUPSIMAGE="libcupsimage_s.a"
50fe7201
MS
106 LIBCUPSMIME="libcupsmime_s.a"
107 LIBCUPSPPDC="libcupsppdc_s.a"
ef416fc2 108 DSO="\$(CC)"
50fe7201 109 DSOXX="\$(CXX)"
ef416fc2 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."
f8b3a85b 115 LIBCUPS="lib$cupsbase.so.2"
50fe7201 116 LIBCUPSCGI="libcupscgi.so.1"
ef416fc2 117 LIBCUPSIMAGE="libcupsimage.so.2"
50fe7201
MS
118 LIBCUPSMIME="libcupsmime.so.1"
119 LIBCUPSPPDC="libcupsppdc.so.1"
ef416fc2 120 DSO="\$(CC)"
50fe7201 121 DSOXX="\$(CXX)"
f301802f 122 DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
ef416fc2 123 ;;
124 esac
125else
126 PICFLAG=0
f8b3a85b 127 LIBCUPS="lib$cupsbase.a"
50fe7201 128 LIBCUPSCGI="libcupscgi.a"
ef416fc2 129 LIBCUPSIMAGE="libcupsimage.a"
50fe7201
MS
130 LIBCUPSMIME="libcupsmime.a"
131 LIBCUPSPPDC="libcupsppdc.a"
ef416fc2 132 DSO=":"
50fe7201 133 DSOXX=":"
ef416fc2 134fi
135
136AC_SUBST(DSO)
50fe7201 137AC_SUBST(DSOXX)
ef416fc2 138AC_SUBST(DSOFLAGS)
139AC_SUBST(LIBCUPS)
f8b3a85b 140AC_SUBST(LIBCUPSBASE)
50fe7201 141AC_SUBST(LIBCUPSCGI)
ef416fc2 142AC_SUBST(LIBCUPSIMAGE)
50fe7201
MS
143AC_SUBST(LIBCUPSMIME)
144AC_SUBST(LIBCUPSPPDC)
f8b3a85b 145AC_SUBST(LIBCUPSSTATIC)
ef416fc2 146
147if test x$enable_shared = xno; then
f8b3a85b 148 LINKCUPS="../cups/lib$cupsbase.a"
ef416fc2 149 LINKCUPSIMAGE="../filter/libcupsimage.a"
c7017ecc
MS
150
151 EXTLINKCUPS="-lcups"
c7017ecc 152 EXTLINKCUPSIMAGE="-lcupsimage"
ef416fc2 153else
154 if test $uname = AIX; then
f8b3a85b 155 LINKCUPS="-l${cupsbase}_s"
ef416fc2 156 LINKCUPSIMAGE="-lcupsimage_s"
c7017ecc
MS
157
158 EXTLINKCUPS="-lcups_s"
c7017ecc 159 EXTLINKCUPSIMAGE="-lcupsimage_s"
ef416fc2 160 else
f8b3a85b 161 LINKCUPS="-l${cupsbase}"
ef416fc2 162 LINKCUPSIMAGE="-lcupsimage"
c7017ecc
MS
163
164 EXTLINKCUPS="-lcups"
c7017ecc 165 EXTLINKCUPSIMAGE="-lcupsimage"
ef416fc2 166 fi
167fi
168
c7017ecc 169AC_SUBST(EXTLINKCUPS)
c7017ecc 170AC_SUBST(EXTLINKCUPSIMAGE)
ef416fc2 171AC_SUBST(LINKCUPS)
172AC_SUBST(LINKCUPSIMAGE)
173
174dnl Update libraries for DSOs...
175EXPORT_LDFLAGS=""
176
177if 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...
a4845881 182 DSOLIBS="\$(LIBZ)"
ef416fc2 183 IMGLIBS=""
184
f301802f 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...
ef416fc2 188 case $uname in
189 HP-UX*)
f301802f 190 # HP-UX needs the path, even for /usr/lib...
b86bc4cf 191 case "$uarch" in
192 ia64)
193 DSOFLAGS="-Wl,+s,+b,$libdir $DSOFLAGS"
b86bc4cf 194 ;;
195 *)
196 DSOFLAGS="+s +b $libdir $DSOFLAGS"
b86bc4cf 197 ;;
198 esac
ed486911 199 LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir"
200 EXPORT_LDFLAGS="-Wl,+s,+b,$libdir"
f301802f 201 ;;
ef416fc2 202 SunOS*)
f301802f 203 # Solaris...
204 if test $exec_prefix != /usr; then
ed486911 205 DSOFLAGS="-R$libdir $DSOFLAGS"
ed486911 206 LDFLAGS="$LDFLAGS -R$libdir"
207 EXPORT_LDFLAGS="-R$libdir"
f301802f 208 fi
209 ;;
ef416fc2 210 *BSD*)
f301802f 211 # *BSD...
212 if test $exec_prefix != /usr; then
ed486911 213 DSOFLAGS="-Wl,-R$libdir $DSOFLAGS"
ed486911 214 LDFLAGS="$LDFLAGS -Wl,-R$libdir"
215 EXPORT_LDFLAGS="-Wl,-R$libdir"
f301802f 216 fi
217 ;;
3dd9c340
MS
218 Linux | GNU)
219 # Linux, and HURD...
f301802f 220 if test $exec_prefix != /usr; then
ed486911 221 DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS"
ed486911 222 LDFLAGS="$LDFLAGS -Wl,-rpath,$libdir"
223 EXPORT_LDFLAGS="-Wl,-rpath,$libdir"
f301802f 224 fi
225 ;;
ef416fc2 226 esac
227else
228 DSOLIBS=""
a4845881 229 IMGLIBS="\$(LIBZ)"
ef416fc2 230fi
231
232AC_SUBST(DSOLIBS)
233AC_SUBST(IMGLIBS)
234AC_SUBST(EXPORT_LDFLAGS)
235
236dnl
75bd9771 237dnl End of "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $".
ef416fc2 238dnl