Compare commits

...

3 Commits

Author SHA1 Message Date
Marcel Fabian Krüger 38076b1e7e Build for Linux 2022-10-16 15:17:31 +02:00
Marcel Fabian Krüger 4772879575 Adjustments mostly for Windows 2022-10-09 01:09:01 +02:00
Marcel Fabian Krüger e82610344c Commit missing files 2022-10-07 23:30:11 +02:00
6 changed files with 23 additions and 4 deletions

View File

@ -1,7 +1,8 @@
# 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 = $(HOME)/lua/
LUA_DIR = $(LUAMETATEX_SRC)/source/luacore/lua54/src
# HarfBuzz also should be compiled static, position independent in a build_meson subdirectory
HARFBUZZ_DIR = $(TEXLIVE_SRC)/Work/libs/harfbuzz
# Graphite also should be compiled static, position independent in a build subdirectory
@ -10,6 +11,7 @@ GRAPHITE_DIR = $(TEXLIVE_SRC)/Work/libs/graphite2
HB_INCLUDE_DIRS = $(HARFBUZZ_DIR)/include
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)
@ -17,11 +19,12 @@ 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
override LDFLAGS += -Wl,linkscript.ld -Wl,--gc-sections
SO_EXT = so
# For Windows instead:
# override LDFLAGS += -Wl,-version-script=versionscript
# 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
@ -30,7 +33,9 @@ SO_EXT = so
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 $(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 $(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
%.$(SO_EXT):
$(LINK.so) $^ $(LOADLIBES) $(LDLIBS) -o $@

2
alias_list Normal file
View File

@ -0,0 +1,2 @@
_luaopen_kpse _luaopen_luametalatex_kpse
_luaopen_luaharfbuzz _luaopen_luametalatex_harfbuzz

View File

@ -59,6 +59,11 @@ 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);

View File

@ -863,6 +863,11 @@ 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);

2
symbols_list Normal file
View File

@ -0,0 +1,2 @@
_luaopen_luametalatex_kpse
_luaopen_luametalatex_harfbuzz