Parcourir la source

Initial rockspec.

scossu il y a 2 semaines
Parent
commit
54b4046a47
4 fichiers modifiés avec 88 ajouts et 44 suppressions
  1. 19 0
      Makefile
  2. 0 39
      lsup_rdf-scm.rockspec
  3. 21 5
      lua/Makefile
  4. 48 0
      lua/lsup-scm-1.rockspec

+ 19 - 0
Makefile

@@ -33,6 +33,7 @@ LDFLAGS := -L$(libdir) -L$(outdir) -L. -llmdb -lxxhash -luuid
 PARSER = bin/lemon
 LEMON_SRC = ext/sqlite/tool/lemon.c
 CODEC_DIR = src/codec
+LUA_DIR = lua
 
 # External sources compiled in core object.
 EXT_SRC := $(wildcard ext/log/src/*.c) \
@@ -253,3 +254,21 @@ depgraph: $(LSUP_SRC) $(CODEC_SRC) include/* include/codec/* ## Build a visual d
 	cinclude2dot --merge=module --include=$(DEPS) \
 		--exclude='test|ext' >| $(DOCS)/dev/deps.dot
 	dot $(DOCS)/dev/deps.dot -Tpdf >| $(DOCS)/dev/deps.pdf
+
+
+################
+# Lua bindings #
+################
+
+
+.PHONY: lua
+lua:
+	$(MAKE) -C $(LUA_DIR) lib
+
+.PHONY: lua_install
+lua_install:
+	$(MAKE) -C $(LUA_DIR) install
+
+.PHONY: lua_uninstall
+lua_uninstall:
+	$(MAKE) -C $(LUA_DIR) uninstall

+ 0 - 39
lsup_rdf-scm.rockspec

@@ -1,39 +0,0 @@
-package = "lsup_rdf"
-version = "scm"
-source = {
-    url = "./"
-   --url = "git://git.knowledgetx.com/scossu/lsup_rdf",
-   --tag = "scm",
-}
-description = {
-   summary = "Super-compact, embedded RDF library and permanent store.",
-   detailed = [[
-      `lsup_rdf` is an embedded library to manipulate and permanently store
-      Linked Data. It handles terms, triples, graphs, and has an in-memory and
-      a filesystem-based storage back ends.
-   ]],
-   homepage = "http://git.knowledgetx.com/scossu/lsup_rdf",
-   license = "https://git.knowledgetx.com/scossu/lsup_rdf/src/master/LICENSE"
-}
-dependencies = {
-   "lua >= 5.4, < 6",
-}
-build = {
-   type = "builtin",
-   modules = {
-      lsup = {
-         sources = {
-             "lua/lua_namespace.c",
-             "lua/lua_term.c",
-             "lua/lua_triple.c",
-             --"lua/lua_graph.c",
-             "lua/lua_lsup.c",
-         },
-         defines = {},
-         libraries = {"lsuprdf"},
-         incdirs = {"./include", "./ext/log/src", "./ext/hashmap"},
-         libdirs = {}
-      }
-   },
-   --copy_directories = {}
-}

+ 21 - 5
lua/Makefile

@@ -1,10 +1,16 @@
+PREFIX=/usr/local
+
 INCLUDE = -I/usr/local/include/lsup
-CFLAGS = -DDEBUG -Og -ggdb -Wall -fPIC $(INCLUDE)
+CFLAGS = -shared -DDEBUG -Og -ggdb -Wall -fPIC
 LDFLAGS = -L/usr/local/lib -llua -llsuprdf_dbg
 
 LUAC_SRC = $(wildcard src/*.c)
 #OBJ = $(patsubst src/%.c, lib/%.so, $(LUAC_SRC))
-OBJ = lib/lsup.so
+OBJ = lsup.so
+OBJPATH = lib/$(OBJ)
+
+LUA_VER=5.4
+INSTALL_DIR=$(PREFIX)/lib/lua/$(LUA_VER)
 
 VALGRIND_LOG=/tmp/lua_lsup_valgrind.log
 
@@ -12,11 +18,21 @@ VALGRIND_LOG=/tmp/lua_lsup_valgrind.log
 
 
 .PHONY: lib
-lib: $(OBJ)
+lib: $(OBJPATH)
+
+
+$(OBJPATH): src/*.c src/lua_lsup.h
+	$(CC) $(INCLUDE) $(CFLAGS) $(LDFLAGS) -o $@ src/*.c
+
+
+install: $(OBJPATH)
+	mkdir -p $(INSTALL_DIR)
+	cp $(OBJPATH) $(INSTALL_DIR)
 
 
-$(OBJ): src/*.c src/lua_lsup.h
-	$(CC) -shared $(CFLAGS) $(LDFLAGS) -o $@ src/*.c
+.PHONY: uninstall
+uninstall:
+	$(RM) $(INSTALL_DIR)/$(OBJ)
 
 
 .PHONY: clean

+ 48 - 0
lua/lsup-scm-1.rockspec

@@ -0,0 +1,48 @@
+package = "lsup"
+version = "scm-1"
+source = {
+   --url = "./"
+   url = "git://git.knowledgetx.com/scossu/lsup_rdf.git",
+   branch = "master",
+   tag = "HEAD",
+   --tag = "scm",
+}
+description = {
+   summary = "Compact, minimalistic RDF library and persistent store.",
+   detailed = [[
+      `lsup_rdf` is an embedded library to manipulate and permanently store
+      Linked Data. It handles terms, triples, graphs, and has an in-memory and
+      a filesystem-based storage back ends.
+   ]],
+   homepage = "http://git.knowledgetx.com/scossu/lsup_rdf",
+   license = "https://git.knowledgetx.com/scossu/lsup_rdf/src/master/LICENSE"
+}
+dependencies = {
+   "lua >= 5.4, < 6",
+}
+build = {
+   type = "make",
+   --build_target = "lua",
+   --install_target = "lua_install",
+   --[=[
+   modules = {
+      lsup = {
+         sources = {
+             "src/lua_*.c",
+             --[[
+             "src/lua_namespace.c",
+             "src/lua_term.c",
+             "src/lua_triple.c",
+             "src/lua_graph.c",
+             "src/lua_lsup.c",
+             --]]
+         },
+         --defines = {},
+         --libraries = {"lsuprdf_dbg"},
+         --incdirs = {"./include", "./ext/log/src", "./ext/hashmap"},
+         --libdirs = {}
+      }
+   },
+   --copy_directories = {}
+   --]=]
+}