Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/3] siteinfo.bbclass re-merge
@ 2011-07-13 19:05 Tom Rini
  2011-07-13 19:06 ` [PATCH 1/3] site/ix86-common: Fix ac_cv_sizeof_unsigned_char definition Tom Rini
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Tom Rini @ 2011-07-13 19:05 UTC (permalink / raw)
  To: openembedded-core

Hey all,

This is the second of two pull requests.  This doesn't depend on the first
request, it's just splitting changes up.  There's three changes here.  First,
site/ix86-common was setting the wrong value for unsigned int.  Second,
change perl to use SITEINFO variables rather than functions.  Third, bring
in the various changes in siteinfo.bbclass that have been in oe.dev.  This
last part will, I hope, also make dealing with multilib-specific siteinfo
stuff easier (also alternative ABIs like x32).

My next step is to work on merging and verifying as much as possible
the site files in oe-core and oe.dev.

The following changes since commit e66c2999afa2b3efbce8bb46c89f9db5e15f35c7:
  Saul Wold (1):
        libx11: ensure nativesdk uses correct DEPENDS and XCB flags

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib trini/update-siteinfo
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=trini/update-siteinfo

Tom Rini (3):
  site/ix86-common: Fix ac_cv_sizeof_unsigned_char definition
  perl: Use SITEINFO variables not functions
  siteinfo.bbclass: Port over oe.dev logic for site files

 meta/classes/autotools.bbclass             |    2 +-
 meta/classes/siteinfo.bbclass              |  202 +++++++++++++---------------
 meta/classes/toolchain-scripts.bbclass     |    2 +-
 meta/recipes-core/meta/meta-environment.bb |    2 +-
 meta/recipes-core/meta/meta-toolchain.bb   |    2 +-
 meta/recipes-devtools/perl/perl_5.12.3.bb  |    4 +-
 meta/site/ix86-common                      |    2 +-
 7 files changed, 103 insertions(+), 113 deletions(-)
 create mode 100644 meta/site/common-linux




^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/3] site/ix86-common: Fix ac_cv_sizeof_unsigned_char definition
  2011-07-13 19:05 [PATCH 0/3] siteinfo.bbclass re-merge Tom Rini
@ 2011-07-13 19:06 ` Tom Rini
  2011-07-13 19:06 ` [PATCH 2/3] perl: Use SITEINFO variables not functions Tom Rini
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Tom Rini @ 2011-07-13 19:06 UTC (permalink / raw)
  To: openembedded-core

It's very not right to set this to +ac_cv_sizeof_unsigned_int=1.

Signed-off-by: Tom Rini <tom_rini@mentor.com>
---
 meta/site/ix86-common |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/meta/site/ix86-common b/meta/site/ix86-common
index 4a4442a..ae5680a 100644
--- a/meta/site/ix86-common
+++ b/meta/site/ix86-common
@@ -1,5 +1,5 @@
 ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
-ac_cv_sizeof_unsigned_char=${ac_cv_sizeof_unsigned_int=1}
+ac_cv_sizeof_unsigned_char=${ac_cv_sizeof_unsigned_char=1}
 ac_cv_sizeof_char_p=${ac_cv_sizeof_char_p=4}
 ac_cv_sizeof_unsigned_char_p=${ac_cv_sizeof_unsigned_char_p=4}
 ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
-- 
1.7.0.4




^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/3] perl: Use SITEINFO variables not functions
  2011-07-13 19:05 [PATCH 0/3] siteinfo.bbclass re-merge Tom Rini
  2011-07-13 19:06 ` [PATCH 1/3] site/ix86-common: Fix ac_cv_sizeof_unsigned_char definition Tom Rini
@ 2011-07-13 19:06 ` Tom Rini
  2011-07-13 19:06 ` [PATCH 3/3] siteinfo.bbclass: Port over oe.dev logic for site files Tom Rini
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Tom Rini @ 2011-07-13 19:06 UTC (permalink / raw)
  To: openembedded-core

Switch from SITEINFO_BITS / SITEINFO_ENDIANESS rather than
siteinfo_get...

Signed-off-by: Tom Rini <tom_rini@mentor.com>
---
 meta/recipes-devtools/perl/perl_5.12.3.bb |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/perl/perl_5.12.3.bb b/meta/recipes-devtools/perl/perl_5.12.3.bb
index beb1791..105bbcc 100644
--- a/meta/recipes-devtools/perl/perl_5.12.3.bb
+++ b/meta/recipes-devtools/perl/perl_5.12.3.bb
@@ -116,8 +116,8 @@ do_configure() {
         # Generate configuration
         rm -f config.sh-${TARGET_ARCH}-${TARGET_OS}
         for i in ${WORKDIR}/config.sh \
-                 ${WORKDIR}/config.sh-${@siteinfo_get_bits(d)} \
-                 ${WORKDIR}/config.sh-${@siteinfo_get_bits(d)}-${@siteinfo_get_endianess(d)}; do
+                 ${WORKDIR}/config.sh-${SITEINFO_BITS} \
+                 ${WORKDIR}/config.sh-${SITEINFO_BITS}-${SITEINFO_ENDIANESS}; do
             cat $i >> config.sh-${TARGET_ARCH}-${TARGET_OS}
         done
 
-- 
1.7.0.4




^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/3] siteinfo.bbclass: Port over oe.dev logic for site files
  2011-07-13 19:05 [PATCH 0/3] siteinfo.bbclass re-merge Tom Rini
  2011-07-13 19:06 ` [PATCH 1/3] site/ix86-common: Fix ac_cv_sizeof_unsigned_char definition Tom Rini
  2011-07-13 19:06 ` [PATCH 2/3] perl: Use SITEINFO variables not functions Tom Rini
@ 2011-07-13 19:06 ` Tom Rini
  2011-07-20 15:07   ` Richard Purdie
  2011-07-13 19:42 ` [PATCH 0/3] siteinfo.bbclass re-merge Mark Hatle
  2011-07-14 14:42 ` Richard Purdie
  4 siblings, 1 reply; 9+ messages in thread
From: Tom Rini @ 2011-07-13 19:06 UTC (permalink / raw)
  To: openembedded-core

