]>
Commit | Line | Data |
---|---|---|
ef416fc2 | 1 | dnl |
5a1d7a17 | 2 | dnl Shared library support for CUPS. |
ef416fc2 | 3 | dnl |
14435106 MS |
4 | dnl Copyright © 2007-2018 by Apple Inc. |
5 | dnl Copyright © 1997-2005 by Easy Software Products, all rights reserved. | |
ef416fc2 | 6 | dnl |
14435106 MS |
7 | dnl Licensed under Apache License v2.0. See the file "LICENSE" for more |
8 | dnl information. | |
ef416fc2 | 9 | dnl |
10 | ||
11 | PICFLAG=1 | |
12 | DSOFLAGS="${DSOFLAGS:=}" | |
13 | ||
bf3816c7 | 14 | AC_ARG_ENABLE(shared, [ --disable-shared do not create shared libraries]) |
ef416fc2 | 15 | |
f8b3a85b MS |
16 | cupsbase="cups" |
17 | LIBCUPSBASE="lib$cupsbase" | |
58b64dbb | 18 | LIBCUPSIMAGE="" |
f8b3a85b MS |
19 | LIBCUPSSTATIC="lib$cupsbase.a" |
20 | ||
ef416fc2 | 21 | if test x$enable_shared != xno; then |
105922ec MS |
22 | case "$host_os_name" in |
23 | sunos*) | |
f8b3a85b | 24 | LIBCUPS="lib$cupsbase.so.2" |
58b64dbb MS |
25 | if test "x$cupsimagebase" != x; then |
26 | LIBCUPSIMAGE="lib$cupsimagebase.so.2" | |
27 | fi | |
dd1abb6b MS |
28 | DSO="\$(CC)" |
29 | DSOXX="\$(CXX)" | |
f518bf7e | 30 | DSOFLAGS="$DSOFLAGS -Wl,-h\`basename \$@\` -G" |
dd1abb6b | 31 | ;; |
827bf9ce | 32 | linux* | gnu* | *bsd*) |
f8b3a85b | 33 | LIBCUPS="lib$cupsbase.so.2" |
58b64dbb MS |
34 | if test "x$cupsimagebase" != x; then |
35 | LIBCUPSIMAGE="lib$cupsimagebase.so.2" | |
36 | fi | |
ef416fc2 | 37 | DSO="\$(CC)" |
50fe7201 | 38 | DSOXX="\$(CXX)" |
f518bf7e | 39 | DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared" |
ef416fc2 | 40 | ;; |
105922ec | 41 | darwin*) |
f8b3a85b | 42 | LIBCUPS="lib$cupsbase.2.dylib" |
58b64dbb MS |
43 | if test "x$cupsimagebase" != x; then |
44 | LIBCUPSIMAGE="lib$cupsimagebase.2.dylib" | |
45 | fi | |
ef416fc2 | 46 | DSO="\$(CC)" |
50fe7201 | 47 | DSOXX="\$(CXX)" |
f518bf7e | 48 | DSOFLAGS="$DSOFLAGS -Wl,-no_warn_inits -dynamiclib -single_module -lc" |
ef416fc2 | 49 | ;; |
ef416fc2 | 50 | *) |
51 | echo "Warning: shared libraries may not be supported. Trying -shared" | |
52 | echo " option with compiler." | |
f8b3a85b | 53 | LIBCUPS="lib$cupsbase.so.2" |
58b64dbb MS |
54 | if test "x$cupsimagebase" != x; then |
55 | LIBCUPSIMAGE="lib$cupsimagebase.so.2" | |
56 | fi | |
ef416fc2 | 57 | DSO="\$(CC)" |
50fe7201 | 58 | DSOXX="\$(CXX)" |
f518bf7e | 59 | DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared" |
ef416fc2 | 60 | ;; |
61 | esac | |
62 | else | |
63 | PICFLAG=0 | |
f8b3a85b | 64 | LIBCUPS="lib$cupsbase.a" |
58b64dbb MS |
65 | if test "x$cupsimagebase" != x; then |
66 | LIBCUPSIMAGE="lib$cupsimagebase.a" | |
67 | fi | |
ef416fc2 | 68 | DSO=":" |
50fe7201 | 69 | DSOXX=":" |
ef416fc2 | 70 | fi |
71 | ||
72 | AC_SUBST(DSO) | |
50fe7201 | 73 | AC_SUBST(DSOXX) |
ef416fc2 | 74 | AC_SUBST(DSOFLAGS) |
75 | AC_SUBST(LIBCUPS) | |
f8b3a85b | 76 | AC_SUBST(LIBCUPSBASE) |
ef416fc2 | 77 | AC_SUBST(LIBCUPSIMAGE) |
f8b3a85b | 78 | AC_SUBST(LIBCUPSSTATIC) |
ef416fc2 | 79 | |
80 | if test x$enable_shared = xno; then | |
3e391a8e MS |
81 | LINKCUPS="../cups/lib$cupsbase.a \$(LIBS)" |
82 | EXTLINKCUPS="-lcups \$LIBS" | |
ef416fc2 | 83 | else |
3e391a8e | 84 | LINKCUPS="-L../cups -l${cupsbase}" |
5a1d7a17 | 85 | EXTLINKCUPS="-lcups" |
ef416fc2 | 86 | fi |
87 | ||
c7017ecc | 88 | AC_SUBST(EXTLINKCUPS) |
ef416fc2 | 89 | AC_SUBST(LINKCUPS) |
ef416fc2 | 90 | |
91 | dnl Update libraries for DSOs... | |
92 | EXPORT_LDFLAGS="" | |
93 | ||
94 | if test "$DSO" != ":"; then | |
f301802f | 95 | # Tell the run-time linkers where to find a DSO. Some platforms |
96 | # need this option, even when the library is installed in a | |
97 | # standard location... | |
105922ec MS |
98 | case $host_os_name in |
99 | sunos*) | |
f301802f | 100 | # Solaris... |
101 | if test $exec_prefix != /usr; then | |
ed486911 | 102 | DSOFLAGS="-R$libdir $DSOFLAGS" |
ed486911 | 103 | LDFLAGS="$LDFLAGS -R$libdir" |
104 | EXPORT_LDFLAGS="-R$libdir" | |
f301802f | 105 | fi |
106 | ;; | |
105922ec | 107 | *bsd*) |
f301802f | 108 | # *BSD... |
109 | if test $exec_prefix != /usr; then | |
ed486911 | 110 | DSOFLAGS="-Wl,-R$libdir $DSOFLAGS" |
ed486911 | 111 | LDFLAGS="$LDFLAGS -Wl,-R$libdir" |
112 | EXPORT_LDFLAGS="-Wl,-R$libdir" | |
f301802f | 113 | fi |
114 | ;; | |
827bf9ce | 115 | linux* | gnu*) |
3dd9c340 | 116 | # Linux, and HURD... |
f301802f | 117 | if test $exec_prefix != /usr; then |
ed486911 | 118 | DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS" |
ed486911 | 119 | LDFLAGS="$LDFLAGS -Wl,-rpath,$libdir" |
120 | EXPORT_LDFLAGS="-Wl,-rpath,$libdir" | |
f301802f | 121 | fi |
122 | ;; | |
ef416fc2 | 123 | esac |
ef416fc2 | 124 | fi |
125 | ||
ef416fc2 | 126 | AC_SUBST(EXPORT_LDFLAGS) |