Skip to content

Commit d56282b

Browse files
committed
real
1 parent b7c18df commit d56282b

File tree

1 file changed

+43
-37
lines changed

1 file changed

+43
-37
lines changed

.github/workflows/build-lua.yml

Lines changed: 43 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -45,46 +45,52 @@ jobs:
4545
4646
# Create patches
4747
cat > lua-shared-lib.patch << 'EOF'
48+
diff --git a/Makefile b/Makefile
49+
index 416f444..eeaff03 100644
50+
--- a/Makefile
51+
+++ b/Makefile
52+
@@ -52,7 +52,7 @@ R= $V.0
53+
all: $(PLAT)
54+
55+
$(PLATS) help test clean:
56+
- @cd src && $(MAKE) $@
57+
+ @cd src && $(MAKE) $@ V=$(V) R=$(R)
58+
59+
install: dummy
60+
cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
61+
diff --git a/src/Makefile b/src/Makefile
62+
index 514593d..372a6dc 100644
4863
--- a/src/Makefile
4964
+++ b/src/Makefile
50-
@@ -31,7 +31,7 @@
51-
PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris
52-
53-
# What to install.
54-
-TO_BIN= lua luac
55-
+TO_BIN= lua luac liblua.so
56-
57-
# Lua version and release.
58-
V= 5.4
59-
@@ -51,7 +51,7 @@
60-
# -DLUA_COMPAT_5_2 controls other macros for compatibility with Lua 5.2.
61-
MYCFLAGS=
62-
MYLDFLAGS=
63-
-MYLIBS= -lm
64-
+MYLIBS= -lm -ldl
65-
66-
# == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
67-
68-
@@ -64,7 +64,7 @@
69-
# Targets start here.
70-
all: $(PLAT)
71-
72-
-$(PLATS) clean:
73-
+$(PLATS) clean: liblua.so
74-
75-
$(PLATS):
76-
$(MAKE) -C src $@
77-
78-
@@ -78,6 +78,9 @@
79-
$(MAKE) -C src $@
80-
81-
linux:
82-
+ $(CC) -shared -o liblua.so $(MYCFLAGS) $(MYLDFLAGS) $(LUA_A) $(MYLIBS)
83-
+ cp liblua.so ../
65+
@@ -33,6 +33,7 @@ CMCFLAGS= -Os
66+
PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
67+
68+
LUA_A= liblua.a
69+
+LUA_SO= liblua.so
70+
CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o
71+
LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o
72+
BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
73+
@@ -44,7 +45,7 @@ LUAC_T= luac
74+
LUAC_O= luac.o
75+
76+
ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
77+
-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
78+
+ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
79+
ALL_A= $(LUA_A)
80+
81+
# Targets start here.
82+
@@ -60,6 +61,12 @@ $(LUA_A): $(BASE_O)
83+
$(AR) $@ $(BASE_O)
84+
$(RANLIB) $@
85+
86+
+$(LUA_SO): $(CORE_O) $(LIB_O)
87+
+ $(CC) -shared -ldl -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? -lm $(MYLDFLAGS)
88+
+ ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V)
89+
+ ln -sf $(LUA_SO).$(R) $(LUA_SO)
8490
+
85-
$(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl"
86-
87-
macosx:
91+
+
92+
$(LUA_T): $(LUA_O) $(LUA_A)
93+
$(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
8894
EOF
8995
9096
patch -p1 < lua-shared-lib.patch

0 commit comments

Comments
 (0)