diff options
-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 \ | |||
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 | |||
83 | python 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 | } | ||
92 | addtask do_preconfigure after do_patch before do_configure | ||
93 | do_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}" | |||
101 | S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" | 88 | S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}" |
102 | B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" | 89 | B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" |
103 | 90 | ||
104 | # SS means Shared Stamps directory | ||
105 | SS = "${TMPDIR}/stamps/work-shared/gcc-${PV}-${PR}" | ||
106 | do_fetch[stamp-base] = "${SS}" | ||
107 | do_unpack[stamp-base] = "${SS}" | ||
108 | do_patch[stamp-base] = "${SS}" | ||
109 | do_preconfigure[stamp-base] = "${SS}" | ||
110 | SSCLEAN = "${TMPDIR}/stamps/work-shared/gcc-[0-9]*-*" | ||
111 | do_fetch[stamp-base-clean] = "${SSCLEAN}" | ||
112 | do_unpack[stamp-base-clean] = "${SSCLEAN}" | ||
113 | do_unpack[umask] = "022" | ||
114 | do_patch[stamp-base-clean] = "${SSCLEAN}" | ||
115 | do_preconfigure[stamp-base-clean] = "${SSCLEAN}" | ||
116 | |||
117 | # SW means Shared Work directory | ||
118 | SW = "${TMPDIR}/work-shared/gcc-${PV}-${PR}" | ||
119 | SSTATE_SWSPEC = "sstate:gcc::${PV}:${PR}::${SSTATE_VERSION}:" | ||
120 | WORKDIR_task-unpack = "${SW}" | ||
121 | WORKDIR_task-patch = "${SW}" | ||
122 | WORKDIR_task-preconfigure = "${SW}" | ||
123 | |||
124 | target_includedir ?= "${includedir}" | 91 | target_includedir ?= "${includedir}" |
125 | target_libdir ?= "${libdir}" | 92 | target_libdir ?= "${libdir}" |
126 | target_base_libdir ?= "${base_libdir}" | 93 | target_base_libdir ?= "${base_libdir}" |
127 | target_prefix ?= "${prefix}" | 94 | target_prefix ?= "${prefix}" |
128 | 95 | ||
129 | CLEANFUNCS += "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} | ||
131 | do_clean[lockfiles] = "${SW}.clean.lock" | ||
132 | |||
133 | python 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. |
147 | src_patches[vardepsexclude] = "WORKDIR" | 98 | src_patches[vardepsexclude] = "WORKDIR" |
148 | should_apply[vardepsexclude] += "PN" | 99 | 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 @@ | |||
1 | require gcc-multilib-config.inc | 1 | require gcc-multilib-config.inc |
2 | require 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 @@ | |||
1 | deltask do_fetch | ||
2 | deltask do_unpack | ||
3 | deltask do_patch | ||
4 | |||
5 | do_configure[depends] += "gcc-source:do_preconfigure" | ||
6 | 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 @@ | |||
1 | deltask do_configure | ||
2 | deltask do_compile | ||
3 | deltask do_package | ||
4 | deltask do_package_write_rpm | ||
5 | deltask do_package_write_ipk | ||
6 | deltask do_package_write_deb | ||
7 | deltask do_install | ||
8 | deltask do_populate_sysroot | ||
9 | deltask do_populate_lic | ||
10 | deltask do_package_qa | ||
11 | deltask do_packagedata | ||
12 | deltask do_rm_work | ||
13 | |||
14 | WORKDIR = "${TMPDIR}/work-shared/gcc-${PV}-${PR}" | ||
15 | SSTATE_SWSPEC = "sstate:gcc::${PV}:${PR}::${SSTATE_VERSION}:" | ||
16 | |||
17 | STAMP = "${STAMPS_DIR}/work-shared/gcc-${PV}-${PR}" | ||
18 | STAMPCLEAN = "${STAMPS_DIR}/work-shared/gcc-[0-9]*-*" | ||
19 | |||
20 | INHIBIT_DEFAULT_DEPS = "1" | ||
21 | DEPENDS = "" | ||
22 | |||
23 | python 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 | } | ||
32 | addtask do_preconfigure after do_patch | ||
33 | do_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 @@ | |||
1 | require recipes-devtools/gcc/gcc-${PV}.inc | ||
2 | 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 @@ | |||
1 | require recipes-devtools/gcc/gcc-${PV}.inc | ||
2 | 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 @@ | |||
1 | BPN = "libgcc" | 1 | BPN = "libgcc" |
2 | 2 | ||
3 | require gcc-shared-source.inc | ||
4 | |||
3 | INHIBIT_DEFAULT_DEPS = "1" | 5 | INHIBIT_DEFAULT_DEPS = "1" |
4 | 6 | ||
5 | do_configure () { | 7 | do_configure () { |