Only export necessary symbols (EWK + v8::*) in libchromium-ewk.so
authorSeungSeop Park <sns.park@samsung.com>
Mon, 9 Feb 2015 09:56:20 +0000 (18:56 +0900)
committerYoungsoo Choi <kenshin.choi@samsung.com>
Tue, 10 Jul 2018 06:57:09 +0000 (06:57 +0000)
commit0da60f625271b9122dad4c70d035af6b2d12f7b5
treee2f07990801d8356c89685f2d0f315fe168393e6
parente91d8a51545929848c04756a35d7f970313e2677
Only export necessary symbols (EWK + v8::*) in libchromium-ewk.so

Currently we are providing two shared libraries - libchromium-ewk.so and
libchromium-efl.so, as the former is relying on the latter.
Tizen applications are supposed to use only EWK api, hence would only see
libchromium-ewk.so, which uses in turn libchromium-efl.so in implementing
EWK. However, libchromium-efl.so is over-exporting symbols unnecessary to
EWK apis, resulting in large ROM size and runtime memory.

This patch does three things to fix above mentioned issues.
1. Change libchromium-efl to static library
2. export symbols required for EWK app and WRT in libchromium-ewk.so
   - ewk_ prefixed API
   - v8::*
3. Refactored efl_webprocess executable to link with libchromium-ewk.so.

Test result of .so size in mobile:
- Before: 46M after strip (76M before strip)
- After : 35M after strip (63M before strip)

The test result for runtime memory also showed over 8M reduction
in PSS code section.

Note: This is a partial commit of http://165.213.202.130:8080/#/c/75146/
which contains our effort to reduce memory footprint.

Bug: http://web.sec.samsung.net/bugzilla/show_bug.cgi?id=11607
Reviewed by: Antonio Gomes, Piotr Tworek

Change-Id: I527135ab844428d030477d194e5e5103c5533685
Signed-off-by: SeungSeop Park <sns.park@samsung.com>
tizen_src/build/pkgconfig/chromium-efl.pc.in
tizen_src/ewk/chromium-ewk.filter [new file with mode: 0644]
tizen_src/ewk/chromium-ewk.gyp
tizen_src/ewk/efl_webprocess/efl_webprocess.cc [new file with mode: 0644]
tizen_src/impl/chromium-efl.filter [deleted file]
tizen_src/impl/chromium-efl.gyp
tizen_src/impl/efl_webprocess_main.cc [moved from tizen_src/impl/web_process.cc with 74% similarity]
tizen_src/impl/efl_webprocess_main.h [new file with mode: 0644]
tizen_src/packaging/chromium-efl.spec