On Sun, 28 Aug 2011, Daniel Juyung Seo wrote:

Hello,
do you mean examples by src/examples?

yes

They didn't check ELM_LIB_QUICKLAUNCH definition and didn't export elm_main.

the problem is on Windows. For example, in actionslider_example_01.c:

EAPI int
elm_main(int argc __UNUSED__, char **argv __UNUSED__)

EAPI is defined as dllimport, hence elm_main() will be searched in a DLL. Which is obviously not the case, hence an error at linking stage. It's not a question of elm_main() being exported or not, it's a question of DLL being an horror compared to ELF.

Vincent

So there is no place to apply EAPI_MAIN changes.
Or we do have to add ELM_LIB_QUICKLAUNCH check routine and export all
elm_main in examples.
How do you think?
Anything is welcomed to me.

Thanks.
Daniel Juyung Seo (SeoZ)


On Sat, Aug 27, 2011 at 4:54 PM, Enlightenment SVN
<[email protected]> wrote:
Log:
change the way elm_main() must be declared (fix bug on Windows).

 Instead of EAPI elm_main(***), it must be EAPI_MAIN elm_main(***) so that
 it also work on Windows.

 If someone knows sed a bit, can he also change all the examples ?



Author:       caro
Date:         2011-08-27 00:54:49 -0700 (Sat, 27 Aug 2011)
New Revision: 62885
Trac:         http://trac.enlightenment.org/e/changeset/62885

Modified:
 trunk/elementary/doc/widgets/Makefile.am 
trunk/elementary/doc/widgets/widget_preview_tmpl_head.c 
trunk/elementary/src/bin/Makefile.am trunk/elementary/src/bin/config.c 
trunk/elementary/src/bin/test.c trunk/elementary/src/lib/Elementary.h.in

Modified: trunk/elementary/doc/widgets/Makefile.am
===================================================================
--- trunk/elementary/doc/widgets/Makefile.am    2011-08-27 01:41:52 UTC (rev 
62884)
+++ trunk/elementary/doc/widgets/Makefile.am    2011-08-27 07:54:49 UTC (rev 
62885)
@@ -21,10 +21,6 @@
 @ELEMENTARY_EMAP_CFLAGS@ \
 @EIO_CFLAGS@

-if ELEMENTARY_WINDOWS_BUILD
-AM_CPPFLAGS += -DELEMENTARY_BUILD
-endif
-
 noinst_PROGRAMS = \
 widget_preview_button1 \
 widget_preview_button2 \

Modified: trunk/elementary/doc/widgets/widget_preview_tmpl_head.c
===================================================================
--- trunk/elementary/doc/widgets/widget_preview_tmpl_head.c     2011-08-27 
01:41:52 UTC (rev 62884)
+++ trunk/elementary/doc/widgets/widget_preview_tmpl_head.c     2011-08-27 
07:54:49 UTC (rev 62885)
@@ -5,7 +5,7 @@
 # define __UNUSED__
 #endif

-EAPI int
+EAPI_MAIN int
 elm_main(int argc __UNUSED__, char **argv)
 {
   Evas_Object *win, *bg;

Modified: trunk/elementary/src/bin/Makefile.am
===================================================================
--- trunk/elementary/src/bin/Makefile.am        2011-08-27 01:41:52 UTC (rev 
62884)
+++ trunk/elementary/src/bin/Makefile.am        2011-08-27 07:54:49 UTC (rev 
62885)
@@ -21,10 +21,6 @@
 @ELEMENTARY_EMAP_CFLAGS@ \
 @EIO_CFLAGS@

-if ELEMENTARY_WINDOWS_BUILD
-AM_CPPFLAGS += -DELEMENTARY_BUILD
-endif
-
 bin_PROGRAMS = @ELEMENTARY_TEST_PRG@ @ELEMENTARY_CONFIG_PRG@
 if BUILD_QUICKLAUNCH
 bin_PROGRAMS += elementary_quicklaunch elementary_run elementary_testql

Modified: trunk/elementary/src/bin/config.c
===================================================================
--- trunk/elementary/src/bin/config.c   2011-08-27 01:41:52 UTC (rev 62884)
+++ trunk/elementary/src/bin/config.c   2011-08-27 07:54:49 UTC (rev 62885)
@@ -2967,7 +2967,7 @@
 /* this is your elementary main function - it MUST be called IMMEDIATELY
 * after elm_init() and MUST be passed argc and argv, and MUST be called
 * elm_main and not be static - must be a visible symbol with EAPI infront */
-EAPI int
+EAPI_MAIN int
 elm_main(int    argc,
         char **argv)
 {

Modified: trunk/elementary/src/bin/test.c
===================================================================
--- trunk/elementary/src/bin/test.c     2011-08-27 01:41:52 UTC (rev 62884)
+++ trunk/elementary/src/bin/test.c     2011-08-27 07:54:49 UTC (rev 62885)
@@ -466,7 +466,7 @@
 /* this is your elementary main function - it MUST be called IMMEDIATELY
 * after elm_init() and MUST be passed argc and argv, and MUST be called
 * elm_main and not be static - must be a visible symbol with EAPI infront */
-EAPI int
+EAPI_MAIN int
 elm_main(int argc, char **argv)
 {
   Eina_Bool test_win_only = EINA_FALSE;

Modified: trunk/elementary/src/lib/Elementary.h.in
===================================================================
--- trunk/elementary/src/lib/Elementary.h.in    2011-08-27 01:41:52 UTC (rev 
62884)
+++ trunk/elementary/src/lib/Elementary.h.in    2011-08-27 07:54:49 UTC (rev 
62885)
@@ -52,7 +52,7 @@
 *
 @code
 #include <Elementary.h>
-EAPI int
+EAPI_MAIN int
 elm_main(int argc, char **argv)
 {
   // create window(s) here and do any application init
@@ -191,7 +191,7 @@
   elm_exit();
 }

-EAPI int
+EAPI_MAIN int
 elm_main(int argc, char **argv)
 {
   Evas_Object *win, *bg, *box, *lab, *btn;
@@ -420,6 +420,11 @@
 # endif
 #endif /* ! _WIN32 */

+#ifdef _WIN32
+# define EAPI_MAIN
+#else
+# define EAPI_MAIN EAPI
+#endif

 /* allow usage from c++ */
 #ifdef __cplusplus
@@ -12560,7 +12565,7 @@
    * @code
    * #include <Elementary.h>
    * #ifndef ELM_LIB_QUICKLAUNCH
-    * EAPI int
+    * EAPI_MAIN int
    * elm_main(int argc, char **argv)
    * {
    *    Ethumb_Client *client;


------------------------------------------------------------------------------
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management
Up to 160% more powerful than alternatives and 25% more efficient.
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
_______________________________________________
enlightenment-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-svn


------------------------------------------------------------------------------
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management
Up to 160% more powerful than alternatives and 25% more efficient.
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

------------------------------------------------------------------------------
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management 
Up to 160% more powerful than alternatives and 25% more efficient. 
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to