Browse Source

WIP for clang/osx compatibility.

scossu 1 year ago
parent
commit
3cdc30c05c
5 changed files with 24 additions and 19 deletions
  1. 13 10
      Makefile
  2. 7 6
      src/codec/Makefile
  3. 2 1
      src/core.c
  4. 1 1
      src/store_mdb.c
  5. 1 1
      src/term.c

+ 13 - 10
Makefile

@@ -9,34 +9,36 @@ AR = ar
 ## Paths.
 
 PREFIX ?= /usr/local
-bindir ::= $(PREFIX)/bin
-libdir ::= $(PREFIX)/lib
+bindir = $(PREFIX)/bin
+libdir = $(PREFIX)/lib
 includedir = $(PREFIX)/include/lsup
 outdir = ./bin
 VALGRIND_DUMP = /tmp/lsup_valgrind.log
 CALLGRIND_DUMP = /tmp/lsup_callgrind.out
 MASSIF_DUMP = /tmp/lsup_massif.out
 
-INCLUDE_BASE ::= . -Iinclude -Iext/tpl/src -Iext/hashmap -Iext/log/src
-INCLUDE ::= -I$(INCLUDE_BASE)
-_CFLAGS ::= -std=gnu11 -Wall -fPIC -MMD $(INCLUDE)
+INCLUDE_BASE = . -Iinclude -Iext/tpl/src -Iext/hashmap -Iext/log/src
+INCLUDE = -I$(INCLUDE_BASE)
+_CFLAGS = -std=gnu11 -Wall -fPIC -MMD $(INCLUDE)
 CFLAGS = $(_CFLAGS) -O3
 DBG_CFLAGS = $(_CFLAGS) -Itest -O0 -g3 -DDEBUG
+#$(info CFLAGS: $(CFLAGS))
+#$(info DBG_CFLAGS: $(DBG_CFLAGS))
 # NOTE: -luuid is a Linux system library. Other OS's might need a different
 # link or a non-system library built.
-LDFLAGS ::= -L. -L$(outdir) -L$(libdir) -llmdb -lxxhash -luuid
+LDFLAGS = -L. -L$(outdir) -L$(libdir) -llmdb -lxxhash -luuid
 
 PARSER = bin/lemon
 LEMON_SRC = ext/sqlite/tool/lemon.c
 CODEC_DIR = src/codec
 
 # External sources compiled in core object.
-EXT_SRC ::= $(wildcard ext/log/src/*.c) \
+EXT_SRC = $(wildcard ext/log/src/*.c) \
 	  	  $(wildcard ext/hashmap/*.c) \
 	  	  $(wildcard ext/tpl/src/*.c)
 
 # External headers of libraries compiled in core.
-EXT_H ::= $(wildcard ext/log/src/*.h) \
+EXT_H = $(wildcard ext/log/src/*.h) \
 	  	$(wildcard ext/tpl/src/*.h) \
 	  	$(wildcard ext/hashmap/*.h)
 
@@ -44,11 +46,12 @@ LSUP_SRC = $(wildcard src/*.c)
 SRC = $(EXT_SRC) $(LSUP_SRC)
 TEST_SRC = $(wildcard test/*.c) test.c
 
-EXT_OBJ ::= $(EXT_SRC:.c=.o)
+EXT_OBJ = $(EXT_SRC:.c=.o)
 # TODO This is extremely convoluted, simplify if possible.
 CODEC_SRC ::= $(wildcard $(CODEC_DIR)/codec_*.c)
 CODEC_REL_SRC ::= $(CODEC_SRC:$(CODEC_DIR)/%=%)
-ALL_CODEC_REL_SRC ::= $(CODEC_REL_SRC) $(CODEC_REL_SRC:codec_%=parser_%) \
+$(info CODEC_SRC: $(CODEC_SRC))
+ALL_CODEC_REL_SRC = $(CODEC_REL_SRC) $(CODEC_REL_SRC:codec_%=parser_%) \
 			$(CODEC_REL_SRC:codec_%=grammar_%)
 CODEC_SRC = $(ALL_CODEC_REL_SRC:%=$(CODEC_DIR)/%)
 CODEC_OBJ = $(CODEC_SRC:.c=.o)

+ 7 - 6
src/codec/Makefile

@@ -7,15 +7,16 @@ LEMON_SRC_DIR = $(BASEDIR)/ext/sqlite/tool
 INCLUDE_DIR = $(BASEDIR)/include
 CODEC_INCLUDE_DIR = $(INCLUDE_DIR)/codec
 
-CODEC_SRC ::= $(wildcard codec_*.c)
-PARSER_SRC ::= $(CODEC_SRC:codec_%=parser_%)
-CODEC_OBJ ::= $(CODEC_SRC:.c=.o)
-PARSER_OBJ ::= $(CODEC_OBJ:codec_%=parser_%)
-GRAMMAR_OBJ ::= $(CODEC_OBJ:codec_%=grammar_%)
+CODEC_SRC = $(wildcard codec_*.c)
+PARSER_SRC = $(CODEC_SRC:codec_%=parser_%)
+CODEC_OBJ = $(CODEC_SRC:.c=.o)
+PARSER_OBJ = $(CODEC_OBJ:codec_%=parser_%)
+GRAMMAR_OBJ = $(CODEC_OBJ:codec_%=grammar_%)
 OBJ = $(GRAMMAR_OBJ) $(PARSER_OBJ) $(CODEC_OBJ)
 DBG_OBJ = $(OBJ:%.o=%_dbg.o)
+$(info DBG_OBJ: $(DBG_OBJ))
 
-INCLUDE ::= -I$(INCLUDE_DIR) -I../../ext/tpl/src -I../../ext/hashmap \
+INCLUDE = -I$(INCLUDE_DIR) -I../../ext/tpl/src -I../../ext/hashmap \
 	-I../../ext/log/src
 CFLAGS = -std=gnu11 -Wall -fPIC -MMD $(INCLUDE)
 DBG_CFLAGS = -I../../test -O0 -g3 -DDEBUG

+ 2 - 1
src/core.c

@@ -1,6 +1,7 @@
-#define _XOPEN_SOURCE 500
+//#define _XOPEN_SOURCE 500
 #include <errno.h>
 #include <ftw.h>
+#include <string.h>
 #include "core.h"
 #include "lmdb.h"
 

+ 1 - 1
src/store_mdb.c

@@ -406,6 +406,7 @@ mdbstore_new (const char *id, size_t _unused)
     CALLOC_GUARD (store, NULL);
 
     RCNL (mdb_env_create (&store->env));
+    MDB_txn *txn = NULL;
 
     // Set map size.
     size_t mapsize;
@@ -420,7 +421,6 @@ mdbstore_new (const char *id, size_t _unused)
     CHECK (mdb_env_open (store->env, path, 0, ENV_FILE_MODE), fail);
 
     // Assign DB handles to store->dbi.
-    MDB_txn *txn = NULL;
     CHECK (mdb_txn_begin (store->env, NULL, 0, &txn), fail);
     for (int i = 0; i < N_DB; i++)
         CHECK (mdb_dbi_open (

+ 1 - 1
src/term.c

@@ -654,7 +654,7 @@ LSUP_link_map_add (
         KeyedTerm *ins;
         MALLOC_GUARD (ins, LSUP_MEM_ERR);
         memcpy (ins, &entry_s, sizeof (entry_s));
-        Link link = {.term=ins, tset=tset};
+        Link link = {.term=ins, .tset=tset};
         hashmap_set (cmap->links, &link);
     }