From: Carlos Rafael Giani <dv@pseudoterminal.org>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [meta-browser][PATCH v2 1/4] chromium: Add component-build PACKAGECONFIG option
Date: Tue, 29 Apr 2014 21:07:51 +0200 [thread overview]
Message-ID: <535FF887.3040708@pseudoterminal.org> (raw)
In-Reply-To: <CAP9ODKpUHaxxyy8MQ2-f8XwD-tJWd6E+xW-Dr2B+Z-UB3s=n2A@mail.gmail.com>
On 2014-04-29 20:25, Otavio Salvador wrote:
> On Tue, Apr 29, 2014 at 3:39 AM, Carlos Rafael Giani
> <dv@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@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.
>
>> + if [ -n "${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'component-build', '', d)}" ]; then
>> + install -m 0755 ${S}/out/Release/lib/*.so ${D}${libdir}/chrome/
>> + fi
>> +
>> install -d ${D}${sbindir}
>> install -m 4755 ${S}/out/Release/chrome_sandbox ${D}${sbindir}/chrome-devel-sandbox
>>
>> @@ -72,8 +79,8 @@ do_install() {
>> install -m 0644 ${S}/out/Release/locales/en-US.pak ${D}${bindir}/chrome/locales
>> }
>>
>> -FILES_${PN} = "${bindir}/chrome/ ${bindir}/google-chrome ${datadir}/applications ${sbindir}/"
>> -FILES_${PN}-dbg += "${bindir}/chrome/.debug/"
>> +FILES_${PN} = "${bindir}/chrome/ ${bindir}/google-chrome ${datadir}/applications ${sbindir}/ ${libdir}/chrome/"
>> +FILES_${PN}-dbg += "${bindir}/chrome/.debug/ ${libdir}/chrome/.debug/"
>>
>> PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
>>
>> --
>> 1.8.3.2
>>
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
>
next prev parent reply other threads:[~2014-04-29 19:07 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-29 6:39 [meta-browser][PATCH v2 0/4] Introduce EGL/GLES and component build patches for Chromium Carlos Rafael Giani
2014-04-29 6:39 ` [meta-browser][PATCH v2 1/4] chromium: Add component-build PACKAGECONFIG option Carlos Rafael Giani
2014-04-29 18:25 ` Otavio Salvador
2014-04-29 19:07 ` Carlos Rafael Giani [this message]
2014-04-29 19:10 ` Otavio Salvador
2014-04-29 6:39 ` [meta-browser][PATCH v2 2/4] chromium: Add variable to contain extra command-line arguments Carlos Rafael Giani
2014-04-29 6:39 ` [meta-browser][PATCH v2 3/4] chromium: Add use-egl PACKAGECONFIG option Carlos Rafael Giani
2014-04-29 18:30 ` Otavio Salvador
2014-04-29 19:53 ` Carlos Rafael Giani
2014-04-29 6:39 ` [meta-browser][PATCH v2 4/4] chromium: Add ignore-lost-context " Carlos Rafael Giani
2014-04-29 18:31 ` [meta-browser][PATCH v2 0/4] Introduce EGL/GLES and component build patches for Chromium Otavio Salvador
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=535FF887.3040708@pseudoterminal.org \
--to=dv@pseudoterminal.org \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.