From e3c546632c8fa173ac5b94df18234c4d5def363f Mon Sep 17 00:00:00 2001
From: Konstantin Osipov <kostja@tarantool.org>
Date: Mon, 15 Oct 2012 01:38:46 +0400
Subject: [PATCH] Move lua libraries to their own directory.

---
 .../lua/info.h                                |  0
 include/{tarantool_lua.h => lua/init.h}       |  0
 .../lua/slab.h                                |  0
 .../lua/stat.h                                |  0
 src/box/box_lua_uuid.h => include/lua/uuid.h  |  3 ++
 mod/CMakeLists.txt                            | 39 -------------------
 src/CMakeLists.txt                            |  9 +++--
 src/admin.m                                   |  2 +-
 src/admin.rl                                  |  2 +-
 src/box/CMakeLists.txt                        |  3 +-
 src/box/box_lua.m                             |  6 +--
 src/{tarantool_lua_info.m => lua/info.m}      |  6 ++-
 src/{tarantool_lua.m => lua/init.m}           | 12 +++---
 src/{tarantool_lua_slab.m => lua/slab.m}      |  4 +-
 src/{tarantool_lua_stat.m => lua/stat.m}      |  2 +-
 src/{box/box_lua_uuid.m => lua/uuid.m}        | 17 +++++++-
 src/tarantool.m                               |  2 +-
 17 files changed, 43 insertions(+), 64 deletions(-)
 rename src/tarantool_lua_info.h => include/lua/info.h (100%)
 rename include/{tarantool_lua.h => lua/init.h} (100%)
 rename src/tarantool_lua_slab.h => include/lua/slab.h (100%)
 rename src/tarantool_lua_stat.h => include/lua/stat.h (100%)
 rename src/box/box_lua_uuid.h => include/lua/uuid.h (96%)
 delete mode 100644 mod/CMakeLists.txt
 rename src/{tarantool_lua_info.m => lua/info.m} (98%)
 rename src/{tarantool_lua.m => lua/init.m} (99%)
 rename src/{tarantool_lua_slab.m => lua/slab.m} (98%)
 rename src/{tarantool_lua_stat.m => lua/stat.m} (98%)
 rename src/{box/box_lua_uuid.m => lua/uuid.m} (92%)

diff --git a/src/tarantool_lua_info.h b/include/lua/info.h
similarity index 100%
rename from src/tarantool_lua_info.h
rename to include/lua/info.h
diff --git a/include/tarantool_lua.h b/include/lua/init.h
similarity index 100%
rename from include/tarantool_lua.h
rename to include/lua/init.h
diff --git a/src/tarantool_lua_slab.h b/include/lua/slab.h
similarity index 100%
rename from src/tarantool_lua_slab.h
rename to include/lua/slab.h
diff --git a/src/tarantool_lua_stat.h b/include/lua/stat.h
similarity index 100%
rename from src/tarantool_lua_stat.h
rename to include/lua/stat.h
diff --git a/src/box/box_lua_uuid.h b/include/lua/uuid.h
similarity index 96%
rename from src/box/box_lua_uuid.h
rename to include/lua/uuid.h
index 2bd9bd7538..9b1f1d8766 100644
--- a/src/box/box_lua_uuid.h
+++ b/include/lua/uuid.h
@@ -36,4 +36,7 @@ lbox_uuid(struct lua_State *L);
 int
 lbox_uuid_hex(struct lua_State *L);
 
+void
+tarantool_lua_uuid_init(struct lua_State *L);
+
 #endif /* INCLUDES_TARANTOOL_MOD_BOX_LUA_UUID_H */
