diff --git a/ChangeLog b/ChangeLog index 2ffe2c91e..cb0ee1d84 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2015-06-30 Richard Frith-Macdonald + + * configure.ac: + * configure: + * Headers/GNUstepBase/config.h.in: + Add test for pthread_mutex_t.__data.__owner + Update various tests to silence autoconf warnings. + 2015-06-26 Riccardo Mottola * Source/NSMethodSignature.m diff --git a/Headers/GNUstepBase/config.h.in b/Headers/GNUstepBase/config.h.in index 782389d0e..d0915d1ae 100644 --- a/Headers/GNUstepBase/config.h.in +++ b/Headers/GNUstepBase/config.h.in @@ -467,6 +467,9 @@ /* Define to 1 if you have the `pthread_main_np' function. */ #undef HAVE_PTHREAD_MAIN_NP +/* Define if you have pthread_mutex_t.__data.__owner */ +#undef HAVE_PTHREAD_MUTEX_OWNER + /* Define to 1 if you have the header file. */ #undef HAVE_PTHREAD_NP_H diff --git a/configure b/configure index b024f89c5..8eca83812 100755 --- a/configure +++ b/configure @@ -6150,6 +6150,9 @@ elif test "$OBJC_RUNTIME_LIB" = "gnugc"; then $as_echo "GNU" >&6; } OBJCFLAGS="$OBJCFLAGS -fgnu-runtime" OBJC_WITH_GC=yes +elif test "$OBJC_RUNTIME_LIB" = "ng"; then + { $as_echo "$as_me:$LINENO: result: Next Gen" >&5 +$as_echo "Next Gen" >&6; } else { $as_echo "$as_me:$LINENO: result: GNU" >&5 $as_echo "GNU" >&6; } @@ -7156,6 +7159,11 @@ $as_echo_n "checking for gcc visibility attribute support... " >&6; } saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Werror" cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include int foo() __attribute__ ((visibility("internal"))); @@ -12155,6 +12163,116 @@ $as_echo "$as_me: error: Unable to find size of pthread_mutex_t (required)." >&2 { (exit 1); exit 1; }; } fi +# pthread_mutex_t.__data.__owner is non-standard since pthread_mutex_t is +# nominally an opaque type. We must not rely on this for anything other +# than debug output! + { $as_echo "$as_me:$LINENO: checking for pthread_mutex_t.__data.__owner" >&5 +$as_echo_n "checking for pthread_mutex_t.__data.__owner... " >&6; } +if test "${ac_cv_member_pthread_mutex_t___data___owner+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include + +int +main () +{ +static pthread_mutex_t ac_aggr; +if (ac_aggr.__data.__owner) +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_member_pthread_mutex_t___data___owner=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include + +int +main () +{ +static pthread_mutex_t ac_aggr; +if (sizeof ac_aggr.__data.__owner) +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_member_pthread_mutex_t___data___owner=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_member_pthread_mutex_t___data___owner=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_pthread_mutex_t___data___owner" >&5 +$as_echo "$ac_cv_member_pthread_mutex_t___data___owner" >&6; } + + if test $ac_cv_member_pthread_mutex_t___data___owner = yes ; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_PTHREAD_MUTEX_OWNER 1 +_ACEOF + + fi # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. @@ -13874,6 +13992,11 @@ $as_echo_n "checking for objc_root_class attribute support... " >&6; } saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Werror $OBJCFLAGS -x objective-c" cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ __attribute__((objc_root_class)) @interface RootObject @end @@ -14895,6 +15018,11 @@ $as_echo_n "checking for non-fragile-abi support... " >&6; } non_fragile="$cross_non_fragile" else cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include "$srcdir/config/config.non-fragile-ivars.m" _ACEOF rm -f conftest$ac_exeext @@ -15019,6 +15147,11 @@ fi { $as_echo "$as_me:$LINENO: checking for objc_setUncaughtExceptionHandler() in runtime" >&5 $as_echo_n "checking for objc_setUncaughtExceptionHandler() in runtime... " >&6; } cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include "$srcdir/config/config.setUncaughtExceptionHandler.m" _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext @@ -15068,6 +15201,11 @@ $as_echo "$have_set_uncaught_exception_handler" >&6; } { $as_echo "$as_me:$LINENO: checking for objc_set_unexpected() in runtime" >&5 $as_echo_n "checking for objc_set_unexpected() in runtime... " >&6; } cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include "$srcdir/config/config.set_unexpected.m" _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext @@ -15120,6 +15258,11 @@ if test "$cross_compiling" = yes; then have_unexpected="$cross_have_unexpected" else cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include "$srcdir/config/config.unexpected.m" _ACEOF rm -f conftest$ac_exeext @@ -15321,6 +15464,11 @@ if test "$cross_compiling" = yes; then safe_initialize="$cross_safe_initialize" else cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include "$srcdir/config/config.initialize.m" _ACEOF rm -f conftest$ac_exeext @@ -24259,6 +24407,11 @@ CPPFLAGS="$CPPFLAGS $OBJCFLAGS -x objective-c" { $as_echo "$as_me:$LINENO: checking for forwarding callback in runtime" >&5 $as_echo_n "checking for forwarding callback in runtime... " >&6; } cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include "$srcdir/config/config.forward2.m" _ACEOF rm -f conftest.$ac_objext @@ -24296,6 +24449,11 @@ _ACEOF else cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include "$srcdir/config/config.forward.m" _ACEOF rm -f conftest.$ac_objext @@ -24582,6 +24740,11 @@ $as_echo_n "checking if ffcall trampolines work... " >&6; } have_working_trampoline=yes else cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include "$srcdir/config/config.trampoline.c" _ACEOF rm -f conftest$ac_exeext @@ -24697,6 +24860,11 @@ if test "$cross_compiling" = yes; then found_iconv="$cross_found_iconv_libc" else cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include int main(int argc,char **argv) { return iconv_open("UTF-8//TRANSLIT","ASCII") == -1 ? 1 : 0; } @@ -24784,6 +24952,11 @@ esac else cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include int main(int argc,char **argv) { return iconv_open("UTF-8//TRANSLIT","ASCII") == -1 ? 1 : 0; } @@ -24851,6 +25024,11 @@ if test $found_iconv = no ; then else cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include int main(int argc,char **argv) { return iconv_open("UTF-8//TRANSLIT","ASCII") == -1 ? 1 : 0; } @@ -24929,6 +25107,11 @@ See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include int main(int argc,char **argv) { return iconv_open("UTF-8","ASCII") == -1 ? 1 : 0; } @@ -25018,6 +25201,11 @@ See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include int main(int argc,char **argv) { return iconv_open("UTF-8","ASCII") == -1 ? 1 : 0; } @@ -25087,6 +25275,11 @@ See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; }; } else cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include int main(int argc,char **argv) { return iconv_open("UTF-8","ASCII") == -1 ? 1 : 0; } diff --git a/configure.ac b/configure.ac index 9cd3b2502..4a47b7b1a 100644 --- a/configure.ac +++ b/configure.ac @@ -1346,11 +1346,11 @@ fi AC_MSG_CHECKING(for gcc visibility attribute support) saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Werror" -AC_COMPILE_IFELSE([ +AC_COMPILE_IFELSE([AC_LANG_SOURCE([ #include int foo() __attribute__ ((visibility("internal"))); int foo(){ return 1; } - int main(){ return foo(); }], + int main(){ return foo(); }])], AC_MSG_RESULT([found]) gs_visibility=1, AC_MSG_RESULT([not present]) @@ -1673,6 +1673,15 @@ if test $ac_cv_header_pthread_h = yes ; then AC_MSG_ERROR([Unable to find size of pthread_mutex_t (required).]) fi AC_SUBST(GS_SIZEOF_MUTEX_T) +# pthread_mutex_t.__data.__owner is non-standard since pthread_mutex_t is +# nominally an opaque type. We must not rely on this for anything other +# than debug output! + AC_CHECK_MEMBER([pthread_mutex_t.__data.__owner],,,[AC_INCLUDES_DEFAULT +#include ]) + if test $ac_cv_member_pthread_mutex_t___data___owner = yes ; then + AC_DEFINE(HAVE_PTHREAD_MUTEX_OWNER, 1, + [Define if you have pthread_mutex_t.__data.__owner]) + fi AC_CHECK_SIZEOF(pthread_cond_t,,[AC_INCLUDES_DEFAULT #include ]) if test $ac_cv_sizeof_pthread_cond_t = 0 ; then @@ -1742,11 +1751,11 @@ AC_CHECK_FUNCS(nanosleep usleep Sleep) AC_MSG_CHECKING(for objc_root_class attribute support) saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Werror $OBJCFLAGS -x objective-c" -AC_COMPILE_IFELSE([ +AC_COMPILE_IFELSE([AC_LANG_SOURCE([ __attribute__((objc_root_class)) @interface RootObject @end @implementation RootObject - @end], + @end])], AC_MSG_RESULT([found]) gs_objc_root_class_attr=1, AC_MSG_RESULT([not present]) @@ -1966,7 +1975,8 @@ if test "$nonfragile" = "yes"; then saved_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $OBJCFLAGS -fobjc-nonfragile-abi -x objective-c" AC_MSG_CHECKING(for non-fragile-abi support) - AC_RUN_IFELSE([#include "$srcdir/config/config.non-fragile-ivars.m"], + AC_RUN_IFELSE([AC_LANG_SOURCE( + [[#include "$srcdir/config/config.non-fragile-ivars.m"]])], non_fragile=yes, non_fragile=no, non_fragile="$cross_non_fragile") CPPFLAGS="$saved_CPPFLAGS" @@ -2034,7 +2044,8 @@ fi # the other hand, that case is going to become more and more unusual. AC_MSG_CHECKING(for objc_setUncaughtExceptionHandler() in runtime) -AC_LINK_IFELSE([#include "$srcdir/config/config.setUncaughtExceptionHandler.m"], +AC_LINK_IFELSE([AC_LANG_SOURCE( + [[#include "$srcdir/config/config.setUncaughtExceptionHandler.m"]])], have_set_uncaught_exception_handler=yes, have_set_uncaught_exception_handler=no) if test $have_set_uncaught_exception_handler = yes; then AC_DEFINE(HAVE_SET_UNCAUGHT_EXCEPTION_HANDLER,1, @@ -2045,7 +2056,8 @@ AC_MSG_RESULT($have_set_uncaught_exception_handler) # Don't revert any Objective-C flags as they are used in the next test AC_MSG_CHECKING(for objc_set_unexpected() in runtime) -AC_LINK_IFELSE([#include "$srcdir/config/config.set_unexpected.m"], +AC_LINK_IFELSE( + [AC_LANG_SOURCE([[#include "$srcdir/config/config.set_unexpected.m"]])], have_set_unexpected=yes, have_set_unexpected=no) if test $have_set_unexpected = yes; then AC_DEFINE(HAVE_SET_UNEXPECTED,1, @@ -2056,8 +2068,11 @@ AC_MSG_RESULT($have_set_unexpected) # Don't revert any Objective-C flags as they are used in the next test AC_MSG_CHECKING(for _objc_unexpected_exception in runtime) -AC_RUN_IFELSE([#include "$srcdir/config/config.unexpected.m"], - have_unexpected=yes, have_unexpected=no, have_unexpected="$cross_have_unexpected") +AC_RUN_IFELSE( + [AC_LANG_SOURCE([[#include "$srcdir/config/config.unexpected.m"]])], + have_unexpected=yes, + have_unexpected=no, + have_unexpected="$cross_have_unexpected") if test $have_unexpected = yes; then AC_DEFINE(HAVE_UNEXPECTED,1, [Define if libobjc has the _objc_unexpected_exception callback]) @@ -2106,7 +2121,8 @@ AC_SUBST(HAVE_OBJC_SYNC_ENTER) # Don't revert any Objective-C flags as they are used in the next test AC_MSG_CHECKING(for thread-safe +initialize in runtime) -AC_RUN_IFELSE([#include "$srcdir/config/config.initialize.m"], +AC_RUN_IFELSE( + [AC_LANG_SOURCE([[#include "$srcdir/config/config.initialize.m"]])], safe_initialize=yes, safe_initialize=no, safe_initialize="$cross_safe_initialize") if test $safe_initialize = yes; then AC_DEFINE(HAVE_INITIALIZE,1, @@ -2795,13 +2811,15 @@ have_forward_hook=yes saved_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $OBJCFLAGS -x objective-c" AC_MSG_CHECKING(for forwarding callback in runtime) -AC_COMPILE_IFELSE([#include "$srcdir/config/config.forward2.m"], +AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([[#include "$srcdir/config/config.forward2.m"]])], have_forward_hook=yes, have_forward_hook=no) if test $have_forward_hook = yes; then AC_DEFINE(HAVE_FORWARD2,1, [Define if libobjc has the __objc_msg_forward2 function]) else - AC_COMPILE_IFELSE([#include "$srcdir/config/config.forward.m"], + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([[#include "$srcdir/config/config.forward.m"]])], have_forward_hook=yes, have_forward_hook=no) fi AC_MSG_RESULT($have_forward_hook) @@ -2850,7 +2868,8 @@ fi if test $enable_ffcall = yes -a $ffi_ok = yes; then AC_MSG_CHECKING(if ffcall trampolines work) - AC_RUN_IFELSE([#include "$srcdir/config/config.trampoline.c"], + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[#include "$srcdir/config/config.trampoline.c"]])], have_working_trampoline=yes, have_working_trampoline=no, have_working_trampoline=yes) AC_MSG_RESULT($have_working_trampoline) @@ -2916,9 +2935,9 @@ AC_ARG_ENABLE(iconv, if test $enable_iconv = yes; then AC_MSG_CHECKING(iconv support) -AC_RUN_IFELSE([[#include +AC_RUN_IFELSE([AC_LANG_SOURCE([#include int main(int argc,char **argv) -{ return iconv_open("UTF-8//TRANSLIT","ASCII") == -1 ? 1 : 0; }]] +{ return iconv_open("UTF-8//TRANSLIT","ASCII") == -1 ? 1 : 0; }])] , # libc has a working iconv. AC_DEFINE(HAVE_ICONV,1, [Define if you have this function]) @@ -2943,9 +2962,9 @@ if test $found_iconv = no ; then old_LIBS="$LIBS" LIBS="-liconv $LIBS" - AC_RUN_IFELSE([[#include + AC_RUN_IFELSE([AC_LANG_SOURCE([#include int main(int argc,char **argv) - { return iconv_open("UTF-8//TRANSLIT","ASCII") == -1 ? 1 : 0; }]] + { return iconv_open("UTF-8//TRANSLIT","ASCII") == -1 ? 1 : 0; }])] , # -liconv works. AC_DEFINE(HAVE_ICONV,1, [Define if you have this function]) @@ -2967,9 +2986,9 @@ if test $found_iconv = no ; then # BSDs install this lib as libgiconv. old_LIBS="$LIBS" LIBS="-lgiconv $LIBS" - AC_RUN_IFELSE([[#include + AC_RUN_IFELSE([AC_LANG_SOURCE([#include int main(int argc,char **argv) - { return iconv_open("UTF-8//TRANSLIT","ASCII") == -1 ? 1 : 0; }]] + { return iconv_open("UTF-8//TRANSLIT","ASCII") == -1 ? 1 : 0; }])] , AC_DEFINE(HAVE_ICONV,1, [Define if you have this function]) AC_DEFINE(HAVE_GICONV,1, [Define if you have this function]) @@ -2991,9 +3010,9 @@ AC_ARG_ENABLE(stricticonv, enable_stricticonv=no) if test $enable_stricticonv = yes; then AC_MSG_CHECKING(non-lossy iconv support) -AC_RUN_IFELSE([[#include +AC_RUN_IFELSE([AC_LANG_SOURCE([#include int main(int argc,char **argv) -{ return iconv_open("UTF-8","ASCII") == -1 ? 1 : 0; }]] +{ return iconv_open("UTF-8","ASCII") == -1 ? 1 : 0; }])] , # libc has a working iconv. AC_DEFINE(HAVE_ICONV,1, [Define if you have this function]) @@ -3016,9 +3035,9 @@ if test $found_iconv = no ; then old_LIBS="$LIBS" LIBS="-liconv $LIBS" - AC_RUN_IFELSE([[#include + AC_RUN_IFELSE([AC_LANG_SOURCE([#include int main(int argc,char **argv) - { return iconv_open("UTF-8","ASCII") == -1 ? 1 : 0; }]] + { return iconv_open("UTF-8","ASCII") == -1 ? 1 : 0; }])] , # -liconv works. AC_DEFINE(HAVE_ICONV,1, [Define if you have this function]) @@ -3035,9 +3054,9 @@ if test $found_iconv = no ; then # BSDs install this lib as libgiconv. old_LIBS="$LIBS" LIBS="-lgiconv $LIBS" - AC_RUN_IFELSE([[#include + AC_RUN_IFELSE([AC_LANG_SOURCE([#include int main(int argc,char **argv) - { return iconv_open("UTF-8","ASCII") == -1 ? 1 : 0; }]] + { return iconv_open("UTF-8","ASCII") == -1 ? 1 : 0; }])] , AC_DEFINE(HAVE_ICONV,1, [Define if you have this function]) AC_DEFINE(HAVE_GICONV,1, [Define if you have this function])