bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=3ec1101652a9fedbfa40a29bcfe4842b1c86051e

commit 3ec1101652a9fedbfa40a29bcfe4842b1c86051e
Author: Marcel Hollerbach <[email protected]>
Date:   Sun May 10 12:47:58 2020 +0200

    Merge efreet_mime efreet_trash into efreet
    
    efreet_mime and efreet_trash are now included in libefreet.so. There are
    compatible libs for libefreet_mime.so libefreet_trash.so, which simple
    drag in libefreet.so. .pc files also are in place for compatibility.
    
    efreet_init & shutdown now initializes and shutdowns trash and mime.
    The old init functions now simply call efreet_init, efreet_init will
    then init the trash or mime libs.
    
    Reviewed-by: Stefan Schmidt <[email protected]>
    Differential Revision: https://phab.enlightenment.org/D11807
---
 src/lib/efreet/Efreet.h         |  3 +++
 src/lib/efreet/efreet.c         | 12 +++++++++++
 src/lib/efreet/efreet_mime.c    | 40 +++++++++++++++--------------------
 src/lib/efreet/efreet_private.h |  8 ++++++-
 src/lib/efreet/efreet_trash.c   | 26 +++++++++++++++--------
 src/lib/efreet/meson.build      | 47 +++++++++++++++++------------------------
 src/lib/eio/meson.build         |  2 +-
 src/lib/elementary/meson.build  |  4 ++--
 src/tests/efreet/meson.build    |  2 +-
 9 files changed, 79 insertions(+), 65 deletions(-)

diff --git a/src/lib/efreet/Efreet.h b/src/lib/efreet/Efreet.h
index 51fbfebf6f..af25e033fa 100644
--- a/src/lib/efreet/Efreet.h
+++ b/src/lib/efreet/Efreet.h
@@ -167,6 +167,9 @@ EAPI void efreet_cache_disable(void);
  */
 EAPI void efreet_cache_enable(void);
 
+#include <Efreet_Mime.h>
+#include <Efreet_Trash.h>
+
 #undef EAPI
 #define EAPI
 
diff --git a/src/lib/efreet/efreet.c b/src/lib/efreet/efreet.c
index 091899f2b2..4c20b12bc1 100644
--- a/src/lib/efreet/efreet.c
+++ b/src/lib/efreet/efreet.c
@@ -94,6 +94,12 @@ efreet_init(void)
    if (!efreet_util_init())
      goto shutdown_efreet_menu;
 
+   if (!efreet_internal_mime_init())
+     goto shutdown_efreet_mime;
+
+   if (!efreet_internal_trash_init())
+     goto shutdown_efreet_trash;
+
 #ifdef ENABLE_NLS
    bindtextdomain(PACKAGE, LOCALE_DIR);
    bind_textdomain_codeset(PACKAGE, "UTF-8");
@@ -101,6 +107,10 @@ efreet_init(void)
 
    return _efreet_init_count;
 
+shutdown_efreet_trash:
+   efreet_internal_trash_shutdown();
+shutdown_efreet_mime:
+   efreet_internal_mime_shutdown();
 shutdown_efreet_menu:
    efreet_menu_shutdown();
 shutdown_efreet_desktop:
@@ -146,6 +156,8 @@ efreet_shutdown(void)
    efreet_xml_shutdown();
    efreet_cache_shutdown();
    efreet_base_shutdown();
+   efreet_internal_mime_shutdown();
+   efreet_internal_trash_shutdown();
 
    IF_RELEASE(efreet_lang);
    IF_RELEASE(efreet_lang_country);
diff --git a/src/lib/efreet/efreet_mime.c b/src/lib/efreet/efreet_mime.c
index 9eba8c8db9..d94894ff71 100644
--- a/src/lib/efreet/efreet_mime.c
+++ b/src/lib/efreet/efreet_mime.c
@@ -348,21 +348,12 @@ _efreet_mimedb_glob_mime_get(unsigned int num)
 
 /** --------------------------------- **/
 
-EAPI int
-efreet_mime_init(void)
+int
+efreet_internal_mime_init(void)
 {
    if (++_efreet_mime_init_count != 1)
      return _efreet_mime_init_count;
 
-   if (!ecore_init())
-     return --_efreet_mime_init_count;
-
-   if (!ecore_file_init())
-     goto shutdown_ecore;
-
-   if (!efreet_init())
-     goto shutdown_ecore_file;
-
    _efreet_mime_log_dom = eina_log_domain_register
       ("efreet_mime", EFREET_DEFAULT_LOG_COLOR);
 
@@ -388,17 +379,11 @@ unregister_log_domain:
    eina_log_domain_unregister(_efreet_mime_log_dom);
    _efreet_mime_log_dom = -1;
 shutdown_efreet:
-   efreet_shutdown();
-shutdown_ecore_file:
-   ecore_file_shutdown();
-shutdown_ecore:
-   ecore_shutdown();
-
    return --_efreet_mime_init_count;
-}
+ }
 