In oe.dev we have a sets to pick out hostos/hostarch/etc site
files out of and include things like a common-linux site file.
This should also help out with adding multilib-specific site files
(ie x32).  This requires a smallish change to autotools.bbclass to
find the files now and changes to toolchain-scripts.bbclass,
meta-toolchain.bb and meta-environment.bb to deal with how CONFIG_SITE
is now.

Signed-off-by: Tom Rini <tom_rini@mentor.com>
---
 meta/classes/autotools.bbclass             |    2 +-
 meta/classes/siteinfo.bbclass              |  202 +++++++++++++---------------
 meta/classes/toolchain-scripts.bbclass     |    2 +-
 meta/recipes-core/meta/meta-environment.bb |    2 +-
 meta/recipes-core/meta/meta-toolchain.bb   |    2 +-
 5 files changed, 100 insertions(+), 110 deletions(-)
 create mode 100644 meta/site/common-linux

diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
index 98c871a..5e8799a 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes/autotools.bbclass
@@ -26,7 +26,7 @@ inherit siteinfo
 
 # Space separated list of shell scripts with variables defined to supply test
 # results for autoconf tests we cannot run at build time.
-export CONFIG_SITE = "${@siteinfo_get_files(d)}"
+export CONFIG_SITE = "${@' '.join(siteinfo_get_files(d))}"
 
 acpaths = "default"
 EXTRA_AUTORECONF = "--exclude=autopoint"
diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass
index 78b7008..283ef42 100644
--- a/meta/classes/siteinfo.bbclass
+++ b/meta/classes/siteinfo.bbclass
@@ -15,121 +15,111 @@
 # It is an error for the target not to exist.
 # If 'what' doesn't exist then an empty value is returned
 #
-def get_siteinfo_list(d):
-       target = bb.data.getVar('HOST_ARCH', d, 1) + "-" + bb.data.getVar('HOST_OS', d, 1)
+def siteinfo_data(d):
+    archinfo = {
+        "allarch": "endian-little bit-32", # bogus, but better than special-casing the checks below for allarch
+        "arm": "endian-little bit-32 arm-common",
+        "armeb": "endian-big bit-32 arm-common",
+        "avr32": "endian-big bit-32 avr32-common",
+        "bfin": "endian-little bit-32 bfin-common",
+        "i386": "endian-little bit-32 ix86-common",
+        "i486": "endian-little bit-32 ix86-common",
+        "i586": "endian-little bit-32 ix86-common",
+        "i686": "endian-little bit-32 ix86-common",
+        "ia64": "endian-little bit-64",
+        "microblaze": "endian-big bit-32 microblaze-common",
+        "microblazeel": "endian-little bit-32 microblaze-common",
+        "mips": "endian-big bit-32 mips-common",
+        "mips64": "endian-big bit-64 mips64-common",
+        "mips64el": "endian-little bit-64 mips64-common",
+        "mipsel": "endian-little bit-32 mips-common",
+        "powerpc": "endian-big bit-32 powerpc-common",
+        "nios2": "endian-little bit-32 nios2-common",
+        "powerpc64": "endian-big bit-64 powerpc-common powerpc64-linux",
+        "ppc": "endian-big bit-32 powerpc-common",
+        "ppc64": "endian-big bit-64 powerpc-common powerpc64-linux",
+        "sh3": "endian-little bit-32 sh-common",
+        "sh4": "endian-little bit-32 sh-common",
+        "sparc": "endian-big bit-32",
+        "viac3": "endian-little bit-32 ix86-common",
+        "x86_64": "endian-little bit-64",
+    }
+    osinfo = {
+        "darwin": "common-darwin",
+        "darwin9": "common-darwin",
+        "linux": "common-linux common-glibc",
+        "linux-gnueabi": "common-linux common-glibc",
+        "linux-gnuspe": "common-linux common-glibc",
+        "linux-uclibc": "common-linux common-uclibc",
+        "linux-uclibceabi": "common-linux common-uclibc",
+        "linux-uclibcspe": "common-linux common-uclibc",
+        "uclinux-uclibc": "common-uclibc",
+        "cygwin": "common-cygwin",
+        "mingw32": "common-mingw",
+    }
+    targetinfo = {
+        "arm-linux-gnueabi": "arm-linux",
+        "arm-linux-uclibceabi": "arm-linux-uclibc",
+        "armeb-linux-gnueabi": "armeb-linux",
+        "armeb-linux-uclibceabi": "armeb-linux-uclibc",
+        "powerpc-linux-gnuspe": "powerpc-linux",
+        "powerpc-linux-uclibcspe": "powerpc-linux-uclibc",
+    }
 
