X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fstrdup.m4;h=ce40c2152771ca340e8a39d3865260504e721b50;hb=5510d3df6c49b73ed41fd3243c276f96a3c3f9d4;hp=8796e9e02f945972b29a5476f308eab8408f28eb;hpb=d4d9ba3c78eceac6e5f6755abe28f15cfece96e2;p=gnulib.git diff --git a/m4/strdup.m4 b/m4/strdup.m4 index 8796e9e02..ce40c2152 100644 --- a/m4/strdup.m4 +++ b/m4/strdup.m4 @@ -1,7 +1,6 @@ -# strdup.m4 serial 9 +# strdup.m4 serial 12 -dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software -dnl Foundation, Inc. +dnl Copyright (C) 2002-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, @@ -10,12 +9,36 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_STRDUP], [ AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) - AC_REPLACE_FUNCS(strdup) - AC_CHECK_DECLS_ONCE(strdup) + AC_CHECK_FUNCS_ONCE([strdup]) + if test $ac_cv_func_strdup != yes; then + AC_LIBOBJ([strdup]) + gl_PREREQ_STRDUP + fi + AC_CHECK_DECLS_ONCE([strdup]) + if test $ac_cv_have_decl_strdup = no; then + HAVE_DECL_STRDUP=0 + fi +]) + +AC_DEFUN([gl_FUNC_STRDUP_POSIX], +[ + AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS]) + AC_REQUIRE([gl_CHECK_MALLOC_POSIX]) + AC_CHECK_FUNCS_ONCE([strdup]) + if test $ac_cv_func_strdup = yes; then + if test $gl_cv_func_malloc_posix != yes; then + REPLACE_STRDUP=1 + AC_LIBOBJ([strdup]) + gl_PREREQ_STRDUP + fi + else + AC_LIBOBJ([strdup]) + gl_PREREQ_STRDUP + fi + AC_CHECK_DECLS_ONCE([strdup]) if test $ac_cv_have_decl_strdup = no; then HAVE_DECL_STRDUP=0 fi - gl_PREREQ_STRDUP ]) # Prerequisites of lib/strdup.c.