diff options
Diffstat (limited to 'wrappers')
-rw-r--r-- | wrappers/Makefile | 4 | ||||
-rw-r--r-- | wrappers/README | 2 | ||||
-rw-r--r-- | wrappers/cross-ebuild | 7 | ||||
-rwxr-xr-x | wrappers/cross-emerge | 7 | ||||
-rwxr-xr-x | wrappers/cross-pkg-config | 8 | ||||
-rwxr-xr-x | wrappers/emerge-wrapper | 23 | ||||
-rw-r--r-- | wrappers/etc/portage/make.conf | 2 | ||||
-rw-r--r-- | wrappers/site/mipsel-linux-gnu | 8 |
8 files changed, 48 insertions, 13 deletions
diff --git a/wrappers/Makefile b/wrappers/Makefile index 031f099..a55c2bc 100644 --- a/wrappers/Makefile +++ b/wrappers/Makefile @@ -1,9 +1,8 @@ -# Copyright 2008-2010 Gentoo Foundation +# Copyright 2008-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 include ../settings.mk -PORTDIR ?= $(shell portageq envvar PORTDIR) FNAMES = cross-ebuild cross-emerge cross-fix-root cross-pkg-config emerge-wrapper SITEDIR = $(PREFIX)/share/crossdev/include/site ETC_SITEDIR = $(EPREFIX)/etc/crossdev/include/site @@ -24,6 +23,5 @@ install: sed -i -e s:@SITEDIR@:$(SITEDIR):g $(DESTDIR)$(SITEDIR)/config.site sed -i -e s:@ETC_SITEDIR@:$(ETC_SITEDIR):g $(DESTDIR)$(SITEDIR)/config.site mv $(DESTDIR)$(SITEDIR)/config.site $(DESTDIR)$(PREFIX)/share/ - ln -sf $(PORTDIR)/profiles/embedded $(DESTDIR)$(PREFIX)/share/crossdev/etc/portage/make.profile .PHONY: all install diff --git a/wrappers/README b/wrappers/README index 0ff42ac..9fdb2ae 100644 --- a/wrappers/README +++ b/wrappers/README @@ -1,2 +1,2 @@ Drop here your local overrides for autoconf cache variables. -See @PREFIX@/share/config.site for details. +See @PREFIX@/share/config.site.d/80crossdev.conf for details. diff --git a/wrappers/cross-ebuild b/wrappers/cross-ebuild index 6f47cb8..a520e18 100644 --- a/wrappers/cross-ebuild +++ b/wrappers/cross-ebuild @@ -19,11 +19,16 @@ fi : ${PORTAGE_CONFIGROOT=${SYSROOT}${EPREFIX}} export EPREFIX SYSROOT PORTAGE_CONFIGROOT -if [ -z "${CHOST}" ] || [ ! -d "${SYSROOT}" ] ; then +if [ -z "${CHOST}" ] ; then echo "cross-ebuild: CHOST is not set properly" exit 1 fi +if [ ! -d "${SYSROOT}" ] ; then + echo "cross-ebuild: ${SYSROOT} does not exist (is CHOST set properly?)" + exit 1 +fi + # Portage defaults CBUILD to CHOST, so we have to remove CHOST # from the env to get a "good" value for CBUILD query_vars="CBUILD CFLAGS CXXFLAGS CPPFLAGS LDFLAGS" diff --git a/wrappers/cross-emerge b/wrappers/cross-emerge index a85d41e..eb2d5b5 100755 --- a/wrappers/cross-emerge +++ b/wrappers/cross-emerge @@ -19,11 +19,16 @@ fi : ${PORTAGE_CONFIGROOT=${SYSROOT}${EPREFIX}} export EPREFIX SYSROOT PORTAGE_CONFIGROOT -if [ -z "${CHOST}" ] || [ ! -d "${SYSROOT}" ] ; then +if [ -z "${CHOST}" ] ; then echo "cross-emerge: CHOST is not set properly" exit 1 fi +if [ ! -d "${SYSROOT}" ] ; then + echo "cross-emerge: ${SYSROOT} does not exist (is CHOST set properly?)" + exit 1 +fi + # Portage defaults CBUILD to CHOST, so we have to remove CHOST # from the env to get a "good" value for CBUILD query_vars="CBUILD CFLAGS CXXFLAGS CPPFLAGS LDFLAGS" diff --git a/wrappers/cross-pkg-config b/wrappers/cross-pkg-config index f178147..eb4047f 100755 --- a/wrappers/cross-pkg-config +++ b/wrappers/cross-pkg-config @@ -95,6 +95,9 @@ fi export PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR%/} PKG_CONFIG_ESYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR}${PREFIX} +# https://github.com/pkgconf/pkgconf/issues/205 +export PKG_CONFIG_FDO_SYSROOT_RULES=1 + # # Some distributions pollute the pkg-config environment. # Time to pull a captain planet on them. @@ -112,12 +115,15 @@ var="LIBDIR_${ABI}" eval libdir=\${${var}} if [ -z "${libdir}" ] ; then # Fall back to probing the compiler. + ## TODO: CLANG FIX libdir=$(realpath "$(${CC:-${CHOST}-gcc} ${CFLAGS} ${LDFLAGS} -print-file-name=pkgconfig)/..") # Chopping the basename isn't exactly correct, but it's good enough for now. libdir=${libdir##*/} fi : ${libdir:=lib} -export PKG_CONFIG_SYSTEM_LIBRARY_PATH="${PREFIX}/usr/${libdir}:${PREFIX}/${libdir}" +export \ + PKG_CONFIG_SYSTEM_LIBRARY_PATH="${PKG_CONFIG_ESYSROOT_DIR}/usr/${libdir}:${PKG_CONFIG_ESYSROOT_DIR}/${libdir}" \ + PKG_CONFIG_SYSTEM_INCLUDE_PATH="${PKG_CONFIG_ESYSROOT_DIR}/usr/include" # # Set the pkg-config search paths to our staging directory. diff --git a/wrappers/emerge-wrapper b/wrappers/emerge-wrapper index 051948a..79c182e 100755 --- a/wrappers/emerge-wrapper +++ b/wrappers/emerge-wrapper @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2008-2010 Gentoo Foundation +# Copyright 2008-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 if [[ $1 == "--help" || $1 == "-h" ]] ; then @@ -37,6 +37,7 @@ cross_wrap_etc() setup_warning=false cp -a "${PREFIX}"/share/crossdev/etc ${SYSROOT}/ || return 1 + ln -snf "${MAIN_REPO_PATH}/profiles/embedded" "${SYSROOT}/etc/portage/make.profile" || return 1 local confs=( ${SYSROOT}/etc/portage/make.conf @@ -86,6 +87,26 @@ cross_wrap_etc() -e "s:__CBUILD__:${CBUILD}:g" \ "${confs[@]}" + if [[ "${LLVM}" == "yes" ]] ; then + cat <<-EOF >>${SYSROOT}/etc/portage/profile/make.defaults + AR=llvm-ar + AS=llvm-as + CC="${CHOST}-clang" + CROSS_COMPILE="${CHOST}-" + CXX="${CHOST}-clang++" + DLLTOOL=llvm-dlltool + HOSTCC="${CC:=clang}" + HOSTCXX="${CXX:=clang++}" + LD=ld.lld + LLVM=1 + NM=llvm-nm + OBJCOPY=llvm-objcopy + RANLIB=llvm-ranlib + READELF=llvm-readelf + STRIP=llvm-strip + EOF + fi + return 0 } diff --git a/wrappers/etc/portage/make.conf b/wrappers/etc/portage/make.conf index 59bf61e..b845ba6 100644 --- a/wrappers/etc/portage/make.conf +++ b/wrappers/etc/portage/make.conf @@ -9,7 +9,7 @@ ROOT=@GENTOO_PORTAGE_EPREFIX@/usr/${CHOST}/ ACCEPT_KEYWORDS="${ARCH} ~${ARCH}" -USE="${ARCH} -pam" +USE="${ARCH}" CFLAGS="-O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" diff --git a/wrappers/site/mipsel-linux-gnu b/wrappers/site/mipsel-linux-gnu index 42f82bf..c96fad1 100644 --- a/wrappers/site/mipsel-linux-gnu +++ b/wrappers/site/mipsel-linux-gnu @@ -109,14 +109,14 @@ cv_mono_sizeof_sunpath=108 mono_cv_uscore=${mono_cv_uscore=no} # general -ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes} +ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=no} ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes} ac_cv_func_memcmp_working=${ac_cv_func_memcmp_working=yes} -ac_cv_type_uid_t={ac_cv_type_uid_t=yes} +ac_cv_type_uid_t=${ac_cv_type_uid_t=yes} # bash -bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes} -bash_cv_sys_siglist=${bash_cv_sys_siglist=yes} +bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=no} +bash_cv_sys_siglist=${bash_cv_sys_siglist=no} # clamav clamav_av_func_working_snprintf_long=${clamav_av_func_working_snprintf_long=yes} |