diff --git a/mod/CMakeLists.txt b/mod/CMakeLists.txt
deleted file mode 100644
index 6500f26142..0000000000
--- a/mod/CMakeLists.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-
-function(tarantool_module mod)
-    set (module_sources ${ARGN})
-    set_source_files_properties(
-        ${CMAKE_SOURCE_DIR}/cfg/tarantool_${mod}_cfg.c
-        PROPERTIES COMPILE_FLAGS "-Wno-unused" GENERATED True)
-    add_executable(tarantool_${mod}
-        ${module_sources}
-        ${CMAKE_SOURCE_DIR}/cfg/tarantool_${mod}_cfg.c)
-
-    set_source_files_properties(${recompiled_sources}
-        PROPERTIES OBJECT_DEPENDS
-        ${CMAKE_SOURCE_DIR}/cfg/tarantool_${mod}_cfg.h)
-
-    add_library(lt${mod} STATIC ${recompiled_sources})
-    set_target_properties(lt${mod} PROPERTIES COMPILE_FLAGS
-        "${core_cflags} ${GCOV_C_FLAGS} -DTARANTOOL_CONFIG='<cfg/tarantool_${mod}_cfg.h>'")
-    add_dependencies(lt${mod} generate_headers generate_admin_m build_bundled_libs)
-
-    target_link_libraries(tarantool_${mod} lt${mod} ${GCOV_LDFLAGS} ${common_libraries})
-    set_target_properties(tarantool_${mod} PROPERTIES COMPILE_FLAGS
-        "${core_cflags} ${GCOV_C_FLAGS}")
-
-    if (ENABLE_STATIC)
-        set_target_properties(tarantool_${mod} PROPERTIES
-            LINK_SEARCH_END_STATIC ON)
-        set (module_link_flags "${module_link_flags} -static")
-    endif()
-
-    if (module_link_flags)
-        set_target_properties(tarantool_${mod} PROPERTIES
-            LINK_FLAGS ${module_link_flags})
-    endif()
-    install (TARGETS tarantool_${mod} DESTINATION bin)
-endfunction()
-
-foreach (module ${TARANTOOL_MODULES})
-add_subdirectory(${module})
-endforeach()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 24f5e046dc..04a8be1db6 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -72,7 +72,7 @@ set_property(DIRECTORY PROPERTY CLEAN_NO_CUSTOM 1)
 #
 set (recompiled_sources
      ${CMAKE_SOURCE_DIR}/src/tarantool.m
-     ${CMAKE_SOURCE_DIR}/src/tarantool_lua.m
+     ${CMAKE_SOURCE_DIR}/src/lua/init.m
      ${CMAKE_SOURCE_DIR}/src/say.m
      ${CMAKE_SOURCE_DIR}/src/assoc.m
      ${CMAKE_SOURCE_DIR}/src/admin.m
@@ -105,9 +105,10 @@ set (common_sources
      fio.c
      crc32.c
      rope.c
-     tarantool_lua_info.m
-     tarantool_lua_stat.m
-     tarantool_lua_slab.m)
+     lua/info.m
+     lua/stat.m
+     lua/slab.m
+     lua/uuid.m)
 
 if (ENABLE_TRACE)
     set (common_sources ${common_sources} trace.m)
diff --git a/src/admin.m b/src/admin.m
index 8ccc370283..517e1586bf 100644
--- a/src/admin.m
+++ b/src/admin.m
@@ -40,7 +40,7 @@
 #include <say.h>
 #include <stat.h>
 #include <tarantool.h>
-#include <tarantool_lua.h>
+#include "lua/init.h"
 #include <recovery.h>
 #include TARANTOOL_CONFIG
 #include <tbuf.h>
diff --git a/src/admin.rl b/src/admin.rl
index 08871e189f..cef2a70e51 100644
--- a/src/admin.rl
+++ b/src/admin.rl
@@ -38,7 +38,7 @@
 #include <say.h>
 #include <stat.h>
 #include <tarantool.h>
-#include <tarantool_lua.h>
+#include "lua/init.h"
 #include <recovery.h>
 #include TARANTOOL_CONFIG
 #include <tbuf.h>
diff --git a/src/box/CMakeLists.txt b/src/box/CMakeLists.txt
index 1aa732791c..26ff67e63f 100644
--- a/src/box/CMakeLists.txt
+++ b/src/box/CMakeLists.txt
@@ -48,5 +48,4 @@ set_source_files_properties(memcached.m
     PROPERTIES COMPILE_FLAGS "-Wno-uninitialized")
 
 tarantool_module("box" tuple.m index.m tree.m space.m port.m request.m
-    txn.m box.m ${lua_sources} box_lua.m memcached.m memcached-grammar.m
-    box_lua_uuid.m)
+    txn.m box.m ${lua_sources} box_lua.m memcached.m memcached-grammar.m)
diff --git a/src/box/box_lua.m b/src/box/box_lua.m
index 8199e8eb3a..617bada74c 100644
--- a/src/box/box_lua.m
+++ b/src/box/box_lua.m
@@ -27,8 +27,7 @@
  * SUCH DAMAGE.
  */
 #include "box_lua.h"
-#import "object.h"
-#include <tarantool_lua.h>
+#include "lua/init.h"
 #include <fiber.h>
 #include "box.h"
 #include "request.h"
@@ -46,7 +45,6 @@
 #include "tuple.h"
 #include "space.h"
 #include "port.h"
-#include "box_lua_uuid.h"
 
 /* contents of box.lua */
 extern const char box_lua[];
@@ -1141,8 +1139,6 @@ static int lbox_process(lua_State *L)
 
 static const struct luaL_reg boxlib[] = {
 	{"process", lbox_process},
-	{"uuid", lbox_uuid},
-	{"uuid_hex", lbox_uuid_hex},
 	{NULL, NULL}
 };
 
