annotate m4/sharedlib.m4 @ 3535:9ddf21ab5c84 trunk

Transit to Mk2.
author William Pitcock <nenolod@atheme.org>
date Mon, 17 Sep 2007 13:10:19 -0500
parents
children 2c036b972c14
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3535
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
1 dnl
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
2 dnl Copyright (c) 2007, Jonathan Schleifer <js@h3c.de>
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
3 dnl
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
4 dnl Permission to use, copy, modify, and/or distribute this software for any
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
5 dnl purpose with or without fee is hereby granted, provided that the above
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
6 dnl copyright notice and this permission notice is present in all copies.
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
7 dnl
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
8 dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
9 dnl AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
10 dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
11 dnl ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
12 dnl LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
13 dnl CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
14 dnl SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
15 dnl INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
16 dnl CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
17 dnl ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
18 dnl POSSIBILITY OF SUCH DAMAGE.
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
19 dnl
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
20
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
21 AC_DEFUN([AM_SHARED_LIB], [
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
22 AC_MSG_CHECKING(for shared library system)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
23 case "$target" in
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
24 intel-apple-*)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
25 AC_MSG_RESULT([Mac OS X (Intel)])
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
26 LIB_CPPFLAGS='-DPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
27 LIB_CFLAGS='-fPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
28 LIB_LDFLAGS='-dynamiclib -fPIC -install_name ${libdir}/${LIB}'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
29 LIB_PREFIX='lib'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
30 LIB_SUFFIX='.dylib'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
31 PLUGIN_CPPFLAGS=''
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
32 PLUGIN_CFLAGS=''
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
33 PLUGIN_LDFLAGS='-bundle -fno-common -flat_namespace -undefined suppress'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
34 PLUGIN_SUFFIX='.impl'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
35 INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$$i'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
36 UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
37 ;;
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
38 *-apple-*)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
39 AC_MSG_RESULT(Mac OS X)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
40 LIB_CPPFLAGS='-DPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
41 LIB_CFLAGS=''
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
42 LIB_LDFLAGS='-dynamiclib -fPIC -install_name ${libdir}/${LIB}'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
43 LIB_PREFIX='lib'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
44 LIB_SUFFIX='.dylib'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
45 PLUGIN_CPPFLAGS=''
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
46 PLUGIN_CFLAGS=''
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
47 PLUGIN_LDFLAGS='-bundle -fno-common -flat_namespace -undefined suppress'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
48 PLUGIN_SUFFIX='.impl'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
49 INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$$i'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
50 UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
51 ;;
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
52 *-sun-* | *-openbsd-* | *-mirbsd-*)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
53 AC_MSG_RESULT(Solaris)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
54 LIB_CPPFLAGS='-DPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
55 LIB_CFLAGS='-fPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
56 LIB_LDFLAGS='-shared -fPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
57 LIB_PREFIX='lib'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
58 LIB_SUFFIX='.so'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
59 PLUGIN_CPPFLAGS='-DPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
60 PLUGIN_CFLAGS='-fPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
61 PLUGIN_LDFLAGS='-shared -fPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
62 PLUGIN_SUFFIX='.so'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
63 INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR} ${DESTDIR}${libdir}/$$i'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
64 UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
65 ;;
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
66 *-*-mingw32)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
67 AC_MSG_RESULT(MinGW32)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
68 LIB_CPPFLAGS='-DPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
69 LIB_CFLAGS=''
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
70 LIB_LDFLAGS='-shared'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
71 LIB_PREFIX=''
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
72 LIB_SUFFIX='.dll'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
73 PLUGIN_CPPFLAGS=''
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
74 PLUGIN_CFLAGS=''
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
75 PLUGIN_LDFLAGS=''
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
76 PLUGIN_SUFFIX='.dll'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
77 INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
78 UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
79 ;;
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
80 *)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
81 AC_MSG_RESULT(POSIX)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
82 LIB_CPPFLAGS='-DPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
83 LIB_CFLAGS='-fPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
84 LIB_LDFLAGS='-shared -fPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
85 LIB_PREFIX='lib'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
86 LIB_SUFFIX='.so'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
87 PLUGIN_CPPFLAGS='-DPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
88 PLUGIN_CFLAGS='-fPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
89 PLUGIN_LDFLAGS='-shared -fPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
90 PLUGIN_SUFFIX='.so'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
91 INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0 && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
92 UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
93 ;;
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
94 esac
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
95
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
96 AC_SUBST(LIB_CPPFLAGS)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
97 AC_SUBST(LIB_CFLAGS)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
98 AC_SUBST(LIB_LDFLAGS)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
99 AC_SUBST(LIB_PREFIX)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
100 AC_SUBST(LIB_SUFFIX)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
101 AC_SUBST(PLUGIN_CPPFLAGS)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
102 AC_SUBST(PLUGIN_CFLAGS)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
103 AC_SUBST(PLUGIN_LDFLAGS)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
104 AC_SUBST(PLUGIN_SUFFIX)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
105 AC_SUBST(INSTALL_LIB)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
106 AC_SUBST(UNINSTALL_LIB)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
107 ])