URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/trunk/gnu-old/gdb-7.1/gdb/gnulib/m4
- from Rev 834 to Rev 842
- ↔ Reverse comparison
Rev 834 → Rev 842
/gnulib-cache.m4
0,0 → 1,32
# Copyright (C) 2004-2007, 2009, 2010 Free Software Foundation, Inc. |
# |
# This file is free software, distributed under the terms of the GNU |
# General Public License. As a special exception to the GNU General |
# Public License, this file may be distributed as part of a program |
# that contains a configuration script generated by Autoconf, under |
# the same distribution terms as the rest of that program. |
# |
# Generated by gnulib-tool. |
# |
# This file represents the specification of how gnulib-tool is used. |
# It acts as a cache: It is written and read by gnulib-tool. |
# In projects using CVS, this file is meant to be stored in CVS, |
# like the configure.ac and various Makefile.am files. |
|
|
# Specification in the form of a command-line invocation: |
# gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib --m4-base=gnulib/m4 --doc-base=doc --aux-dir=gnulib/extra --no-libtool --macro-prefix=gl memmem |
|
# Specification in the form of a few gnulib-tool.m4 macro invocations: |
gl_LOCAL_DIR([]) |
gl_MODULES([memmem]) |
gl_AVOID([]) |
gl_SOURCE_BASE([gnulib]) |
gl_M4_BASE([gnulib/m4]) |
gl_PO_BASE([]) |
gl_DOC_BASE([doc]) |
gl_TESTS_BASE([tests]) |
gl_LIB([libgnu]) |
gl_MAKEFILE_NAME([]) |
gl_MACRO_PREFIX([gl]) |
gl_PO_DOMAIN([]) |
/include_next.m4
0,0 → 1,107
# include_next.m4 serial 4 |
dnl Copyright (C) 2006, 2007, 2009, 2010 Free Software Foundation, Inc. |
dnl This file is free software; the Free Software Foundation |
dnl gives unlimited permission to copy and/or distribute it, |
dnl with or without modifications, as long as this notice is preserved. |
|
dnl From Paul Eggert and Derek Price. |
|
AC_DEFUN([gl_INCLUDE_NEXT], |
[ |
AC_LANG_PREPROC_REQUIRE() |
AC_CACHE_CHECK([whether the preprocessor supports include_next], |
[gl_cv_have_include_next], |
[rm -rf conftestd1 conftestd2 |
mkdir conftestd1 conftestd2 |
cat <<EOF > conftestd1/conftest.h |
#define DEFINED_IN_CONFTESTD1 |
#include_next <conftest.h> |
#ifdef DEFINED_IN_CONFTESTD2 |
int foo; |
#else |
#error "include_next doesn't work" |
#endif |
EOF |
cat <<EOF > conftestd2/conftest.h |
#ifndef DEFINED_IN_CONFTESTD1 |
#error "include_next test doesn't work" |
#endif |
#define DEFINED_IN_CONFTESTD2 |
EOF |
save_CPPFLAGS="$CPPFLAGS" |
CPPFLAGS="$CPPFLAGS -Iconftestd1 -Iconftestd2" |
AC_COMPILE_IFELSE([#include <conftest.h>], |
[gl_cv_have_include_next=yes], |
[gl_cv_have_include_next=no]) |
CPPFLAGS="$save_CPPFLAGS" |
rm -rf conftestd1 conftestd2 |
]) |
if test $gl_cv_have_include_next = yes; then |
|
dnl FIXME: Remove HAVE_INCLUDE_NEXT and update everything that uses it |
dnl to use @INCLUDE_NEXT@ instead. |
AC_DEFINE([HAVE_INCLUDE_NEXT], 1, |
[Define if your compiler supports the #include_next directive.]) |
|
INCLUDE_NEXT=include_next |
else |
INCLUDE_NEXT=include |
fi |
AC_SUBST([INCLUDE_NEXT]) |
]) |
|
# gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...) |
# ------------------------------------------ |
# For each arg foo.h, if #include_next works, define NEXT_FOO_H to be |
# '<foo.h>'; otherwise define it to be |
# '"///usr/include/foo.h"', or whatever other absolute file name is suitable. |
# That way, a header file with the following line: |
# #@INCLUDE_NEXT@ @NEXT_FOO_H@ |
# behaves (after sed substitution) as if it contained |
# #include_next <foo.h> |
# even if the compiler does not support include_next. |
# The three "///" are to pacify Sun C 5.8, which otherwise would say |
# "warning: #include of /usr/include/... may be non-portable". |
# Use `""', not `<>', so that the /// cannot be confused with a C99 comment. |
AC_DEFUN([gl_CHECK_NEXT_HEADERS], |
[ |
AC_REQUIRE([gl_INCLUDE_NEXT]) |
AC_CHECK_HEADERS_ONCE([$1]) |
|
AC_FOREACH([gl_HEADER_NAME], [$1], |
[AS_VAR_PUSHDEF([gl_next_header], |
[gl_cv_next_]m4_quote(m4_defn([gl_HEADER_NAME]))) |
if test $gl_cv_have_include_next = yes; then |
AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) |
else |
AC_CACHE_CHECK( |
[absolute name of <]m4_quote(m4_defn([gl_HEADER_NAME]))[>], |
m4_quote(m4_defn([gl_next_header])), |
[AS_VAR_PUSHDEF([gl_header_exists], |
[ac_cv_header_]m4_quote(m4_defn([gl_HEADER_NAME]))) |
if test AS_VAR_GET(gl_header_exists) = yes; then |
AC_LANG_CONFTEST( |
[AC_LANG_SOURCE( |
[[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]] |
)]) |
dnl eval is necessary to expand ac_cpp. |
dnl Ultrix and Pyramid sh refuse to redirect output of eval, |
dnl so use subshell. |
AS_VAR_SET([gl_next_header], |
['"'`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | |
sed -n '\#/]m4_quote(m4_defn([gl_HEADER_NAME]))[#{ |
s#.*"\(.*/]m4_quote(m4_defn([gl_HEADER_NAME]))[\)".*#\1# |
s#^/[^/]#//&# |
p |
q |
}'`'"']) |
else |
AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>']) |
fi |
AS_VAR_POPDEF([gl_header_exists])]) |
fi |
AC_SUBST( |
AS_TR_CPP([NEXT_]m4_quote(m4_defn([gl_HEADER_NAME]))), |
[AS_VAR_GET([gl_next_header])]) |
AS_VAR_POPDEF([gl_next_header])]) |
]) |
/onceonly_2_57.m4
0,0 → 1,87
# onceonly_2_57.m4 serial 4 |
dnl Copyright (C) 2002-2003, 2005-2006, 2009, 2010 |
Free Software Foundation, Inc. |
dnl This file is free software, distributed under the terms of the GNU |
dnl General Public License. As a special exception to the GNU General |
dnl Public License, this file may be distributed as part of a program |
dnl that contains a configuration script generated by Autoconf, under |
dnl the same distribution terms as the rest of that program. |
|
dnl This file defines some "once only" variants of standard autoconf macros. |
dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS |
dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS |
dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS |
dnl AC_REQUIRE([AC_FUNC_STRCOLL]) like AC_FUNC_STRCOLL |
dnl The advantage is that the check for each of the headers/functions/decls |
dnl will be put only once into the 'configure' file. It keeps the size of |
dnl the 'configure' file down, and avoids redundant output when 'configure' |
dnl is run. |
dnl The drawback is that the checks cannot be conditionalized. If you write |
dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi |
dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to |
dnl empty, and the check will be inserted before the body of the AC_DEFUNed |
dnl function. |
|
dnl This is like onceonly.m4, except that it uses diversions to named sections |
dnl DEFAULTS and INIT_PREPARE in order to check all requested headers at once, |
dnl thus reducing the size of 'configure'. Works with autoconf-2.57. The |
dnl size reduction is ca. 9%. |
|
dnl Autoconf version 2.57 or newer is recommended. |
AC_PREREQ(2.57) |
|
# AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of |
# AC_CHECK_HEADERS(HEADER1 HEADER2 ...). |
AC_DEFUN([AC_CHECK_HEADERS_ONCE], [ |
: |
AC_FOREACH([gl_HEADER_NAME], [$1], [ |
AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, |
[./-], [___])), [ |
m4_divert_text([INIT_PREPARE], |
[gl_header_list="$gl_header_list gl_HEADER_NAME"]) |
gl_HEADERS_EXPANSION |
AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_HEADER_NAME])), |
[Define to 1 if you have the <]m4_defn([gl_HEADER_NAME])[> header file.]) |
]) |
AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, |
[./-], [___]))) |
]) |
]) |
m4_define([gl_HEADERS_EXPANSION], [ |
m4_divert_text([DEFAULTS], [gl_header_list=]) |
AC_CHECK_HEADERS([$gl_header_list]) |
m4_define([gl_HEADERS_EXPANSION], []) |
]) |
|
# AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of |
# AC_CHECK_FUNCS(FUNC1 FUNC2 ...). |
AC_DEFUN([AC_CHECK_FUNCS_ONCE], [ |
: |
AC_FOREACH([gl_FUNC_NAME], [$1], [ |
AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [ |
m4_divert_text([INIT_PREPARE], |
[gl_func_list="$gl_func_list gl_FUNC_NAME"]) |
gl_FUNCS_EXPANSION |
AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_FUNC_NAME])), |
[Define to 1 if you have the `]m4_defn([gl_FUNC_NAME])[' function.]) |
]) |
AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME])) |
]) |
]) |
m4_define([gl_FUNCS_EXPANSION], [ |
m4_divert_text([DEFAULTS], [gl_func_list=]) |
AC_CHECK_FUNCS([$gl_func_list]) |
m4_define([gl_FUNCS_EXPANSION], []) |
]) |
|
# AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of |
# AC_CHECK_DECLS(DECL1, DECL2, ...). |
AC_DEFUN([AC_CHECK_DECLS_ONCE], [ |
: |
AC_FOREACH([gl_DECL_NAME], [$1], [ |
AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [ |
AC_CHECK_DECLS(m4_defn([gl_DECL_NAME])) |
]) |
AC_REQUIRE([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME])) |
]) |
]) |
/wchar.m4
0,0 → 1,54
dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues. |
|
dnl Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc. |
dnl This file is free software; the Free Software Foundation |
dnl gives unlimited permission to copy and/or distribute it, |
dnl with or without modifications, as long as this notice is preserved. |
|
dnl Written by Eric Blake. |
|
# wchar.m4 serial 4 |
|
AC_DEFUN([gl_WCHAR_H], |
[ |
AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) |
AC_CACHE_CHECK([whether <wchar.h> is standalone], |
[gl_cv_header_wchar_h_standalone], |
[AC_COMPILE_IFELSE([[#include <wchar.h> |
wchar_t w;]], |
[gl_cv_header_wchar_h_standalone=yes], |
[gl_cv_header_wchar_h_standalone=no])]) |
if test $gl_cv_header_wchar_h_standalone != yes; then |
WCHAR_H=wchar.h |
fi |
|
dnl Prepare for creating substitute <wchar.h>. |
dnl Do it always: WCHAR_H may be empty here but can be set later. |
dnl Check for <wchar.h> (missing in Linux uClibc when built without wide |
dnl character support). |
AC_CHECK_HEADERS_ONCE([wchar.h]) |
if test $ac_cv_header_wchar_h = yes; then |
HAVE_WCHAR_H=1 |
else |
HAVE_WCHAR_H=0 |
fi |
AC_SUBST([HAVE_WCHAR_H]) |
gl_CHECK_NEXT_HEADERS([wchar.h]) |
]) |
|
AC_DEFUN([gl_WCHAR_MODULE_INDICATOR], |
[ |
dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) |
GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 |
]) |
|
AC_DEFUN([gl_WCHAR_H_DEFAULTS], |
[ |
GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH]) |
dnl Assume proper GNU behavior unless another module says otherwise. |
HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH]) |
REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH]) |
WCHAR_H= |
AC_SUBST([WCHAR_H]) |
]) |
/stdint.m4
0,0 → 1,395
# stdint.m4 serial 29 |
dnl Copyright (C) 2001-2007, 2009, 2010 Free Software Foundation, Inc. |
dnl This file is free software; the Free Software Foundation |
dnl gives unlimited permission to copy and/or distribute it, |
dnl with or without modifications, as long as this notice is preserved. |
|
dnl From Paul Eggert and Bruno Haible. |
dnl Test whether <stdint.h> is supported or must be substituted. |
|
AC_DEFUN([gl_STDINT_H], |
[ |
AC_PREREQ(2.59)dnl |
|
dnl Check for long long int and unsigned long long int. |
AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) |
if test $ac_cv_type_long_long_int = yes; then |
HAVE_LONG_LONG_INT=1 |
else |
HAVE_LONG_LONG_INT=0 |
fi |
AC_SUBST([HAVE_LONG_LONG_INT]) |
AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) |
if test $ac_cv_type_unsigned_long_long_int = yes; then |
HAVE_UNSIGNED_LONG_LONG_INT=1 |
else |
HAVE_UNSIGNED_LONG_LONG_INT=0 |
fi |
AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT]) |
|
dnl Check for <inttypes.h>. |
dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h. |
if test $ac_cv_header_inttypes_h = yes; then |
HAVE_INTTYPES_H=1 |
else |
HAVE_INTTYPES_H=0 |
fi |
AC_SUBST([HAVE_INTTYPES_H]) |
|
dnl Check for <sys/types.h>. |
dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_sys_types_h. |
if test $ac_cv_header_sys_types_h = yes; then |
HAVE_SYS_TYPES_H=1 |
else |
HAVE_SYS_TYPES_H=0 |
fi |
AC_SUBST([HAVE_SYS_TYPES_H]) |
|
gl_CHECK_NEXT_HEADERS([stdint.h]) |
if test $ac_cv_header_stdint_h = yes; then |
HAVE_STDINT_H=1 |
else |
HAVE_STDINT_H=0 |
fi |
AC_SUBST([HAVE_STDINT_H]) |
|
dnl Now see whether we need a substitute <stdint.h>. |
if test $ac_cv_header_stdint_h = yes; then |
AC_CACHE_CHECK([whether stdint.h conforms to C99], |
[gl_cv_header_working_stdint_h], |
[gl_cv_header_working_stdint_h=no |
AC_COMPILE_IFELSE([ |
AC_LANG_PROGRAM([[ |
#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */ |
#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */ |
#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */ |
#include <stdint.h> |
/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>. */ |
#if !(defined WCHAR_MIN && defined WCHAR_MAX) |
#error "WCHAR_MIN, WCHAR_MAX not defined in <stdint.h>" |
#endif |
] |
gl_STDINT_INCLUDES |
[ |
#ifdef INT8_MAX |
int8_t a1 = INT8_MAX; |
int8_t a1min = INT8_MIN; |
#endif |
#ifdef INT16_MAX |
int16_t a2 = INT16_MAX; |
int16_t a2min = INT16_MIN; |
#endif |
#ifdef INT32_MAX |
int32_t a3 = INT32_MAX; |
int32_t a3min = INT32_MIN; |
#endif |
#ifdef INT64_MAX |
int64_t a4 = INT64_MAX; |
int64_t a4min = INT64_MIN; |
#endif |
#ifdef UINT8_MAX |
uint8_t b1 = UINT8_MAX; |
#else |
typedef int b1[(unsigned char) -1 != 255 ? 1 : -1]; |
#endif |
#ifdef UINT16_MAX |
uint16_t b2 = UINT16_MAX; |
#endif |
#ifdef UINT32_MAX |
uint32_t b3 = UINT32_MAX; |
#endif |
#ifdef UINT64_MAX |
uint64_t b4 = UINT64_MAX; |
#endif |
int_least8_t c1 = INT8_C (0x7f); |
int_least8_t c1max = INT_LEAST8_MAX; |
int_least8_t c1min = INT_LEAST8_MIN; |
int_least16_t c2 = INT16_C (0x7fff); |
int_least16_t c2max = INT_LEAST16_MAX; |
int_least16_t c2min = INT_LEAST16_MIN; |
int_least32_t c3 = INT32_C (0x7fffffff); |
int_least32_t c3max = INT_LEAST32_MAX; |
int_least32_t c3min = INT_LEAST32_MIN; |
int_least64_t c4 = INT64_C (0x7fffffffffffffff); |
int_least64_t c4max = INT_LEAST64_MAX; |
int_least64_t c4min = INT_LEAST64_MIN; |
uint_least8_t d1 = UINT8_C (0xff); |
uint_least8_t d1max = UINT_LEAST8_MAX; |
uint_least16_t d2 = UINT16_C (0xffff); |
uint_least16_t d2max = UINT_LEAST16_MAX; |
uint_least32_t d3 = UINT32_C (0xffffffff); |
uint_least32_t d3max = UINT_LEAST32_MAX; |
uint_least64_t d4 = UINT64_C (0xffffffffffffffff); |
uint_least64_t d4max = UINT_LEAST64_MAX; |
int_fast8_t e1 = INT_FAST8_MAX; |
int_fast8_t e1min = INT_FAST8_MIN; |
int_fast16_t e2 = INT_FAST16_MAX; |
int_fast16_t e2min = INT_FAST16_MIN; |
int_fast32_t e3 = INT_FAST32_MAX; |
int_fast32_t e3min = INT_FAST32_MIN; |
int_fast64_t e4 = INT_FAST64_MAX; |
int_fast64_t e4min = INT_FAST64_MIN; |
uint_fast8_t f1 = UINT_FAST8_MAX; |
uint_fast16_t f2 = UINT_FAST16_MAX; |
uint_fast32_t f3 = UINT_FAST32_MAX; |
uint_fast64_t f4 = UINT_FAST64_MAX; |
#ifdef INTPTR_MAX |
intptr_t g = INTPTR_MAX; |
intptr_t gmin = INTPTR_MIN; |
#endif |
#ifdef UINTPTR_MAX |
uintptr_t h = UINTPTR_MAX; |
#endif |
intmax_t i = INTMAX_MAX; |
uintmax_t j = UINTMAX_MAX; |
|
#include <limits.h> /* for CHAR_BIT */ |
#define TYPE_MINIMUM(t) \ |
((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))) |
#define TYPE_MAXIMUM(t) \ |
((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))) |
struct s { |
int check_PTRDIFF: |
PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t) |
&& PTRDIFF_MAX == TYPE_MAXIMUM (ptrdiff_t) |
? 1 : -1; |
/* Detect bug in FreeBSD 6.0 / ia64. */ |
int check_SIG_ATOMIC: |
SIG_ATOMIC_MIN == TYPE_MINIMUM (sig_atomic_t) |
&& SIG_ATOMIC_MAX == TYPE_MAXIMUM (sig_atomic_t) |
? 1 : -1; |
int check_SIZE: SIZE_MAX == TYPE_MAXIMUM (size_t) ? 1 : -1; |
int check_WCHAR: |
WCHAR_MIN == TYPE_MINIMUM (wchar_t) |
&& WCHAR_MAX == TYPE_MAXIMUM (wchar_t) |
? 1 : -1; |
/* Detect bug in mingw. */ |
int check_WINT: |
WINT_MIN == TYPE_MINIMUM (wint_t) |
&& WINT_MAX == TYPE_MAXIMUM (wint_t) |
? 1 : -1; |
|
/* Detect bugs in glibc 2.4 and Solaris 10 stdint.h, among others. */ |
int check_UINT8_C: |
(-1 < UINT8_C (0)) == (-1 < (uint_least8_t) 0) ? 1 : -1; |
int check_UINT16_C: |
(-1 < UINT16_C (0)) == (-1 < (uint_least16_t) 0) ? 1 : -1; |
|
/* Detect bugs in OpenBSD 3.9 stdint.h. */ |
#ifdef UINT8_MAX |
int check_uint8: (uint8_t) -1 == UINT8_MAX ? 1 : -1; |
#endif |
#ifdef UINT16_MAX |
int check_uint16: (uint16_t) -1 == UINT16_MAX ? 1 : -1; |
#endif |
#ifdef UINT32_MAX |
int check_uint32: (uint32_t) -1 == UINT32_MAX ? 1 : -1; |
#endif |
#ifdef UINT64_MAX |
int check_uint64: (uint64_t) -1 == UINT64_MAX ? 1 : -1; |
#endif |
int check_uint_least8: (uint_least8_t) -1 == UINT_LEAST8_MAX ? 1 : -1; |
int check_uint_least16: (uint_least16_t) -1 == UINT_LEAST16_MAX ? 1 : -1; |
int check_uint_least32: (uint_least32_t) -1 == UINT_LEAST32_MAX ? 1 : -1; |
int check_uint_least64: (uint_least64_t) -1 == UINT_LEAST64_MAX ? 1 : -1; |
int check_uint_fast8: (uint_fast8_t) -1 == UINT_FAST8_MAX ? 1 : -1; |
int check_uint_fast16: (uint_fast16_t) -1 == UINT_FAST16_MAX ? 1 : -1; |
int check_uint_fast32: (uint_fast32_t) -1 == UINT_FAST32_MAX ? 1 : -1; |
int check_uint_fast64: (uint_fast64_t) -1 == UINT_FAST64_MAX ? 1 : -1; |
int check_uintptr: (uintptr_t) -1 == UINTPTR_MAX ? 1 : -1; |
int check_uintmax: (uintmax_t) -1 == UINTMAX_MAX ? 1 : -1; |
int check_size: (size_t) -1 == SIZE_MAX ? 1 : -1; |
}; |
]])], |
[gl_cv_header_working_stdint_h=yes])]) |
fi |
if test "$gl_cv_header_working_stdint_h" = yes; then |
STDINT_H= |
else |
dnl Check for <sys/inttypes.h>, and for |
dnl <sys/bitypes.h> (used in Linux libc4 >= 4.6.7 and libc5). |
AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h]) |
if test $ac_cv_header_sys_inttypes_h = yes; then |
HAVE_SYS_INTTYPES_H=1 |
else |
HAVE_SYS_INTTYPES_H=0 |
fi |
AC_SUBST([HAVE_SYS_INTTYPES_H]) |
if test $ac_cv_header_sys_bitypes_h = yes; then |
HAVE_SYS_BITYPES_H=1 |
else |
HAVE_SYS_BITYPES_H=0 |
fi |
AC_SUBST([HAVE_SYS_BITYPES_H]) |
|
dnl Check for <wchar.h> (missing in Linux uClibc when built without wide |
dnl character support). |
AC_CHECK_HEADERS_ONCE([wchar.h]) |
|
gl_STDINT_TYPE_PROPERTIES |
STDINT_H=stdint.h |
fi |
AC_SUBST(STDINT_H) |
]) |
|
dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES) |
dnl Determine the size of each of the given types in bits. |
AC_DEFUN([gl_STDINT_BITSIZEOF], |
[ |
dnl Use a shell loop, to avoid bloating configure, and |
dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into |
dnl config.h.in, |
dnl - extra AC_SUBST calls, so that the right substitutions are made. |
AC_FOREACH([gltype], [$1], |
[AH_TEMPLATE([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), |
[Define to the number of bits in type ']gltype['.])]) |
for gltype in $1 ; do |
AC_CACHE_CHECK([for bit size of $gltype], [gl_cv_bitsizeof_${gltype}], |
[AC_COMPUTE_INT([result], [sizeof ($gltype) * CHAR_BIT], |
[$2 |
#include <limits.h>], [result=unknown]) |
eval gl_cv_bitsizeof_${gltype}=\$result |
]) |
eval result=\$gl_cv_bitsizeof_${gltype} |
if test $result = unknown; then |
dnl Use a nonempty default, because some compilers, such as IRIX 5 cc, |
dnl do a syntax check even on unused #if conditions and give an error |
dnl on valid C code like this: |
dnl #if 0 |
dnl # if > 32 |
dnl # endif |
dnl #endif |
result=0 |
fi |
GLTYPE=`echo "$gltype" | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` |
AC_DEFINE_UNQUOTED([BITSIZEOF_${GLTYPE}], [$result]) |
eval BITSIZEOF_${GLTYPE}=\$result |
done |
AC_FOREACH([gltype], [$1], |
[AC_SUBST([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) |
]) |
|
dnl gl_CHECK_TYPES_SIGNED(TYPES, INCLUDES) |
dnl Determine the signedness of each of the given types. |
dnl Define HAVE_SIGNED_TYPE if type is signed. |
AC_DEFUN([gl_CHECK_TYPES_SIGNED], |
[ |
dnl Use a shell loop, to avoid bloating configure, and |
dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into |
dnl config.h.in, |
dnl - extra AC_SUBST calls, so that the right substitutions are made. |
AC_FOREACH([gltype], [$1], |
[AH_TEMPLATE([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]), |
[Define to 1 if ']gltype[' is a signed integer type.])]) |
for gltype in $1 ; do |
AC_CACHE_CHECK([whether $gltype is signed], [gl_cv_type_${gltype}_signed], |
[AC_COMPILE_IFELSE( |
[AC_LANG_PROGRAM([$2[ |
int verify[2 * (($gltype) -1 < ($gltype) 0) - 1];]])], |
result=yes, result=no) |
eval gl_cv_type_${gltype}_signed=\$result |
]) |
eval result=\$gl_cv_type_${gltype}_signed |
GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` |
if test "$result" = yes; then |
AC_DEFINE_UNQUOTED([HAVE_SIGNED_${GLTYPE}], 1) |
eval HAVE_SIGNED_${GLTYPE}=1 |
else |
eval HAVE_SIGNED_${GLTYPE}=0 |
fi |
done |
AC_FOREACH([gltype], [$1], |
[AC_SUBST([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))]) |
]) |
|
dnl gl_INTEGER_TYPE_SUFFIX(TYPES, INCLUDES) |
dnl Determine the suffix to use for integer constants of the given types. |
dnl Define t_SUFFIX for each such type. |
AC_DEFUN([gl_INTEGER_TYPE_SUFFIX], |
[ |
dnl Use a shell loop, to avoid bloating configure, and |
dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into |
dnl config.h.in, |
dnl - extra AC_SUBST calls, so that the right substitutions are made. |
AC_FOREACH([gltype], [$1], |
[AH_TEMPLATE(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX], |
[Define to l, ll, u, ul, ull, etc., as suitable for |
constants of type ']gltype['.])]) |
for gltype in $1 ; do |
AC_CACHE_CHECK([for $gltype integer literal suffix], |
[gl_cv_type_${gltype}_suffix], |
[eval gl_cv_type_${gltype}_suffix=no |
eval result=\$gl_cv_type_${gltype}_signed |
if test "$result" = yes; then |
glsufu= |
else |
glsufu=u |
fi |
for glsuf in "$glsufu" ${glsufu}l ${glsufu}ll ${glsufu}i64; do |
case $glsuf in |
'') gltype1='int';; |
l) gltype1='long int';; |
ll) gltype1='long long int';; |
i64) gltype1='__int64';; |
u) gltype1='unsigned int';; |
ul) gltype1='unsigned long int';; |
ull) gltype1='unsigned long long int';; |
ui64)gltype1='unsigned __int64';; |
esac |
AC_COMPILE_IFELSE( |
[AC_LANG_PROGRAM([$2 |
extern $gltype foo; |
extern $gltype1 foo;])], |
[eval gl_cv_type_${gltype}_suffix=\$glsuf]) |
eval result=\$gl_cv_type_${gltype}_suffix |
test "$result" != no && break |
done]) |
GLTYPE=`echo $gltype | tr 'abcdefghijklmnopqrstuvwxyz ' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'` |
eval result=\$gl_cv_type_${gltype}_suffix |
test "$result" = no && result= |
eval ${GLTYPE}_SUFFIX=\$result |
AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], $result) |
done |
AC_FOREACH([gltype], [$1], |
[AC_SUBST(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])]) |
]) |
|
dnl gl_STDINT_INCLUDES |
AC_DEFUN([gl_STDINT_INCLUDES], |
[[ |
/* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be |
included before <wchar.h>. */ |
#include <stddef.h> |
#include <signal.h> |
#if HAVE_WCHAR_H |
# include <stdio.h> |
# include <time.h> |
# include <wchar.h> |
#endif |
]]) |
|
dnl gl_STDINT_TYPE_PROPERTIES |
dnl Compute HAVE_SIGNED_t, BITSIZEOF_t and t_SUFFIX, for all the types t |
dnl of interest to stdint.in.h. |
AC_DEFUN([gl_STDINT_TYPE_PROPERTIES], |
[ |
gl_STDINT_BITSIZEOF([ptrdiff_t sig_atomic_t size_t wchar_t wint_t], |
[gl_STDINT_INCLUDES]) |
gl_CHECK_TYPES_SIGNED([sig_atomic_t wchar_t wint_t], |
[gl_STDINT_INCLUDES]) |
gl_cv_type_ptrdiff_t_signed=yes |
gl_cv_type_size_t_signed=no |
gl_INTEGER_TYPE_SUFFIX([ptrdiff_t sig_atomic_t size_t wchar_t wint_t], |
[gl_STDINT_INCLUDES]) |
]) |
|
dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in. |
dnl Remove this when we can assume autoconf >= 2.61. |
m4_ifdef([AC_COMPUTE_INT], [], [ |
AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])]) |
]) |
|
# Hey Emacs! |
# Local Variables: |
# indent-tabs-mode: nil |
# End: |
/gnulib-common.m4
0,0 → 1,65
# gnulib-common.m4 serial 3 |
dnl Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc. |
dnl This file is free software; the Free Software Foundation |
dnl gives unlimited permission to copy and/or distribute it, |
dnl with or without modifications, as long as this notice is preserved. |
|
# gl_MODULE_INDICATOR([modulename]) |
# defines a C macro indicating the presence of the given module. |
AC_DEFUN([gl_MODULE_INDICATOR], |
[ |
AC_DEFINE([GNULIB_]translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___]), [1], |
[Define to 1 when using the gnulib module ]$1[.]) |
]) |
|
# AC_PROG_MKDIR_P |
# is a backport of autoconf-2.60's AC_PROG_MKDIR_P. |
# Remove this macro when we can assume autoconf >= 2.60. |
m4_ifdef([AC_PROG_MKDIR_P], [], [ |
AC_DEFUN([AC_PROG_MKDIR_P], |
[AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake |
MKDIR_P='$(mkdir_p)' |
AC_SUBST([MKDIR_P])])]) |
|
# AC_C_RESTRICT |
# This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61, |
# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++ |
# works. |
# This definition can be removed once autoconf >= 2.62 can be assumed. |
AC_DEFUN([AC_C_RESTRICT], |
[AC_CACHE_CHECK([for C/C++ restrict keyword], ac_cv_c_restrict, |
[ac_cv_c_restrict=no |
# The order here caters to the fact that C++ does not require restrict. |
for ac_kw in __restrict __restrict__ _Restrict restrict; do |
AC_COMPILE_IFELSE([AC_LANG_PROGRAM( |
[[typedef int * int_ptr; |
int foo (int_ptr $ac_kw ip) { |
return ip[0]; |
}]], |
[[int s[1]; |
int * $ac_kw t = s; |
t[0] = 0; |
return foo(t)]])], |
[ac_cv_c_restrict=$ac_kw]) |
test "$ac_cv_c_restrict" != no && break |
done |
]) |
AH_VERBATIM([restrict], |
[/* Define to the equivalent of the C99 'restrict' keyword, or to |
nothing if this is not supported. Do not define if restrict is |
supported directly. */ |
#undef restrict |
/* Work around a bug in Sun C++: it does not support _Restrict, even |
though the corresponding Sun C compiler does, which causes |
"#define restrict _Restrict" in the previous line. Perhaps some future |
version of Sun C++ will work with _Restrict; if so, it'll probably |
define __RESTRICT, just as Sun C does. */ |
#if defined __SUNPRO_CC && !defined __RESTRICT |
# define _Restrict |
#endif]) |
case $ac_cv_c_restrict in |
restrict) ;; |
no) AC_DEFINE([restrict], []) ;; |
*) AC_DEFINE_UNQUOTED([restrict], [$ac_cv_c_restrict]) ;; |
esac |
]) |
/gnulib-tool.m4
0,0 → 1,33
# gnulib-tool.m4 serial 1 |
dnl Copyright (C) 2004-2005, 2009, 2010 Free Software Foundation, Inc. |
dnl This file is free software; the Free Software Foundation |
dnl gives unlimited permission to copy and/or distribute it, |
dnl with or without modifications, as long as this notice is preserved. |
|
dnl The following macros need not be invoked explicitly. |
dnl Invoking them does nothing except to declare default arguments |
dnl for "gnulib-tool --import". |
|
dnl Usage: gl_MODULES([module1 module2 ...]) |
AC_DEFUN([gl_MODULES], []) |
|
dnl Usage: gl_AVOID([module1 module2 ...]) |
AC_DEFUN([gl_AVOID], []) |
|
dnl Usage: gl_SOURCE_BASE([DIR]) |
AC_DEFUN([gl_SOURCE_BASE], []) |
|
dnl Usage: gl_M4_BASE([DIR]) |
AC_DEFUN([gl_M4_BASE], []) |
|
dnl Usage: gl_LIB([LIBNAME]) |
AC_DEFUN([gl_LIB], []) |
|
dnl Usage: gl_LGPL |
AC_DEFUN([gl_LGPL], []) |
|
dnl Usage: gl_LIBTOOL |
AC_DEFUN([gl_LIBTOOL], []) |
|
dnl Usage: gl_MACRO_PREFIX([PREFIX]) |
AC_DEFUN([gl_MACRO_PREFIX], []) |
/memchr.m4
0,0 → 1,18
# memchr.m4 serial 4 |
dnl Copyright (C) 2002, 2003, 2004, 2009, 2010 Free Software Foundation, Inc. |
dnl This file is free software; the Free Software Foundation |
dnl gives unlimited permission to copy and/or distribute it, |
dnl with or without modifications, as long as this notice is preserved. |
|
AC_DEFUN([gl_FUNC_MEMCHR], |
[ |
AC_REPLACE_FUNCS(memchr) |
if test $ac_cv_func_memchr = no; then |
gl_PREREQ_MEMCHR |
fi |
]) |
|
# Prerequisites of lib/memchr.c. |
AC_DEFUN([gl_PREREQ_MEMCHR], [ |
AC_CHECK_HEADERS(bp-sym.h) |
]) |
/gnulib-comp.m4
0,0 → 1,190
# DO NOT EDIT! GENERATED AUTOMATICALLY! |
# Copyright (C) 2004-2007, 2009, 2010 Free Software Foundation, Inc. |
# |
# This file is free software, distributed under the terms of the GNU |
# General Public License. As a special exception to the GNU General |
# Public License, this file may be distributed as part of a program |
# that contains a configuration script generated by Autoconf, under |
# the same distribution terms as the rest of that program. |
# |
# Generated by gnulib-tool. |
# |
# This file represents the compiled summary of the specification in |
# gnulib-cache.m4. It lists the computed macro invocations that need |
# to be invoked from configure.ac. |
# In projects using CVS, this file can be treated like other built files. |
|
|
# This macro should be invoked from ./configure.ac, in the section |
# "Checks for programs", right after AC_PROG_CC, and certainly before |
# any checks for libraries, header files, types and library functions. |
AC_DEFUN([gl_EARLY], |
[ |
m4_pattern_forbid([^gl_[A-Z]])dnl the gnulib macro namespace |
m4_pattern_allow([^gl_ES$])dnl a valid locale name |
m4_pattern_allow([^gl_LIBOBJS$])dnl a variable |
m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable |
AC_REQUIRE([AC_PROG_RANLIB]) |
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) |
]) |
|
# This macro should be invoked from ./configure.ac, in the section |
# "Check for header files, types and library functions". |
AC_DEFUN([gl_INIT], |
[ |
AM_CONDITIONAL([GL_COND_LIBTOOL], [false]) |
gl_cond_libtool=false |
gl_libdeps= |
gl_ltlibdeps= |
m4_pushdef([AC_LIBOBJ], m4_defn([gl_LIBOBJ])) |
m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gl_REPLACE_FUNCS])) |
m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES])) |
gl_source_base='gnulib' |
gl_FUNC_MEMCHR |
gl_FUNC_MEMCMP |
gl_FUNC_MEMMEM |
gl_FUNC_MEMMEM_SIMPLE |
gl_STRING_MODULE_INDICATOR([memmem]) |
gl_STDINT_H |
gl_HEADER_STRING_H |
gl_WCHAR_H |
m4_popdef([AC_LIBSOURCES]) |
m4_popdef([AC_REPLACE_FUNCS]) |
m4_popdef([AC_LIBOBJ]) |
AC_CONFIG_COMMANDS_PRE([ |
gl_libobjs= |
gl_ltlibobjs= |
if test -n "$gl_LIBOBJS"; then |
# Remove the extension. |
sed_drop_objext='s/\.o$//;s/\.obj$//' |
for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do |
gl_libobjs="$gl_libobjs $i.$ac_objext" |
gl_ltlibobjs="$gl_ltlibobjs $i.lo" |
done |
fi |
AC_SUBST([gl_LIBOBJS], [$gl_libobjs]) |
AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs]) |
]) |
gltests_libdeps= |
gltests_ltlibdeps= |
m4_pushdef([AC_LIBOBJ], m4_defn([gltests_LIBOBJ])) |
m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gltests_REPLACE_FUNCS])) |
m4_pushdef([AC_LIBSOURCES], m4_defn([gltests_LIBSOURCES])) |
gl_source_base='tests' |
m4_popdef([AC_LIBSOURCES]) |
m4_popdef([AC_REPLACE_FUNCS]) |
m4_popdef([AC_LIBOBJ]) |
AC_CONFIG_COMMANDS_PRE([ |
gltests_libobjs= |
gltests_ltlibobjs= |
if test -n "$gltests_LIBOBJS"; then |
# Remove the extension. |
sed_drop_objext='s/\.o$//;s/\.obj$//' |
for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed "$sed_drop_objext" | sort | uniq`; do |
gltests_libobjs="$gltests_libobjs $i.$ac_objext" |
gltests_ltlibobjs="$gltests_ltlibobjs $i.lo" |
done |
fi |
AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs]) |
AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs]) |
]) |
LIBGNU_LIBDEPS="$gl_libdeps" |
AC_SUBST([LIBGNU_LIBDEPS]) |
LIBGNU_LTLIBDEPS="$gl_ltlibdeps" |
AC_SUBST([LIBGNU_LTLIBDEPS]) |
]) |
|
# Like AC_LIBOBJ, except that the module name goes |
# into gl_LIBOBJS instead of into LIBOBJS. |
AC_DEFUN([gl_LIBOBJ], [ |
AS_LITERAL_IF([$1], [gl_LIBSOURCES([$1.c])])dnl |
gl_LIBOBJS="$gl_LIBOBJS $1.$ac_objext" |
]) |
|
# m4_foreach_w is provided by autoconf-2.59c and later. |
# This definition is to accommodate developers using versions |
# of autoconf older than that. |
m4_ifndef([m4_foreach_w], |
[m4_define([m4_foreach_w], |
[m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) |
|
# Like AC_REPLACE_FUNCS, except that the module name goes |
# into gl_LIBOBJS instead of into LIBOBJS. |
AC_DEFUN([gl_REPLACE_FUNCS], [ |
m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl |
AC_CHECK_FUNCS([$1], , [gl_LIBOBJ($ac_func)]) |
]) |
|
# Like AC_LIBSOURCES, except the directory where the source file is |
# expected is derived from the gnulib-tool parametrization, |
# and alloca is special cased (for the alloca-opt module). |
# We could also entirely rely on EXTRA_lib..._SOURCES. |
AC_DEFUN([gl_LIBSOURCES], [ |
m4_foreach([_gl_NAME], [$1], [ |
m4_if(_gl_NAME, [alloca.c], [], [ |
m4_syscmd([test -r gnulib/]_gl_NAME[ || test ! -d gnulib])dnl |
m4_if(m4_sysval, [0], [], |
[AC_FATAL([missing gnulib/]_gl_NAME)]) |
]) |
]) |
]) |
|
# Like AC_LIBOBJ, except that the module name goes |
# into gltests_LIBOBJS instead of into LIBOBJS. |
AC_DEFUN([gltests_LIBOBJ], [ |
AS_LITERAL_IF([$1], [gltests_LIBSOURCES([$1.c])])dnl |
gltests_LIBOBJS="$gltests_LIBOBJS $1.$ac_objext" |
]) |
|
# m4_foreach_w is provided by autoconf-2.59c and later. |
# This definition is to accommodate developers using versions |
# of autoconf older than that. |
m4_ifndef([m4_foreach_w], |
[m4_define([m4_foreach_w], |
[m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])]) |
|
# Like AC_REPLACE_FUNCS, except that the module name goes |
# into gltests_LIBOBJS instead of into LIBOBJS. |
AC_DEFUN([gltests_REPLACE_FUNCS], [ |
m4_foreach_w([gl_NAME], [$1], [AC_LIBSOURCES(gl_NAME[.c])])dnl |
AC_CHECK_FUNCS([$1], , [gltests_LIBOBJ($ac_func)]) |
]) |
|
# Like AC_LIBSOURCES, except the directory where the source file is |
# expected is derived from the gnulib-tool parametrization, |
# and alloca is special cased (for the alloca-opt module). |
# We could also entirely rely on EXTRA_lib..._SOURCES. |
AC_DEFUN([gltests_LIBSOURCES], [ |
m4_foreach([_gl_NAME], [$1], [ |
m4_if(_gl_NAME, [alloca.c], [], [ |
m4_syscmd([test -r tests/]_gl_NAME[ || test ! -d tests])dnl |
m4_if(m4_sysval, [0], [], |
[AC_FATAL([missing tests/]_gl_NAME)]) |
]) |
]) |
]) |
|
# This macro records the list of files which have been installed by |
# gnulib-tool and may be removed by future gnulib-tool invocations. |
AC_DEFUN([gl_FILE_LIST], [ |
build-aux/link-warning.h |
lib/dummy.c |
lib/memchr.c |
lib/memcmp.c |
lib/memmem.c |
lib/stdint.in.h |
lib/str-two-way.h |
lib/string.in.h |
lib/wchar.in.h |
m4/extensions.m4 |
m4/gnulib-common.m4 |
m4/include_next.m4 |
m4/longlong.m4 |
m4/memchr.m4 |
m4/memcmp.m4 |
m4/memmem.m4 |
m4/onceonly_2_57.m4 |
m4/stdint.m4 |
m4/string_h.m4 |
m4/wchar.m4 |
]) |
/memmem.m4
0,0 → 1,64
# memmem.m4 serial 9 |
dnl Copyright (C) 2002, 2003, 2004, 2007, 2008, 2009, 2010 |
Free Software Foundation, Inc. |
dnl This file is free software; the Free Software Foundation |
dnl gives unlimited permission to copy and/or distribute it, |
dnl with or without modifications, as long as this notice is preserved. |
|
dnl Check that memmem is present. |
AC_DEFUN([gl_FUNC_MEMMEM_SIMPLE], |
[ |
dnl Persuade glibc <string.h> to declare memmem(). |
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) |
|
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) |
AC_REPLACE_FUNCS(memmem) |
AC_CHECK_DECLS_ONCE(memmem) |
if test $ac_cv_have_decl_memmem = no; then |
HAVE_DECL_MEMMEM=0 |
fi |
gl_PREREQ_MEMMEM |
]) # gl_FUNC_MEMMEM_SIMPLE |
|
dnl Additionally, check that memmem is efficient and handles empty needles. |
AC_DEFUN([gl_FUNC_MEMMEM], |
[ |
AC_REQUIRE([gl_FUNC_MEMMEM_SIMPLE]) |
if test $ac_cv_have_decl_memmem = yes; then |
AC_CACHE_CHECK([whether memmem works in linear time], |
[gl_cv_func_memmem_works], |
[AC_RUN_IFELSE([AC_LANG_PROGRAM([ |
#include <string.h> /* for memmem */ |
#include <stdlib.h> /* for malloc */ |
#include <unistd.h> /* for alarm */ |
], [[size_t m = 1000000; |
char *haystack = (char *) malloc (2 * m + 1); |
char *needle = (char *) malloc (m + 1); |
void *result = 0; |
/* Failure to compile this test due to missing alarm is okay, |
since all such platforms (mingw) also lack memmem. */ |
alarm (5); |
/* Check for quadratic performance. */ |
if (haystack && needle) |
{ |
memset (haystack, 'A', 2 * m); |
haystack[2 * m] = 'B'; |
memset (needle, 'A', m); |
needle[m] = 'B'; |
result = memmem (haystack, 2 * m + 1, needle, m + 1); |
} |
/* Check for empty needle behavior. */ |
return !result || !memmem ("a", 1, 0, 0);]])], |
[gl_cv_func_memmem_works=yes], [gl_cv_func_memmem_works=no], |
[dnl pessimistically assume the worst, since even glibc 2.6.1 |
dnl has quadratic complexity in its memmem |
gl_cv_func_memmem_works="guessing no"])]) |
if test "$gl_cv_func_memmem_works" != yes; then |
REPLACE_MEMMEM=1 |
AC_LIBOBJ([memmem]) |
fi |
fi |
]) # gl_FUNC_MEMMEM |
|
# Prerequisites of lib/memmem.c. |
AC_DEFUN([gl_PREREQ_MEMMEM], [:]) |
/string_h.m4
0,0 → 1,87
# Configure a GNU-like replacement for <string.h>. |
|
# Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
# This file is free software; the Free Software Foundation |
# gives unlimited permission to copy and/or distribute it, |
# with or without modifications, as long as this notice is preserved. |
|
# serial 4 |
|
# Written by Paul Eggert. |
|
AC_DEFUN([gl_HEADER_STRING_H], |
[ |
dnl Use AC_REQUIRE here, so that the default behavior below is expanded |
dnl once only, before all statements that occur in other macros. |
AC_REQUIRE([gl_HEADER_STRING_H_BODY]) |
]) |
|
AC_DEFUN([gl_HEADER_STRING_H_BODY], |
[ |
AC_REQUIRE([AC_C_RESTRICT]) |
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) |
gl_CHECK_NEXT_HEADERS([string.h]) |
]) |
|
AC_DEFUN([gl_STRING_MODULE_INDICATOR], |
[ |
dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) |
GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 |
]) |
|
AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS], |
[ |
GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM]) |
GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY]) |
GNULIB_MEMRCHR=0; AC_SUBST([GNULIB_MEMRCHR]) |
GNULIB_STPCPY=0; AC_SUBST([GNULIB_STPCPY]) |
GNULIB_STPNCPY=0; AC_SUBST([GNULIB_STPNCPY]) |
GNULIB_STRCHRNUL=0; AC_SUBST([GNULIB_STRCHRNUL]) |
GNULIB_STRDUP=0; AC_SUBST([GNULIB_STRDUP]) |
GNULIB_STRNDUP=0; AC_SUBST([GNULIB_STRNDUP]) |
GNULIB_STRNLEN=0; AC_SUBST([GNULIB_STRNLEN]) |
GNULIB_STRPBRK=0; AC_SUBST([GNULIB_STRPBRK]) |
GNULIB_STRSEP=0; AC_SUBST([GNULIB_STRSEP]) |
GNULIB_STRSTR=0; AC_SUBST([GNULIB_STRSTR]) |
GNULIB_STRCASESTR=0; AC_SUBST([GNULIB_STRCASESTR]) |
GNULIB_STRTOK_R=0; AC_SUBST([GNULIB_STRTOK_R]) |
GNULIB_MBSLEN=0; AC_SUBST([GNULIB_MBSLEN]) |
GNULIB_MBSNLEN=0; AC_SUBST([GNULIB_MBSNLEN]) |
GNULIB_MBSCHR=0; AC_SUBST([GNULIB_MBSCHR]) |
GNULIB_MBSRCHR=0; AC_SUBST([GNULIB_MBSRCHR]) |
GNULIB_MBSSTR=0; AC_SUBST([GNULIB_MBSSTR]) |
GNULIB_MBSCASECMP=0; AC_SUBST([GNULIB_MBSCASECMP]) |
GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP]) |
GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP]) |
GNULIB_MBSCASESTR=0; AC_SUBST([GNULIB_MBSCASESTR]) |
GNULIB_MBSCSPN=0; AC_SUBST([GNULIB_MBSCSPN]) |
GNULIB_MBSPBRK=0; AC_SUBST([GNULIB_MBSPBRK]) |
GNULIB_MBSSPN=0; AC_SUBST([GNULIB_MBSSPN]) |
GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP]) |
GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R]) |
GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR]) |
GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL]) |
dnl Assume proper GNU behavior unless another module says otherwise. |
HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM]) |
HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY]) |
HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR]) |
HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY]) |
HAVE_STPNCPY=1; AC_SUBST([HAVE_STPNCPY]) |
HAVE_STRCHRNUL=1; AC_SUBST([HAVE_STRCHRNUL]) |
HAVE_DECL_STRDUP=1; AC_SUBST([HAVE_DECL_STRDUP]) |
HAVE_STRNDUP=1; AC_SUBST([HAVE_STRNDUP]) |
HAVE_DECL_STRNDUP=1; AC_SUBST([HAVE_DECL_STRNDUP]) |
HAVE_DECL_STRNLEN=1; AC_SUBST([HAVE_DECL_STRNLEN]) |
HAVE_STRPBRK=1; AC_SUBST([HAVE_STRPBRK]) |
HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP]) |
HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR]) |
HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R]) |
HAVE_DECL_STRERROR=1; AC_SUBST([HAVE_DECL_STRERROR]) |
HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL]) |
REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR]) |
REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) |
REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM]) |
REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR]) |
REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR]) |
]) |
/memcmp.m4
0,0 → 1,20
# memcmp.m4 serial 12 |
dnl Copyright (C) 2002, 2003, 2004, 2007, 2009, 2010 |
Free Software Foundation, Inc. |
dnl This file is free software; the Free Software Foundation |
dnl gives unlimited permission to copy and/or distribute it, |
dnl with or without modifications, as long as this notice is preserved. |
|
AC_DEFUN([gl_FUNC_MEMCMP], |
[ |
AC_FUNC_MEMCMP |
dnl Note: AC_FUNC_MEMCMP does AC_LIBOBJ(memcmp). |
if test $ac_cv_func_memcmp_working = no; then |
AC_DEFINE(memcmp, rpl_memcmp, |
[Define to rpl_memcmp if the replacement function should be used.]) |
gl_PREREQ_MEMCMP |
fi |
]) |
|
# Prerequisites of lib/memcmp.c. |
AC_DEFUN([gl_PREREQ_MEMCMP], [:]) |
/extensions.m4
0,0 → 1,82
# serial 5 -*- Autoconf -*- |
# Enable extensions on systems that normally disable them. |
|
# Copyright (C) 2003, 2006, 2007, 2009, 2010 Free Software Foundation, Inc. |
# This file is free software; the Free Software Foundation |
# gives unlimited permission to copy and/or distribute it, |
# with or without modifications, as long as this notice is preserved. |
|
# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS |
# Autoconf. Perhaps we can remove this once we can assume Autoconf |
# 2.62 or later everywhere, but since CVS Autoconf mutates rapidly |
# enough in this area it's likely we'll need to redefine |
# AC_USE_SYSTEM_EXTENSIONS for quite some time. |
|
# AC_USE_SYSTEM_EXTENSIONS |
# ------------------------ |
# Enable extensions on systems that normally disable them, |
# typically due to standards-conformance issues. |
# Remember that #undef in AH_VERBATIM gets replaced with #define by |
# AC_DEFINE. The goal here is to define all known feature-enabling |
# macros, then, if reports of conflicts are made, disable macros that |
# cause problems on some platforms (such as __EXTENSIONS__). |
AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], |
[AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl |
AC_BEFORE([$0], [AC_RUN_IFELSE])dnl |
|
AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) |
if test "$MINIX" = yes; then |
AC_DEFINE([_POSIX_SOURCE], [1], |
[Define to 1 if you need to in order for `stat' and other |
things to work.]) |
AC_DEFINE([_POSIX_1_SOURCE], [2], |
[Define to 2 if the system does not provide POSIX.1 features |
except with this defined.]) |
AC_DEFINE([_MINIX], [1], |
[Define to 1 if on MINIX.]) |
fi |
|
AH_VERBATIM([__EXTENSIONS__], |
[/* Enable extensions on AIX 3, Interix. */ |
#ifndef _ALL_SOURCE |
# undef _ALL_SOURCE |
#endif |
/* Enable GNU extensions on systems that have them. */ |
#ifndef _GNU_SOURCE |
# undef _GNU_SOURCE |
#endif |
/* Enable threading extensions on Solaris. */ |
#ifndef _POSIX_PTHREAD_SEMANTICS |
# undef _POSIX_PTHREAD_SEMANTICS |
#endif |
/* Enable extensions on HP NonStop. */ |
#ifndef _TANDEM_SOURCE |
# undef _TANDEM_SOURCE |
#endif |
/* Enable general extensions on Solaris. */ |
#ifndef __EXTENSIONS__ |
# undef __EXTENSIONS__ |
#endif |
]) |
AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], |
[ac_cv_safe_to_define___extensions__], |
[AC_COMPILE_IFELSE( |
[AC_LANG_PROGRAM([ |
# define __EXTENSIONS__ 1 |
AC_INCLUDES_DEFAULT])], |
[ac_cv_safe_to_define___extensions__=yes], |
[ac_cv_safe_to_define___extensions__=no])]) |
test $ac_cv_safe_to_define___extensions__ = yes && |
AC_DEFINE([__EXTENSIONS__]) |
AC_DEFINE([_ALL_SOURCE]) |
AC_DEFINE([_GNU_SOURCE]) |
AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) |
AC_DEFINE([_TANDEM_SOURCE]) |
])# AC_USE_SYSTEM_EXTENSIONS |
|
# gl_USE_SYSTEM_EXTENSIONS |
# ------------------------ |
# Enable extensions on systems that normally disable them, |
# typically due to standards-conformance issues. |
AC_DEFUN([gl_USE_SYSTEM_EXTENSIONS], |
[AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])]) |
/longlong.m4
0,0 → 1,106
# longlong.m4 serial 13 |
dnl Copyright (C) 1999-2007, 2009, 2010 Free Software Foundation, Inc. |
dnl This file is free software; the Free Software Foundation |
dnl gives unlimited permission to copy and/or distribute it, |
dnl with or without modifications, as long as this notice is preserved. |
|
dnl From Paul Eggert. |
|
# Define HAVE_LONG_LONG_INT if 'long long int' works. |
# This fixes a bug in Autoconf 2.61, but can be removed once we |
# assume 2.62 everywhere. |
|
# Note: If the type 'long long int' exists but is only 32 bits large |
# (as on some very old compilers), HAVE_LONG_LONG_INT will not be |
# defined. In this case you can treat 'long long int' like 'long int'. |
|
AC_DEFUN([AC_TYPE_LONG_LONG_INT], |
[ |
AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], |
[AC_LINK_IFELSE( |
[_AC_TYPE_LONG_LONG_SNIPPET], |
[dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. |
dnl If cross compiling, assume the bug isn't important, since |
dnl nobody cross compiles for this platform as far as we know. |
AC_RUN_IFELSE( |
[AC_LANG_PROGRAM( |
[[@%:@include <limits.h> |
@%:@ifndef LLONG_MAX |
@%:@ define HALF \ |
(1LL << (sizeof (long long int) * CHAR_BIT - 2)) |
@%:@ define LLONG_MAX (HALF - 1 + HALF) |
@%:@endif]], |
[[long long int n = 1; |
int i; |
for (i = 0; ; i++) |
{ |
long long int m = n << i; |
if (m >> i != n) |
return 1; |
if (LLONG_MAX / 2 < m) |
break; |
} |
return 0;]])], |
[ac_cv_type_long_long_int=yes], |
[ac_cv_type_long_long_int=no], |
[ac_cv_type_long_long_int=yes])], |
[ac_cv_type_long_long_int=no])]) |
if test $ac_cv_type_long_long_int = yes; then |
AC_DEFINE([HAVE_LONG_LONG_INT], 1, |
[Define to 1 if the system has the type `long long int'.]) |
fi |
]) |
|
# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. |
# This fixes a bug in Autoconf 2.61, but can be removed once we |
# assume 2.62 everywhere. |
|
# Note: If the type 'unsigned long long int' exists but is only 32 bits |
# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT |
# will not be defined. In this case you can treat 'unsigned long long int' |
# like 'unsigned long int'. |
|
AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], |
[ |
AC_CACHE_CHECK([for unsigned long long int], |
[ac_cv_type_unsigned_long_long_int], |
[AC_LINK_IFELSE( |
[_AC_TYPE_LONG_LONG_SNIPPET], |
[ac_cv_type_unsigned_long_long_int=yes], |
[ac_cv_type_unsigned_long_long_int=no])]) |
if test $ac_cv_type_unsigned_long_long_int = yes; then |
AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], 1, |
[Define to 1 if the system has the type `unsigned long long int'.]) |
fi |
]) |
|
# Expands to a C program that can be used to test for simultaneous support |
# of 'long long' and 'unsigned long long'. We don't want to say that |
# 'long long' is available if 'unsigned long long' is not, or vice versa, |
# because too many programs rely on the symmetry between signed and unsigned |
# integer types (excluding 'bool'). |
AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET], |
[ |
AC_LANG_PROGRAM( |
[[/* For now, do not test the preprocessor; as of 2007 there are too many |
implementations with broken preprocessors. Perhaps this can |
be revisited in 2012. In the meantime, code should not expect |
#if to work with literals wider than 32 bits. */ |
/* Test literals. */ |
long long int ll = 9223372036854775807ll; |
long long int nll = -9223372036854775807LL; |
unsigned long long int ull = 18446744073709551615ULL; |
/* Test constant expressions. */ |
typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) |
? 1 : -1)]; |
typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 |
? 1 : -1)]; |
int i = 63;]], |
[[/* Test availability of runtime routines for shift and division. */ |
long long int llmax = 9223372036854775807ll; |
unsigned long long int ullmax = 18446744073709551615ull; |
return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) |
| (llmax / ll) | (llmax % ll) |
| (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) |
| (ullmax / ull) | (ullmax % ull));]]) |
]) |