-       targetinfo = {\
-               "allarch-linux":           "",\
-               "armeb-linux":             "endian-big bit-32 common-glibc arm-common",\
-               "armeb-linux-gnueabi":     "endian-big bit-32 common-glibc arm-common armeb-linux",\
-               "armeb-linux-uclibc":      "endian-big bit-32 common-uclibc arm-common",\
-               "armeb-linux-uclibceabi": "endian-big bit-32 common-uclibc arm-common armeb-linux-uclibc",\
-               "arm-darwin":              "endian-little bit-32 common-darwin",\
-               "arm-darwin8":              "endian-little bit-32 common-darwin",\
-               "arm-linux":               "endian-little bit-32 common-glibc arm-common",\
-               "arm-linux-gnueabi":       "endian-little bit-32 common-glibc arm-common arm-linux",\
-               "arm-linux-uclibc":        "endian-little bit-32 common-uclibc arm-common",\
-               "arm-linux-uclibceabi": "endian-little bit-32 common-uclibc arm-common arm-linux-uclibc",\
-               "avr32-linux":             "endian-big bit-32 common-glibc avr32-common",\ 
-               "avr32-linux-uclibc":      "endian-big bit-32 common-uclibc avr32-common",\
-               "bfin-uclinux-uclibc":       "endian-little bit-32 common-uclibc bfin-common",\
-               "i386-linux":              "endian-little bit-32 common-glibc ix86-common",\
-               "i486-linux":              "endian-little bit-32 common-glibc ix86-common",\
-               "i586-linux":              "endian-little bit-32 common-glibc ix86-common",\
-               "i686-linux":              "endian-little bit-32 common-glibc ix86-common",\
-               "i386-linux-uclibc":       "endian-little bit-32 common-uclibc ix86-common",\
-               "i486-linux-uclibc":       "endian-little bit-32 common-uclibc ix86-common",\
-               "i586-linux-uclibc":       "endian-little bit-32 common-uclibc ix86-common",\
-               "i686-linux-uclibc":       "endian-little bit-32 common-uclibc ix86-common",\
-               "microblaze-linux-gnu":    "endian-big bit-32 common-glibc microblaze-common",\
-               "microblazeel-linux-gnu":  "endian-little bit-32 common-glibc microblaze-common",\
-               "mipsel-linux":            "endian-little bit-32 common-glibc mips-common",\
-               "mipsel-linux-uclibc":     "endian-little bit-32 common-uclibc mips-common",\
-               "mips-linux":              "endian-big bit-32 common-glibc mips-common",\
-               "mips-linux-uclibc":       "endian-big bit-32 common-uclibc mips-common",\
-               "powerpc-darwin":          "endian-big bit-32 common-darwin",\
-               "ppc-linux":               "endian-big bit-32 common-glibc powerpc-common",\ 
-	       "powerpc-linux":           "endian-big bit-32 common-glibc powerpc-common",\
-               "powerpc-linux-gnuspe":    "endian-big bit-32 common-glibc powerpc-common",\
-               "powerpc-linux-uclibc":    "endian-big bit-32 common-uclibc powerpc-common",\
-               "sh3-linux":               "endian-little bit-32 common-glibc sh-common",\
-               "sh4-linux":               "endian-little bit-32 common-glibc sh-common",\
-               "sh4-linux-uclibc":        "endian-little bit-32 common-uclibc sh-common",\
-               "sparc-linux":             "endian-big bit-32 common-glibc",\
-               "x86_64-linux":            "endian-little bit-64 common-glibc",\
-               "x86_64-linux-uclibc":     "endian-little bit-64 common-uclibc"}
-       if target in targetinfo:
-               info = targetinfo[target].split()
-               info.append(target)
-               info.append("common")
-               return info
-       else:
-               bb.error("Information not available for target '%s'" % target)
+    hostarch = d.getVar("HOST_ARCH", True)
+    hostos = d.getVar("HOST_OS", True)
+    target = "%s-%s" % (hostarch, hostos)
 
+    sitedata = []
+    if hostarch in archinfo:
+        sitedata.extend(archinfo[hostarch].split())
+    if hostos in osinfo:
+        sitedata.extend(osinfo[hostos].split())
+    if target in targetinfo:
+        sitedata.extend(targetinfo[target].split())
+    sitedata.append(target)
+    sitedata.append("common")
 
-#
-# Define which site files to use. We check for several site files and
-# use each one that is found, based on the list returned by get_siteinfo_list()
-#
-# Search for the files in the following directories:
-# 1) ${BBPATH}/site (in reverse) - app specific, then site wide
-# 2) ${FILE_DIRNAME}/site-${PV}         - app version specific
-#
-def siteinfo_get_files(d):
-       sitefiles = ""
-
-       # Determine which site files to look for
-       sites = get_siteinfo_list(d)
+    bb.debug(1, "SITE files %s" % sitedata);
+    return sitedata
 
-       # Check along bbpath for site files and append in reverse order so
-       # the application specific sites files are last and system site
-       # files first.
-       path_bb = bb.data.getVar('BBPATH', d, 1)
-       for p in (path_bb or "").split(':'):
-               tmp = ""
-               for i in sites:
-                       fname = os.path.join(p, 'site', i)
-                       if os.path.exists(fname):
-                               tmp += fname + " "
-               sitefiles = tmp + sitefiles;
+python () {
+    sitedata = set(siteinfo_data(d))
+    if "endian-little" in sitedata:
+        d.setVar("SITEINFO_ENDIANESS", "le")
+    elif "endian-big" in sitedata:
+        d.setVar("SITEINFO_ENDIANESS", "be")
+    else:
+        bb.error("Unable to determine endianness for architecture '%s'" %
+                 d.getVar("HOST_ARCH", True))
+        bb.fatal("Please add your architecture to siteinfo.bbclass")
 
-       # Now check for the applications version specific site files
-       path_pkgv = os.path.join(bb.data.getVar('FILE_DIRNAME', d, 1), "site-" + bb.data.getVar('PV', d, 1))
-       for i in sites:
-               fname = os.path.join(path_pkgv, i)
-               if os.path.exists(fname):
-                       sitefiles += fname + " "
+    if "bit-32" in sitedata:
+        d.setVar("SITEINFO_BITS", "32")
+    elif "bit-64" in sitedata:
+        d.setVar("SITEINFO_BITS", "64")
+    else:
+        bb.error("Unable to determine bit size for architecture '%s'" %
+                 d.getVar("HOST_ARCH", True))
+        bb.fatal("Please add your architecture to siteinfo.bbclass")
+}
 
-       # Now check for siteconfig cache files
-       path_siteconfig = bb.data.getVar('SITECONFIG_SYSROOTCACHE', d, 1)
-       if os.path.isdir(path_siteconfig):
-               for i in os.listdir(path_siteconfig):
-                       fname = os.path.join(path_siteconfig, i)
-                       sitefiles += fname + " "
-
-       bb.debug(1, "SITE files " + sitefiles);
-       return sitefiles
-
-def siteinfo_get_endianess(d):
-       info = get_siteinfo_list(d)
-       if 'endian-little' in info:
-              return "le"
-       elif 'endian-big' in info:
-              return "be"
-       bb.error("Site info could not determine endianess for target")
+def siteinfo_get_files(d):
+    sitedata = siteinfo_data(d)
+    for path in d.getVar("BBPATH", True).split(":"):
+        for element in sitedata:
+            filename = os.path.join(path, "site", element)
+            if os.path.exists(filename):
+                yield filename
 
