summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-devtools/gcc/gcc-common.inc51
-rw-r--r--meta/recipes-devtools/gcc/gcc-configure-common.inc1
-rw-r--r--meta/recipes-devtools/gcc/gcc-shared-source.inc6
-rw-r--r--meta/recipes-devtools/gcc/gcc-source.inc34
-rw-r--r--meta/recipes-devtools/gcc/gcc-source_4.8.bb2
-rw-r--r--meta/recipes-devtools/gcc/gcc-source_4.9.bb2
-rw-r--r--meta/recipes-devtools/gcc/libgcc-common.inc2
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 \
79${GNU_MIRROR}/gcc http://gcc.get-software.com/releases/ \n \ 79${GNU_MIRROR}/gcc http://gcc.get-software.com/releases/ \n \
80${GNU_MIRROR}/gcc http://gcc.get-software.com/releases/ \n \ 80${GNU_MIRROR}/gcc http://gcc.get-software.com/releases/ \n \
81" 81"
82
83python do_preconfigure () {
84 import subprocess
85 cmd = d.expand('PATH=${PATH} cd ${S} && gnu-configize')
86 subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
87 # See 0044-gengtypes.patch, we need to regenerate this file
88 bb.utils.remove(d.expand("${S}/gcc/gengtype-lex.c"))
89 cmd = d.expand("sed -i 's/BUILD_INFO=info/BUILD_INFO=/' ${S}/gcc/configure")
90 subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
91}
92addtask do_preconfigure after do_patch before do_configure
93do_preconfigure[depends] += "gnu-config-native:do_populate_sysroot autoconf-native:do_populate_sysroot"
94
95# 82#
96# Set some default values 83# Set some default values
97# 84#
@@ -101,48 +88,12 @@ BINV = "${PV}"
101S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" 88S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
102B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" 89B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
103 90
104# SS means Shared Stamps directory
105SS = "${TMPDIR}/stamps/work-shared/gcc-${PV}-${PR}"
106do_fetch[stamp-base] = "${SS}"
107do_unpack[stamp-base] = "${SS}"
108do_patch[stamp-base] = "${SS}"
109do_preconfigure[stamp-base] = "${SS}"
110SSCLEAN = "${TMPDIR}/stamps/work-shared/gcc-[0-9]*-*"
111do_fetch[stamp-base-clean] = "${SSCLEAN}"
112do_unpack[stamp-base-clean] = "${SSCLEAN}"
113do_unpack[umask] = "022"
114do_patch[stamp-base-clean] = "${SSCLEAN}"
115do_preconfigure[stamp-base-clean] = "${SSCLEAN}"
116
117# SW means Shared Work directory
118SW = "${TMPDIR}/work-shared/gcc-${PV}-${PR}"
119SSTATE_SWSPEC = "sstate:gcc::${PV}:${PR}::${SSTATE_VERSION}:"
120WORKDIR_task-unpack = "${SW}"
121WORKDIR_task-patch = "${SW}"
122WORKDIR_task-preconfigure = "${SW}"
123
124target_includedir ?= "${includedir}" 91target_includedir ?= "${includedir}"
125target_libdir ?= "${libdir}" 92target_libdir ?= "${libdir}"
126target_base_libdir ?= "${base_libdir}" 93target_base_libdir ?= "${base_libdir}"
127target_prefix ?= "${prefix}" 94target_prefix ?= "${prefix}"
128 95
129CLEANFUNCS += "workshared_clean" 96# We need to ensure that for the shared work directory, the do_patch signatures match
130# The do_clean should be exclusive since share ${S}
131do_clean[lockfiles] = "${SW}.clean.lock"
132
133python workshared_clean () {
134 """clear the source directory"""
135 dir = d.expand("${SW}")
136 bb.note("Removing " + dir)
137 oe.path.remove(dir)
138
139 """clear the the stamps in work-shared"""
140 dir = "%s.*" % bb.data.expand(d.getVarFlag('do_fetch', 'stamp-base', True), d)
141 bb.note("Removing " + dir)
142 oe.path.remove(dir)
143}
144
145# We need to ensure that for the shared work directory, the do_patch singatures match
146# The real WORKDIR location isn't a dependency for the shared workdir. 97# The real WORKDIR location isn't a dependency for the shared workdir.
147src_patches[vardepsexclude] = "WORKDIR" 98src_patches[vardepsexclude] = "WORKDIR"
148should_apply[vardepsexclude] += "PN" 99should_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 @@
1require gcc-multilib-config.inc 1require gcc-multilib-config.inc
2require gcc-shared-source.inc
2# 3#
3# Build the list of lanaguages to build. 4# Build the list of lanaguages to build.
4# 5#
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 @@
1deltask do_fetch
2deltask do_unpack
3deltask do_patch
4
5do_configure[depends] += "gcc-source:do_preconfigure"
6do_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 @@
1deltask do_configure
2deltask do_compile
3deltask do_package
4deltask do_package_write_rpm
5deltask do_package_write_ipk
6deltask do_package_write_deb
7deltask do_install
8deltask do_populate_sysroot
9deltask do_populate_lic
10deltask do_package_qa
11deltask do_packagedata
12deltask do_rm_work
13
14WORKDIR = "${TMPDIR}/work-shared/gcc-${PV}-${PR}"
15SSTATE_SWSPEC = "sstate:gcc::${PV}:${PR}::${SSTATE_VERSION}:"
16
17STAMP = "${STAMPS_DIR}/work-shared/gcc-${PV}-${PR}"
18STAMPCLEAN = "${STAMPS_DIR}/work-shared/gcc-[0-9]*-*"
19
20INHIBIT_DEFAULT_DEPS = "1"
21DEPENDS = ""
22
23python do_preconfigure () {
24 import subprocess
25 cmd = d.expand('PATH=${PATH} cd ${S} && gnu-configize')
26 subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
27 # See 0044-gengtypes.patch, we need to regenerate this file
28 bb.utils.remove(d.expand("${S}/gcc/gengtype-lex.c"))
29 cmd = d.expand("sed -i 's/BUILD_INFO=info/BUILD_INFO=/' ${S}/gcc/configure")
30 subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
31}
32addtask do_preconfigure after do_patch
33do_preconfigure[depends] += "gnu-config-native:do_populate_sysroot autoconf-native:do_populate_sysroot"
34
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 @@
1require recipes-devtools/gcc/gcc-${PV}.inc
2require 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 @@
1require recipes-devtools/gcc/gcc-${PV}.inc
2require 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 @@
1BPN = "libgcc" 1BPN = "libgcc"
2 2
3require gcc-shared-source.inc
4
3INHIBIT_DEFAULT_DEPS = "1" 5INHIBIT_DEFAULT_DEPS = "1"
4 6
5do_configure () { 7do_configure () {