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 () { |