-def siteinfo_get_bits(d):
-       info = get_siteinfo_list(d)
-       if 'bit-32' in info:
-              return "32"
-       elif 'bit-64' in info:
-              return "64"
-       bb.error("Site info could not determine bit size for target")
+    # Now check for siteconfig cache files
+    path_siteconfig = bb.data.getVar('SITECONFIG_SYSROOTCACHE', d, 1)
+    if os.path.isdir(path_siteconfig):
+        for i in os.listdir(path_siteconfig):
+            filename = os.path.join(path_siteconfig, i)
+            yield filename
 
 #
 # Make some information available via variables
 #
-SITEINFO_ENDIANESS  = "${@siteinfo_get_endianess(d)}"
-SITEINFO_BITS       = "${@siteinfo_get_bits(d)}"
 SITECONFIG_SYSROOTCACHE = "${STAGING_DATADIR}/${TARGET_SYS}_config_site.d"
-
diff --git a/meta/classes/toolchain-scripts.bbclass b/meta/classes/toolchain-scripts.bbclass
index 3301319..751a47e 100644
--- a/meta/classes/toolchain-scripts.bbclass
+++ b/meta/classes/toolchain-scripts.bbclass
@@ -42,7 +42,7 @@ toolchain_create_tree_env_script () {
 	echo 'export PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR}' >> $script
 	echo 'export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}' >> $script
 
-	echo 'export CONFIG_SITE="${@siteinfo_get_files(d)}"' >> $script
+	echo 'export CONFIG_SITE="${CONFIG_SITE}"' >> $script
 
 	echo 'export CC=${TARGET_PREFIX}gcc' >> $script
 	echo 'export CXX=${TARGET_PREFIX}g++' >> $script
diff --git a/meta/recipes-core/meta/meta-environment.bb b/meta/recipes-core/meta/meta-environment.bb
index 351cbf0..865dd00 100644
--- a/meta/recipes-core/meta/meta-environment.bb
+++ b/meta/recipes-core/meta/meta-environment.bb
@@ -8,7 +8,7 @@ EXCLUDE_FROM_WORLD = "1"
 
 inherit toolchain-scripts
 # get target config site before inheritting cross-canadian
-TARGET_CONFIG_SITE := "${@siteinfo_get_files(d)}"
+TARGET_CONFIG_SITE := "${@' '.join(siteinfo_get_files(d))}"
 
 SDK_DIR = "${WORKDIR}/sdk"
 SDK_OUTPUT = "${SDK_DIR}/image"
diff --git a/meta/recipes-core/meta/meta-toolchain.bb b/meta/recipes-core/meta/meta-toolchain.bb
index ab98bf9..3abba42 100644
--- a/meta/recipes-core/meta/meta-toolchain.bb
+++ b/meta/recipes-core/meta/meta-toolchain.bb
@@ -9,4 +9,4 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3
 IMAGETEST ?= "dummy"
 inherit populate_sdk imagetest-${IMAGETEST}
 
-CONFIG_SITE := "${@siteinfo_get_files(d)}"
+CONFIG_SITE := "${@' '.join(siteinfo_get_files(d))}"
diff --git a/meta/site/common-linux b/meta/site/common-linux
new file mode 100644
index 0000000..e69de29
-- 
1.7.0.4




^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/3] siteinfo.bbclass re-merge
  2011-07-13 19:05 [PATCH 0/3] siteinfo.bbclass re-merge Tom Rini
                   ` (2 preceding siblings ...)
  2011-07-13 19:06 ` [PATCH 3/3] siteinfo.bbclass: Port over oe.dev logic for site files Tom Rini
@ 2011-07-13 19:42 ` Mark Hatle
  2011-07-13 20:40   ` Tom Rini
  2011-07-14 14:42 ` Richard Purdie
  4 siblings, 1 reply; 9+ messages in thread
From: Mark Hatle @ 2011-07-13 19:42 UTC (permalink / raw)
  To: openembedded-core

On 7/13/11 2:05 PM, Tom Rini wrote:
> Hey all,
> 
> This is the second of two pull requests.  This doesn't depend on the first
> request, it's just splitting changes up.  There's three changes here.  First,
> site/ix86-common was setting the wrong value for unsigned int.  Second,
> change perl to use SITEINFO variables rather than functions.  Third, bring
> in the various changes in siteinfo.bbclass that have been in oe.dev.  This
> last part will, I hope, also make dealing with multilib-specific siteinfo
> stuff easier (also alternative ABIs like x32).

Note, this is NOT an objection to the changes.  However, one thing to keep in mind.

(In fact I like the changes being suggested)

We have a dynamic site-configuation mechanism already in place.  So it's
important that we don't duplicate things within the site/* files.

Currently the recipes: glibc, zlib, eglibc, and uclibc contain dynamic
site_config files.  (See ./recipes-core/glibc/site_config/* for an example)

The output of these files get placed into a target arch specific site config
directory: ${STAGING_DATADIR}/${TARGET_SYS}_config_site.d

These are automatically loaded as well as the predefined "common" items.  By
using the dynamically generated versions we can change the configuration options
for glibc, uclibc, etc and the site config will automatically get updated based
on the existing checks.

So instead of updating the various site/* files, if the value can be discovered
-- or is defined by a given package.. we should be using the dynamic method as
it'll be safer over the long-haul.  Someone might need to go over the existing
ones and see if there is anything that falls under this.

BTW, I did notice that ncurses is supposed to have a dynamic site_config, but it
somehow got checked into the wrong location.  I'll submit a pull request for
that shortly.

--Mark

> My next step is to work on merging and verifying as much as possible
> the site files in oe-core and oe.dev.
> 
> The following changes since commit e66c2999afa2b3efbce8bb46c89f9db5e15f35c7:
>   Saul Wold (1):
>         libx11: ensure nativesdk uses correct DEPENDS and XCB flags
> 
> are available in the git repository at:
> 
>   git://git.openembedded.org/openembedded-core-contrib trini/update-siteinfo
>   http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=trini/update-siteinfo
> 
> Tom Rini (3):
>   site/ix86-common: Fix ac_cv_sizeof_unsigned_char definition
>   perl: Use SITEINFO variables not functions
>   siteinfo.bbclass: Port over oe.dev logic for site files
> 
>  meta/classes/autotools.bbclass             |    2 +-
>  meta/classes/siteinfo.bbclass              |  202 +++++++++++++---------------
>  meta/classes/toolchain-scripts.bbclass     |    2 +-
>  meta/recipes-core/meta/meta-environment.bb |    2 +-
>  meta/recipes-core/meta/meta-toolchain.bb   |    2 +-
>  meta/recipes-devtools/perl/perl_5.12.3.bb  |    4 +-
>  meta/site/ix86-common                      |    2 +-
>  7 files changed, 103 insertions(+), 113 deletions(-)
>  create mode 100644 meta/site/common-linux
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/3] siteinfo.bbclass re-merge
  2011-07-13 19:42 ` [PATCH 0/3] siteinfo.bbclass re-merge Mark Hatle
