diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-07-22 13:08:58 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-07-25 12:06:30 +0100 |
commit | dffe253336f4cc1999ad2a2323d346bfa5f22047 (patch) | |
tree | 35d54bca59f409cd5970c45b835df75c64887453 /meta | |
parent | eea4bd731ef286516ee1fb934fe2222a09c06e70 (diff) | |
download | poky-dffe253336f4cc1999ad2a2323d346bfa5f22047.tar.gz |
bitbake.conf/cross.bbclass: Add ability to dynamically change library location
Add the ability to dynamically change the library directory from "lib" to
other values. This allows the tune files to specifiy altnerative ABIs
which can be dynamically enabled by the multilib BBCLASSEXTEND code.
A variety of approaches have been attempted with this, the immediate
expansions in cross.bbclass being problematic as they are they are expanded
before the bbclass extend event hander runs. This approach ensures the
${baselib} variable is retained in the expressions resolving that complication.
Derived from some ideas from Mark Hatle.
(From OE-Core rev: aeea22da699b276a97ca1a17e3c53176c9afd9de)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/cross.bbclass | 7 | ||||
-rw-r--r-- | meta/conf/bitbake.conf | 15 |
2 files changed, 14 insertions, 8 deletions
diff --git a/meta/classes/cross.bbclass b/meta/classes/cross.bbclass index f9fd07a9a2..81358ec8dd 100644 --- a/meta/classes/cross.bbclass +++ b/meta/classes/cross.bbclass | |||
@@ -38,11 +38,12 @@ DEPENDS_GETTEXT = "gettext-native" | |||
38 | # Path mangling needed by the cross packaging | 38 | # Path mangling needed by the cross packaging |
39 | # Note that we use := here to ensure that libdir and includedir are | 39 | # Note that we use := here to ensure that libdir and includedir are |
40 | # target paths. | 40 | # target paths. |
41 | target_libdir := "${libdir}" | 41 | target_base_prefix := "${base_prefix}" |
42 | target_includedir := "${includedir}" | ||
43 | target_base_libdir := "${base_libdir}" | ||
44 | target_prefix := "${prefix}" | 42 | target_prefix := "${prefix}" |
45 | target_exec_prefix := "${exec_prefix}" | 43 | target_exec_prefix := "${exec_prefix}" |
44 | target_base_libdir = "${target_base_prefix}/${baselib}" | ||
45 | target_libdir = "${target_exec_prefix}/${baselib}" | ||
46 | target_includedir := "${includedir}" | ||
46 | 47 | ||
47 | # Overrides for paths | 48 | # Overrides for paths |
48 | CROSS_TARGET_SYS_DIR = "${MULTIMACH_TARGET_SYS}" | 49 | CROSS_TARGET_SYS_DIR = "${MULTIMACH_TARGET_SYS}" |
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 975e24c071..e768df5f7f 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf | |||
@@ -1,6 +1,13 @@ | |||
1 | ################################################################## | 1 | ################################################################## |
2 | # Standard target filesystem paths. | 2 | # Standard target filesystem paths. |
3 | ################################################################## | 3 | ################################################################## |
4 | # | ||
5 | # If changing these values, beware that native/cross/nativesdk bbclass | ||
6 | # files may also need changes to keep in sync. | ||
7 | # | ||
8 | |||
9 | # Used by multilib code to change the library paths | ||
10 | baselib = "lib" | ||
4 | 11 | ||
5 | # Path prefixes | 12 | # Path prefixes |
6 | export base_prefix = "" | 13 | export base_prefix = "" |
@@ -10,7 +17,7 @@ export exec_prefix = "/usr" | |||
10 | # Base paths | 17 | # Base paths |
11 | export base_bindir = "${base_prefix}/bin" | 18 | export base_bindir = "${base_prefix}/bin" |
12 | export base_sbindir = "${base_prefix}/sbin" | 19 | export base_sbindir = "${base_prefix}/sbin" |
13 | export base_libdir = "${base_prefix}/lib" | 20 | export base_libdir = "${base_prefix}/${baselib}" |
14 | 21 | ||
15 | # Architecture independent paths | 22 | # Architecture independent paths |
16 | export datadir = "${prefix}/share" | 23 | export datadir = "${prefix}/share" |
@@ -26,13 +33,11 @@ export docdir = "${datadir}/doc" | |||
26 | export bindir = "${exec_prefix}/bin" | 33 | export bindir = "${exec_prefix}/bin" |
27 | export sbindir = "${exec_prefix}/sbin" | 34 | export sbindir = "${exec_prefix}/sbin" |
28 | export libexecdir = "${exec_prefix}/libexec" | 35 | export libexecdir = "${exec_prefix}/libexec" |
29 | export libdir = "${exec_prefix}/lib" | 36 | export libdir = "${exec_prefix}/${baselib}" |
30 | export includedir = "${exec_prefix}/include" | 37 | export includedir = "${exec_prefix}/include" |
31 | export oldincludedir = "${exec_prefix}/include" | 38 | export oldincludedir = "${exec_prefix}/include" |
32 | 39 | ||
33 | # | 40 | # Linkage between native/cross/nativesdk layouts |
34 | # These must match the various bbclass layout definitions | ||
35 | # | ||
36 | base_bindir_native = "/bin" | 41 | base_bindir_native = "/bin" |
37 | base_sbindir_native = "/sbin" | 42 | base_sbindir_native = "/sbin" |
38 | sysconfdir_native = "/etc" | 43 | sysconfdir_native = "/etc" |