diff options
Diffstat (limited to 'meta/recipes-devtools/gcc')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-common.inc | 51 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-configure-common.inc | 1 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-shared-source.inc | 6 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-source.inc | 34 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-source_4.8.bb | 2 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-source_4.9.bb | 2 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/libgcc-common.inc | 2 |
7 files changed, 48 insertions, 50 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc index 9d41f651ed..04c701a974 100644 --- a/meta/recipes-devtools/gcc/gcc-common.inc +++ b/meta/recipes-devtools/gcc/gcc-common.inc @@ -79,19 +79,6 @@ ${GNU_MIRROR}/gcc http://mirrors.rcn.net/pub/sourceware/gcc/releases/ \n \ ${GNU_MIRROR}/gcc http://gcc.get-software.com/releases/ \n \ ${GNU_MIRROR}/gcc http://gcc.get-software.com/releases/ \n \ " - -python do_preconfigure () { - import subprocess - cmd = d.expand('PATH=${PATH} cd ${S} && gnu-configize') - subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) - # See 0044-gengtypes.patch, we need to regenerate this file - bb.utils.remove(d.expand("${S}/gcc/gengtype-lex.c")) - cmd = d.expand("sed -i 's/BUILD_INFO=info/BUILD_INFO=/' ${S}/gcc/configure") - subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) -} -addtask do_preconfigure after do_patch before do_configure -do_preconfigure[depends] += "gnu-config-native:do_populate_sysroot autoconf-native:do_populate_sysroot" - # # Set some default values # @@ -101,48 +88,12 @@ BINV = "${PV}" S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" -# SS means Shared Stamps directory -SS = "${TMPDIR}/stamps/work-shared/gcc-${PV}-${PR}" -do_fetch[stamp-base] = "${SS}" -do_unpack[stamp-base] = "${SS}" -do_patch[stamp-base] = "${SS}" -do_preconfigure[stamp-base] = "${SS}" -SSCLEAN = "${TMPDIR}/stamps/work-shared/gcc-[0-9]*-*" -do_fetch[stamp-base-clean] = "${SSCLEAN}" -do_unpack[stamp-base-clean] = "${SSCLEAN}" -do_unpack[umask] = "022" -do_patch[stamp-base-clean] = "${SSCLEAN}" -do_preconfigure[stamp-base-clean] = "${SSCLEAN}" - -# SW means Shared Work directory -SW = "${TMPDIR}/work-shared/gcc-${PV}-${PR}" -SSTATE_SWSPEC = "sstate:gcc::${PV}:${PR}::${SSTATE_VERSION}:" -WORKDIR_task-unpack = "${SW}" -WORKDIR_task-patch = "${SW}" -WORKDIR_task-preconfigure = "${SW}" - target_includedir ?= "${includedir}" target_libdir ?= "${libdir}" target_base_libdir ?= "${base_libdir}" target_prefix ?= "${prefix}" -CLEANFUNCS += "workshared_clean" -# The do_clean should be exclusive since share ${S} -do_clean[lockfiles] = "${SW}.clean.lock" - -python workshared_clean () { - """clear the source directory""" - dir = d.expand("${SW}") - bb.note("Removing " + dir) - oe.path.remove(dir) - - """clear the the stamps in work-shared""" - dir = "%s.*" % bb.data.expand(d.getVarFlag('do_fetch', 'stamp-base', True), d) - bb.note("Removing " + dir) - oe.path.remove(dir) -} - -# We need to ensure that for the shared work directory, the do_patch singatures match +# We need to ensure that for the shared work directory, the do_patch signatures match # The real WORKDIR location isn't a dependency for the shared workdir. src_patches[vardepsexclude] = "WORKDIR" should_apply[vardepsexclude] += "PN" diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc index f33678c75a..0693118992 100644 --- a/meta/recipes-devtools/gcc/gcc-configure-common.inc +++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc @@ -1,4 +1,5 @@ require gcc-multilib-config.inc +require gcc-shared-source.inc # # Build the list of lanaguages to build. # diff --git a/meta/recipes-devtools/gcc/gcc-shared-source.inc b/meta/recipes-devtools/gcc/gcc-shared-source.inc new file mode 100644 index 0000000000..ec30865c6a --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-shared-source.inc @@ -0,0 +1,6 @@ +deltask do_fetch +deltask do_unpack +deltask do_patch + +do_configure[depends] += "gcc-source:do_preconfigure" +do_populate_lic[depends] += "gcc-source:do_unpack" diff --git a/meta/recipes-devtools/gcc/gcc-source.inc b/meta/recipes-devtools/gcc/gcc-source.inc new file mode 100644 index 0000000000..968830aa35 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-source.inc @@ -0,0 +1,34 @@ +deltask do_configure +deltask do_compile +deltask do_package +deltask do_package_write_rpm +deltask do_package_write_ipk +deltask do_package_write_deb +deltask do_install +deltask do_populate_sysroot +deltask do_populate_lic +deltask do_package_qa +deltask do_packagedata +deltask do_rm_work + +WORKDIR = "${TMPDIR}/work-shared/gcc-${PV}-${PR}" +SSTATE_SWSPEC = "sstate:gcc::${PV}:${PR}::${SSTATE_VERSION}:" + +STAMP = "${STAMPS_DIR}/work-shared/gcc-${PV}-${PR}" +STAMPCLEAN = "${STAMPS_DIR}/work-shared/gcc-[0-9]*-*" + +INHIBIT_DEFAULT_DEPS = "1" +DEPENDS = "" + +python do_preconfigure () { + import subprocess + cmd = d.expand('PATH=${PATH} cd ${S} && gnu-configize') + subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) + # See 0044-gengtypes.patch, we need to regenerate this file + bb.utils.remove(d.expand("${S}/gcc/gengtype-lex.c")) + cmd = d.expand("sed -i 's/BUILD_INFO=info/BUILD_INFO=/' ${S}/gcc/configure") + subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True) +} +addtask do_preconfigure after do_patch +do_preconfigure[depends] += "gnu-config-native:do_populate_sysroot autoconf-native:do_populate_sysroot" + diff --git a/meta/recipes-devtools/gcc/gcc-source_4.8.bb b/meta/recipes-devtools/gcc/gcc-source_4.8.bb new file mode 100644 index 0000000000..234b82efc6 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-source_4.8.bb @@ -0,0 +1,2 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require recipes-devtools/gcc/gcc-source.inc diff --git a/meta/recipes-devtools/gcc/gcc-source_4.9.bb b/meta/recipes-devtools/gcc/gcc-source_4.9.bb new file mode 100644 index 0000000000..234b82efc6 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-source_4.9.bb @@ -0,0 +1,2 @@ +require recipes-devtools/gcc/gcc-${PV}.inc +require recipes-devtools/gcc/gcc-source.inc diff --git a/meta/recipes-devtools/gcc/libgcc-common.inc b/meta/recipes-devtools/gcc/libgcc-common.inc index c81a80c6de..1e1e1c11fd 100644 --- a/meta/recipes-devtools/gcc/libgcc-common.inc +++ b/meta/recipes-devtools/gcc/libgcc-common.inc @@ -1,5 +1,7 @@ BPN = "libgcc" +require gcc-shared-source.inc + INHIBIT_DEFAULT_DEPS = "1" do_configure () { |