annotate m4/sharedlib.m4 @ 3596:42e255437b69 trunk

Remove rpath.
author Jonathan Schleifer <js@h3c.de>
date Sat, 22 Sep 2007 11:05:37 +0200
parents fa49ef305f59
children f7ac1bd798bc
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'
3594
fa49ef305f59 Some buildsys fixes for Windows.
Jonathan Schleifer <js@h3c.de>
parents: 3586
diff changeset
37 CLEAN_LIB=''
3535
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
38 ;;
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
39 *-apple-*)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
40 AC_MSG_RESULT(Mac OS X)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
41 LIB_CPPFLAGS='-DPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
42 LIB_CFLAGS=''
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
43 LIB_LDFLAGS='-dynamiclib -fPIC -install_name ${libdir}/${LIB}'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
44 LIB_PREFIX='lib'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
45 LIB_SUFFIX='.dylib'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
46 PLUGIN_CPPFLAGS=''
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
47 PLUGIN_CFLAGS=''
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
48 PLUGIN_LDFLAGS='-bundle -fno-common -flat_namespace -undefined suppress'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
49 PLUGIN_SUFFIX='.impl'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
50 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
51 UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib'
3594
fa49ef305f59 Some buildsys fixes for Windows.
Jonathan Schleifer <js@h3c.de>
parents: 3586
diff changeset
52 CLEAN_LIB=''
3535
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
53 ;;
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
54 *-sun-* | *-openbsd-* | *-mirbsd-*)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
55 AC_MSG_RESULT(Solaris)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
56 LIB_CPPFLAGS='-DPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
57 LIB_CFLAGS='-fPIC'
3596
42e255437b69 Remove rpath.
Jonathan Schleifer <js@h3c.de>
parents: 3594
diff changeset
58 LIB_LDFLAGS='-shared -fPIC -Wl,-soname=${LIB}.${LIB_MAJOR}.${LIB_MINOR}'
3535
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
59 LIB_PREFIX='lib'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
60 LIB_SUFFIX='.so'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
61 PLUGIN_CPPFLAGS='-DPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
62 PLUGIN_CFLAGS='-fPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
63 PLUGIN_LDFLAGS='-shared -fPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
64 PLUGIN_SUFFIX='.so'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
65 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
66 UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}'
3594
fa49ef305f59 Some buildsys fixes for Windows.
Jonathan Schleifer <js@h3c.de>
parents: 3586
diff changeset
67 CLEAN_LIB=''
3535
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
68 ;;
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
69 *-*-mingw32)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
70 AC_MSG_RESULT(MinGW32)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
71 LIB_CPPFLAGS='-DPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
72 LIB_CFLAGS=''
3594
fa49ef305f59 Some buildsys fixes for Windows.
Jonathan Schleifer <js@h3c.de>
parents: 3586
diff changeset
73 LIB_LDFLAGS='-shared -Wl,--out-implib,${LIB}.a'
fa49ef305f59 Some buildsys fixes for Windows.
Jonathan Schleifer <js@h3c.de>
parents: 3586
diff changeset
74 LIB_PREFIX='lib'
3535
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
75 LIB_SUFFIX='.dll'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
76 PLUGIN_CPPFLAGS=''
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
77 PLUGIN_CFLAGS=''
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
78 PLUGIN_LDFLAGS=''
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
79 PLUGIN_SUFFIX='.dll'
3594
fa49ef305f59 Some buildsys fixes for Windows.
Jonathan Schleifer <js@h3c.de>
parents: 3586
diff changeset
80 INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${bindir}/$$i && ${INSTALL} -m 755 $$i.a ${DESTDIR}${libdir}/$$i.a'
fa49ef305f59 Some buildsys fixes for Windows.
Jonathan Schleifer <js@h3c.de>
parents: 3586
diff changeset
81 UNINSTALL_LIB='rm -f ${DESTDIR}${bindir}/$$i ${DESTDIR}${libdir}/$$i.a'
fa49ef305f59 Some buildsys fixes for Windows.
Jonathan Schleifer <js@h3c.de>
parents: 3586
diff changeset
82 CLEAN_LIB='${LIB}.a'
3535
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
83 ;;
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
84 *)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
85 AC_MSG_RESULT(POSIX)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
86 LIB_CPPFLAGS='-DPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
87 LIB_CFLAGS='-fPIC'
3596
42e255437b69 Remove rpath.
Jonathan Schleifer <js@h3c.de>
parents: 3594
diff changeset
88 LIB_LDFLAGS='-shared -fPIC -Wl,-soname=${LIB}.${LIB_MAJOR}.${LIB_MINOR}.0'
3535
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
89 LIB_PREFIX='lib'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
90 LIB_SUFFIX='.so'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
91 PLUGIN_CPPFLAGS='-DPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
92 PLUGIN_CFLAGS='-fPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
93 PLUGIN_LDFLAGS='-shared -fPIC'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
94 PLUGIN_SUFFIX='.so'
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
95 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
96 UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0'
3594
fa49ef305f59 Some buildsys fixes for Windows.
Jonathan Schleifer <js@h3c.de>
parents: 3586
diff changeset
97 CLEAN_LIB=''
3535
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
98 ;;
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
99 esac
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
100
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
101 AC_SUBST(LIB_CPPFLAGS)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
102 AC_SUBST(LIB_CFLAGS)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
103 AC_SUBST(LIB_LDFLAGS)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
104 AC_SUBST(LIB_PREFIX)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
105 AC_SUBST(LIB_SUFFIX)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
106 AC_SUBST(PLUGIN_CPPFLAGS)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
107 AC_SUBST(PLUGIN_CFLAGS)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
108 AC_SUBST(PLUGIN_LDFLAGS)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
109 AC_SUBST(PLUGIN_SUFFIX)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
110 AC_SUBST(INSTALL_LIB)
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
111 AC_SUBST(UNINSTALL_LIB)
3594
fa49ef305f59 Some buildsys fixes for Windows.
Jonathan Schleifer <js@h3c.de>
parents: 3586
diff changeset
112 AC_SUBST(CLEAN_LIB)
3535
9ddf21ab5c84 Transit to Mk2.
William Pitcock <nenolod@atheme.org>
parents:
diff changeset
113 ])