mirror of
https://git.yoctoproject.org/poky
synced 2026-04-23 00:32:12 +02:00
gcc: Drop the -initial versions of the compiler
Separated out from the previous commit for clarity, this simply drops all the -inital pieces of gcc which are no longer needed after the previous commit. (From OE-Core rev: d84971928b68efddbdb6344b1021d998c9e26adb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -107,20 +107,6 @@ EXTRA_OECONF_BASE = "\
|
||||
--without-isl \
|
||||
"
|
||||
|
||||
EXTRA_OECONF_INITIAL = "\
|
||||
--disable-libmudflap \
|
||||
--disable-libgomp \
|
||||
--disable-libitm \
|
||||
--disable-libquadmath \
|
||||
--with-system-zlib \
|
||||
--disable-lto \
|
||||
--disable-plugin \
|
||||
--enable-linker-build-id \
|
||||
--enable-decimal-float=no \
|
||||
--without-isl \
|
||||
--disable-libssp \
|
||||
"
|
||||
|
||||
EXTRA_OECONF_PATHS = "\
|
||||
--with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \
|
||||
--with-sysroot=/not/exist \
|
||||
|
||||
@@ -10,12 +10,11 @@ CVE_PRODUCT = "gcc"
|
||||
inherit autotools gettext texinfo
|
||||
|
||||
BPN = "gcc"
|
||||
COMPILERINITIAL = ""
|
||||
COMPILERDEP = "virtual/${MLPREFIX}${TARGET_PREFIX}gcc${COMPILERINITIAL}:do_gcc_stash_builddir"
|
||||
COMPILERDEP_class-nativesdk = "virtual/${TARGET_PREFIX}gcc${COMPILERINITIAL}-crosssdk:do_gcc_stash_builddir"
|
||||
COMPILERDEP = "virtual/${MLPREFIX}${TARGET_PREFIX}gcc:do_gcc_stash_builddir"
|
||||
COMPILERDEP_class-nativesdk = "virtual/${TARGET_PREFIX}gcc-crosssdk:do_gcc_stash_builddir"
|
||||
|
||||
python extract_stashed_builddir () {
|
||||
src = d.expand("${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir${COMPILERINITIAL}-${TARGET_SYS}")
|
||||
src = d.expand("${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir-${TARGET_SYS}")
|
||||
dest = d.getVar("B")
|
||||
oe.path.copyhardlinktree(src, dest)
|
||||
staging_processfixme([src + "/fixmepath"], dest, dest, dest, d)
|
||||
|
||||
@@ -17,7 +17,6 @@ LANGUAGES ?= "c,c++${FORTRAN}${JAVA}"
|
||||
|
||||
EXTRA_OECONF_BASE ?= ""
|
||||
EXTRA_OECONF_PATHS ?= ""
|
||||
EXTRA_OECONF_INITIAL ?= ""
|
||||
|
||||
GCCMULTILIB ?= "--disable-multilib"
|
||||
GCCTHREADS ?= "posix"
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
DEPENDS = "virtual/${TARGET_PREFIX}binutils ${NATIVEDEPS}"
|
||||
PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
|
||||
PACKAGES = ""
|
||||
|
||||
INHIBIT_AUTOTOOLS_DEPS = "1"
|
||||
INHIBIT_DEFAULT_DEPS = "1"
|
||||
|
||||
# We still need gnu-config-native
|
||||
DEPENDS_prepend = "gnu-config-native autoconf-native "
|
||||
|
||||
PN = "gcc-cross-initial-${TARGET_ARCH}"
|
||||
|
||||
CROSS_TARGET_SYS_DIR_append = ".${PN}"
|
||||
|
||||
# This is intended to be a -very- basic config
|
||||
# sysroot is needed in case we use libc-initial
|
||||
EXTRA_OECONF = "\
|
||||
--with-newlib \
|
||||
--without-headers \
|
||||
--disable-shared \
|
||||
--disable-threads \
|
||||
--disable-multilib \
|
||||
--disable-__cxa_atexit \
|
||||
--enable-languages=c \
|
||||
--program-prefix=${TARGET_PREFIX} \
|
||||
--with-sysroot=/not/exist \
|
||||
--with-build-sysroot=${STAGING_DIR_TARGET} \
|
||||
${EXTRA_OECONF_INITIAL} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '--with-ld=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}ld.bfd', '', d)} \
|
||||
${EXTRA_OECONF_GCC_FLOAT} \
|
||||
${@get_gcc_ppc_plt_settings(bb, d)} \
|
||||
"
|
||||
|
||||
EXTRA_OECONF += "--with-native-system-header-dir=${SYSTEMHEADERS}"
|
||||
|
||||
do_compile () {
|
||||
oe_runmake all-gcc configure-target-libgcc
|
||||
(cd ${B}/${TARGET_SYS}/libgcc; oe_runmake enable-execute-stack.c unwind.h md-unwind-support.h sfp-machine.h gthr-default.h)
|
||||
}
|
||||
|
||||
do_install () {
|
||||
( cd ${B}/${TARGET_SYS}/libgcc; oe_runmake 'DESTDIR=${D}' install-unwind_h-forbuild install-unwind_h)
|
||||
oe_runmake 'DESTDIR=${D}' install-gcc
|
||||
|
||||
# We don't really need this (here shares/ contains man/, info/, locale/).
|
||||
rm -rf ${D}${datadir}/
|
||||
|
||||
# We use libiberty from binutils
|
||||
find ${D}${exec_prefix}/lib -name libiberty.a | xargs rm -f
|
||||
find ${D}${exec_prefix}/lib -name libiberty.h | xargs rm -f
|
||||
|
||||
# Insert symlinks into libexec so when tools without a prefix are searched for, the correct ones are
|
||||
# found. These need to be relative paths so they work in different locations.
|
||||
dest=${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/
|
||||
install -d $dest
|
||||
useld=${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '.bfd', '', d)}
|
||||
ln -sf ${BINRELPATH}/${TARGET_PREFIX}ld${useld} ${dest}ld
|
||||
for t in ar as nm objcopy objdump ranlib strip g77 gcc cpp gfortran; do
|
||||
ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t $dest$t
|
||||
done
|
||||
# fixed limits.h infact includes the so called real limits.h
|
||||
# which should come from libc but when we build libc-initial
|
||||
# then bunch of configure tests include fixed limits.h which in turn
|
||||
# includes real limits.h but this real limits.h is not staged yet
|
||||
# so we overwirte the generated include-fixed/limits.h for gcc-cross-initial
|
||||
# to get rid references to real limits.h
|
||||
cp gcc/include-fixed/limits.h ${D}${gcclibdir}/${TARGET_SYS}/${BINV}/include/limits.h
|
||||
}
|
||||
#
|
||||
# Override the default sysroot staging copy since this won't look like a target system
|
||||
#
|
||||
sysroot_stage_all() {
|
||||
sysroot_stage_dir ${D} ${SYSROOT_DESTDIR}
|
||||
install -d ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir}/
|
||||
install -d ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir}/
|
||||
mv ${SYSROOT_DESTDIR}${target_base_libdir}/* ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir}/ || true
|
||||
mv ${SYSROOT_DESTDIR}${target_libdir}/* ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir}/ || true
|
||||
}
|
||||
|
||||
do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_HOST}/"
|
||||
do_populate_sysroot[sstate-outputdirs] = "${COMPONENTS_DIR}/${PACKAGE_ARCH}/${PN}"
|
||||
|
||||
inherit nopackages
|
||||
|
||||
COMPILERINITIAL = "-initial"
|
||||
|
||||
|
||||
# We really only want this built by things that need it, not any recrdeptask
|
||||
deltask do_build
|
||||
@@ -1,2 +0,0 @@
|
||||
require recipes-devtools/gcc/gcc-cross_${PV}.bb
|
||||
require gcc-cross-initial.inc
|
||||
@@ -215,8 +215,8 @@ do_gcc_stash_builddir () {
|
||||
addtask do_gcc_stash_builddir after do_compile before do_install
|
||||
SSTATETASKS += "do_gcc_stash_builddir"
|
||||
do_gcc_stash_builddir[sstate-inputdirs] = "${BUILDDIRSTASH}"
|
||||
do_gcc_stash_builddir[sstate-outputdirs] = "${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir${COMPILERINITIAL}-${TARGET_SYS}"
|
||||
do_gcc_stash_builddir[sstate-fixmedir] = "${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir${COMPILERINITIAL}-${TARGET_SYS}"
|
||||
do_gcc_stash_builddir[sstate-outputdirs] = "${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir-${TARGET_SYS}"
|
||||
do_gcc_stash_builddir[sstate-fixmedir] = "${COMPONENTS_DIR}/${BUILD_ARCH}/gcc-stashed-builddir-${TARGET_SYS}"
|
||||
|
||||
python do_gcc_stash_builddir_setscene () {
|
||||
sstate_setscene(d)
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
inherit crosssdk
|
||||
|
||||
PN = "gcc-crosssdk-initial-${SDK_SYS}"
|
||||
|
||||
SYSTEMHEADERS = "${SDKPATHNATIVE}${prefix_nativesdk}/include"
|
||||
SYSTEMLIBS = "${SDKPATHNATIVE}${base_libdir_nativesdk}/"
|
||||
SYSTEMLIBS1 = "${SDKPATHNATIVE}${libdir_nativesdk}/"
|
||||
|
||||
DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk gettext-native ${NATIVEDEPS}"
|
||||
PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial-crosssdk"
|
||||
@@ -1,3 +0,0 @@
|
||||
require recipes-devtools/gcc/gcc-cross-initial_${PV}.bb
|
||||
require gcc-crosssdk-initial.inc
|
||||
|
||||
@@ -8,5 +8,5 @@ SYSTEMLIBS1 = "${SDKPATHNATIVE}${libdir_nativesdk}/"
|
||||
|
||||
GCCMULTILIB = "--disable-multilib"
|
||||
|
||||
DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk virtual/nativesdk-${TARGET_PREFIX}libc-for-gcc gettext-native ${NATIVEDEPS}"
|
||||
DEPENDS = "virtual/${TARGET_PREFIX}binutils-crosssdk gettext-native ${NATIVEDEPS}"
|
||||
PROVIDES = "virtual/${TARGET_PREFIX}gcc-crosssdk virtual/${TARGET_PREFIX}g++-crosssdk"
|
||||
|
||||
Reference in New Issue
Block a user