@ 2011-07-13 20:40   ` Tom Rini
  0 siblings, 0 replies; 9+ messages in thread
From: Tom Rini @ 2011-07-13 20:40 UTC (permalink / raw)
  To: openembedded-core

On 07/13/2011 12:42 PM, Mark Hatle wrote:
> On 7/13/11 2:05 PM, Tom Rini wrote:
>> Hey all,
>>
>> This is the second of two pull requests.  This doesn't depend on the first
>> request, it's just splitting changes up.  There's three changes here.  First,
>> site/ix86-common was setting the wrong value for unsigned int.  Second,
>> change perl to use SITEINFO variables rather than functions.  Third, bring
>> in the various changes in siteinfo.bbclass that have been in oe.dev.  This
>> last part will, I hope, also make dealing with multilib-specific siteinfo
>> stuff easier (also alternative ABIs like x32).
> 
> Note, this is NOT an objection to the changes.  However, one thing to keep in mind.
> 
> (In fact I like the changes being suggested)
> 
> We have a dynamic site-configuation mechanism already in place.  So it's
> important that we don't duplicate things within the site/* files.
> 
> Currently the recipes: glibc, zlib, eglibc, and uclibc contain dynamic
> site_config files.  (See ./recipes-core/glibc/site_config/* for an example)
> 
> The output of these files get placed into a target arch specific site config
> directory: ${STAGING_DATADIR}/${TARGET_SYS}_config_site.d

I want to confirm that these files are still generated, found and
working.  But maybe part 4 of my series will be talking about some of
this stuff a bit more and if that's really the best method for the goal.

-- 
Tom Rini
Mentor Graphics Corporation



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/3] siteinfo.bbclass re-merge
  2011-07-13 19:05 [PATCH 0/3] siteinfo.bbclass re-merge Tom Rini
                   ` (3 preceding siblings ...)
  2011-07-13 19:42 ` [PATCH 0/3] siteinfo.bbclass re-merge Mark Hatle
@ 2011-07-14 14:42 ` Richard Purdie
  2011-07-14 16:58   ` Tom Rini
  4 siblings, 1 reply; 9+ messages in thread
From: Richard Purdie @ 2011-07-14 14:42 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Wed, 2011-07-13 at 12:05 -0700, Tom Rini wrote:
> Hey all,
> 
> This is the second of two pull requests.  This doesn't depend on the first
> request, it's just splitting changes up.  There's three changes here.  First,
> site/ix86-common was setting the wrong value for unsigned int.  Second,
> change perl to use SITEINFO variables rather than functions.  Third, bring
> in the various changes in siteinfo.bbclass that have been in oe.dev.  This
> last part will, I hope, also make dealing with multilib-specific siteinfo
> stuff easier (also alternative ABIs like x32).
> 
> My next step is to work on merging and verifying as much as possible
> the site files in oe-core and oe.dev.
> 
> The following changes since commit e66c2999afa2b3efbce8bb46c89f9db5e15f35c7:
>   Saul Wold (1):
>         libx11: ensure nativesdk uses correct DEPENDS and XCB flags
> 
> are available in the git repository at:
> 
>   git://git.openembedded.org/openembedded-core-contrib trini/update-siteinfo
>   http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=trini/update-siteinfo
> 
> Tom Rini (3):
>   site/ix86-common: Fix ac_cv_sizeof_unsigned_char definition
>   perl: Use SITEINFO variables not functions

I've merged these two.

>   siteinfo.bbclass: Port over oe.dev logic for site files

I'm still in the process of reviewing this as its not easy to see
everything thats changing in there...

Cheers,

Richard




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/3] siteinfo.bbclass re-merge
  2011-07-14 14:42 ` Richard Purdie
@ 2011-07-14 16:58   ` Tom Rini
  0 siblings, 0 replies; 9+ messages in thread
From: Tom Rini @ 2011-07-14 16:58 UTC (permalink / raw)
  To: openembedded-core

On 07/14/2011 07:42 AM, Richard Purdie wrote:
> On Wed, 2011-07-13 at 12:05 -0700, Tom Rini wrote:
>> Hey all,
>>
>> This is the second of two pull requests.  This doesn't depend on the first
>> request, it's just splitting changes up.  There's three changes here.  First,
>> site/ix86-common was setting the wrong value for unsigned int.  Second,
>> change perl to use SITEINFO variables rather than functions.  Third, bring
>> in the various changes in siteinfo.bbclass that have been in oe.dev.  This
>> last part will, I hope, also make dealing with multilib-specific siteinfo
>> stuff easier (also alternative ABIs like x32).
>>
>> My next step is to work on merging and verifying as much as possible
>> the site files in oe-core and oe.dev.
>>
>> The following changes since commit e66c2999afa2b3efbce8bb46c89f9db5e15f35c7:
>>   Saul Wold (1):
>>         libx11: ensure nativesdk uses correct DEPENDS and XCB flags
>>
>> are available in the git repository at:
>>
>>   git://git.openembedded.org/openembedded-core-contrib trini/update-siteinfo
>>   http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=trini/update-siteinfo
>>
>> Tom Rini (3):
>>   site/ix86-common: Fix ac_cv_sizeof_unsigned_char definition
>>   perl: Use SITEINFO variables not functions
> 
> I've merged these two.
> 
>>   siteinfo.bbclass: Port over oe.dev logic for site files
> 
> I'm still in the process of reviewing this as its not easy to see
> everything thats changing in there...

Yeah, sorry, I just couldn't break it down anymore.  I can say I did a
world before and after on qemux86, diff'd config.logs and didn't see
anything other than the ix86-common bugfix in differences.

-- 
Tom Rini
Mentor Graphics Corporation



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 3/3] siteinfo.bbclass: Port over oe.dev logic for site files
  2011-07-13 19:06 ` [PATCH 3/3] siteinfo.bbclass: Port over oe.dev logic for site files Tom Rini
