~ubuntu-branches/ubuntu/maverick/libaosd/maverick

« back to all changes in this revision

Viewing changes to m4/buildsys.m4

  • Committer: Bazaar Package Importer
  • Author(s): William Pitcock
  • Date: 2007-11-30 07:42:21 UTC
  • Revision ID: james.westby@ubuntu.com-20071130074221-8yt6spn1ns6rfw7e
Tags: upstream-0.1.3
ImportĀ upstreamĀ versionĀ 0.1.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
dnl
 
2
dnl Copyright (c) 2007, Jonathan Schleifer <js-buildsys@webkeks.org>
 
3
dnl
 
4
dnl Permission to use, copy, modify, and/or distribute this software for any
 
5
dnl purpose with or without fee is hereby granted, provided that the above
 
6
dnl copyright notice and this permission notice is present in all copies.
 
7
dnl
 
8
dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 
9
dnl AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
10
dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
11
dnl ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 
12
dnl LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 
13
dnl CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 
14
dnl SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 
15
dnl INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 
16
dnl CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 
17
dnl ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 
18
dnl POSSIBILITY OF SUCH DAMAGE.
 
19
dnl
 
20
 
 
21
AC_DEFUN([BUILDSYS_PROG_IMPLIB], [
 
22
        AC_MSG_CHECKING(whether we need an implib)
 
23
        case "$target" in
 
24
                *-*-cygwin | *-*-mingw32)
 
25
                        AC_MSG_RESULT(yes)
 
26
                        PROG_IMPLIB_NEEDED='yes'
 
27
                        PROG_IMPLIB_LDFLAGS='-Wl,-export-all-symbols,--out-implib,lib${PROG}.a'
 
28
                        ;;
 
29
                *)
 
30
                        AC_MSG_RESULT(no)
 
31
                        PROG_IMPLIB_NEEDED='no'
 
32
                        PROG_IMPLIB_LDFLAGS=''
 
33
                        ;;
 
34
        esac
 
35
        
 
36
        AC_SUBST(PROG_IMPLIB_NEEDED)
 
37
        AC_SUBST(PROG_IMPLIB_LDFLAGS)
 
38
])
 
39
 
 
40
AC_DEFUN([BUILDSYS_SHARED_LIB], [
 
41
        AC_MSG_CHECKING(for shared library system)
 
42
        case "$target" in
 
43
                intel-apple-*)
 
44
                        AC_MSG_RESULT([Mac OS X (Intel)])
 
45
                        LIB_CPPFLAGS='-DPIC'
 
46
                        LIB_CFLAGS='-fPIC'
 
47
                        LIB_LDFLAGS='-dynamiclib -fPIC -install_name ${libdir}/${LIB}'
 
48
                        LIB_PREFIX='lib'
 
49
                        LIB_SUFFIX='.dylib'
 
50
                        PLUGIN_CPPFLAGS=''
 
51
                        PLUGIN_CFLAGS=''
 
52
                        PLUGIN_LDFLAGS='-bundle -fno-common -flat_namespace -undefined suppress'
 
53
                        PLUGIN_SUFFIX='.impl'
 
54
                        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'
 
55
                        UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib'
 
56
                        CLEAN_LIB=''
 
57
                        ;;
 
58
                *-apple-*)
 
59
                        AC_MSG_RESULT(Mac OS X)
 
60
                        LIB_CPPFLAGS='-DPIC'
 
61
                        LIB_CFLAGS=''
 
62
                        LIB_LDFLAGS='-dynamiclib -fPIC -install_name ${libdir}/${LIB}'
 
63
                        LIB_PREFIX='lib'
 
64
                        LIB_SUFFIX='.dylib'
 
65
                        PLUGIN_CPPFLAGS=''
 
66
                        PLUGIN_CFLAGS=''
 
67
                        PLUGIN_LDFLAGS='-bundle -fno-common -flat_namespace -undefined suppress'
 
68
                        PLUGIN_SUFFIX='.impl'
 
69
                        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'
 
70
                        UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib'
 
71
                        CLEAN_LIB=''
 
72
                        ;;
 
73
                *-*-solaris* | *-openbsd-* | *-mirbsd-*)
 
74
                        AC_MSG_RESULT(Solaris)
 
75
                        LIB_CPPFLAGS='-DPIC'
 
76
                        LIB_CFLAGS='-fPIC'
 
77
                        LIB_LDFLAGS='-shared -fPIC -Wl,-soname=${LIB}.${LIB_MAJOR}.${LIB_MINOR}'
 
78
                        LIB_PREFIX='lib'
 
79
                        LIB_SUFFIX='.so'
 
80
                        PLUGIN_CPPFLAGS='-DPIC'
 
81
                        PLUGIN_CFLAGS='-fPIC'
 
82
                        PLUGIN_LDFLAGS='-shared -fPIC'
 
83
                        PLUGIN_SUFFIX='.so'
 
84
                        INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR} && rm -f ${DESTDIR}${libdir}/$$i && ${LN_S} $$i.${LIB_MAJOR}.${LIB_MINOR} ${DESTDIR}${libdir}/$$i'
 
85
                        UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}'
 
86
                        CLEAN_LIB=''
 
87
                        ;;
 
88
                *-*-cygwin | *-*-mingw32)
 
89
                        AC_MSG_RESULT(Win32)
 
90
                        LIB_CPPFLAGS='-DPIC'
 
91
                        LIB_CFLAGS=''
 
92
                        LIB_LDFLAGS='-shared -Wl,--out-implib,${LIB}.a'
 
93
                        LIB_PREFIX='lib'
 
94
                        LIB_SUFFIX='.dll'
 
95
                        PLUGIN_CPPFLAGS=''
 
96
                        PLUGIN_CFLAGS=''
 
97
                        PLUGIN_LDFLAGS='-shared'
 
98
                        PLUGIN_SUFFIX='.dll'
 
99
                        INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${bindir}/$$i && ${INSTALL} -m 755 $$i.a ${DESTDIR}${libdir}/$$i.a'
 
100
                        UNINSTALL_LIB='rm -f ${DESTDIR}${bindir}/$$i ${DESTDIR}${libdir}/$$i.a'
 
101
                        CLEAN_LIB='${LIB}.a'
 
102
                        ;;
 
103
                *)
 
104
                        AC_MSG_RESULT(POSIX)
 
105
                        LIB_CPPFLAGS='-DPIC'
 
106
                        LIB_CFLAGS='-fPIC'
 
107
                        LIB_LDFLAGS='-shared -fPIC -Wl,-soname=${LIB}.${LIB_MAJOR}'
 
108
                        LIB_PREFIX='lib'
 
109
                        LIB_SUFFIX='.so'
 
110
                        PLUGIN_CPPFLAGS='-DPIC'
 
111
                        PLUGIN_CFLAGS='-fPIC'
 
112
                        PLUGIN_LDFLAGS='-shared -fPIC'
 
113
                        PLUGIN_SUFFIX='.so'
 
114
                        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'
 
115
                        UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0'
 
116
                        CLEAN_LIB=''
 
117
                        ;;
 
118
        esac
 
119
 
 
120
        AC_SUBST(LIB_CPPFLAGS)
 
121
        AC_SUBST(LIB_CFLAGS)
 
122
        AC_SUBST(LIB_LDFLAGS)
 
123
        AC_SUBST(LIB_PREFIX)
 
124
        AC_SUBST(LIB_SUFFIX)
 
125
        AC_SUBST(PLUGIN_CPPFLAGS)
 
126
        AC_SUBST(PLUGIN_CFLAGS)
 
127
        AC_SUBST(PLUGIN_LDFLAGS)
 
128
        AC_SUBST(PLUGIN_SUFFIX)
 
129
        AC_SUBST(INSTALL_LIB)
 
130
        AC_SUBST(UNINSTALL_LIB)
 
131
        AC_SUBST(CLEAN_LIB)
 
132
])