]> sourceware.org Git - glibc.git/blob - aclocal.m4
88db64a6836d63f94e3c9f6d0b556d274417a7da
[glibc.git] / aclocal.m4
1 dnl We require that everyone use exactly the same Autoconf version so that
2 dnl the internal functions defined and used by the main configure script
3 dnl match those expected by the fragments. When changing this version,
4 dnl install.texi also needs to be updated.
5 m4_define([GLIBC_AUTOCONF_VERSION], [2.69])
6 m4_if(m4_defn([AC_AUTOCONF_VERSION]), GLIBC_AUTOCONF_VERSION, [],
7 [m4_fatal(m4_flatten(
8 Exactly version GLIBC_AUTOCONF_VERSION of Autoconf is required but you have
9 m4_defn([AC_AUTOCONF_VERSION])
10 ), [63])])dnl
11 dnl
12 dnl We define the macro GLIBC_PROVIDES to do an AC_PROVIDE for each macro
13 dnl which appears in configure.ac before the sysdep configure scripts are run.
14 dnl Each sysdep configure.ac does GLIBC_PROVIDES first, to avoid any
15 dnl AC_REQUIREs or AC_BEFOREs duplicating their code.
16 dnl
17 define([GLIBC_PROVIDES], [dnl
18 AC_PROVIDE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
19 AC_PROVIDE([AC_CONFIG_SUBDIRS])dnl
20 AC_PROVIDE([_AS_ECHO_N_PREPARE])dnl
21 AC_PROVIDE([_AS_ECHO_PREPARE])dnl
22 AC_PROVIDE([_AS_CR_PREPARE])dnl
23 AC_PROVIDE([_AS_TR_SH_PREPARE])dnl
24 AC_PROVIDE([_AS_VAR_ARITH_PREPARE])dnl
25 AC_PROVIDE([AC_PROG_INSTALL])dnl
26 AC_PROVIDE([AC_PROG_CC])dnl
27 AC_PROVIDE([AC_PROG_CPP])dnl
28 AC_PROVIDE([_AS_PATH_SEPARATOR_PREPARE])dnl
29 AC_PROVIDE([_AS_TEST_PREPARE])dnl
30 AC_PROVIDE([_AS_BASENAME_PREPARE])dnl
31 AC_PROVIDE([_AS_ME_PREPARE])dnl
32 AC_PROVIDE([_AS_LINENO_PREPARE])dnl
33 AC_PROVIDE([AS_SHELL_FN_as_fn_set_status])dnl
34 AC_PROVIDE([AS_SHELL_FN_as_fn_exit])dnl
35 AC_PROVIDE([AS_SHELL_FN_as_fn_arith])dnl
36 AC_PROVIDE([AS_SHELL_FN_ac_fn_c_try_compile])dnl
37 AC_PROVIDE([AS_SHELL_FN_ac_fn_c_try_cpp])dnl
38 define([AS_MESSAGE_LOG_FD],5)dnl
39 define([AS_MESSAGE_FD],6)dnl
40 dnl Ripped out of AS_INIT, which does more cruft we do not want.
41 m4_wrap([m4_divert_pop([BODY])[]])
42 m4_divert_push([BODY])[]dnl
43 dnl End of ripped out of AS_INIT.
44 # This file is generated from configure.ac by Autoconf. DO NOT EDIT!
45 define([_AC_LANG], [C])dnl
46 ])dnl
47 dnl
48 dnl Check for a symbol
49 dnl
50 AC_DEFUN([AC_CHECK_SYMBOL], [dnl
51 AC_MSG_CHECKING(for $1)
52 AC_CACHE_VAL(ac_cv_check_symbol_$1, [dnl
53 AC_TRY_LINK(,
54 changequote(,)dnl
55 extern char *$1[]; puts(*$1);,
56 changequote([,])dnl
57 ac_cv_check_symbol_$1=yes, ac_cv_check_symbol_$1=no)])
58 if test "$ac_cv_check_symbol_$1" = yes; then
59 changequote(,)dnl
60 ac_tr_symbol=`echo $1 | tr '[a-z]' '[A-Z]'`
61 changequote([,])dnl
62 AC_DEFINE_UNQUOTED(HAVE_${ac_tr_symbol})
63 fi
64 AC_MSG_RESULT($ac_cv_check_symbol_$1)])dnl
65 dnl
66
67 dnl Locate a program and check that its version is acceptable.
68 dnl AC_PROG_CHECK_VER(var, namelist, version-switch,
69 dnl [version-extract-regexp], version-glob [, do-if-fail])
70 AC_DEFUN([AC_CHECK_PROG_VER],
71 [AC_CHECK_PROGS([$1], [$2])
72 if test -z "[$]$1"; then
73 ac_verc_fail=yes
74 else
75 # Found it, now check the version.
76 AC_MSG_CHECKING([version of [$]$1])
77 changequote(<<,>>)dnl
78 ac_prog_version=`<<$>>$1 $3 2>&1 ifelse(<<$4>>,,,
79 <<| sed -n 's/^.*patsubst(<<$4>>,/,\/).*$/\1/p'>>)`
80 case $ac_prog_version in
81 '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
82 <<$5>>)
83 changequote([,])dnl
84 ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
85 *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
86
87 esac
88 AC_MSG_RESULT([$ac_prog_version])
89 fi
90 ifelse([$6],,,
91 [if test $ac_verc_fail = yes; then
92 $6
93 fi])
94 ])
95
96 dnl These modifications are to allow for an empty cross compiler tree.
97 define([_AC_COMPILER_EXEEXT], [EXEEXT=
98 ])
99
100 AC_DEFUN([LIBC_PROG_FOO_GNU],
101 [# Most GNU programs take a -v and spit out some text including
102 # the word 'GNU'. Some try to read stdin, so give them /dev/null.
103 if $1 -o conftest -v </dev/null 2>&1 | grep GNU > /dev/null 2>&1; then
104 $2
105 else
106 $3
107 fi
108 rm -fr contest*])
109
110 AC_DEFUN([LIBC_PROG_BINUTILS],
111 [# Was a --with-binutils option given?
112 if test -n "$path_binutils"; then
113 # Make absolute; ensure a single trailing slash.
114 path_binutils=`(cd $path_binutils; pwd) | sed 's%/*$%/%'`
115 CC="$CC -B$path_binutils"
116 fi
117 case "$CC" in
118 *fuse-ld=lld*) LDNAME=ld.lld;;
119 *) LDNAME=ld;;
120 esac
121 AS=`$CC -print-prog-name=as`
122 LD=`$CC -print-prog-name=$LDNAME`
123 AR=`$CC -print-prog-name=ar`
124 AC_SUBST(AR)
125 OBJCOPY=`$CC -print-prog-name=objcopy`
126 AC_SUBST(OBJCOPY)
127 GPROF=`$CC -print-prog-name=gprof`
128 AC_SUBST(GPROF)
129 ])
130
131 dnl Run a static link test with -nostdlib -nostartfiles.
132 dnl LIBC_TRY_LINK_STATIC([code], [action-if-true], [action-if-false])
133 AC_DEFUN([LIBC_TRY_LINK_STATIC],
134 [cat > conftest.c <<EOF
135 int _start (void) { return 0; }
136 int __start (void) { return 0; }
137 $1
138 EOF
139 AS_IF([AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp -o conftest
140 conftest.c -static -nostartfiles -nostdlib
141 1>&AS_MESSAGE_LOG_FD])],
142 [$2], [$3])
143 rm -f conftest*])
144
145 dnl Test a compiler option or options with an empty input file.
146 dnl LIBC_TRY_CC_OPTION([options], [action-if-true], [action-if-false])
147 AC_DEFUN([LIBC_TRY_CC_OPTION],
148 [AS_IF([AC_TRY_COMMAND([${CC-cc} $1 -xc /dev/null -S -o /dev/null])],
149 [$2], [$3])])
150
151 dnl Find and source sysdeps/*/preconfigure.
152 dnl LIBC_PRECONFIGURE([$srcdir], [for])
153 AC_DEFUN([LIBC_PRECONFIGURE], [dnl
154 if frags=`ls -d $1/sysdeps/*/preconfigure 2> /dev/null`
155 then
156 AC_MSG_CHECKING($2 preconfigure fragments)
157 for frag in $frags; do
158 name=`echo "$frag" | sed 's@/[[^/]]*[$]@@;s@^.*/@@'`
159 echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
160 . "$frag"
161 done
162 AC_MSG_RESULT()
163 fi])
164
165 # These two macros are taken from GCC's config/acx.m4.
166 dnl Support the --with-pkgversion configure option.
167 dnl ACX_PKGVERSION(default-pkgversion)
168 AC_DEFUN([ACX_PKGVERSION],[
169 AC_ARG_WITH(pkgversion,
170 AS_HELP_STRING([--with-pkgversion=PKG],
171 [Use PKG in the version string in place of "$1"]),
172 [case "$withval" in
173 yes) AC_MSG_ERROR([package version not specified]) ;;
174 no) PKGVERSION= ;;
175 *) PKGVERSION="($withval) " ;;
176 esac],
177 PKGVERSION="($1) "
178 )
179 PKGVERSION_TEXI=`echo "$PKGVERSION" | sed 's/@/@@/g'`
180 AC_SUBST(PKGVERSION)
181 AC_SUBST(PKGVERSION_TEXI)
182 ])
183
184 dnl Support the --with-bugurl configure option.
185 dnl ACX_BUGURL(default-bugurl)
186 AC_DEFUN([ACX_BUGURL],[
187 AC_ARG_WITH(bugurl,
188 AS_HELP_STRING([--with-bugurl=URL],
189 [Direct users to URL to report a bug]),
190 [case "$withval" in
191 yes) AC_MSG_ERROR([bug URL not specified]) ;;
192 no) BUGURL=
193 ;;
194 *) BUGURL="$withval"
195 ;;
196 esac],
197 BUGURL="$1"
198 )
199 case ${BUGURL} in
200 "")
201 REPORT_BUGS_TO=
202 REPORT_BUGS_TEXI=
203 ;;
204 *)
205 REPORT_BUGS_TO="<$BUGURL>"
206 REPORT_BUGS_TEXI=@uref{`echo "$BUGURL" | sed 's/@/@@/g'`}
207 ;;
208 esac;
209 AC_SUBST(REPORT_BUGS_TO)
210 AC_SUBST(REPORT_BUGS_TEXI)
211 ])
212
213 dnl Check linker option support.
214 dnl LIBC_LINKER_FEATURE([ld_option], [cc_option], [action-if-true], [action-if-false])
215 AC_DEFUN([LIBC_LINKER_FEATURE],
216 [AC_MSG_CHECKING([for linker that supports $1])
217 libc_linker_feature=no
218 cat > conftest.c <<EOF
219 int _start (void) { return 42; }
220 EOF
221 if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
222 $2 -nostdlib -nostartfiles
223 -fPIC -shared -o conftest.so conftest.c
224 1>&AS_MESSAGE_LOG_FD])
225 then
226 if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp $2 -nostdlib \
227 -nostartfiles -fPIC -shared -o conftest.so conftest.c 2>&1 \
228 | grep "warning: $1 ignored" > /dev/null 2>&1; then
229 true
230 else
231 libc_linker_feature=yes
232 fi
233 fi
234 rm -f conftest*
235 if test $libc_linker_feature = yes; then
236 $3
237 else
238 $4
239 fi
240 AC_MSG_RESULT($libc_linker_feature)])
241
242 dnl Add a makefile variable, with value set from a shell string
243 dnl (expanded by the shell inside double quotes), to config.make.
244 dnl LIBC_CONFIG_VAR(make-variable, shell-value)
245 AC_DEFUN([LIBC_CONFIG_VAR],
246 [config_vars="$config_vars
247 $1 = $2"])
248
249 dnl Check that function FUNC was inlined as a builtin. The code fragment
250 dnl CODE is compiled with additional options CC_OPTION. If FUNC is
251 dnl not found in the assembly then it is assumed the compiler has support
252 dnl for this builtin and has inlined the call. If the compiler has the
253 dnl feature then ACTION-IF-TRUE is called, otherwise ACTION-IF-FALSE.
254 dnl It is up to the caller to provide a CC_OPTION that ensures the
255 dnl builtin is inlined if present.
256 dnl Warning: This may not work for some machines. For example on ARM the
257 dnl ABI dictates that some functions should not be inlined and instead
258 dnl should be provided by a compiler helper library e.g. __aeabi_memcpy.
259 dnl This is done to reduce code size.
260 dnl LIBC_COMPILER_BUILTIN([func], [code], [cc_option], [action-if-true], [action-if-false])
261 AC_DEFUN([LIBC_COMPILER_BUILTIN_INLINED],
262 [AC_MSG_CHECKING([for compiler support of inlined builtin function $1])
263 libc_compiler_builtin_inlined=no
264 cat > conftest.c <<EOF
265 int _start (void) { $2 return 0; }
266 EOF
267 if ! AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
268 $3 -nostdlib -nostartfiles
269 -S conftest.c -o - | grep -F "$1"
270 1>&AS_MESSAGE_LOG_FD])
271 then
272 libc_compiler_builtin_inlined=yes
273 fi
274 rm -f conftest*
275 if test $libc_compiler_builtin_inlined = yes; then
276 $4
277 else
278 $5
279 fi
280 AC_MSG_RESULT($libc_compiler_builtin_inlined)])
281
282 dnl Default to slibdir named SLIBDIR instead of "lib", and rtlddir
283 dnl named RTLDDIR instead of "lib". This is used to put 64-bit
284 dnl libraries in /lib64.
285 dnl LIBC_SLIBDIR_RTLDDIR([slibdir], [rtlddir])
286 AC_DEFUN([LIBC_SLIBDIR_RTLDDIR],
287 [test -n "$libc_cv_slibdir" ||
288 case "$prefix" in
289 /usr | /usr/)
290 libc_cv_slibdir='/$1'
291 libc_cv_rtlddir='/$2'
292 if test "$libdir" = '${exec_prefix}/lib'; then
293 libdir='${exec_prefix}/$1';
294 # Locale data can be shared between 32-bit and 64-bit libraries.
295 libc_cv_complocaledir='${exec_prefix}/lib/locale'
296 fi
297 ;;
298 esac])
This page took 0.046665 seconds and 4 git commands to generate.