@ 2011-07-20 15:07   ` Richard Purdie
  0 siblings, 0 replies; 9+ messages in thread
From: Richard Purdie @ 2011-07-20 15:07 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

Hi Tom,

I had a chance to look at this in more detail now, I just have a couple
of things to look at...

On Wed, 2011-07-13 at 12:06 -0700, Tom Rini wrote:
> In oe.dev we have a sets to pick out hostos/hostarch/etc site
> files out of and include things like a common-linux site file.
> This should also help out with adding multilib-specific site files
> (ie x32).  This requires a smallish change to autotools.bbclass to
> find the files now and changes to toolchain-scripts.bbclass,
> meta-toolchain.bb and meta-environment.bb to deal with how CONFIG_SITE
> is now.
> 
> Signed-off-by: Tom Rini <tom_rini@mentor.com>
> ---
>  meta/classes/autotools.bbclass             |    2 +-
>  meta/classes/siteinfo.bbclass              |  202 +++++++++++++---------------
>  meta/classes/toolchain-scripts.bbclass     |    2 +-
>  meta/recipes-core/meta/meta-environment.bb |    2 +-
>  meta/recipes-core/meta/meta-toolchain.bb   |    2 +-
>  5 files changed, 100 insertions(+), 110 deletions(-)
>  create mode 100644 meta/site/common-linux
> 
> diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
> index 98c871a..5e8799a 100644
> --- a/meta/classes/autotools.bbclass
> +++ b/meta/classes/autotools.bbclass
> @@ -26,7 +26,7 @@ inherit siteinfo
>  
>  # Space separated list of shell scripts with variables defined to supply test
>  # results for autoconf tests we cannot run at build time.
> -export CONFIG_SITE = "${@siteinfo_get_files(d)}"
> +export CONFIG_SITE = "${@' '.join(siteinfo_get_files(d))}"

I'm not sure we have to change the return value of the function to
become an iterator/list, or that it actually buys us much?

>  acpaths = "default"
>  EXTRA_AUTORECONF = "--exclude=autopoint"
> diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass
> index 78b7008..283ef42 100644
> --- a/meta/classes/siteinfo.bbclass
> +++ b/meta/classes/siteinfo.bbclass
> @@ -15,121 +15,111 @@
>  # It is an error for the target not to exist.
>  # If 'what' doesn't exist then an empty value is returned
>  #
> -def get_siteinfo_list(d):
> -       target = bb.data.getVar('HOST_ARCH', d, 1) + "-" + bb.data.getVar('HOST_OS', d, 1)
> +def siteinfo_data(d):
> +    archinfo = {
> +        "allarch": "endian-little bit-32", # bogus, but better than special-casing the checks below for allarch
> +        "arm": "endian-little bit-32 arm-common",
> +        "armeb": "endian-big bit-32 arm-common",
> +        "avr32": "endian-big bit-32 avr32-common",
> +        "bfin": "endian-little bit-32 bfin-common",
> +        "i386": "endian-little bit-32 ix86-common",
> +        "i486": "endian-little bit-32 ix86-common",
> +        "i586": "endian-little bit-32 ix86-common",
> +        "i686": "endian-little bit-32 ix86-common",
> +        "ia64": "endian-little bit-64",
> +        "microblaze": "endian-big bit-32 microblaze-common",
> +        "microblazeel": "endian-little bit-32 microblaze-common",
> +        "mips": "endian-big bit-32 mips-common",
> +        "mips64": "endian-big bit-64 mips64-common",
> +        "mips64el": "endian-little bit-64 mips64-common",
> +        "mipsel": "endian-little bit-32 mips-common",
> +        "powerpc": "endian-big bit-32 powerpc-common",
> +        "nios2": "endian-little bit-32 nios2-common",
> +        "powerpc64": "endian-big bit-64 powerpc-common powerpc64-linux",
> +        "ppc": "endian-big bit-32 powerpc-common",
> +        "ppc64": "endian-big bit-64 powerpc-common powerpc64-linux",
> +        "sh3": "endian-little bit-32 sh-common",
> +        "sh4": "endian-little bit-32 sh-common",
> +        "sparc": "endian-big bit-32",
> +        "viac3": "endian-little bit-32 ix86-common",
> +        "x86_64": "endian-little bit-64",
> +    }
> +    osinfo = {
> +        "darwin": "common-darwin",
> +        "darwin9": "common-darwin",
> +        "linux": "common-linux common-glibc",
> +        "linux-gnueabi": "common-linux common-glibc",
> +        "linux-gnuspe": "common-linux common-glibc",
> +        "linux-uclibc": "common-linux common-uclibc",
> +        "linux-uclibceabi": "common-linux common-uclibc",
> +        "linux-uclibcspe": "common-linux common-uclibc",
> +        "uclinux-uclibc": "common-uclibc",
> +        "cygwin": "common-cygwin",
> +        "mingw32": "common-mingw",
> +    }
> +    targetinfo = {
> +        "arm-linux-gnueabi": "arm-linux",
> +        "arm-linux-uclibceabi": "arm-linux-uclibc",
> +        "armeb-linux-gnueabi": "armeb-linux",
> +        "armeb-linux-uclibceabi": "armeb-linux-uclibc",
> +        "powerpc-linux-gnuspe": "powerpc-linux",
> +        "powerpc-linux-uclibcspe": "powerpc-linux-uclibc",
> +    }
>  
> -       targetinfo = {\
> -               "allarch-linux":           "",\
> -               "armeb-linux":             "endian-big bit-32 common-glibc arm-common",\
> -               "armeb-linux-gnueabi":     "endian-big bit-32 common-glibc arm-common armeb-linux",\
> -               "armeb-linux-uclibc":      "endian-big bit-32 common-uclibc arm-common",\
> -               "armeb-linux-uclibceabi": "endian-big bit-32 common-uclibc arm-common armeb-linux-uclibc",\
> -               "arm-darwin":              "endian-little bit-32 common-darwin",\
> -               "arm-darwin8":              "endian-little bit-32 common-darwin",\
> -               "arm-linux":               "endian-little bit-32 common-glibc arm-common",\
> -               "arm-linux-gnueabi":       "endian-little bit-32 common-glibc arm-common arm-linux",\
> -               "arm-linux-uclibc":        "endian-little bit-32 common-uclibc arm-common",\
> -               "arm-linux-uclibceabi": "endian-little bit-32 common-uclibc arm-common arm-linux-uclibc",\
> -               "avr32-linux":             "endian-big bit-32 common-glibc avr32-common",\ 
> -               "avr32-linux-uclibc":      "endian-big bit-32 common-uclibc avr32-common",\
> -               "bfin-uclinux-uclibc":       "endian-little bit-32 common-uclibc bfin-common",\
> -               "i386-linux":              "endian-little bit-32 common-glibc ix86-common",\
> -               "i486-linux":              "endian-little bit-32 common-glibc ix86-common",\
> -               "i586-linux":              "endian-little bit-32 common-glibc ix86-common",\
> -               "i686-linux":              "endian-little bit-32 common-glibc ix86-common",\
> -               "i386-linux-uclibc":       "endian-little bit-32 common-uclibc ix86-common",\
> -               "i486-linux-uclibc":       "endian-little bit-32 common-uclibc ix86-common",\
> -               "i586-linux-uclibc":       "endian-little bit-32 common-uclibc ix86-common",\
> -               "i686-linux-uclibc":       "endian-little bit-32 common-uclibc ix86-common",\
> -               "microblaze-linux-gnu":    "endian-big bit-32 common-glibc microblaze-common",\
> -               "microblazeel-linux-gnu":  "endian-little bit-32 common-glibc microblaze-common",\
> -               "mipsel-linux":            "endian-little bit-32 common-glibc mips-common",\
> -               "mipsel-linux-uclibc":     "endian-little bit-32 common-uclibc mips-common",\
> -               "mips-linux":              "endian-big bit-32 common-glibc mips-common",\
> -               "mips-linux-uclibc":       "endian-big bit-32 common-uclibc mips-common",\
> -               "powerpc-darwin":          "endian-big bit-32 common-darwin",\
> -               "ppc-linux":               "endian-big bit-32 common-glibc powerpc-common",\ 
> -	       "powerpc-linux":           "endian-big bit-32 common-glibc powerpc-common",\
> -               "powerpc-linux-gnuspe":    "endian-big bit-32 common-glibc powerpc-common",\
> -               "powerpc-linux-uclibc":    "endian-big bit-32 common-uclibc powerpc-common",\
> -               "sh3-linux":               "endian-little bit-32 common-glibc sh-common",\
> -               "sh4-linux":               "endian-little bit-32 common-glibc sh-common",\
> -               "sh4-linux-uclibc":        "endian-little bit-32 common-uclibc sh-common",\
> -               "sparc-linux":             "endian-big bit-32 common-glibc",\
> -               "x86_64-linux":            "endian-little bit-64 common-glibc",\
> -               "x86_64-linux-uclibc":     "endian-little bit-64 common-uclibc"}
> -       if target in targetinfo:
> -               info = targetinfo[target].split()
> -               info.append(target)
> -               info.append("common")
> -               return info
> -       else:
> -               bb.error("Information not available for target '%s'" % target)
> +    hostarch = d.getVar("HOST_ARCH", True)
> +    hostos = d.getVar("HOST_OS", True)
> +    target = "%s-%s" % (hostarch, hostos)
>  
> +    sitedata = []
> +    if hostarch in archinfo:
> +        sitedata.extend(archinfo[hostarch].split())
> +    if hostos in osinfo:
> +        sitedata.extend(osinfo[hostos].split())
> +    if target in targetinfo:
> +        sitedata.extend(targetinfo[target].split())
> +    sitedata.append(target)
> +    sitedata.append("common")
>  
> -#
> -# Define which site files to use. We check for several site files and
> -# use each one that is found, based on the list returned by get_siteinfo_list()
> -#
> -# Search for the files in the following directories:
> -# 1) ${BBPATH}/site (in reverse) - app specific, then site wide
> -# 2) ${FILE_DIRNAME}/site-${PV}         - app version specific
> -#
> -def siteinfo_get_files(d):
> -       sitefiles = ""
> -
> -       # Determine which site files to look for
> -       sites = get_siteinfo_list(d)
> +    bb.debug(1, "SITE files %s" % sitedata);
> +    return sitedata
>  
> -       # Check along bbpath for site files and append in reverse order so
> -       # the application specific sites files are last and system site
> -       # files first.
> -       path_bb = bb.data.getVar('BBPATH', d, 1)
> -       for p in (path_bb or "").split(':'):
> -               tmp = ""
> -               for i in sites:
> -                       fname = os.path.join(p, 'site', i)
> -                       if os.path.exists(fname):
> -                               tmp += fname + " "
> -               sitefiles = tmp + sitefiles;
> +python () {
> +    sitedata = set(siteinfo_data(d))

If we're going to do this in anonymous python, why not save out the list
in a variable at this point? See below for why that might be a bad idea
on the other hand... :)

> +    if "endian-little" in sitedata:
> +        d.setVar("SITEINFO_ENDIANESS", "le")
> +    elif "endian-big" in sitedata:
> +        d.setVar("SITEINFO_ENDIANESS", "be")
> +    else:
> +        bb.error("Unable to determine endianness for architecture '%s'" %
> +                 d.getVar("HOST_ARCH", True))
> +        bb.fatal("Please add your architecture to siteinfo.bbclass")
>  
> -       # Now check for the applications version specific site files
> -       path_pkgv = os.path.join(bb.data.getVar('FILE_DIRNAME', d, 1), "site-" + bb.data.getVar('PV', d, 1))
> -       for i in sites:
> -               fname = os.path.join(path_pkgv, i)
> -               if os.path.exists(fname):
> -                       sitefiles += fname + " "
> +    if "bit-32" in sitedata:
> +        d.setVar("SITEINFO_BITS", "32")
> +    elif "bit-64" in sitedata:
> +        d.setVar("SITEINFO_BITS", "64")
> +    else:
> +        bb.error("Unable to determine bit size for architecture '%s'" %
> +                 d.getVar("HOST_ARCH", True))
> +        bb.fatal("Please add your architecture to siteinfo.bbclass")
> +}
>  
> -       # Now check for siteconfig cache files
> -       path_siteconfig = bb.data.getVar('SITECONFIG_SYSROOTCACHE', d, 1)
> -       if os.path.isdir(path_siteconfig):
> -               for i in os.listdir(path_siteconfig):
> -                       fname = os.path.join(path_siteconfig, i)
> -                       sitefiles += fname + " "
> -
> -       bb.debug(1, "SITE files " + sitefiles);
> -       return sitefiles
> -
> -def siteinfo_get_endianess(d):
> -       info = get_siteinfo_list(d)
> -       if 'endian-little' in info:
> -              return "le"
> -       elif 'endian-big' in info:
> -              return "be"
> -       bb.error("Site info could not determine endianess for target")
> +def siteinfo_get_files(d):
> +    sitedata = siteinfo_data(d)

and then here we could just retrieve it?

> +    for path in d.getVar("BBPATH", True).split(":"):
> +        for element in sitedata:
> +            filename = os.path.join(path, "site", element)
> +            if os.path.exists(filename):
> +                yield filename
>  
> -def siteinfo_get_bits(d):
> -       info = get_siteinfo_list(d)
> -       if 'bit-32' in info:
> -              return "32"
> -       elif 'bit-64' in info:
> -              return "64"
> -       bb.error("Site info could not determine bit size for target")
> +    # Now check for siteconfig cache files
> +    path_siteconfig = bb.data.getVar('SITECONFIG_SYSROOTCACHE', d, 1)
> +    if os.path.isdir(path_siteconfig):
> +        for i in os.listdir(path_siteconfig):
> +            filename = os.path.join(path_siteconfig, i)
> +            yield filename
>  
>  #
>  # Make some information available via variables
>  #
> -SITEINFO_ENDIANESS  = "${@siteinfo_get_endianess(d)}"
> -SITEINFO_BITS       = "${@siteinfo_get_bits(d)}"
>  SITECONFIG_SYSROOTCACHE = "${STAGING_DATADIR}/${TARGET_SYS}_config_site.d"
> -
> diff --git a/meta/classes/toolchain-scripts.bbclass b/meta/classes/toolchain-scripts.bbclass
> index 3301319..751a47e 100644
> --- a/meta/classes/toolchain-scripts.bbclass
> +++ b/meta/classes/toolchain-scripts.bbclass
> @@ -42,7 +42,7 @@ toolchain_create_tree_env_script () {
>  	echo 'export PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR}' >> $script
>  	echo 'export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}' >> $script
>  
> -	echo 'export CONFIG_SITE="${@siteinfo_get_files(d)}"' >> $script
> +	echo 'export CONFIG_SITE="${CONFIG_SITE}"' >> $script

This is the thing that really caught my eye when combined with the code
below...

>  	echo 'export CC=${TARGET_PREFIX}gcc' >> $script
>  	echo 'export CXX=${TARGET_PREFIX}g++' >> $script
> diff --git a/meta/recipes-core/meta/meta-environment.bb b/meta/recipes-core/meta/meta-environment.bb
> index 351cbf0..865dd00 100644
> --- a/meta/recipes-core/meta/meta-environment.bb
> +++ b/meta/recipes-core/meta/meta-environment.bb
> @@ -8,7 +8,7 @@ EXCLUDE_FROM_WORLD = "1"
>  
>  inherit toolchain-scripts
>  # get target config site before inheritting cross-canadian
> -TARGET_CONFIG_SITE := "${@siteinfo_get_files(d)}"
> +TARGET_CONFIG_SITE := "${@' '.join(siteinfo_get_files(d))}"
>
>  SDK_DIR = "${WORKDIR}/sdk"
>  SDK_OUTPUT = "${SDK_DIR}/image"
> diff --git a/meta/recipes-core/meta/meta-toolchain.bb b/meta/recipes-core/meta/meta-toolchain.bb
> index ab98bf9..3abba42 100644
> --- a/meta/recipes-core/meta/meta-toolchain.bb
> +++ b/meta/recipes-core/meta/meta-toolchain.bb
> @@ -9,4 +9,4 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3
>  IMAGETEST ?= "dummy"
>  inherit populate_sdk imagetest-${IMAGETEST}
>  
> -CONFIG_SITE := "${@siteinfo_get_files(d)}"
> +CONFIG_SITE := "${@' '.join(siteinfo_get_files(d))}"

What I'm worried about is that here, CONFIG_SITE is expanded to
something using := but if this was combined with
toolchain-scripts.bbclass, the value of CONFIG_SITE in that code might
change.

The safest thing to do would be to leave the ' '.join(....) syntax in
the .bbclass since I think it was deliberate for some ordering issue.

Of course my comment about caching the results in a variable are
defeated by the fact we do change HOST_ARCH and other variables and
expect the list we get back to update accordingly...

So if we can fix these details I think this is good to go in.

Cheers,

Richard





^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2011-07-20 15:11 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-13 19:05 [PATCH 0/3] siteinfo.bbclass re-merge Tom Rini
2011-07-13 19:06 ` [PATCH 1/3] site/ix86-common: Fix ac_cv_sizeof_unsigned_char definition Tom Rini
2011-07-13 19:06 ` [PATCH 2/3] perl: Use SITEINFO variables not functions Tom Rini
2011-07-13 19:06 ` [PATCH 3/3] siteinfo.bbclass: Port over oe.dev logic for site files Tom Rini
2011-07-20 15:07   ` Richard Purdie
2011-07-13 19:42 ` [PATCH 0/3] siteinfo.bbclass re-merge Mark Hatle
2011-07-13 20:40   ` Tom Rini
2011-07-14 14:42 ` Richard Purdie
2011-07-14 16:58   ` Tom Rini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox