]>
Commit | Line | Data |
---|---|---|
ef416fc2 | 1 | dnl |
5a1d7a17 | 2 | dnl Shared library support for CUPS. |
ef416fc2 | 3 | dnl |
105922ec | 4 | dnl Copyright 2007-2017 by Apple Inc. |
5a1d7a17 | 5 | dnl Copyright 1997-2005 by Easy Software Products, all rights reserved. |
ef416fc2 | 6 | dnl |
5a1d7a17 MS |
7 | dnl These coded instructions, statements, and computer programs are the |
8 | dnl property of Apple Inc. and are protected by Federal copyright | |
9 | dnl law. Distribution and use rights are outlined in the file "LICENSE.txt" | |
10 | dnl which should have been included with this file. If this file is | |
57b7b66b | 11 | dnl missing or damaged, see the license at "http://www.cups.org/". |
ef416fc2 | 12 | dnl |
13 | ||
14 | PICFLAG=1 | |
15 | DSOFLAGS="${DSOFLAGS:=}" | |
16 | ||
bf3816c7 | 17 | AC_ARG_ENABLE(shared, [ --disable-shared do not create shared libraries]) |
ef416fc2 | 18 | |
f8b3a85b MS |
19 | cupsbase="cups" |
20 | LIBCUPSBASE="lib$cupsbase" | |
21 | LIBCUPSSTATIC="lib$cupsbase.a" | |
22 | ||
ef416fc2 | 23 | if test x$enable_shared != xno; then |
105922ec MS |
24 | case "$host_os_name" in |
25 | sunos*) | |
f8b3a85b | 26 | LIBCUPS="lib$cupsbase.so.2" |
dd1abb6b | 27 | LIBCUPSCGI="libcupscgi.so.1" |
dd1abb6b MS |
28 | LIBCUPSIMAGE="libcupsimage.so.2" |
29 | LIBCUPSMIME="libcupsmime.so.1" | |
30 | LIBCUPSPPDC="libcupsppdc.so.1" | |
31 | DSO="\$(CC)" | |
32 | DSOXX="\$(CXX)" | |
33 | DSOFLAGS="$DSOFLAGS -Wl,-h\`basename \$@\` -G \$(OPTIM)" | |
34 | ;; | |
105922ec | 35 | linux | gnu | *bsd*) |
f8b3a85b | 36 | LIBCUPS="lib$cupsbase.so.2" |
50fe7201 | 37 | LIBCUPSCGI="libcupscgi.so.1" |
ef416fc2 | 38 | LIBCUPSIMAGE="libcupsimage.so.2" |
50fe7201 MS |
39 | LIBCUPSMIME="libcupsmime.so.1" |
40 | LIBCUPSPPDC="libcupsppdc.so.1" | |
ef416fc2 | 41 | DSO="\$(CC)" |
50fe7201 | 42 | DSOXX="\$(CXX)" |
f301802f | 43 | DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)" |
ef416fc2 | 44 | ;; |
105922ec | 45 | darwin*) |
f8b3a85b | 46 | LIBCUPS="lib$cupsbase.2.dylib" |
50fe7201 | 47 | LIBCUPSCGI="libcupscgi.1.dylib" |
ef416fc2 | 48 | LIBCUPSIMAGE="libcupsimage.2.dylib" |
50fe7201 MS |
49 | LIBCUPSMIME="libcupsmime.1.dylib" |
50 | LIBCUPSPPDC="libcupsppdc.1.dylib" | |
ef416fc2 | 51 | DSO="\$(CC)" |
50fe7201 | 52 | DSOXX="\$(CXX)" |
f301802f | 53 | DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc" |
ef416fc2 | 54 | ;; |
ef416fc2 | 55 | *) |
56 | echo "Warning: shared libraries may not be supported. Trying -shared" | |
57 | echo " option with compiler." | |
f8b3a85b | 58 | LIBCUPS="lib$cupsbase.so.2" |
50fe7201 | 59 | LIBCUPSCGI="libcupscgi.so.1" |
ef416fc2 | 60 | LIBCUPSIMAGE="libcupsimage.so.2" |
50fe7201 MS |
61 | LIBCUPSMIME="libcupsmime.so.1" |
62 | LIBCUPSPPDC="libcupsppdc.so.1" | |
ef416fc2 | 63 | DSO="\$(CC)" |
50fe7201 | 64 | DSOXX="\$(CXX)" |
f301802f | 65 | DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)" |
ef416fc2 | 66 | ;; |
67 | esac | |
68 | else | |
69 | PICFLAG=0 | |
f8b3a85b | 70 | LIBCUPS="lib$cupsbase.a" |
50fe7201 | 71 | LIBCUPSCGI="libcupscgi.a" |
ef416fc2 | 72 | LIBCUPSIMAGE="libcupsimage.a" |
50fe7201 MS |
73 | LIBCUPSMIME="libcupsmime.a" |
74 | LIBCUPSPPDC="libcupsppdc.a" | |
ef416fc2 | 75 | DSO=":" |
50fe7201 | 76 | DSOXX=":" |
ef416fc2 | 77 | fi |
78 | ||
79 | AC_SUBST(DSO) | |
50fe7201 | 80 | AC_SUBST(DSOXX) |
ef416fc2 | 81 | AC_SUBST(DSOFLAGS) |
82 | AC_SUBST(LIBCUPS) | |
f8b3a85b | 83 | AC_SUBST(LIBCUPSBASE) |
50fe7201 | 84 | AC_SUBST(LIBCUPSCGI) |
ef416fc2 | 85 | AC_SUBST(LIBCUPSIMAGE) |
50fe7201 MS |
86 | AC_SUBST(LIBCUPSMIME) |
87 | AC_SUBST(LIBCUPSPPDC) | |
f8b3a85b | 88 | AC_SUBST(LIBCUPSSTATIC) |
ef416fc2 | 89 | |
90 | if test x$enable_shared = xno; then | |
f8b3a85b | 91 | LINKCUPS="../cups/lib$cupsbase.a" |
ef416fc2 | 92 | LINKCUPSIMAGE="../filter/libcupsimage.a" |
c7017ecc MS |
93 | |
94 | EXTLINKCUPS="-lcups" | |
c7017ecc | 95 | EXTLINKCUPSIMAGE="-lcupsimage" |
ef416fc2 | 96 | else |
5a1d7a17 MS |
97 | LINKCUPS="-l${cupsbase}" |
98 | LINKCUPSIMAGE="-lcupsimage" | |
c7017ecc | 99 | |
5a1d7a17 MS |
100 | EXTLINKCUPS="-lcups" |
101 | EXTLINKCUPSIMAGE="-lcupsimage" | |
ef416fc2 | 102 | fi |
103 | ||
c7017ecc | 104 | AC_SUBST(EXTLINKCUPS) |
c7017ecc | 105 | AC_SUBST(EXTLINKCUPSIMAGE) |
ef416fc2 | 106 | AC_SUBST(LINKCUPS) |
107 | AC_SUBST(LINKCUPSIMAGE) | |
108 | ||
109 | dnl Update libraries for DSOs... | |
110 | EXPORT_LDFLAGS="" | |
111 | ||
112 | if test "$DSO" != ":"; then | |
113 | # When using DSOs the image libraries are linked to libcupsimage.so | |
114 | # rather than to the executables. This makes things smaller if you | |
115 | # are using any static libraries, and it also allows us to distribute | |
116 | # a single DSO rather than a bunch... | |
a4845881 | 117 | DSOLIBS="\$(LIBZ)" |
ef416fc2 | 118 | IMGLIBS="" |
119 | ||
f301802f | 120 | # Tell the run-time linkers where to find a DSO. Some platforms |
121 | # need this option, even when the library is installed in a | |
122 | # standard location... | |
105922ec MS |
123 | case $host_os_name in |
124 | sunos*) | |
f301802f | 125 | # Solaris... |
126 | if test $exec_prefix != /usr; then | |
ed486911 | 127 | DSOFLAGS="-R$libdir $DSOFLAGS" |
ed486911 | 128 | LDFLAGS="$LDFLAGS -R$libdir" |
129 | EXPORT_LDFLAGS="-R$libdir" | |
f301802f | 130 | fi |
131 | ;; | |
105922ec | 132 | *bsd*) |
f301802f | 133 | # *BSD... |
134 | if test $exec_prefix != /usr; then | |
ed486911 | 135 | DSOFLAGS="-Wl,-R$libdir $DSOFLAGS" |
ed486911 | 136 | LDFLAGS="$LDFLAGS -Wl,-R$libdir" |
137 | EXPORT_LDFLAGS="-Wl,-R$libdir" | |
f301802f | 138 | fi |
139 | ;; | |
105922ec | 140 | linux | gnu) |
3dd9c340 | 141 | # Linux, and HURD... |
f301802f | 142 | if test $exec_prefix != /usr; then |
ed486911 | 143 | DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS" |
ed486911 | 144 | LDFLAGS="$LDFLAGS -Wl,-rpath,$libdir" |
145 | EXPORT_LDFLAGS="-Wl,-rpath,$libdir" | |
f301802f | 146 | fi |
147 | ;; | |
ef416fc2 | 148 | esac |
149 | else | |
150 | DSOLIBS="" | |
a4845881 | 151 | IMGLIBS="\$(LIBZ)" |
ef416fc2 | 152 | fi |
153 | ||
154 | AC_SUBST(DSOLIBS) | |
155 | AC_SUBST(IMGLIBS) | |
156 | AC_SUBST(EXPORT_LDFLAGS) |