get the shared library extension name from the autotools, as
authorcaro <caro@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 16 Jan 2010 16:46:39 +0000 (16:46 +0000)
committercaro <caro@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 16 Jan 2010 16:46:39 +0000 (16:46 +0000)
it is more portable

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/eina@45229 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

configure.ac
src/lib/eina_module.c

index 5adf00c..fcbc3cf 100644 (file)
@@ -45,6 +45,8 @@ AC_SUBST(release_info)
 AC_SUBST(MODULE_ARCH)
 AC_DEFINE_UNQUOTED(MODULE_ARCH, "${MODULE_ARCH}", "Module architecture")
 
+AC_DEFINE_UNQUOTED(SHARED_LIB_SUFFIX, "$shrext_cmds", [Suffix for shared objects])
+
 EFL_CHECK_CPU_MMX([have_mmx="yes"], [have_mmx="no"])
 EFL_CHECK_CPU_SSE([have_sse="yes"], [have_sse="no"])
 EFL_CHECK_CPU_SSE2([have_sse2="yes"], [have_sse2="no"])
index 9bae3c4..5621789 100644 (file)
@@ -87,12 +87,6 @@ static int EINA_MODULE_LOG_DOM = -1;
 #endif
 #define DBG(...) EINA_LOG_DOM_DBG(EINA_MODULE_LOG_DOM, __VA_ARGS__)
 
-#if defined(_WIN32) || defined(__CYGWIN__)
-# define MODULE_EXTENSION ".dll"
-#else
-# define MODULE_EXTENSION ".so"
-#endif /* !defined(_WIN32) && !defined(__CYGWIN__) */
-
 #define EINA_MODULE_SYMBOL_INIT "__eina_module_init"
 #define EINA_MODULE_SYMBOL_SHUTDOWN "__eina_module_shutdown"
 
@@ -138,10 +132,10 @@ static void _dir_list_cb(const char *name, const char *path, void *data)
    size_t length;
 
    length = strlen(name);
-   if (length < sizeof(MODULE_EXTENSION)) /* x.so */
+   if (length < sizeof(SHARED_LIB_SUFFIX)) /* x.so */
      return;
-   if (!strcmp(name + length - sizeof(MODULE_EXTENSION) + 1,
-              MODULE_EXTENSION))
+   if (!strcmp(name + length - sizeof(SHARED_LIB_SUFFIX) + 1,
+              SHARED_LIB_SUFFIX))
      {
        char *file;
        Eina_Module *m;
@@ -576,7 +570,7 @@ eina_module_find(const Eina_Array *array, const char *module)
       memcpy(tmp, eina_module_file_get(m), len + 1);
       file_m = basename(tmp);
       len = strlen(file_m);
-      len -= sizeof(MODULE_EXTENSION) - 1;
+      len -= sizeof(SHARED_LIB_SUFFIX) - 1;
       if (len <= 0) continue;
       if (!strncmp(module, file_m, len)) return m;
    }