mirror of
https://git.yoctoproject.org/poky
synced 2026-05-04 13:39:49 +02:00
Just when building on host which doesnt have libunistring on host guile fails the following configure test | configure: error: GNU libunistring is required, please install it. | Configure failed. The contents of all config.log files follows to aid debugging The reason is that its looking for libunistring dev files on build system, so lets point the configure into target sysroot, similar issue exist for libgmp, libltdl detection as well, fixed thusly Get rid of trailing whitespaces while here (From OE-Core rev: 9770ce87e1e09096bbfab19e646e2b8612efae8a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
112 lines
4.5 KiB
BlitzBasic
112 lines
4.5 KiB
BlitzBasic
SUMMARY = "Guile is the GNU Ubiquitous Intelligent Language for Extensions"
|
|
DESCRIPTION = "Guile is the GNU Ubiquitous Intelligent Language for Extensions,\
|
|
the official extension language for the GNU operating system.\
|
|
Guile is a library designed to help programmers create flexible applications.\
|
|
Using Guile in an application allows the application's functionality to be\
|
|
extended by users or other programmers with plug-ins, modules, or scripts.\
|
|
Guile provides what might be described as 'practical software freedom,'\
|
|
making it possible for users to customize an application to meet their\
|
|
needs without digging into the application's internals."
|
|
|
|
HOMEPAGE = "http://www.gnu.org/software/guile/"
|
|
SECTION = "devel"
|
|
LICENSE = "GPLv3"
|
|
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
|
|
|
|
SRC_URI = "${GNU_MIRROR}/guile/guile-${PV}.tar.xz \
|
|
file://debian/0002-Mark-Unused-modules-are-removed-gc-test-as-unresolve.patch \
|
|
file://debian/0003-Mark-mutex-with-owner-not-retained-threads-test-as-u.patch \
|
|
file://opensuse/guile-64bit.patch \
|
|
file://guile_2.0.6_fix_sed_error.patch \
|
|
file://arm_endianness.patch \
|
|
file://arm_aarch64.patch \
|
|
file://workaround-ice-ssa-corruption.patch \
|
|
file://libguile-Makefile.am-hook.patch \
|
|
file://libguile-VM-ASM_MUL-for-ARM-Add-earlyclobber.patch \
|
|
"
|
|
|
|
# file://debian/0001-Change-guile-to-guile-X.Y-for-info-pages.patch
|
|
# file://opensuse/guile-turn-off-gc-test.patch
|
|
|
|
SRC_URI[md5sum] = "03f1bce1a4983076d955003472306a13"
|
|
SRC_URI[sha256sum] = "aed0a4a6db4e310cbdfeb3613fa6f86fddc91ef624c1e3f8937a6304c69103e2"
|
|
|
|
|
|
inherit autotools gettext pkgconfig texinfo
|
|
BBCLASSEXTEND = "native"
|
|
|
|
DEPENDS = "libunistring bdwgc gmp libtool libffi ncurses readline"
|
|
# add guile-native only to the target recipe's DEPENDS
|
|
DEPENDS_append_class-target = " guile-native libatomics-ops"
|
|
|
|
RDEPENDS_${PN}_append_libc-glibc_class-target = "glibc-gconv-iso8859-1"
|
|
|
|
EXTRA_OECONF += "${@['--without-libltdl-prefix --without-libgmp-prefix --without-libreadline-prefix', ''][bb.data.inherits_class('native',d)]}"
|
|
|
|
EXTRA_OECONF_append_class-target = " --with-libunistring-prefix=${STAGING_LIBDIR} \
|
|
--with-libgmp-prefix=${STAGING_LIBDIR} \
|
|
--with-libltdl-prefix=${STAGING_LIBDIR}"
|
|
|
|
do_configure_prepend() {
|
|
mkdir -p po
|
|
}
|
|
|
|
export GUILE_FOR_BUILD="${BUILD_SYS}-guile"
|
|
|
|
do_compile_append() {
|
|
# just for target recipe
|
|
if [ "${PN}" = "guile" ]
|
|
then
|
|
sed -i -e s:${STAGING_DIR_TARGET}::g \
|
|
-e s:/${TARGET_SYS}::g \
|
|
-e s:-L/usr/lib::g \
|
|
-e s:-isystem/usr/include::g \
|
|
-e s:,/usr/lib:,\$\{libdir\}:g \
|
|
meta/guile-2.0.pc
|
|
fi
|
|
}
|
|
|
|
do_install_append_class-native() {
|
|
install -m 0755 ${D}${bindir}/guile ${D}${bindir}/${HOST_SYS}-guile
|
|
|
|
create_wrapper ${D}/${bindir}/guile \
|
|
GUILE_LOAD_PATH=${STAGING_DATADIR_NATIVE}/guile/2.0 \
|
|
GUILE_LOAD_COMPILED_PATH=${STAGING_LIBDIR_NATIVE}/guile/2.0/ccache
|
|
create_wrapper ${D}${bindir}/${HOST_SYS}-guile \
|
|
GUILE_LOAD_PATH=${STAGING_DATADIR_NATIVE}/guile/2.0 \
|
|
GUILE_LOAD_COMPILED_PATH=${STAGING_LIBDIR_NATIVE}/guile/2.0/ccache
|
|
}
|
|
|
|
SYSROOT_PREPROCESS_FUNCS = "guile_cross_config"
|
|
|
|
guile_cross_config() {
|
|
# this is only for target recipe
|
|
if [ "${PN}" = "guile" ]
|
|
then
|
|
# Create guile-config returning target values instead of native values
|
|
install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}
|
|
echo '#!'`which ${BUILD_SYS}-guile`$' \\\n--no-auto-compile -e main -s\n!#\n(define %guile-build-info '\'\( \
|
|
> ${B}/guile-config.cross
|
|
sed -n -e 's:^[ \t]*{[ \t]*": (:' \
|
|
-e 's:",[ \t]*": . ":' \
|
|
-e 's:" *}, *\\:"):' \
|
|
-e 's:^.*cachedir.*$::' \
|
|
-e '/^ (/p' \
|
|
< ${B}/libguile/libpath.h >> ${B}/guile-config.cross
|
|
echo '))' >> ${B}/guile-config.cross
|
|
cat ${B}/meta/guile-config >> ${B}/guile-config.cross
|
|
install ${B}/guile-config.cross ${STAGING_BINDIR_CROSS}/guile-config
|
|
fi
|
|
}
|
|
|
|
# Guile needs the compiled files to be newer than the source, and it won't
|
|
# auto-compile into the prefix even if it can write there, so touch them here as
|
|
# sysroot is managed.
|
|
SSTATEPOSTINSTFUNCS += "guile_sstate_postinst"
|
|
guile_sstate_postinst() {
|
|
if [ "${BB_CURRENTTASK}" = "populate_sysroot" -o "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]
|
|
then
|
|
find ${STAGING_DIR_TARGET}/${libdir}/guile/2.0/ccache -type f | xargs touch
|
|
fi
|
|
}
|