mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 20:00:19 +02:00
configure: Factorize code checking for `iconveh_' constants; use the cache.
* configure.ac: Remove code that determines the values of the `iconveh_' constants. Use `GUILE_UNISTRING_ICONVEH_VALUES'. instead. * acinclude.m4 (GUILE_UNISTRING_CONSTANT, GUILE_UNISTRING_ICONVEH_VALUES): New macros.
This commit is contained in:
parent
c245d16a5b
commit
10c29ebde5
2 changed files with 31 additions and 55 deletions
30
acinclude.m4
30
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 Declare file $1 to be a script that needs configuring,
|
||||||
dnl and arrange to make it executable in the process.
|
dnl and arrange to make it executable in the process.
|
||||||
AC_DEFUN([GUILE_CONFIG_SCRIPT],[AC_CONFIG_FILES([$1],[chmod +x $1])])
|
AC_DEFUN([GUILE_CONFIG_SCRIPT],[AC_CONFIG_FILES([$1],[chmod +x $1])])
|
||||||
|
|
56
configure.ac
56
configure.ac
|
@ -1203,61 +1203,7 @@ GUILE_STRUCT_UTIMBUF
|
||||||
# the error handlers, which are just ints. So we weaken our
|
# the error handlers, which are just ints. So we weaken our
|
||||||
# dependency by looking up those values at configure-time.
|
# dependency by looking up those values at configure-time.
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
SCM_I_GSC_ICONVEH_ERROR=0
|
GUILE_UNISTRING_ICONVEH_VALUES
|
||||||
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])
|
|
||||||
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue