[oe] [meta-browser][PATCH v2 1/4] chromium: Add component-build PACKAGECONFIG option

Otavio Salvador otavio at ossystems.com.br
Tue Apr 29 19:10:33 UTC 2014


On Tue, Apr 29, 2014 at 4:07 PM, Carlos Rafael Giani
<dv at pseudoterminal.org> wrote:
> On 2014-04-29 20:25, Otavio Salvador wrote:
>>
>> On Tue, Apr 29, 2014 at 3:39 AM, Carlos Rafael Giani
>> <dv at pseudoterminal.org> wrote:
>>>
>>> In a component build, the individual Chromium components are contained in
>>> separate shared objects. This is useful when building on a system with
>>> 8 GB RAM or less (since the linker needs at least that much for link
>>> time optimization otherwise if a non-component build is done), and during
>>> development and testing of Chromium internals.
>>>
>>> Signed-off-by: Carlos Rafael Giani <dv at pseudoterminal.org>
>>> ---
>>>   recipes-browser/chromium/chromium/component-build.gypi |  5 +++++
>>>   recipes-browser/chromium/chromium/google-chrome        |  2 ++
>>>   recipes-browser/chromium/chromium_35.0.1883.0.bb       | 11 +++++++++--
>>>   3 files changed, 16 insertions(+), 2 deletions(-)
>>>   create mode 100644
>>> recipes-browser/chromium/chromium/component-build.gypi
>>>
>>> diff --git a/recipes-browser/chromium/chromium/component-build.gypi
>>> b/recipes-browser/chromium/chromium/component-build.gypi
>>> new file mode 100644
>>> index 0000000..e58b4ca
>>> --- /dev/null
>>> +++ b/recipes-browser/chromium/chromium/component-build.gypi
>>> @@ -0,0 +1,5 @@
>>> +{
>>> +  'variables': {
>>> +     'component' : 'shared_library'
>>> +  },
>>> +}
>>> diff --git a/recipes-browser/chromium/chromium/google-chrome
>>> b/recipes-browser/chromium/chromium/google-chrome
>>> index 2f6ad2e..8ce400b 100644
>>> --- a/recipes-browser/chromium/chromium/google-chrome
>>> +++ b/recipes-browser/chromium/chromium/google-chrome
>>> @@ -1,6 +1,8 @@
>>>   #!/bin/sh
>>>
>>>   export CHROME_DEVEL_SANDBOX=/usr/sbin/chrome-devel-sandbox
>>> +export LD_LIBRARY_PATH=/usr/lib/chrome
>>> +
>>>   if [ "${USER}" = "root" ] ; then
>>>          /usr/bin/chrome/chrome --user-data-dir=${HOME}/.chromium/ $@
>>>   else
>>> diff --git a/recipes-browser/chromium/chromium_35.0.1883.0.bb
>>> b/recipes-browser/chromium/chromium_35.0.1883.0.bb
>>> index 2497f10..203474d 100644
>>> --- a/recipes-browser/chromium/chromium_35.0.1883.0.bb
>>> +++ b/recipes-browser/chromium/chromium_35.0.1883.0.bb
>>> @@ -6,6 +6,7 @@ SRC_URI = "\
>>>
>>> http://gsdview.appspot.com/chromium-browser-official/${P}.tar.xz \
>>>           file://include.gypi \
>>>           file://oe-defaults.gypi \
>>> +        ${@bb.utils.contains('PACKAGECONFIG', 'component-build',
>>> 'file://component-build.gypi', '', d)} \
>>>           file://unistd-2.patch \
>>>           file://google-chrome \
>>>           file://google-chrome.desktop \
>>> @@ -27,6 +28,7 @@ EXTRA_OEGYP = " \
>>>          ${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '',
>>> '-Dlinux_use_gold_flags=0', d)} \
>>>          -I ${WORKDIR}/oe-defaults.gypi \
>>>          -I ${WORKDIR}/include.gypi \
>>> +       ${@bb.utils.contains('PACKAGECONFIG', 'component-build', '-I
>>> ${WORKDIR}/component-build.gypi', '', d)} \
>>>          -f ninja \
>>>   "
>>>   ARMFPABI_armv7a = "${@bb.utils.contains('TUNE_FEATURES',
>>> 'callconvention-hard', 'arm_float_abi=hard', 'arm_float_abi=softfp', d)}"
>>> @@ -65,6 +67,11 @@ do_install() {
>>>          install -m 0644 ${S}/out/Release/product_logo_48.png
>>> ${D}${bindir}/chrome/
>>>          install -m 0755 ${S}/out/Release/libffmpegsumo.so
>>> ${D}${bindir}/chrome/
>>>
>>> +       install -d ${D}${libdir}/chrome/
>>
>> This ought to b done inside of the 'if' block.
>
>
>
> I am not sure about this, because the export LD_LIBRARY_PATH=/usr/lib/chrome
> line is also introduced. What would be preferred? Set LD_LIBRARY_PATH to a
> potentially nonexisting path or always create /usr/lib/chrome ?
> I could also do a trick similar to the one for the chromium args, but I
> doubt more library paths will ever be added.

I see your point.

Ok so keep it as is now but please add a comment there.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750



More information about the Openembedded-devel mailing list