resetting manifest requested domain to floor
[platform/upstream/libelf0.git] / aclocal.m4
1 # aclocal.m4 - Local additions to Autoconf macros.
2 # Copyright (C) 1995 - 2006 Michael Riepe
3 #
4 # This library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Library General Public
6 # License as published by the Free Software Foundation; either
7 # version 2 of the License, or (at your option) any later version.
8 #
9 # This library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 # Library General Public License for more details.
13 #
14 # You should have received a copy of the GNU Library General Public
15 # License along with this library; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
17
18 # @(#) $Id: aclocal.m4,v 1.28 2008/05/23 08:17:56 michael Exp $
19
20 AC_PREREQ(2.13)
21
22 dnl mr_PACKAGE(package-name)
23 AC_DEFUN(mr_PACKAGE, [changequote(<<, >>)dnl
24   changequote([, ])dnl
25   PACKAGE=$1
26   VERSION=`cat $srcdir/VERSION`
27   AC_SUBST(PACKAGE)
28   AC_SUBST(VERSION)
29   AC_ARG_ENABLE(maintainer-mode,
30     [  --enable-maintainer-mode
31                           enable maintainer-specific make rules (default: auto)],
32     [mr_enable_maintainer_mode="$enableval"],
33     [case :${I_AM_THE_MAINTAINER_OF}: in
34       *:$1:*) mr_enable_maintainer_mode=yes;;
35       *) mr_enable_maintainer_mode=no;;
36     esac])
37   if test x"$mr_enable_maintainer_mode" = x"yes"; then
38     MAINT=
39   else
40     MAINT='maintainer-only-'
41   fi
42   AC_SUBST(MAINT)
43 ])
44
45 AC_DEFUN(mr_ENABLE_NLS, [
46   AC_PROVIDE([$0])
47
48   # Needed for `make dist' even if NLS is disabled.
49   GMOFILES=
50   MSGFILES=
51   POFILES=
52   for mr_lang in $ALL_LINGUAS; do
53     GMOFILES="$GMOFILES $mr_lang.gmo"
54     MSGFILES="$MSGFILES $mr_lang.msg"
55     POFILES="$POFILES $mr_lang.po"
56   done
57   AC_SUBST(GMOFILES)
58   AC_SUBST(MSGFILES)
59   AC_SUBST(POFILES)
60
61   AC_MSG_CHECKING([whether NLS is requested])
62   AC_ARG_ENABLE(nls,
63     [  --enable-nls            use Native Language Support (default: yes)],
64     [mr_enable_nls="$enableval"],
65     [mr_enable_nls=yes])
66   AC_MSG_RESULT($mr_enable_nls)
67
68   CATOBJEXT=
69   INSTOBJEXT=
70   localedir=
71   if test "$mr_enable_nls" = yes; then
72     mr_PATH=`echo ":$PATH" | sed -e 's,:[^:]*openwin[^:]*,,g' -e 's,^:,,'`
73     AC_CACHE_CHECK([for dgettext],
74       mr_cv_func_dgettext, [
75         AC_TRY_LINK([#include <libintl.h>],
76           [char *s = dgettext("", ""); return 0],
77           [mr_cv_func_dgettext=yes],
78           [mr_cv_func_dgettext=no])
79     ])
80     if test "$mr_cv_func_dgettext" = yes; then
81       AC_PATH_PROG(MSGFMT, msgfmt, no, $mr_PATH)
82       if test "$MSGFMT" != no; then
83         AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT, $mr_PATH)
84         AC_PATH_PROG(XGETTEXT, xgettext, xgettext, $mr_PATH)
85         AC_PATH_PROG(MSGMERGE, msgmerge, msgmerge, $mr_PATH)
86         AC_CACHE_CHECK([for GNU gettext],
87           mr_cv_gnu_gettext, [
88             AC_TRY_LINK([],
89               [extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr],
90               [mr_cv_gnu_gettext=yes],
91               [mr_cv_gnu_gettext=no])
92         ])
93         if test "$mr_cv_gnu_gettext" = yes; then
94           AC_CACHE_CHECK([for losing catgets-based GNU gettext],
95             mr_cv_catgets_based_gettext, [
96               AC_TRY_LINK([],
97                 [extern int _msg_tbl_length; return _msg_tbl_length],
98                 [mr_cv_catgets_based_gettext=yes],
99                 [mr_cv_catgets_based_gettext=no])
100           ])
101           if test "$mr_cv_catgets_based_gettext" = yes; then
102             # This loses completely. Turn it off and use catgets.
103             LIBS=`echo $LIBS | sed 's,-lintl,,g'`
104             mr_cv_func_dgettext=no
105           else
106             # Is there a better test for this case?
107             AC_CACHE_CHECK([for pure GNU gettext],
108               mr_cv_pure_gnu_gettext, [
109                 AC_TRY_LINK([],
110                   [extern int gettext(); return gettext()],
111                   [mr_cv_pure_gnu_gettext=yes],
112                   [mr_cv_pure_gnu_gettext=no])
113             ])
114             if test "$mr_cv_pure_gnu_gettext" = yes; then
115               CATOBJEXT=.gmo
116               localedir='$(prefix)/share/locale'
117             else
118               CATOBJEXT=.mo
119               localedir='$(prefix)/lib/locale'
120             fi
121             INSTOBJEXT=.mo
122           fi
123         else
124           # System provided gettext
125           CATOBJEXT=.mo
126           INSTOBJEXT=.mo
127           localedir='$(prefix)/lib/locale'
128         fi
129       else
130         # Gettext but no msgfmt. Try catgets.
131         mr_cv_func_dgettext=no
132       fi
133     fi
134     if test "$mr_cv_func_dgettext" = yes; then
135       AC_DEFINE(HAVE_DGETTEXT)
136     else
137       AC_CACHE_CHECK([for catgets], mr_cv_func_catgets, [
138         AC_TRY_LINK([#include <nl_types.h>],
139           [catgets(catopen("",0),0,0,"");return 0;],
140           [mr_cv_func_catgets=yes],
141           [mr_cv_func_catgets=no])
142       ])
143       if test "$mr_cv_func_catgets" = yes; then
144         AC_PATH_PROG(GENCAT, gencat, no, $mr_PATH)
145         if test "$GENCAT" != no; then
146           AC_DEFINE(HAVE_CATGETS)
147           AC_PATH_PROG(GMSGFMT, [gmsgfmt msgfmt], msgfmt, $mr_PATH)
148           AC_PATH_PROG(XGETTEXT, xgettext, xgettext, $mr_PATH)
149           CATOBJEXT=.cat
150           INSTOBJEXT=.cat
151           localedir='$(prefix)/lib/locale'
152         fi
153       else
154         AC_MSG_WARN([no NLS support, disabled])
155         mr_enable_nls=no
156       fi
157     fi
158   fi
159   AC_SUBST(CATOBJEXT)
160   AC_SUBST(INSTOBJEXT)
161   AC_SUBST(localedir)
162
163   POSUB=
164   CATALOGS=
165   if test "$mr_enable_nls" = yes; then
166     AC_MSG_CHECKING([for catalogs to be installed])
167     mr_linguas=
168     for mr_lang in ${LINGUAS=$ALL_LINGUAS}; do
169       case " $ALL_LINGUAS " in
170         *" $mr_lang "*)
171           mr_linguas="$mr_linguas$mr_lang "
172           CATALOGS="$CATALOGS $mr_lang$CATOBJEXT"
173           ;;
174       esac
175     done
176     AC_MSG_RESULT($mr_linguas)
177     POSUB=po
178   fi
179   AC_SUBST(CATALOGS)
180   AC_SUBST(POSUB)
181 ])
182
183 AC_DEFUN(mr_TARGET_ELF, [
184   AC_PROVIDE([$0])
185   AC_CACHE_CHECK([for native ELF system],
186     mr_cv_target_elf,
187     [AC_TRY_RUN(changequote(<<, >>)dnl
188 <<#include <stdio.h>
189 int
190 main(int argc, char **argv) {
191   char buf[BUFSIZ];
192   FILE *fp;
193   int n;
194
195   if ((fp = fopen(*argv, "r")) == NULL) {
196     exit(1);
197   }
198   n = fread(buf, 1, sizeof(buf), fp);
199   if (n >= 52
200    && buf[0] == '\177'
201    && buf[1] == 'E'
202    && buf[2] == 'L'
203    && buf[3] == 'F') {
204     exit(0);
205   }
206   exit(1);
207 }>>, changequote([, ])dnl
208       mr_cv_target_elf=yes,
209       mr_cv_target_elf=no,
210       mr_cv_target_elf=no)])])
211
212 AC_DEFUN(mr_ENABLE_SHARED, [
213   AC_PROVIDE([$0])
214   PICFLAGS=
215   SHLIB_SFX=
216   SHLINK_SFX=
217   SONAME_SFX=
218   LINK_SHLIB=
219   INSTALL_SHLIB=
220   DEPSHLIBS=
221   AC_MSG_CHECKING([whether to build a shared library])
222   AC_ARG_ENABLE(shared,
223     [  --enable-shared         build shared library (default: yes)],
224     [mr_enable_shared="$enableval"],
225     [mr_enable_shared=yes])
226   AC_MSG_RESULT($mr_enable_shared)
227   if test "$mr_enable_shared" = yes; then
228     AC_MSG_CHECKING([whether GNU naming conventions are requested])
229     AC_ARG_ENABLE(gnu-names,
230       [  --enable-gnu-names      use GNU library naming conventions (default: no)],
231       [mr_enable_gnu_names="$enableval"],
232       [mr_enable_gnu_names=no])
233     AC_MSG_RESULT($mr_enable_gnu_names)
234     AC_REQUIRE([AC_CANONICAL_HOST])
235     AC_REQUIRE([AC_PROG_CC])
236     AC_PATH_PROG(LD, ld, ld)
237     case "$host" in
238       *-linux*|*-gnu*)
239         if test "$GCC" = yes; then
240           mr_TARGET_ELF
241           if test "$mr_cv_target_elf" = yes; then
242             PICFLAGS='-fPIC -DPIC'
243             if test "$mr_enable_gnu_names" = yes
244             then SHLIB_SFX='-$(VERSION).so'
245             else SHLIB_SFX='.so.$(VERSION)'
246             fi
247             SHLINK_SFX='.so'
248             SONAME_SFX='.so.$(MAJOR)'
249             LINK_SHLIB='$(CC) -shared -Wl,-soname,$(SONAME)'
250             INSTALL_SHLIB='$(INSTALL_PROGRAM)'
251             DEPSHLIBS='-lc'
252           else
253             AC_MSG_WARN([shared libraries not supported for $host])
254             mr_enable_shared=no
255           fi
256         elif ${CC} -V 2>&1 | grep 'Intel(R) C++ Compiler' >/dev/null 2>&1; then
257           AC_MSG_WARN([Use --disable-shared if $CC fails to build the shared library])
258           PICFLAGS='-fPIC -DPIC'
259           if test "$mr_enable_gnu_names" = yes
260           then SHLIB_SFX='-$(VERSION).so'
261           else SHLIB_SFX='.so.$(VERSION)'
262           fi
263           SHLINK_SFX='.so'
264           SONAME_SFX='.so.$(MAJOR)'
265           LINK_SHLIB='$(CC) -shared -Wl,-soname,$(SONAME)'
266           INSTALL_SHLIB='$(INSTALL_PROGRAM)'
267           DEPSHLIBS='-lc'
268         else
269           AC_MSG_WARN([GNU CC required for building shared libraries])
270           mr_enable_shared=no
271         fi
272         ;;
273       i386-pc-nto-qnx*)
274         mr_TARGET_ELF
275         if test "$mr_cv_target_elf" = yes; then
276           PICFLAGS='-fPIC -DPIC'
277           if test "$mr_enable_gnu_names" = yes
278           then SHLIB_SFX='-$(VERSION).so'
279           else SHLIB_SFX='.so.$(VERSION)'
280           fi
281           SHLINK_SFX='.so'
282           SONAME_SFX='.so.$(MAJOR)'
283           LINK_SHLIB='$(CC) -shared -Wl,-soname,$(SONAME)'
284           INSTALL_SHLIB='$(INSTALL_PROGRAM)'
285           DEPSHLIBS='-lc'
286         else
287           AC_MSG_WARN([shared libraries not supported for $host])
288           mr_enable_shared=no
289         fi
290         ;;
291       sparc-sun-solaris2*)
292         if test "$GCC" = yes; then
293           PICFLAGS='-fPIC -DPIC'
294         else
295           PICFLAGS='-K PIC -DPIC'
296         fi
297         if test "$mr_enable_gnu_names" = yes
298         then SHLIB_SFX='-$(MAJOR).so'
299         else SHLIB_SFX='.so.$(MAJOR)'
300         fi
301         SONAME_SFX='.so.$(MAJOR)'
302         SHLINK_SFX='.so'
303         LINK_SHLIB='$(LD) -G -z text -h $(SONAME)'
304         INSTALL_SHLIB='$(INSTALL_PROGRAM)'
305         ;;
306       *)
307         AC_MSG_WARN([shared libraries not supported for $host])
308         mr_enable_shared=no
309         ;;
310     esac
311   else
312     mr_enable_shared=no
313   fi
314   AC_SUBST(PICFLAGS)
315   AC_SUBST(SHLIB_SFX)
316   AC_SUBST(SHLINK_SFX)
317   AC_SUBST(SONAME_SFX)
318   AC_SUBST(LINK_SHLIB)
319   AC_SUBST(INSTALL_SHLIB)
320   AC_SUBST(DEPSHLIBS)
321   DO_SHLIB="$mr_enable_shared"
322   AC_SUBST(DO_SHLIB)
323 ])
324
325 AC_DEFUN(mr_ENABLE_DEBUG, [
326   AC_PROVIDE([$0])
327   AC_ARG_ENABLE(debug,
328     [  --enable-debug          include extra debugging code (default: no)],
329     [mr_enable_debug="$enableval"],
330     [mr_enable_debug=no])
331   if test "$mr_enable_debug" = yes; then
332     AC_DEFINE(ENABLE_DEBUG)
333   fi
334 ])
335
336 # vi: set ts=8 sw=2 :