hello q66.
 
i got a compile err after this commit.  
do you have any idea?
 
ERR<9006>:elua bin/elua/main.c:33 elua_errmsg() 
/home/hermet/efl/core/efl/src/bin/elua/.libs/lt-elua: 
/home/hermet/efl/core/efl/src/bin/elua/modules/lualian.lua:547: bad argument #3 
to 'format' (string expected, got nil)
stack traceback:
        [C]: in function 'format'
        /home/hermet/efl/core/efl/src/bin/elua/modules/lualian.lua:547: in 
function 'generate'
        /home/hermet/efl/core/efl/src/bin/elua/modules/lualian.lua:672: in 
function 'generate'
        /home/hermet/efl/core/efl/src/bin/elua/apps/lualian.lua:21: in function 
'gen_file'
        /home/hermet/efl/core/efl/src/bin/elua/apps/lualian.lua:59: in function 
'done_cb'
        ...cts/EFL/efl_git/core/efl/src/bin/elua/modules/getopt.lua:137: in 
function 'parse'
        /home/hermet/efl/core/efl/src/bin/elua/apps/lualian.lua:24: in main 
chunk
        [C]: ?
make[4]: *** [lib/ecore_audio/ecore_audio_in.eo.lua] Error 1
make[4]: *** Waiting for unfinished jobs....
ERR<9003>:elua bin/elua/main.c:33 elua_errmsg() 
/home/hermet/efl/core/efl/src/bin/elua/.libs/lt-elua: 
/home/hermet/efl/core/efl/src/bin/elua/modules/lualian.lua:547: bad argument #3 
to 'format' (string expected, got nil)
stack traceback:
        [C]: in function 'format'
        /home/hermet/efl/core/efl/src/bin/elua/modules/lualian.lua:547: in 
function 'generate'
        /home/hermet/efl/core/efl/src/bin/elua/modules/lualian.lua:672: in 
function 'generate'
        /home/hermet/efl/core/efl/src/bin/elua/apps/lualian.lua:21: in function 
'gen_file'
        /home/hermet/efl/core/efl/src/bin/elua/apps/lualian.lua:59: in function 
'done_cb'
        ...cts/EFL/efl_git/core/efl/src/bin/elua/modules/getopt.lua:137: in 
function 'parse'
        /home/hermet/efl/core/efl/src/bin/elua/apps/lualian.lua:24: in main 
chunk
        [C]: ?
make[4]: *** [lib/ecore_audio/ecore_audio.eo.lua] Error 1
ERR<9112>:elua bin/elua/main.c:33 elua_errmsg() 
/home/hermet/efl/core/efl/src/bin/elua/.libs/lt-elua: 
/home/hermet/efl/core/efl/src/bin/elua/modules/lualian.lua:547: bad argument #3 
to 'format' (string expected, got nil)
stack traceback:
        [C]: in function 'format'
        /home/hermet/efl/core/efl/src/bin/elua/modules/lualian.lua:547: in 
function 'generate'
        /home/hermet/efl/core/efl/src/bin/elua/modules/lualian.lua:672: in 
function 'generate'
        /home/hermet/efl/core/efl/src/bin/elua/apps/lualian.lua:21: in function 
'gen_file'
        /home/hermet/efl/core/efl/src/bin/elua/apps/lualian.lua:59: in function 
'done_cb'
        ...cts/EFL/efl_git/core/efl/src/bin/elua/modules/getopt.lua:137: in 
function 'parse'
        /home/hermet/efl/core/efl/src/bin/elua/apps/lualian.lua:24: in main 
chunk
        [C]: ?
make[4]: *** [lib/ecore_audio/ecore_audio_out.eo.lua] Error 1
 

------------------------------------

-Regards, Hermet-
 
-----Original Message-----
From: "Daniel Kolesa"<[email protected]> 
To: <[email protected]>; 
Cc: 
Sent: 2014-10-06 (월) 21:30:51
Subject: [EGIT] [core/efl] master 01/01: elua/autotools: generate .eo.lua files 
out of all eo files at build time

