diff --git a/acinclude.m4 b/acinclude.m4 index 5bd1cedab..4f9c0a161 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -499,6 +499,36 @@ AC_DEFUN([GUILE_LIBUNISTRING_WITH_ICONV_SUPPORT], [ ]) ]) +dnl GUILE_UNISTRING_CONSTANT NAME +dnl +dnl Determine the compile-time value of NAME and define/substitute +dnl `SCM_I_GSC_NAME'. +AC_DEFUN([GUILE_UNISTRING_CONSTANT], [ + m4_pushdef([UPPER_CASE_NAME], + [m4_translit([$1],[abcdefghijklmnopqrstuvwxyz], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ])]) + + AC_CACHE_CHECK([the value of `$1'], [ac_cv_]$1, [ + AC_COMPUTE_INT([ac_cv_]$1, [$1], + [AC_INCLUDES_DEFAULT +#include +], + [AC_MSG_ERROR([failed to determine the value of `$1'])]) + ]) + + [SCM_I_GSC_]UPPER_CASE_NAME="$ac_cv_[]$1" + AC_SUBST([SCM_I_GSC_]UPPER_CASE_NAME) + m4_popdef([UPPER_CASE_NAME])]) + +dnl GUILE_UNISTRING_ICONVEH_VALUES +dnl +dnl Determine the values of the `iconveh_' libunistring constants. +AC_DEFUN([GUILE_UNISTRING_ICONVEH_VALUES], [ + GUILE_UNISTRING_CONSTANT([iconveh_error]) + GUILE_UNISTRING_CONSTANT([iconveh_question_mark]) + GUILE_UNISTRING_CONSTANT([iconveh_escape_sequence]) +]) + dnl Declare file $1 to be a script that needs configuring, dnl and arrange to make it executable in the process. AC_DEFUN([GUILE_CONFIG_SCRIPT],[AC_CONFIG_FILES([$1],[chmod +x $1])]) diff --git a/configure.ac b/configure.ac index e19a6d02a..021199601 100644 --- a/configure.ac +++ b/configure.ac @@ -1203,61 +1203,7 @@ GUILE_STRUCT_UTIMBUF # the error handlers, which are just ints. So we weaken our # dependency by looking up those values at configure-time. #-------------------------------------------------------------------- -SCM_I_GSC_ICONVEH_ERROR=0 -SCM_I_GSC_ICONVEH_QUESTION_MARK=1 -SCM_I_GSC_ICONVEH_ESCAPE_SEQUENCE=2 -AC_MSG_CHECKING([for iconveh_error]) -AC_RUN_IFELSE([AC_LANG_SOURCE( -[AC_INCLUDES_DEFAULT -#include -int -main (int argc, char *argv[]) -{ - if (argc > 1) - printf ("%d\n", (int)iconveh_error); - return 0; -}])], - [SCM_I_GSC_ICONVEH_ERROR=`./conftest$EXEEXT pretty-please` - AC_MSG_RESULT([$SCM_I_GSC_ICONVEH_ERROR])], - [AC_MSG_FAILURE([failed to get iconveh_error])], - [AC_MSG_WARN([assuming $SCM_I_GSC_ICONVEH_ERROR for cross-compilation])]) - -AC_MSG_CHECKING([for iconveh_question_mark]) -AC_RUN_IFELSE([AC_LANG_SOURCE( -[AC_INCLUDES_DEFAULT -#include -int -main (int argc, char *argv[]) -{ - if (argc > 1) - printf ("%d\n", (int)iconveh_question_mark); - return 0; -}])], - [SCM_I_GSC_ICONVEH_QUESTION_MARK=`./conftest$EXEEXT pretty-please` - AC_MSG_RESULT([$SCM_I_GSC_ICONVEH_QUESTION_MARK])], - [AC_MSG_FAILURE([failed to get iconveh_question_mark])], - [AC_MSG_WARN([assuming $SCM_I_GSC_ICONVEH_QUESTION_MARK for cross-compilation])]) - -AC_MSG_CHECKING([for iconveh_escape_sequence]) -AC_RUN_IFELSE([AC_LANG_SOURCE( -[AC_INCLUDES_DEFAULT -#include -int -main (int argc, char *argv[]) -{ - if (argc > 1) - printf ("%d\n", (int)iconveh_escape_sequence); - return 0; -}])], - [SCM_I_GSC_ICONVEH_ESCAPE_SEQUENCE=`./conftest$EXEEXT pretty-please` - AC_MSG_RESULT([$SCM_I_GSC_ICONVEH_ESCAPE_SEQUENCE])], - [AC_MSG_FAILURE([failed to get iconveh_escape_sequence])], - [AC_MSG_WARN([assuming $SCM_I_GSC_ICONVEH_ESCAPE_SEQUENCE for cross-compilation])]) - -AC_SUBST([SCM_I_GSC_ICONVEH_ERROR]) -AC_SUBST([SCM_I_GSC_ICONVEH_QUESTION_MARK]) -AC_SUBST([SCM_I_GSC_ICONVEH_ESCAPE_SEQUENCE]) - +GUILE_UNISTRING_ICONVEH_VALUES #-------------------------------------------------------------------- #