diff --git a/Makefile b/Makefile index e95219e..f8c8f8b 100644 --- a/Makefile +++ b/Makefile @@ -1,47 +1,35 @@ # TEXLIVE_SRC must be a precompiled TEXLIVE build with dynamic libraries TEXLIVE_SRC = $(HOME)/texlive-source -LUAMETATEX_SRC = $(HOME)/luametatex # We expect to find a precompiled static library compiled with -fpic here -LUA_DIR = $(LUAMETATEX_SRC)/source/luacore/lua54/src +LUA_DIR = $(HOME)/lua/ # HarfBuzz also should be compiled static, position independent in a build_meson subdirectory -HARFBUZZ_DIR = $(TEXLIVE_SRC)/Work/libs/harfbuzz +HARFBUZZ_DIR = $(HOME)/harfbuzz # Graphite also should be compiled static, position independent in a build subdirectory -GRAPHITE_DIR = $(TEXLIVE_SRC)/Work/libs/graphite2 +GRAPHITE_DIR = $(HOME)/graphite -HB_INCLUDE_DIRS = $(HARFBUZZ_DIR)/include +HB_INCLUDE_DIRS = $(HARFBUZZ_DIR)/src TL_INCLUDE_DIRS = $(TEXLIVE_SRC)/Work/texk $(TEXLIVE_SRC)/texk LUA_INCLUDE_DIRS = $(LUA_DIR) -LINK.o = $(CXX) $(LDFLAGS) $(TARGET_ARCH) LINK.so = $(LINK.o) -shared LUAHARFBUZZ_SRCS = $(wildcard luaharfbuzz/src/luaharfbuzz/*.c) LUAHARFBUZZ_OBJS = $(patsubst %.c,%.o,$(LUAHARFBUZZ_SRCS)) - override CFLAGS += -fpic -DHAVE_DECL_ISASCII=1 $(patsubst %,-I%,$(INCLUDE_DIRS)) -override LDFLAGS += -static-libgcc -static-libstdc++ -Wl,--gc-sections -# For Linux -override LDFLAGS += -Wl,linkscript.ld -Wl,--gc-sections -SO_EXT = so +override LDFLAGS += -Wl,linkscript.ld # For Windows instead: -# override LDFLAGS += -Wl,-version-script=versionscript -Wl,--gc-sections -# SO_EXT = dll -# For MacOS instead: -# override LDFLAGS += -Wl,-exported_symbols_list,symbols_list,-alias_list,alias_list -lc++abi -# SO_EXT = dylib +# override LDFLAGS += -Wl,-version-script=versionscript luaharfbuzz/src/luaharfbuzz/%.o: INCLUDE_DIRS = $(HB_INCLUDE_DIRS) $(LUA_INCLUDE_DIRS) luametalatex-kpse/lkpselib.o: INCLUDE_DIRS = $(TL_INCLUDE_DIRS) $(LUA_INCLUDE_DIRS) -# luametalatex.$(SO_EXT): luametalatex-kpse/lkpselib.o $(TEXLIVE_SRC)/Work/texk/kpathsea/.libs/libkpathsea.a # $(LUA_DIR)/liblua.a -luametalatex.$(SO_EXT): luametalatex-kpse/lkpselib.o $(LUAHARFBUZZ_OBJS) $(TEXLIVE_SRC)/Work/texk/kpathsea/.libs/libkpathsea.a $(HARFBUZZ_DIR)/libharfbuzz.a $(GRAPHITE_DIR)/libgraphite2.a # $(LUA_DIR)/liblua.a -# luametalatex.$(SO_EXT): luametalatex-kpse/lkpselib.o $(LUAHARFBUZZ_OBJS) $(TEXLIVE_SRC)/Work/texk/kpathsea/.libs/libkpathsea.a $(HARFBUZZ_DIR)/libharfbuzz.a $(GRAPHITE_DIR)/libgraphite2.a ../luametatex/build/mingw-64/libluametatex.dll.a # $(LUA_DIR)/liblua.a +luametalatex.so: luametalatex-kpse/lkpselib.o $(LUAHARFBUZZ_OBJS) $(TEXLIVE_SRC)/Work/texk/kpathsea/.libs/libkpathsea.a $(HARFBUZZ_DIR)/build_meson/src/libharfbuzz.a $(GRAPHITE_DIR)/build/src/libgraphite2.a $(LUA_DIR)/liblua.a -%.$(SO_EXT): +%.so: $(LINK.so) $^ $(LOADLIBES) $(LDLIBS) -o $@ .PHONY: clean clean: - rm $(LUAHARFBUZZ_OBJS) luametalatex-kpse/lkpselib.o luametalatex.$(SO_EXT) + rm $(LUAHARFBUZZ_OBJS) luametalatex-kpse/lkpselib.o luametalatex.so # lkpselib.o: lkpselib.c diff --git a/alias_list b/alias_list deleted file mode 100644 index b793621..0000000 --- a/alias_list +++ /dev/null @@ -1,2 +0,0 @@ -_luaopen_kpse _luaopen_luametalatex_kpse -_luaopen_luaharfbuzz _luaopen_luametalatex_harfbuzz diff --git a/luaharfbuzz/src/luaharfbuzz/luaharfbuzz.c b/luaharfbuzz/src/luaharfbuzz/luaharfbuzz.c index 0def550..fcafc77 100644 --- a/luaharfbuzz/src/luaharfbuzz/luaharfbuzz.c +++ b/luaharfbuzz/src/luaharfbuzz/luaharfbuzz.c @@ -59,11 +59,6 @@ static const struct luaL_Reg lib_table [] = { {NULL, NULL} }; -#ifdef _WIN32 -__declspec(dllexport) -#else -__attribute__ ((visibility ("default"))) -#endif int luaopen_luaharfbuzz (lua_State *L) { lua_newtable(L); diff --git a/luametalatex-kpse/lkpselib.c b/luametalatex-kpse/lkpselib.c index e6d47a9..1b71632 100644 --- a/luametalatex-kpse/lkpselib.c +++ b/luametalatex-kpse/lkpselib.c @@ -863,11 +863,6 @@ static const struct luaL_Reg kpselib_l[] = { {NULL, NULL} /* sentinel */ }; -#ifdef _WIN32 -__declspec(dllexport) -#else -__attribute__ ((visibility ("default"))) -#endif int luaopen_kpse(lua_State * L) { luaL_newmetatable(L, KPATHSEA_METATABLE); diff --git a/versionscript b/luametalatex-kpse/versionscript similarity index 100% rename from versionscript rename to luametalatex-kpse/versionscript diff --git a/symbols_list b/symbols_list deleted file mode 100644 index 894328d..0000000 --- a/symbols_list +++ /dev/null @@ -1,2 +0,0 @@ -_luaopen_luametalatex_kpse -_luaopen_luametalatex_harfbuzz