Home | History | Annotate | Download | only in m4
      1 # Configure a GNU-like replacement for <string.h>.
      2 
      3 # Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
      4 # This file is free software; the Free Software Foundation
      5 # gives unlimited permission to copy and/or distribute it,
      6 # with or without modifications, as long as this notice is preserved.
      7 
      8 # serial 7
      9 
     10 # Written by Paul Eggert.
     11 
     12 AC_DEFUN([gl_HEADER_STRING_H],
     13 [
     14   dnl Use AC_REQUIRE here, so that the default behavior below is expanded
     15   dnl once only, before all statements that occur in other macros.
     16   AC_REQUIRE([gl_HEADER_STRING_H_BODY])
     17 ])
     18 
     19 AC_DEFUN([gl_HEADER_STRING_H_BODY],
     20 [
     21   AC_REQUIRE([AC_C_RESTRICT])
     22   AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
     23   gl_CHECK_NEXT_HEADERS([string.h])
     24 ])
     25 
     26 AC_DEFUN([gl_STRING_MODULE_INDICATOR],
     27 [
     28   dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
     29   AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
     30   GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
     31 ])
     32 
     33 AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
     34 [
     35   GNULIB_MEMCHR=0;      AC_SUBST([GNULIB_MEMCHR])
     36   GNULIB_MEMMEM=0;      AC_SUBST([GNULIB_MEMMEM])
     37   GNULIB_MEMPCPY=0;     AC_SUBST([GNULIB_MEMPCPY])
     38   GNULIB_MEMRCHR=0;     AC_SUBST([GNULIB_MEMRCHR])
     39   GNULIB_RAWMEMCHR=0;   AC_SUBST([GNULIB_RAWMEMCHR])
     40   GNULIB_STPCPY=0;      AC_SUBST([GNULIB_STPCPY])
     41   GNULIB_STPNCPY=0;     AC_SUBST([GNULIB_STPNCPY])
     42   GNULIB_STRCHRNUL=0;   AC_SUBST([GNULIB_STRCHRNUL])
     43   GNULIB_STRDUP=0;      AC_SUBST([GNULIB_STRDUP])
     44   GNULIB_STRNDUP=0;     AC_SUBST([GNULIB_STRNDUP])
     45   GNULIB_STRNLEN=0;     AC_SUBST([GNULIB_STRNLEN])
     46   GNULIB_STRPBRK=0;     AC_SUBST([GNULIB_STRPBRK])
     47   GNULIB_STRSEP=0;      AC_SUBST([GNULIB_STRSEP])
     48   GNULIB_STRSTR=0;      AC_SUBST([GNULIB_STRSTR])
     49   GNULIB_STRCASESTR=0;  AC_SUBST([GNULIB_STRCASESTR])
     50   GNULIB_STRTOK_R=0;    AC_SUBST([GNULIB_STRTOK_R])
     51   GNULIB_MBSLEN=0;      AC_SUBST([GNULIB_MBSLEN])
     52   GNULIB_MBSNLEN=0;     AC_SUBST([GNULIB_MBSNLEN])
     53   GNULIB_MBSCHR=0;      AC_SUBST([GNULIB_MBSCHR])
     54   GNULIB_MBSRCHR=0;     AC_SUBST([GNULIB_MBSRCHR])
     55   GNULIB_MBSSTR=0;      AC_SUBST([GNULIB_MBSSTR])
     56   GNULIB_MBSCASECMP=0;  AC_SUBST([GNULIB_MBSCASECMP])
     57   GNULIB_MBSNCASECMP=0; AC_SUBST([GNULIB_MBSNCASECMP])
     58   GNULIB_MBSPCASECMP=0; AC_SUBST([GNULIB_MBSPCASECMP])
     59   GNULIB_MBSCASESTR=0;  AC_SUBST([GNULIB_MBSCASESTR])
     60   GNULIB_MBSCSPN=0;     AC_SUBST([GNULIB_MBSCSPN])
     61   GNULIB_MBSPBRK=0;     AC_SUBST([GNULIB_MBSPBRK])
     62   GNULIB_MBSSPN=0;      AC_SUBST([GNULIB_MBSSPN])
     63   GNULIB_MBSSEP=0;      AC_SUBST([GNULIB_MBSSEP])
     64   GNULIB_MBSTOK_R=0;    AC_SUBST([GNULIB_MBSTOK_R])
     65   GNULIB_STRERROR=0;    AC_SUBST([GNULIB_STRERROR])
     66   GNULIB_STRSIGNAL=0;   AC_SUBST([GNULIB_STRSIGNAL])
     67   GNULIB_STRVERSCMP=0;   AC_SUBST([GNULIB_STRVERSCMP])
     68   dnl Assume proper GNU behavior unless another module says otherwise.
     69   HAVE_DECL_MEMMEM=1;		AC_SUBST([HAVE_DECL_MEMMEM])
     70   HAVE_MEMPCPY=1;		AC_SUBST([HAVE_MEMPCPY])
     71   HAVE_DECL_MEMRCHR=1;		AC_SUBST([HAVE_DECL_MEMRCHR])
     72   HAVE_RAWMEMCHR=1;		AC_SUBST([HAVE_RAWMEMCHR])
     73   HAVE_STPCPY=1;		AC_SUBST([HAVE_STPCPY])
     74   HAVE_STPNCPY=1;		AC_SUBST([HAVE_STPNCPY])
     75   HAVE_STRCHRNUL=1;		AC_SUBST([HAVE_STRCHRNUL])
     76   HAVE_DECL_STRDUP=1;		AC_SUBST([HAVE_DECL_STRDUP])
     77   HAVE_STRNDUP=1;		AC_SUBST([HAVE_STRNDUP])
     78   HAVE_DECL_STRNDUP=1;		AC_SUBST([HAVE_DECL_STRNDUP])
     79   HAVE_DECL_STRNLEN=1;		AC_SUBST([HAVE_DECL_STRNLEN])
     80   HAVE_STRPBRK=1;		AC_SUBST([HAVE_STRPBRK])
     81   HAVE_STRSEP=1;		AC_SUBST([HAVE_STRSEP])
     82   HAVE_STRCASESTR=1;		AC_SUBST([HAVE_STRCASESTR])
     83   HAVE_DECL_STRTOK_R=1;		AC_SUBST([HAVE_DECL_STRTOK_R])
     84   HAVE_DECL_STRERROR=1;		AC_SUBST([HAVE_DECL_STRERROR])
     85   HAVE_DECL_STRSIGNAL=1;	AC_SUBST([HAVE_DECL_STRSIGNAL])
     86   HAVE_STRVERSCMP=1;		AC_SUBST([HAVE_STRVERSCMP])
     87   REPLACE_MEMCHR=0;		AC_SUBST([REPLACE_MEMCHR])
     88   REPLACE_MEMMEM=0;		AC_SUBST([REPLACE_MEMMEM])
     89   REPLACE_STRDUP=0;		AC_SUBST([REPLACE_STRDUP])
     90   REPLACE_STRSTR=0;		AC_SUBST([REPLACE_STRSTR])
     91   REPLACE_STRCASESTR=0;		AC_SUBST([REPLACE_STRCASESTR])
     92   REPLACE_STRERROR=0;		AC_SUBST([REPLACE_STRERROR])
     93   REPLACE_STRSIGNAL=0;		AC_SUBST([REPLACE_STRSIGNAL])
     94 ])
     95