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