-EAPI int
-efreet_mime_shutdown(void)
+int
+efreet_internal_mime_shutdown(void)
 {
    if (_efreet_mime_init_count == 0)
      {
@@ -428,13 +413,22 @@ efreet_mime_shutdown(void)
    IF_FREE_HASH(mime_icons);
    eina_log_domain_unregister(_efreet_mime_log_dom);
    _efreet_mime_log_dom = -1;
-   efreet_shutdown();
-   ecore_file_shutdown();
-   ecore_shutdown();
 
    return _efreet_mime_init_count;
 }
 
+EAPI int
+efreet_mime_init(void)
+{
+   return efreet_init();
+}
+
+EAPI int
+efreet_mime_shutdown(void)
+{
+   return efreet_shutdown();
+}
+
 EAPI const char *
 efreet_mime_type_get(const char *file)
 {
diff --git a/src/lib/efreet/efreet_private.h b/src/lib/efreet/efreet_private.h
index eb42c28f74..77a74dfca1 100644
--- a/src/lib/efreet/efreet_private.h
+++ b/src/lib/efreet/efreet_private.h
@@ -114,7 +114,7 @@
 
 /**
  * macros that are used all around the code for message processing
- * four macros are defined ERR, WRN, DGB, INF. 
+ * four macros are defined ERR, WRN, DGB, INF.
  * EFREET_MODULE_LOG_DOM should be defined individually for each module
  */
 #ifdef CRI
@@ -214,6 +214,12 @@ void efreet_desktop_shutdown(void);
 int efreet_util_init(void);
 int efreet_util_shutdown(void);
 
+int efreet_internal_mime_init(void);
+int efreet_internal_mime_shutdown(void);
+
+int efreet_internal_trash_init(void);
+int efreet_internal_trash_shutdown(void);
+
 const char *efreet_home_dir_get(void);
 void        efreet_dirs_reset(void);
 
diff --git a/src/lib/efreet/efreet_trash.c b/src/lib/efreet/efreet_trash.c
index 04a4a6cda4..f3837caf47 100644
--- a/src/lib/efreet/efreet_trash.c
+++ b/src/lib/efreet/efreet_trash.c
@@ -32,28 +32,25 @@ static const char *efreet_trash_dir = NULL;
 # define getuid() GetCurrentProcessId()
 #endif
 
-EAPI int
-efreet_trash_init(void)
+
+int
+efreet_internal_trash_init(void)
 {
     if (++_efreet_trash_init_count != 1)
         return _efreet_trash_init_count;
 
-    if (!eina_init())
-        return --_efreet_trash_init_count;
-
     _efreet_trash_log_dom = eina_log_domain_register
       ("efreet_trash", EFREET_DEFAULT_LOG_COLOR);
     if (_efreet_trash_log_dom < 0)
     {
         EINA_LOG_ERR("Efreet: Could not create a log domain for efreet_trash");
-        eina_shutdown();
         return --_efreet_trash_init_count;
     }
     return _efreet_trash_init_count;
 }
 
-EAPI int
-efreet_trash_shutdown(void)
+int
+efreet_internal_trash_shutdown(void)
 {
     if (--_efreet_trash_init_count != 0)
         return _efreet_trash_init_count;
@@ -61,11 +58,22 @@ efreet_trash_shutdown(void)
     IF_RELEASE(efreet_trash_dir);
     eina_log_domain_unregister(_efreet_trash_log_dom);
     _efreet_trash_log_dom = -1;
-    eina_shutdown();
 
     return _efreet_trash_init_count;
 }
 
+EAPI int
+efreet_trash_init(void)
+{
+   return efreet_init();
+}
+
+EAPI int
+efreet_trash_shutdown(void)
+{
+   return efreet_shutdown();
+}
+
 EAPI const char*
 efreet_trash_dir_get(const char *file)
 {
diff --git a/src/lib/efreet/meson.build b/src/lib/efreet/meson.build
index f438b02845..271eca0b1a 100644
--- a/src/lib/efreet/meson.build
+++ b/src/lib/efreet/meson.build
@@ -25,7 +25,9 @@ efreet_src = [
   'efreet_cache.c',
   'efreet_private.h',
   'efreet_xml.h',
-  'efreet_cache_private.h'
+  'efreet_cache_private.h',
+  'efreet_mime.c',
+  'efreet_trash.c'
 ]
 
 efreet_deps = [eet, ecore, ecore_con, ecore_file, eo, efl, eina, emile, 
ecore_ipc, buildsystem,intl]
@@ -46,50 +48,39 @@ efreet = declare_dependency(
   dependencies: efreet_pub_deps,
 )
 
-efreet_mime_lib = library('efreet_mime',
-    'efreet_mime.c',
-    dependencies: efreet_pub_deps + [m, efreet, efreet_deps],
-    include_directories : config_dir + [include_directories('.')],
-    install: true,
-    c_args : package_c_args,
-    version : meson.project_version()
+install_headers(efreet_header_src,
+  install_dir : dir_package_include,
 )
 
 
-efreet_mime = declare_dependency(
-  include_directories: [include_directories('.')],
-  link_with: efreet_mime_lib,
-  dependencies: efreet_pub_deps
-)
+#Deprecated efreet libs
+# everything and everyone should use efreet itself, efreet_mime and 
efreet_trash are contained in libefreet.so
+# libefreet_mime.so and libefreet_trash.so will just have NEEDED on 
libefreet.so so the symbols get caught in like that
 
-efreet_trash_lib = library('efreet_trash',
-    'efreet_trash.c',
-    dependencies: efreet_pub_deps + [efreet, efreet_deps],
+deprecated_efreet_mime_lib = library('efreet_mime',
+    dependencies: [efreet],
     include_directories : config_dir + [include_directories('.')],
     install: true,
-    c_args : package_c_args,
     version : meson.project_version()
 )
 
-efreet_trash = declare_dependency(
-  include_directories: [include_directories('.')],
-  link_with: efreet_trash_lib,
-  dependencies: efreet_pub_deps,
-)
-
-install_headers(efreet_header_src,
-  install_dir : dir_package_include,
+deprecated_efreet_trash_lib = library('efreet_trash',
+    dependencies: efreet,
+    include_directories : config_dir + [include_directories('.')],
+    install: true,
+    version : meson.project_version()
 )
-
-pkgconfig.generate(efreet_mime_lib,
+pkgconfig.generate(efreet_lib,
         name : 'efreet-mime',
+        description : 'Deprecated, please just use efreet',
         subdirs : package_version_name,
         version : version_major + '.' + version_minor + '.' + version_micro,
         libraries : efreet_pub_deps,
 )
 
-pkgconfig.generate(efreet_trash_lib,
+pkgconfig.generate(efreet_lib,
         name : 'efreet-trash',
+        description : 'Deprecated, please just use efreet',
         subdirs : package_version_name,
         version : version_major + '.' + version_minor + '.' + version_micro,
         libraries : efreet_pub_deps,
diff --git a/src/lib/eio/meson.build b/src/lib/eio/meson.build
index f95a1e652c..64f33a2430 100644
--- a/src/lib/eio/meson.build
+++ b/src/lib/eio/meson.build
@@ -63,7 +63,7 @@ elif sys_bsd == true
   eio_src += ['eio_monitor_kevent.c']
 endif
 
-eio_deps = [ecore, ecore_file, eet, eo, eina, efl, emile, efreet_mime]
+eio_deps = [ecore, ecore_file, eet, eo, eina, efl, emile, efreet]
 eio_pub_deps = [eina, eet]
 
 eio_lib = library('eio',
diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build
index f2e7ed96fb..fb4431d3f7 100644
--- a/src/lib/elementary/meson.build
+++ b/src/lib/elementary/meson.build
@@ -949,9 +949,9 @@ elementary_src = [
   'efl_ui_spotlight_animation_manager.c',
 ]
 
-elementary_deps = [emile, eo, efl, edje, ethumb, ethumb_client, emotion, 
ecore_imf, ecore_con, eldbus, efreet, efreet_mime, efreet_trash, eio, atspi, 
dl, intl]
+elementary_deps = [emile, eo, efl, edje, ethumb, ethumb_client, emotion, 
ecore_imf, ecore_con, eldbus, efreet, eio, atspi, dl, intl]
 elementary_pub_deps = [eina, eet, evas, ecore, ecore_evas, ecore_file, 
ecore_input, ecore_imf, ecore_con,
-                       edje, eldbus, efreet, efreet_mime, efreet_trash, 
ethumb_client, efl]
+                       edje, eldbus, efreet, ethumb_client, efl]
 
 elm_options = configuration_data()
 
diff --git a/src/tests/efreet/meson.build b/src/tests/efreet/meson.build
index 4ce9156ec9..24364523f5 100644
--- a/src/tests/efreet/meson.build
+++ b/src/tests/efreet/meson.build
@@ -31,7 +31,7 @@ efreet_test_src = [
   'main.c'
 ]
 
-efreet_test_deps = [check, efreet, ecore, ecore_file, efreet_mime, intl]
+efreet_test_deps = [check, efreet, ecore, ecore_file, intl]
 
 efreet_test = executable('efreet_test',
   efreet_test_src,

-- 


Reply via email to