q66 pushed a commit to branch master.

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

commit f33101ea8cd7564aaf1f30c3280110c9c1f8d46d
Author: Daniel Kolesa <d.kolesa>@samsung.com>
Date:   Mon Oct 6 11:32:25 2014 +0100

    elua/autotools: generate .eo.lua files out of all eo files at build time
    
    Also change the generator a bit so that it doesn't rely on lib name 
information
    and fix the runtime to properly source lua files within tree.
---
 src/Makefile.am                  |  2 --
 src/Makefile_Ecore.am            | 13 +++++++++++++
 src/Makefile_Ecore_Audio.am      | 13 +++++++++++++
 src/Makefile_Ecore_Con.am        | 13 +++++++++++++
 src/Makefile_Edje.am             | 13 +++++++++++++
 src/Makefile_Efl.am              | 13 +++++++++++++
 src/Makefile_Elua.am             |  2 +-
 src/Makefile_Elua_Helper.am      |  8 ++++----
 src/Makefile_Emotion.am          | 13 +++++++++++++
 src/Makefile_Evas.am             | 12 ++++++++++++
 src/bin/elua/apps/lualian.lua    | 26 ++++++++++----------------
 src/bin/elua/main.c              | 10 +++++-----
 src/bin/elua/modules/lualian.lua | 23 ++++++++---------------
 13 files changed, 118 insertions(+), 43 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index 27df98f..fdb13a2 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -11,8 +11,6 @@ EOLIAN_FLAGS = \
               -I$(srcdir)/lib/ecore \
               -I$(srcdir)/lib/ecore_con
 
-ELUA_GEN_FLAGS =
-
 DIST_SUBDIRS =
 SUBDIRS =
 
diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am
index 7929314..3bb894a 100644
--- a/src/Makefile_Ecore.am
+++ b/src/Makefile_Ecore.am
@@ -225,3 +225,16 @@ endif
 EXTRA_DIST += \
 tests/ecore/modem.wav \
 tests/ecore/sms.ogg
+
+if HAVE_ELUA
+
+ecore_eolian_lua = $(ecore_eolian_files:%.eo=%.eo.lua)
+
+generated_ecore_lua_all = $(ecore_eolian_lua)
+
+CLEANFILES += $(generated_ecore_lua_all)
+
+installed_ecoreluadir = $(datadir)/elua/modules/ecore
+nodist_installed_ecorelua_DATA = $(generated_ecore_lua_all)
+
+endif
diff --git a/src/Makefile_Ecore_Audio.am b/src/Makefile_Ecore_Audio.am
index 4aee102..e87ffb4 100644
--- a/src/Makefile_Ecore_Audio.am
+++ b/src/Makefile_Ecore_Audio.am
@@ -75,3 +75,16 @@ lib/ecore_audio/ecore_audio_sndfile_vio.c
 endif
 
 endif
+
+if HAVE_ELUA
+
+ecore_audio_eolian_lua = $(ecore_audio_eolian_files:%.eo=%.eo.lua)
+
+generated_ecore_audio_lua_all = $(ecore_audio_eolian_lua)
+
+CLEANFILES += $(generated_ecore_audio_lua_all)
+
+installed_ecoreaudioluadir = $(datadir)/elua/modules/ecore_audio
+nodist_installed_ecoreaudiolua_DATA = $(generated_ecore_audio_lua_all)
+
+endif
diff --git a/src/Makefile_Ecore_Con.am b/src/Makefile_Ecore_Con.am
index dbeb331..e482ca4 100644
--- a/src/Makefile_Ecore_Con.am
+++ b/src/Makefile_Ecore_Con.am
@@ -68,3 +68,16 @@ lib_ecore_con_libecore_con_la_CPPFLAGS = 
-I$(top_builddir)/src/lib/efl @ECORE_CO
 lib_ecore_con_libecore_con_la_LIBADD = @ECORE_CON_LIBS@ @EVIL_LIBS@
 lib_ecore_con_libecore_con_la_DEPENDENCIES = @ECORE_CON_INTERNAL_LIBS@
 lib_ecore_con_libecore_con_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
