Apply -fvisibility to decrease binary size 18/62918/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Mon, 21 Mar 2016 05:58:54 +0000 (14:58 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Mon, 21 Mar 2016 05:58:54 +0000 (14:58 +0900)
The size of table.so is decreased from 52KB to 46KB

Change-Id: Ie3d93bee0b0e681d09a6ec70849df4fd9cf2fbbd

packaging/ise-engine-hangul.spec
src/scim_hangul_imengine.cpp
src/scim_hangul_imengine_setup.cpp

index 180d0b3..a0bac86 100755 (executable)
@@ -19,6 +19,9 @@ characters from the keyboard using the plugin modules and the data files.
 %setup -q
 
 %build
+export CFLAGS+=" -fvisibility=hidden -flto "
+export CXXFLAGS+=" -fvisibility=hidden -flto "
+export CPPFLAGS+=" -DEXPORTED=__attribute__\(\(visibility\(\\\"default\\\"\)\)\)"
 
 ./bootstrap
 %configure --prefix=%{_prefix} --disable-static
index b8eeec0..2defad7 100644 (file)
@@ -88,18 +88,18 @@ static Property hangul_mode(SCIM_PROP_HANGUL_MODE, "");
 static Property hanja_mode(SCIM_PROP_HANJA_MODE, "");
 
 extern "C" {
-    void scim_module_init (void)
+    EXPORTED void scim_module_init (void)
     {
         bindtextdomain (GETTEXT_PACKAGE, SCIM_HANGUL_LOCALEDIR);
         bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
     }
 
-    void scim_module_exit (void)
+    EXPORTED void scim_module_exit (void)
     {
         _scim_config.reset ();
     }
 
-    uint32 scim_imengine_module_init (const ConfigPointer &config)
+    EXPORTED uint32 scim_imengine_module_init (const ConfigPointer &config)
     {
         SCIM_DEBUG_IMENGINE(1) << "Initialize Hangul Engine\n";
 
@@ -108,7 +108,7 @@ extern "C" {
         return 1;
     }
 
-    IMEngineFactoryPointer scim_imengine_module_create_factory (uint32 engine)
+    EXPORTED IMEngineFactoryPointer scim_imengine_module_create_factory (uint32 engine)
     {
         HangulFactory *factory = 0;
 
index 94b33a7..2751ba5 100644 (file)
@@ -86,17 +86,17 @@ static bool        query_changed ();
 
 // Module Interface.
 extern "C" {
-    void scim_module_init (void)
+    EXPORTED void scim_module_init (void)
     {
         bindtextdomain (GETTEXT_PACKAGE, SCIM_HANGUL_LOCALEDIR);
         bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
     }
 
-    void scim_module_exit (void)
+    EXPORTED void scim_module_exit (void)
     {
     }
 
-    GtkWidget * scim_setup_module_create_ui (void)
+    EXPORTED GtkWidget * scim_setup_module_create_ui (void)
     {
         static GtkWidget *setup_ui = NULL;
         if (setup_ui == NULL)
@@ -104,32 +104,32 @@ extern "C" {
         return setup_ui;
     }
 
-    String scim_setup_module_get_category (void)
+    EXPORTED String scim_setup_module_get_category (void)
     {
         return String ("IMEngine");
     }
 
-    String scim_setup_module_get_name (void)
+    EXPORTED String scim_setup_module_get_name (void)
     {
         return String (_("Hangul"));
     }
 
-    String scim_setup_module_get_description (void)
+    EXPORTED String scim_setup_module_get_description (void)
     {
         return String (_("A Hangul IMEngine Module."));
     }
 
-    void scim_setup_module_load_config (const ConfigPointer &config)
+    EXPORTED void scim_setup_module_load_config (const ConfigPointer &config)
     {
         load_config (config);
     }
 
-    void scim_setup_module_save_config (const ConfigPointer &config)
+    EXPORTED void scim_setup_module_save_config (const ConfigPointer &config)
     {
         save_config (config);
     }
 
-    bool scim_setup_module_query_changed ()
+    EXPORTED bool scim_setup_module_query_changed ()
     {
         return query_changed ();
     }