summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2007-11-12 11:25:30 +0000
committerRichard Purdie <richard@openedhand.com>2007-11-12 11:25:30 +0000
commit01d5da72d0bd5038ce4b6a211546a4ca3f8daffd (patch)
treeba1921d2beb66d9da21a5d6183c2c7db2bfc22a7
parent8c1871aabfd2b010152886cb5b48a0be84c2dc80 (diff)
downloadpoky-01d5da72d0bd5038ce4b6a211546a4ca3f8daffd.tar.gz
Rearrange staging to match target system layout. This is a major change and will require a full rebuild.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3123 311d38ba-8fff-0310-9ca6-ca027cbcb966
-rw-r--r--meta/classes/native.bbclass48
-rw-r--r--meta/conf/bitbake.conf71
-rw-r--r--meta/packages/apt/files/apt.conf2
-rw-r--r--meta/packages/binutils/binutils-cross.inc2
-rw-r--r--meta/packages/gcc/gcc3-build-cross.inc13
-rw-r--r--meta/packages/qemu/qemu-native_20070613.bb1
-rw-r--r--meta/packages/qemu/qemu-native_cvs.bb1
7 files changed, 61 insertions, 77 deletions
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index 104d5a49da..d40a5028c9 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -27,7 +27,7 @@ CPPFLAGS = "${BUILD_CPPFLAGS}"
27CFLAGS = "${BUILD_CFLAGS}" 27CFLAGS = "${BUILD_CFLAGS}"
28CXXFLAGS = "${BUILD_CFLAGS}" 28CXXFLAGS = "${BUILD_CFLAGS}"
29LDFLAGS = "${BUILD_LDFLAGS}" 29LDFLAGS = "${BUILD_LDFLAGS}"
30LDFLAGS_build-darwin = "-L${STAGING_DIR}/${BUILD_SYS}/lib " 30LDFLAGS_build-darwin = "-L${STAGING_LIBDIR_NATIVE} "
31 31
32STAGING_BINDIR = "${STAGING_BINDIR_NATIVE}" 32STAGING_BINDIR = "${STAGING_BINDIR_NATIVE}"
33STAGING_BINDIR_CROSS = "${STAGING_BINDIR_NATIVE}" 33STAGING_BINDIR_CROSS = "${STAGING_BINDIR_NATIVE}"
@@ -47,39 +47,33 @@ export AS = "${HOST_PREFIX}as"
47export RANLIB = "${HOST_PREFIX}ranlib" 47export RANLIB = "${HOST_PREFIX}ranlib"
48export STRIP = "${HOST_PREFIX}strip" 48export STRIP = "${HOST_PREFIX}strip"
49 49
50
51# Path prefixes 50# Path prefixes
52base_prefix = "${exec_prefix}" 51export base_prefix = "${STAGING_DIR_NATIVE}"
53prefix = "${STAGING_DIR}" 52export prefix = "${STAGING_DIR_NATIVE}${layout_prefix}"
54exec_prefix = "${STAGING_DIR}/${BUILD_ARCH}-${BUILD_OS}" 53export exec_prefix = "${STAGING_DIR_NATIVE}${layout_exec_prefix}"
55 54
56# Base paths 55# Base paths
57base_bindir = "${base_prefix}/bin" 56export base_bindir = "${STAGING_DIR_NATIVE}${layout_base_bindir}"
58base_sbindir = "${base_prefix}/bin" 57export base_sbindir = "${STAGING_DIR_NATIVE}${layout_base_sbindir}"
59base_libdir = "${base_prefix}/lib" 58export base_libdir = "${STAGING_DIR_NATIVE}${layout_base_libdir}"
60 59
61# Architecture independent paths 60# Architecture independent paths
62sysconfdir = "${prefix}/etc" 61export datadir = "${STAGING_DIR_NATIVE}${layout_datadir}"
63sharedstatedir = "${prefix}/com" 62export sysconfdir = "${STAGING_DIR_NATIVE}${layout_sysconfdir}"
64localstatedir = "${prefix}/var" 63export sharedstatedir = "${STAGING_DIR_NATIVE}${layout_sharedstatedir}"
65infodir = "${datadir}/info" 64export localstatedir = "${STAGING_DIR_NATIVE}${layout_localstatedir}"
66mandir = "${datadir}/man" 65export infodir = "${STAGING_DIR_NATIVE}${layout_infodir}"
67docdir = "${datadir}/doc" 66export mandir = "${STAGING_DIR_NATIVE}${layout_mandir}"
68servicedir = "${prefix}/srv" 67export docdir = "${STAGING_DIR_NATIVE}${layout_docdir}"
68export servicedir = "${STAGING_DIR_NATIVE}${layout_servicedir}"
69 69
70# Architecture dependent paths 70# Architecture dependent paths
71bindir = "${exec_prefix}/bin" 71export bindir = "${STAGING_DIR_NATIVE}${layout_bindir}"
72sbindir = "${exec_prefix}/bin" 72export sbindir = "${STAGING_DIR_NATIVE}${layout_sbindir}"
73libexecdir = "${exec_prefix}/libexec" 73export libexecdir = "${STAGING_DIR_NATIVE}${layout_libexecdir}"
74libdir = "${exec_prefix}/lib" 74export libdir = "${STAGING_DIR_NATIVE}${layout_libdir}"
75includedir = "${exec_prefix}/include" 75export includedir = "${STAGING_DIR_NATIVE}${layout_includedir}"
76oldincludedir = "${exec_prefix}/include" 76export oldincludedir = "${STAGING_DIR_NATIVE}${layout_includedir}"
77
78# Datadir is made arch dependent here, primarily
79# for autoconf macros, and other things that
80# may be manipulated to handle crosscompilation
81# issues.
82datadir = "${exec_prefix}/share"
83 77
84do_stage () { 78do_stage () {
85 if [ "${INHIBIT_NATIVE_STAGE_INSTALL}" != "1" ] 79 if [ "${INHIBIT_NATIVE_STAGE_INSTALL}" != "1" ]
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 8492c0d5db..523a33dd78 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -2,17 +2,14 @@
2# Standard target filesystem layout. 2# Standard target filesystem layout.
3################################################################## 3##################################################################
4 4
5# Note these currently match the existing staging layout but this
6# is planned to change, see the oe-dev mailing list
7
8# Path prefixes 5# Path prefixes
9layout_prefix = "" 6layout_prefix = "/usr"
10layout_exec_prefix = "" 7layout_exec_prefix = "/usr"
11layout_base_prefix = "" 8layout_base_prefix = ""
12 9
13# Base paths 10# Base paths
14layout_base_bindir = "${layout_base_prefix}/bin" 11layout_base_bindir = "${layout_base_prefix}/bin"
15layout_base_sbindir = "${layout_base_prefix}/bin" 12layout_base_sbindir = "${layout_base_prefix}/sbin"
16layout_base_libdir = "${layout_base_prefix}/lib" 13layout_base_libdir = "${layout_base_prefix}/lib"
17 14
18# Architecture independent paths 15# Architecture independent paths
@@ -27,7 +24,7 @@ layout_docdir = "${layout_datadir}/doc"
27 24
28# Architecture dependent paths 25# Architecture dependent paths
29layout_bindir = "${layout_exec_prefix}/bin" 26layout_bindir = "${layout_exec_prefix}/bin"
30layout_sbindir = "${layout_exec_prefix}/bin" 27layout_sbindir = "${layout_exec_prefix}/sbin"
31layout_libdir = "${layout_exec_prefix}/lib" 28layout_libdir = "${layout_exec_prefix}/lib"
32layout_includedir = "${layout_exec_prefix}/include" 29layout_includedir = "${layout_exec_prefix}/include"
33layout_libexecdir = "${layout_exec_prefix}/libexec" 30layout_libexecdir = "${layout_exec_prefix}/libexec"
@@ -38,31 +35,31 @@ layout_libexecdir = "${layout_exec_prefix}/libexec"
38 35
39# Path prefixes 36# Path prefixes
40export base_prefix = "" 37export base_prefix = ""
41export prefix = "/usr" 38export prefix = "${layout_prefix}"
42export exec_prefix = "${prefix}" 39export exec_prefix = "${layout_exec_prefix}"
43 40
44# Base paths 41# Base paths
45export base_bindir = "${base_prefix}/bin" 42export base_bindir = "${layout_base_bindir}"
46export base_sbindir = "${base_prefix}/sbin" 43export base_sbindir = "${layout_base_sbindir}"
47export base_libdir = "${base_prefix}/lib" 44export base_libdir = "${layout_base_libdir}"
48 45
49# Architecture independent paths 46# Architecture independent paths
50export datadir = "${prefix}/share" 47export datadir = "${layout_datadir}"
51export sysconfdir = "/etc" 48export sysconfdir = "${layout_sysconfdir}"
52export sharedstatedir = "${prefix}/com" 49export sharedstatedir = "${layout_sharedstatedir}"
53export localstatedir = "/var" 50export localstatedir = "${layout_localstatedir}"
54export infodir = "${datadir}/info" 51export infodir = "${layout_infodir}"
55export mandir = "${datadir}/man" 52export mandir = "${layout_mandir}"
56export docdir = "${datadir}/doc" 53export docdir = "${layout_docdir}"
57export servicedir = "/srv" 54export servicedir = "${layout_servicedir}"
58 55
59# Architecture dependent paths 56# Architecture dependent paths
60export bindir = "${exec_prefix}/bin" 57export bindir = "${layout_bindir}"
61export sbindir = "${exec_prefix}/sbin" 58export sbindir = "${layout_sbindir}"
62export libexecdir = "${exec_prefix}/libexec" 59export libexecdir = "${layout_libexecdir}"
63export libdir = "${exec_prefix}/lib" 60export libdir = "${layout_libdir}"
64export includedir = "${exec_prefix}/include" 61export includedir = "${layout_includedir}"
65export oldincludedir = "${exec_prefix}/include" 62export oldincludedir = "${layout_includedir}"
66 63
67################################################################## 64##################################################################
68# Architecture-dependent build variables. 65# Architecture-dependent build variables.
@@ -203,18 +200,18 @@ B = "${S}"
203STAGING_DIR = "${TMPDIR}/staging" 200STAGING_DIR = "${TMPDIR}/staging"
204 201
205STAGING_DIR_NATIVE = "${STAGING_DIR}/${BUILD_SYS}" 202STAGING_DIR_NATIVE = "${STAGING_DIR}/${BUILD_SYS}"
206STAGING_BINDIR_NATIVE = "${STAGING_DIR_NATIVE}/bin" 203STAGING_BINDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_bindir}"
207STAGING_BINDIR_CROSS = "${STAGING_DIR_NATIVE}/bin/${HOST_SYS}" 204STAGING_BINDIR_CROSS = "${STAGING_DIR_NATIVE}${layout_bindir}/${HOST_SYS}"
208STAGING_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}/lib" 205STAGING_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_libdir}"
209STAGING_INCDIR_NATIVE = "${STAGING_DIR_NATIVE}/include" 206STAGING_INCDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_includedir}"
210STAGING_ETCDIR_NATIVE = "${STAGING_DIR_NATIVE}/etc" 207STAGING_ETCDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_sysconfdir}"
211STAGING_DATADIR_NATIVE = "${STAGING_DIR_NATIVE}/share" 208STAGING_DATADIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_datadir}"
212 209
213STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_SYS}" 210STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_SYS}"
214STAGING_BINDIR = "${STAGING_DIR_HOST}/bin" 211STAGING_BINDIR = "${STAGING_DIR_HOST}${layout_bindir}"
215STAGING_LIBDIR = "${STAGING_DIR_HOST}/lib" 212STAGING_LIBDIR = "${STAGING_DIR_HOST}${layout_libdir}"
216STAGING_INCDIR = "${STAGING_DIR_HOST}/include" 213STAGING_INCDIR = "${STAGING_DIR_HOST}${layout_includedir}"
217STAGING_DATADIR = "${STAGING_DIR_HOST}/share" 214STAGING_DATADIR = "${STAGING_DIR_HOST}${layout_datadir}"
218STAGING_LOADER_DIR = "${STAGING_DIR_HOST}/loader" 215STAGING_LOADER_DIR = "${STAGING_DIR_HOST}/loader"
219STAGING_FIRMWARE_DIR = "${STAGING_DIR_HOST}/firmware" 216STAGING_FIRMWARE_DIR = "${STAGING_DIR_HOST}/firmware"
220STAGING_PYDIR = "${STAGING_DIR}/lib/python2.4" 217STAGING_PYDIR = "${STAGING_DIR}/lib/python2.4"
@@ -291,7 +288,7 @@ EXTRA_IMAGEDEPENDS = ""
291 288
292CROSS_DIR = "${TMPDIR}/cross" 289CROSS_DIR = "${TMPDIR}/cross"
293CROSS_DATADIR = "${CROSS_DIR}/share" 290CROSS_DATADIR = "${CROSS_DIR}/share"
294export PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_BINDIR_NATIVE}:${CROSS_DIR}/bin:" 291export PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${layout_sbindir}:${STAGING_BINDIR_NATIVE}:${CROSS_DIR}/bin:${STAGING_DIR_NATIVE}${layout_base_sbindir}:"
295 292
296################################################################## 293##################################################################
297# Build utility info. 294# Build utility info.
diff --git a/meta/packages/apt/files/apt.conf b/meta/packages/apt/files/apt.conf
index 9e90616465..2bd9ddbfaf 100644
--- a/meta/packages/apt/files/apt.conf
+++ b/meta/packages/apt/files/apt.conf
@@ -1,4 +1,4 @@
1Dir "${STAGING_DIR}/" 1Dir "${STAGING_DIR_NATIVE}/"
2{ 2{
3 State "var/lib/apt/" 3 State "var/lib/apt/"
4 { 4 {
diff --git a/meta/packages/binutils/binutils-cross.inc b/meta/packages/binutils/binutils-cross.inc
index c63ea687aa..a45a39feab 100644
--- a/meta/packages/binutils/binutils-cross.inc
+++ b/meta/packages/binutils/binutils-cross.inc
@@ -3,7 +3,7 @@ inherit cross
3DEPENDS += "flex-native bison-native" 3DEPENDS += "flex-native bison-native"
4PROVIDES = "virtual/${TARGET_PREFIX}binutils" 4PROVIDES = "virtual/${TARGET_PREFIX}binutils"
5PACKAGES = "" 5PACKAGES = ""
6EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \ 6EXTRA_OECONF = "--with-sysroot=${STAGING_DIR_TARGET} \
7 --program-prefix=${TARGET_PREFIX}" 7 --program-prefix=${TARGET_PREFIX}"
8 8
9do_stage () { 9do_stage () {
diff --git a/meta/packages/gcc/gcc3-build-cross.inc b/meta/packages/gcc/gcc3-build-cross.inc
index ec285f522b..2b9766975c 100644
--- a/meta/packages/gcc/gcc3-build-cross.inc
+++ b/meta/packages/gcc/gcc3-build-cross.inc
@@ -1,7 +1,9 @@
1USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}' 1USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}'
2 2
3EXTRA_OECONF_PATHS = "--with-local-prefix=${STAGING_DIR}/${TARGET_SYS} \ 3EXTRA_OECONF_PATHS = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \
4 --with-gxx-include-dir=${STAGING_DIR}/${TARGET_SYS}/include/c++" 4 --with-gxx-include-dir=${STAGING_DIR_TARGET}/${layout_includedir}/c++ \
5 --with-sysroot=${STAGING_DIR_TARGET} \
6 --with-build-sysroot=${STAGING_DIR_TARGET}"
5 7
6do_configure_prepend () { 8do_configure_prepend () {
7 rm -f ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a 9 rm -f ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
@@ -25,13 +27,6 @@ do_stage_append () {
25 rm -f ${CROSS_DIR}/bin/*gcov 27 rm -f ${CROSS_DIR}/bin/*gcov
26 rm -f ${CROSS_DIR}/bin/*gccbug 28 rm -f ${CROSS_DIR}/bin/*gccbug
27 29
28 # Fix a few include links so cross builds are happier
29 if [ ! -e ${STAGING_INCDIR}/c++ ]; then
30 mkdir -p ${STAGING_INCDIR}
31 ln -sf ${CROSS_DIR}/${TARGET_SYS}/include/c++ \
32 ${STAGING_INCDIR}/
33 fi
34
35 # We use libiberty from binutils 30 # We use libiberty from binutils
36 rm -f ${CROSS_DIR}/lib/libiberty.a 31 rm -f ${CROSS_DIR}/lib/libiberty.a
37 32
diff --git a/meta/packages/qemu/qemu-native_20070613.bb b/meta/packages/qemu/qemu-native_20070613.bb
index a6a5bda58d..28373e273e 100644
--- a/meta/packages/qemu/qemu-native_20070613.bb
+++ b/meta/packages/qemu/qemu-native_20070613.bb
@@ -1,6 +1,5 @@
1require qemu_${PV}.bb 1require qemu_${PV}.bb
2inherit native 2inherit native
3DEPENDS = "zlib-native" 3DEPENDS = "zlib-native"
4prefix = "${STAGING_DIR}/${BUILD_SYS}"
5 4
6require qemu-gcc3-check.inc 5require qemu-gcc3-check.inc
diff --git a/meta/packages/qemu/qemu-native_cvs.bb b/meta/packages/qemu/qemu-native_cvs.bb
index fae6ca2f1b..c87d45b601 100644
--- a/meta/packages/qemu/qemu-native_cvs.bb
+++ b/meta/packages/qemu/qemu-native_cvs.bb
@@ -1,6 +1,5 @@
1require qemu_cvs.bb 1require qemu_cvs.bb
2inherit native 2inherit native
3DEPENDS = "zlib-native" 3DEPENDS = "zlib-native"
4prefix = "${STAGING_DIR}/${BUILD_SYS}"
5 4
6require qemu-gcc3-check.inc 5require qemu-gcc3-check.inc