+
+if HAVE_ELUA
+
+ecore_con_eolian_lua = $(ecore_con_eolian_files:%.eo=%.eo.lua)
+
+generated_ecore_con_lua_all = $(ecore_con_eolian_lua)
+
+CLEANFILES += $(generated_ecore_con_lua_all)
+
+installed_ecoreconluadir = $(datadir)/elua/modules/ecore_con
+nodist_installed_ecoreconlua_DATA = $(generated_ecore_con_lua_all)
+
+endif
diff --git a/src/Makefile_Edje.am b/src/Makefile_Edje.am
index c92372f..e7cc6dd 100644
--- a/src/Makefile_Edje.am
+++ b/src/Makefile_Edje.am
@@ -281,3 +281,16 @@ CLEANFILES += tests/edje/data/test_layout.edj \
 endif
 
 EXTRA_DIST += $(EDJE_DATA_FILES)
+
+if HAVE_ELUA
+
+edje_eolian_lua = $(edje_eolian_files:%.eo=%.eo.lua)
+
+generated_edje_lua_all = $(edje_eolian_lua)
+
+CLEANFILES += $(generated_edje_lua_all)
+
+installed_edjeluadir = $(datadir)/elua/modules/edje
+nodist_installed_edjelua_DATA = $(generated_edje_lua_all)
+
+endif
diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am
index 3081514..5533dce 100644
--- a/src/Makefile_Efl.am
+++ b/src/Makefile_Efl.am
@@ -40,3 +40,16 @@ dist_installed_eflheaders_DATA = \
 
 installed_eflinterfacesdir = $(includedir)/efl-@VMAJ@/interfaces
 nodist_installed_eflinterfaces_DATA = $(efl_eolian_files_h)
+
+if HAVE_ELUA
+
+efl_eolian_lua = $(efl_eolian_files:%.eo=%.eo.lua)
+
+generated_efl_lua_all = $(efl_eolian_lua)
+
+CLEANFILES += $(generated_efl_lua_all)
+
+installed_eflluadir = $(datadir)/elua/modules/efl
+nodist_installed_efllua_DATA = $(generated_efl_lua_all)
+
+endif
diff --git a/src/Makefile_Elua.am b/src/Makefile_Elua.am
index 1c170e4..21b1dd7 100644
--- a/src/Makefile_Elua.am
+++ b/src/Makefile_Elua.am
@@ -10,7 +10,7 @@ bin_elua_elua_SOURCES = \
 
 bin_elua_elua_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ELUA_CFLAGS@ \
        -DLOCALE_DIR=\"@LOCALE_DIR@\" \
-       -DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \
+       -DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \
        -DPACKAGE_BIN_DIR=\"$(bindir)\" \
        -DPACKAGE_DATA_DIR=\"$(datadir)/elua\"
 
diff --git a/src/Makefile_Elua_Helper.am b/src/Makefile_Elua_Helper.am
index 63fbbf5..d677144 100644
--- a/src/Makefile_Elua_Helper.am
+++ b/src/Makefile_Elua_Helper.am
@@ -1,8 +1,8 @@
 if HAVE_ELUA_BIN
-ELUA_GEN = @elua_bin@
+ELUA_GEN = @elua_bin@ :lualian
 _ELUA_GEN_DEP = @elua_bin@
 else
-ELUA_GEN = EFL_RUN_IN_TREE=1 $(top_builddir)/src/bin/elua/elua${EXEEXT}
+ELUA_GEN = EFL_RUN_IN_TREE=1 $(top_builddir)/src/bin/elua/elua${EXEEXT} 
:lualian
 _ELUA_GEN_DEP = bin/elua/elua${EXEEXT}
 endif
 
