summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--acinclude.m430
-rw-r--r--configure.ac56
2 files changed, 31 insertions, 55 deletions
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 <uniconv.h>
+],
+ [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 <uniconv.h>
-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 <uniconv.h>
-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 <uniconv.h>
-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
#--------------------------------------------------------------------
#