diff options
author | Sam Gross <colesbury@gmail.com> | 2015-04-21 03:08:45 +0300 |
---|---|---|
committer | Sam Gross <colesbury@gmail.com> | 2015-04-28 20:58:45 +0300 |
commit | 5b0bd229cd348794b0cd399e280f9269c6c29620 (patch) | |
tree | 4c73996c91963e562da5317bab64ec649bff3620 | |
parent | bb1d732f2d4274387d6fb2f3fc58612d8338f0b9 (diff) |
Dynamic libraries are .dylib on Darwin.
Changed to match luajit.
-rw-r--r-- | Makefile | 13 | ||||
-rw-r--r-- | ffi.h | 5 |
2 files changed, 14 insertions, 4 deletions
@@ -10,6 +10,11 @@ CFLAGS=-fPIC -g -Wall -Werror $(LUA_CFLAGS) -fvisibility=hidden -Wno-unused-func MODNAME=ffi MODSO=$(MODNAME).so +ifeq (Darwin, $(shell uname -s)) + TESTSO=libtest_cdecl.dylib +else + TESTSO=libtest_cdecl.so +endif all: if [ `uname` = "Darwin" ]; then $(MAKE) macosx; else $(MAKE) posix; fi @@ -23,10 +28,10 @@ macosx: test_macosx: $(MAKE) test_posix "SOCC=MACOSX_DEPLOYMENT_TARGET=10.3 $(CC) -dynamiclib -single_module -undefined dynamic_lookup $(SOCFLAGS)" -posix: $(MODSO) test_cdecl.so +posix: $(MODSO) $(TESTSO) clean: - rm -f *.o *.so call_*.h + rm -f *.o *.so call_*.h *.dylib call_x86.h: call_x86.dasc dynasm/*.lua $(LUA) dynasm/dynasm.lua -LN -o $@ $< @@ -43,10 +48,10 @@ call_x64win.h: call_x86.dasc dynasm/*.lua $(MODSO): ffi.o ctype.o parser.o call.o $(SOCC) $^ -o $@ -test_cdecl.so: test.o +$(TESTSO): test.o $(SOCC) $^ -o $@ -test_posix: test_cdecl.so $(MODSO) +test_posix: $(TESTSO) $(MODSO) LD_LIBRARY_PATH=./ $(LUA) test.lua @@ -177,8 +177,13 @@ static char* luaL_prepbuffsize(luaL_Buffer* B, size_t sz) { # define EnableWrite(data, size) do {DWORD old; VirtualProtect(data, size, PAGE_READWRITE, &old);} while (0) #else +#ifdef OS_OSX +# define LIB_FORMAT_1 "%s.dylib" +# define LIB_FORMAT_2 "lib%s.dylib" +#else # define LIB_FORMAT_1 "%s.so" # define LIB_FORMAT_2 "lib%s.so" +#endif # define LoadLibraryA(name) dlopen(name, RTLD_LAZY | RTLD_GLOBAL) # define GetProcAddressA(lib, name) dlsym(lib, name) # define AllocPage(size) mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0) |