[Rom Size] Stop exporting unnecessary symbols 60/186960/6
authorYoungsoo Choi <kenshin.choi@samsung.com>
Thu, 29 Mar 2018 02:32:17 +0000 (19:32 -0700)
committerGerrit Code Review <gerrit@review.ap-northeast-2.compute.internal>
Mon, 20 Aug 2018 14:18:46 +0000 (14:18 +0000)
This stops exporting unnecessary symbols from libchromium-ewk.so.
Not that the exported symbols have to support builds of
crosswalk-tizen and webapi-plugin.

Following is the M67 result of nodebug build for public armv7l target.

Improvement:
The libchromium-ewk.so size is reduced from 92MB to 65MB by -27MB.
Also, number of exported symbols is reduced from 188173 to 9109 by -95.16%.

reference:
https://review.tizen.org/gerrit/#/c/174184/

Change-Id: Ic2a7c4040317a9e239db6665c92912e01db42f95
Signed-off-by: Youngsoo Choi <kenshin.choi@samsung.com>
tizen_src/ewk/chromium-ewk.filter
tizen_src/ewk/efl_integration/BUILD.gn

index 421016c..e712df0 100644 (file)
@@ -3,10 +3,31 @@
     ewk_*;
     efl_webprocess_main;
     extern "C++" {
-      v8::*;
+      v8::Array::*;
+      v8::Context::*;
+      v8::EscapableHandleScope::*;
+      v8::Extension::*;
+      v8::External::*;
+      v8::Function::*;
+      v8::FunctionTemplate::*;
+      v8::HandleScope::*;
+      v8::Int32::*;
+      v8::Integer::*;
+      v8::Isolate::*;
+      v8::Message::*;
+      v8::MicrotasksScope::*;
+      v8::Number::*;
+      v8::Object::*;
+      v8::ObjectTemplate::*;
+      v8::RegisterExtension*;
+      v8::Script::*;
+      v8::String::*;
+      v8::Template::*;
+      v8::TryCatch::*;
+      v8::V8::*;
+      v8::Value::*;
       std::*;
     };
 
   local: *;
 };
-
index 93babd8..e8f04ed 100644 (file)
@@ -93,8 +93,7 @@ shared_library("chromium-ewk") {
   defines = [ "CHROMIUM_VERSION=\"<!(python <(version_script) -f <(version_file) -t \"<(version_pattern)\")\"" ]
   ldflags = [
     "-Wl,--no-undefined",
-    # TODO : need to check below for uncomment
-    #"-Wl,--version-script,//tizen_src/ewk/<(filter_file)"
+    "-Wl,--version-script="+ rebase_path("//tizen_src/ewk/chromium-ewk.filter")
   ]
   cflags = [
     # Symbol visibility controled by chromium-ewk.filter