@@ -12,7 +12,7 @@ am__v_ELUA_0 = @echo "  ELUA    " $@;
 
 SUFFIXES += .lua
 
-%.lua: %.eo ${_ELUA_GEN_DEP}
-       $(AM_V_ELUA)$(ELUA_GEN) :lualian $(ELUA_GEN_FLAGS) -o $@ $<
+%.eo.lua: %.eo ${_ELUA_GEN_DEP}
+       $(AM_V_ELUA)$(ELUA_GEN) -o $@ $<
 
 CLEANFILES += $(BUILT_SOURCES)
diff --git a/src/Makefile_Emotion.am b/src/Makefile_Emotion.am
index 242a671..1b51d0f 100644
--- a/src/Makefile_Emotion.am
+++ b/src/Makefile_Emotion.am
@@ -257,3 +257,16 @@ tests/emotion/data/video_frame_top.png \
 tests/emotion/data/whb.png \
 tests/emotion/data/window_inner_shadow.png \
 modules/emotion/generic/README
+
+if HAVE_ELUA
+
+emotion_eolian_lua = $(emotion_eolian_files:%.eo=%.eo.lua)
+
+generated_emotion_lua_all = $(emotion_eolian_lua)
+
+CLEANFILES += $(generated_emotion_lua_all)
+
+installed_emotionluadir = $(datadir)/elua/modules/emotion
+nodist_installed_emotionlua_DATA = $(generated_emotion_lua_all)
+
+endif
diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index 44fa534..3d6acd2 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -1965,3 +1965,15 @@ tests/evas/images/Light_exif_90.jpg \
 tests/evas/images/Light_exif_transverse.jpg \
 tests/evas/images/Light_exif_270.jpg
 
+if HAVE_ELUA
+
+evas_eolian_lua = $(evas_eolian_files:%.eo=%.eo.lua)
+
+generated_evas_lua_all = $(evas_eolian_lua)
+
+CLEANFILES += $(generated_evas_lua_all)
+
+installed_evasluadir = $(datadir)/elua/modules/evas
+nodist_installed_evaslua_DATA = $(generated_evas_lua_all)
+
+endif
diff --git a/src/bin/elua/apps/lualian.lua b/src/bin/elua/apps/lualian.lua
index d32ec27..4ffbf58 100644
--- a/src/bin/elua/apps/lualian.lua
+++ b/src/bin/elua/apps/lualian.lua
@@ -18,7 +18,7 @@ local gen_file = function(opts, i, fname)
     else
         printv("  Output file: printing to stdout...")
     end
-    lualian.generate(fname, opts["L"], fstream)
+    lualian.generate(fname, fstream)
 end
 
 getopt.parse {
@@ -37,7 +37,6 @@ getopt.parse {
         { "I", "include", true, help = "Include a directory.", metavar = "DIR",
             list = {}
         },
-        { "L", "library", true, help = "Specify a C library name." },
         { "o", "output", true, help = "Specify output file name(s), by "
             .. "default goes to stdout.",
             list = {}
@@ -49,20 +48,15 @@ getopt.parse {
     end,
     done_cb = function(parser, opts, args)
         if not opts["h"] then
-            if not opts["L"] then
-                io.stderr:write("library name not specified\n")
-                getopt.help(parser, io.stderr)
-            else
-                for i, v in ipairs(opts["I"] or {}) do
-                    lualian.include_dir(v)
-                end
-                if os.getenv("EFL_RUN_IN_TREE") then
-                    lualian.system_directory_scan()
-                end
-                lualian.load_eot_files()
-                for i, fname in ipairs(args) do
-                    gen_file(opts, i, fname)
-                end
+            for i, v in ipairs(opts["I"] or {}) do
+                lualian.include_dir(v)
+            end
+            if os.getenv("EFL_RUN_IN_TREE") then
+                lualian.system_directory_scan()
+            end
+            lualian.load_eot_files()
+            for i, fname in ipairs(args) do
+                gen_file(opts, i, fname)
             end
         end
     end
diff --git a/src/bin/elua/main.c b/src/bin/elua/main.c
index 5aea7e1..2ed8893 100644
--- a/src/bin/elua/main.c
+++ b/src/bin/elua/main.c
@@ -136,9 +136,9 @@ elua_register_require(lua_State *L)
    elua_appload_ref = luaL_ref(L, LUA_REGISTRYINDEX);
    if (getenv("EFL_RUN_IN_TREE"))
      {
-        corepath = PACKAGE_BUILD_DIR "/src/bin/elua/core";
-        modpath  = PACKAGE_BUILD_DIR "/src/bin/elua/modules";
-        appspath = PACKAGE_BUILD_DIR "/src/bin/elua/apps";
+        corepath = PACKAGE_SRC_DIR "/src/bin/elua/core";
+        modpath  = PACKAGE_SRC_DIR "/src/bin/elua/modules";
+        appspath = PACKAGE_SRC_DIR "/src/bin/elua/apps";
      }
    else
      {
@@ -466,9 +466,9 @@ elua_main(lua_State *L)
      {
         Arg_Data *v = malloc(sizeof(Arg_Data));
         v->type     = ARG_LIBDIR;
-        v->value    = PACKAGE_BUILD_DIR "/src/bindings/luajit";
+        v->value    = PACKAGE_SRC_DIR "/src/bindings/luajit";
         largs       = eina_list_append(largs, v);
-        coref       = PACKAGE_BUILD_DIR "/src/bin/elua/core";
+        coref       = PACKAGE_SRC_DIR "/src/bin/elua/core";
      }
    else if (!(coref = coredir))
      {
diff --git a/src/bin/elua/modules/lualian.lua b/src/bin/elua/modules/lualian.lua
index 5d3908b..a8425ef 100644
--- a/src/bin/elua/modules/lualian.lua
+++ b/src/bin/elua/modules/lualian.lua
@@ -502,10 +502,9 @@ end
 }
 
 local File = Node:clone {
-    __ctor = function(self, fname, klass, libname, ch)
+    __ctor = function(self, fname, klass, ch)
         self.fname    = fname:match(".+/(.+)") or fname
         self.klass    = klass
-        self.libname  = libname
         self.children = ch
     end,
 
@@ -531,33 +530,27 @@ local util  = require("util")
 local ffi   = require("ffi")
 local eo    = require("eo")
 
-local M     = ...
+local M, __lib = ...
 
-local __lib
 local __class
 local __body
 
 local init = function()
-    __lib = util.lib_load("%s")
     __class = __lib.%s_class_get()
     eo.class_register("%s", %s, __body, __class)
-]]):format(self.fname, kn, self.libname, ckls.prefix, knu, paru))
+]]):format(self.fname, kn, ckls.prefix, knu, paru))
 
         if ckls.mixins then for i, v in ipairs(ckls.mixins) do
             s:write(("    eo.class_mixin(\"%s\", \"%s\")\n"):format(knu,
                 v:gsub("%.", "_")))
         end end
 
-        s:write(([[
-end
-
-local shutdown = function()
-    util.lib_unload("%s")
+        s:write([[
 end
 
-cutil.init_module(init, shutdown)
+cutil.init_module(init, function() end)
 
-]]):format(self.libname))
+]])
 
         self:gen_children(s)
 
@@ -651,7 +644,7 @@ M.system_directory_scan = function()
     return eolian.system_directory_scan()
 end
 
-M.generate = function(fname, libname, fstream)
+M.generate = function(fname, fstream)
     if not eolian.eo_file_parse(fname) then
         error("Failed parsing file: " .. fname)
     end
@@ -670,7 +663,7 @@ M.generate = function(fname, libname, fstream)
     else
         error(klass:full_name_get() .. ": unknown type")
     end
-    File(fname, klass, libname, { cl }):generate(fstream or io.stdout)
+    File(fname, klass, { cl }):generate(fstream or io.stdout)
 end
 
 return M

-- 



 
------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to