diff options
| -rw-r--r-- | meta/recipes-devtools/guile/files/0001-libguile-Check-for-strtol_l-during-configure.patch | 56 | ||||
| -rw-r--r-- | meta/recipes-devtools/guile/guile_2.0.11.bb | 12 |
2 files changed, 68 insertions, 0 deletions
diff --git a/meta/recipes-devtools/guile/files/0001-libguile-Check-for-strtol_l-during-configure.patch b/meta/recipes-devtools/guile/files/0001-libguile-Check-for-strtol_l-during-configure.patch new file mode 100644 index 0000000000..24f073f9fb --- /dev/null +++ b/meta/recipes-devtools/guile/files/0001-libguile-Check-for-strtol_l-during-configure.patch | |||
| @@ -0,0 +1,56 @@ | |||
| 1 | From 814d6fb6c1f4a544c8fd37f5a390ba020c2d8c85 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Sun, 10 Jan 2016 22:28:17 +0000 | ||
| 4 | Subject: [PATCH] libguile: Check for strtol_l during configure | ||
| 5 | |||
| 6 | strtol_l is a gnu extention which may not be available on other linux | ||
| 7 | libc implementations e.g. musl. Therefore check for this funciton and | ||
| 8 | conditionalize the use of it. | ||
| 9 | |||
| 10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 11 | --- | ||
| 12 | Upstream-Status: Pending | ||
| 13 | |||
| 14 | configure.ac | 5 +++-- | ||
| 15 | libguile/i18n.c | 2 +- | ||
| 16 | 2 files changed, 4 insertions(+), 3 deletions(-) | ||
| 17 | |||
| 18 | diff --git a/configure.ac b/configure.ac | ||
| 19 | index 3969929..f8a6a1a 100644 | ||
| 20 | --- a/configure.ac | ||
| 21 | +++ b/configure.ac | ||
| 22 | @@ -752,7 +752,8 @@ AC_CHECK_HEADERS([assert.h crt_externs.h]) | ||
| 23 | # truncate - not in mingw | ||
| 24 | # isblank - available as a GNU extension or in C99 | ||
| 25 | # _NSGetEnviron - Darwin specific | ||
| 26 | -# strcoll_l, newlocale - GNU extensions (glibc), also available on Darwin | ||
| 27 | +# strcoll_l, newlocale, strtol_l - GNU extensions (glibc), | ||
| 28 | +# also available on Darwin | ||
| 29 | # fork - unavailable on Windows | ||
| 30 | # utimensat - posix.1-2008 | ||
| 31 | # sched_getaffinity, sched_setaffinity - GNU extensions (glibc) | ||
| 32 | @@ -768,7 +769,7 @@ AC_CHECK_FUNCS([DINFINITY DQNAN cexp chsize clog clog10 ctermid \ | ||
| 33 | getgrent kill getppid getpgrp fork setitimer getitimer strchr strcmp \ | ||
| 34 | index bcopy memcpy rindex truncate unsetenv isblank _NSGetEnviron \ | ||
| 35 | strcoll strcoll_l newlocale utimensat sched_getaffinity \ | ||
| 36 | - sched_setaffinity sendfile]) | ||
| 37 | + sched_setaffinity sendfile strtol_l]) | ||
| 38 | |||
| 39 | AM_CONDITIONAL([BUILD_ICE_9_POPEN], | ||
| 40 | [test "x$enable_posix" = "xyes" && test "x$ac_cv_func_fork" = "xyes"]) | ||
| 41 | diff --git a/libguile/i18n.c b/libguile/i18n.c | ||
| 42 | index 97d44b0..9fb6976 100644 | ||
| 43 | --- a/libguile/i18n.c | ||
| 44 | +++ b/libguile/i18n.c | ||
| 45 | @@ -1352,7 +1352,7 @@ SCM_DEFINE (scm_locale_string_to_integer, "locale-string->integer", | ||
| 46 | |||
| 47 | if (c_locale != NULL) | ||
| 48 | { | ||
| 49 | -#ifdef USE_GNU_LOCALE_API | ||
| 50 | +#if defined(USE_GNU_LOCALE_API) && defined(HAVE_STRTOL_L) | ||
| 51 | c_result = strtol_l (c_str, &c_endptr, c_base, c_locale); | ||
| 52 | #else | ||
| 53 | RUN_IN_LOCALE_SECTION (c_locale, | ||
| 54 | -- | ||
| 55 | 2.7.0 | ||
| 56 | |||
diff --git a/meta/recipes-devtools/guile/guile_2.0.11.bb b/meta/recipes-devtools/guile/guile_2.0.11.bb index 413c81daac..6815e257d9 100644 --- a/meta/recipes-devtools/guile/guile_2.0.11.bb +++ b/meta/recipes-devtools/guile/guile_2.0.11.bb | |||
| @@ -24,6 +24,7 @@ SRC_URI = "${GNU_MIRROR}/guile/guile-${PV}.tar.xz \ | |||
| 24 | file://libguile-Makefile.am-hook.patch \ | 24 | file://libguile-Makefile.am-hook.patch \ |
| 25 | file://libguile-VM-ASM_MUL-for-ARM-Add-earlyclobber.patch \ | 25 | file://libguile-VM-ASM_MUL-for-ARM-Add-earlyclobber.patch \ |
| 26 | file://remove_strcase_l_funcs.patch \ | 26 | file://remove_strcase_l_funcs.patch \ |
| 27 | file://0001-libguile-Check-for-strtol_l-during-configure.patch \ | ||
| 27 | " | 28 | " |
| 28 | 29 | ||
| 29 | # file://debian/0001-Change-guile-to-guile-X.Y-for-info-pages.patch | 30 | # file://debian/0001-Change-guile-to-guile-X.Y-for-info-pages.patch |
| @@ -52,6 +53,13 @@ EXTRA_OECONF_append_class-target = " --with-libunistring-prefix=${STAGING_LIBDIR | |||
| 52 | --with-libgmp-prefix=${STAGING_LIBDIR} \ | 53 | --with-libgmp-prefix=${STAGING_LIBDIR} \ |
| 53 | --with-libltdl-prefix=${STAGING_LIBDIR}" | 54 | --with-libltdl-prefix=${STAGING_LIBDIR}" |
| 54 | EXTRA_OECONF_append_libc-uclibc = " guile_cv_use_csqrt=no " | 55 | EXTRA_OECONF_append_libc-uclibc = " guile_cv_use_csqrt=no " |
| 56 | |||
| 57 | CFLAGS_append_libc-musl = " -DHAVE_GC_SET_FINALIZER_NOTIFIER \ | ||
| 58 | -DHAVE_GC_GET_HEAP_USAGE_SAFE \ | ||
| 59 | -DHAVE_GC_GET_FREE_SPACE_DIVISOR \ | ||
| 60 | -DHAVE_GC_SET_FINALIZE_ON_DEMAND \ | ||
| 61 | " | ||
| 62 | |||
| 55 | do_configure_prepend() { | 63 | do_configure_prepend() { |
| 56 | mkdir -p po | 64 | mkdir -p po |
| 57 | } | 65 | } |
| @@ -77,6 +85,10 @@ do_install_append_class-target() { | |||
| 77 | sed -i -e 's:${STAGING_DIR_TARGET}::g' ${D}${libdir}/pkgconfig/guile-2.0.pc | 85 | sed -i -e 's:${STAGING_DIR_TARGET}::g' ${D}${libdir}/pkgconfig/guile-2.0.pc |
| 78 | } | 86 | } |
| 79 | 87 | ||
| 88 | do_install_append_libc-musl() { | ||
| 89 | rm -f ${D}${libdir}/charset.alias | ||
| 90 | } | ||
| 91 | |||
| 80 | SYSROOT_PREPROCESS_FUNCS = "guile_cross_config" | 92 | SYSROOT_PREPROCESS_FUNCS = "guile_cross_config" |
| 81 | 93 | ||
| 82 | guile_cross_config() { | 94 | guile_cross_config() { |