diff --git a/src/tarantool_lua_info.m b/src/lua/info.m
similarity index 98%
rename from src/tarantool_lua_info.m
rename to src/lua/info.m
index 58e1c168a8..8b6106f5e8 100644
--- a/src/tarantool_lua_info.m
+++ b/src/lua/info.m
@@ -27,11 +27,13 @@
  * SUCH DAMAGE.
  */
 
-#include "tarantool_lua_info.h"
+#include "lua/info.h"
+#include "lua/init.h"
+
 #include "lua.h"
 #include "lauxlib.h"
 #include "lualib.h"
-#include <tarantool_lua.h>
+
 #include <tarantool.h>
 #include <say.h>
 #include <string.h>
diff --git a/src/tarantool_lua.m b/src/lua/init.m
similarity index 99%
rename from src/tarantool_lua.m
rename to src/lua/init.m
index 50b0143692..55dde6c2d6 100644
--- a/src/tarantool_lua.m
+++ b/src/lua/init.m
@@ -26,8 +26,8 @@
  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <tarantool_lua.h>
-#include <tarantool.h>
+#include "lua/init.h"
+#include "tarantool.h"
 #include "tbuf.h"
 
 #include "lua.h"
@@ -43,9 +43,10 @@
 #include "pickle.h"
 #include "fiber.h"
 #include <ctype.h>
-#include "tarantool_lua_info.h"
-#include "tarantool_lua_slab.h"
-#include "tarantool_lua_stat.h"
+#include "lua/info.h"
+#include "lua/slab.h"
+#include "lua/stat.h"
+#include "lua/uuid.h"
 
 #include TARANTOOL_CONFIG
 
@@ -1258,6 +1259,7 @@ tarantool_lua_init()
 	tarantool_lua_info_init(L);
 	tarantool_lua_slab_init(L);
 	tarantool_lua_stat_init(L);
+	tarantool_lua_uuid_init(L);
 
 	mod_lua_init(L);
 
diff --git a/src/tarantool_lua_slab.m b/src/lua/slab.m
similarity index 98%
rename from src/tarantool_lua_slab.m
rename to src/lua/slab.m
index 8f234873ce..e8d600b953 100644
--- a/src/tarantool_lua_slab.m
+++ b/src/lua/slab.m
@@ -26,8 +26,8 @@
  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include "tarantool_lua_slab.h"
-#include "tarantool_lua.h"
+#include "lua/slab.h"
+#include "lua/init.h"
 #include "lua.h"
 #include "lauxlib.h"
 #include "lualib.h"
diff --git a/src/tarantool_lua_stat.m b/src/lua/stat.m
similarity index 98%
rename from src/tarantool_lua_stat.m
rename to src/lua/stat.m
index 45f1efa1db..f065232790 100644
--- a/src/tarantool_lua_stat.m
+++ b/src/lua/stat.m
@@ -26,7 +26,7 @@
  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include "tarantool_lua_stat.h"
+#include "lua/stat.h"
 #include "lua.h"
 #include "lauxlib.h"
 #include "lualib.h"
diff --git a/src/box/box_lua_uuid.m b/src/lua/uuid.m
similarity index 92%
rename from src/box/box_lua_uuid.m
rename to src/lua/uuid.m
index 8ba6621cd6..3b495e8c2e 100644
--- a/src/box/box_lua_uuid.m
+++ b/src/lua/uuid.m
@@ -26,7 +26,7 @@
  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include "box_lua_uuid.h"
+#include "lua/uuid.h"
 
 #include <stdio.h>
 #include <string.h>
@@ -133,3 +133,18 @@ int lbox_uuid_hex(struct lua_State *L)
 {
 	return _lbox_uuid_hex(L);
 }
+
+static const struct luaL_reg lbox_uuid_meta[] = {
+	{"uuid", lbox_uuid},
+	{"uuid_hex",  lbox_uuid_hex},
+	{NULL, NULL}
+};
+
+/** Initialize box.uuid and box.uuid_hex. */
+void
+tarantool_lua_uuid_init(struct lua_State *L)
+{
+	luaL_register(L, "box", lbox_uuid_meta);
+	lua_pop(L, 1);
+}
+
diff --git a/src/tarantool.m b/src/tarantool.m
index 662f5c724d..2645af068f 100644
--- a/src/tarantool.m
+++ b/src/tarantool.m
@@ -62,7 +62,7 @@
 #include <third_party/gopt/gopt.h>
 #include <cfg/warning.h>
 #include "tarantool_pthread.h"
-#include "tarantool_lua.h"
+#include "lua/init.h"
 
 
 static pid_t master_pid;
-- 
GitLab