Skip to content

Commit 9a0f073

Browse files
committed
Updated Bootstrap process to use system libs when requested
1 parent 1d590b8 commit 9a0f073

File tree

2 files changed

+26
-10
lines changed

2 files changed

+26
-10
lines changed

.github/workflows/ci-workflow.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ jobs:
2424
run: |
2525
sudo apt-get update
2626
sudo apt-get -y install libcurl4-openssl-dev libzip-dev liblua5.3-dev
27+
- name: Remove contrib dependencies
28+
if: matrix.depsrc == 'system'
29+
run: rm -rf contrib/
2730
- name: Build
2831
run: PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--lib-src=${{ matrix.depsrc }} --cc=${{ matrix.cc }}" ./Bootstrap.sh
2932
- name: Test
@@ -125,6 +128,9 @@ jobs:
125128
if: matrix.depsrc == 'system' && matrix.platform == 'x86'
126129
run: |
127130
pacman -Suy --noconfirm mingw-w64-i686-curl mingw-w64-i686-lua53 mingw-w64-i686-libzip mingw-w64-i686-zlib
131+
- name: Remove contrib dependencies
132+
if: matrix.depsrc == 'system'
133+
run: rm -rf contrib/
128134
- name: Build
129135
run: PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--lib-src=${{ matrix.depsrc }} --cc=${{ matrix.cc }}" ./Bootstrap.sh
130136
- name: Test

Bootstrap.mak

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ LUA_DIR = contrib/lua/src
55
LUASHIM_DIR = contrib/luashim
66
PREMAKE_OPTS =
77

8-
SRC = src/host/*.c \
9-
$(LUA_DIR)/lapi.c \
8+
SRC = src/host/*.c
9+
LUA_SRC = $(LUA_DIR)/lapi.c \
1010
$(LUA_DIR)/lauxlib.c \
1111
$(LUA_DIR)/lbaselib.c \
1212
$(LUA_DIR)/lbitlib.c \
@@ -40,11 +40,15 @@ SRC = src/host/*.c \
4040
$(LUA_DIR)/lvm.c \
4141
$(LUA_DIR)/lzio.c \
4242

43+
LUA_LINK =
44+
4345
ifdef MAKEDIR:
4446
!ifdef MAKEDIR
4547

4648
# NMAKE
4749

50+
SRC = $(SRC) $(LUA_SRC)
51+
4852
!if "$(MSDEV)" == "vs2010" || "$(MSDEV)" == "vs2012" || "$(MSDEV)" == "vs2013" || "$(MSDEV)" == "vs2015" || "$(MSDEV)" == "vs2017" || "$(MSDEV)" == "vs2019" || "$(MSDEV)" == "vs2022"
4953
SLN_EXT = sln
5054
!else
@@ -56,6 +60,12 @@ else
5660

5761
# make
5862

63+
ifneq (,$(findstring --lib-src=system,$(PREMAKE_OPTS)))
64+
LUA_LINK = -llua5.3
65+
else
66+
SRC += $(LUA_SRC)
67+
endif
68+
5969
endif
6070
!endif : # !endif has to be last to work in make
6171

@@ -106,7 +116,7 @@ mingw-clean: nix-clean
106116

107117
mingw: mingw-clean
108118
mkdir -p build/bootstrap
109-
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_STATICLIB -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" $(SRC) -lole32 -lversion
119+
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_STATICLIB -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" $(SRC) $(LUA_LINK) -lole32 -lversion
110120
./build/bootstrap/premake_bootstrap embed
111121
./build/bootstrap/premake_bootstrap --arch=$(PLATFORM) --os=windows --to=build/bootstrap --cc=mingw $(PREMAKE_OPTS) gmake
112122
$(MAKE) -C build/bootstrap -j`getconf _NPROCESSORS_ONLN` config=$(CONFIG)_$(PLATFORM:x86=win32)
@@ -119,7 +129,7 @@ osx-clean: nix-clean
119129

120130
osx: osx-clean
121131
mkdir -p build/bootstrap
122-
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_STATICLIB -DLUA_USE_MACOSX -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" -framework CoreServices -framework Foundation -framework Security -lreadline $(SRC)
132+
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_STATICLIB -DLUA_USE_MACOSX -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" -framework CoreServices -framework Foundation -framework Security -lreadline $(LUA_LINK) $(SRC)
123133
./build/bootstrap/premake_bootstrap embed
124134
./build/bootstrap/premake_bootstrap --arch=$(PLATFORM) --to=build/bootstrap $(PREMAKE_OPTS) gmake
125135
$(MAKE) -C build/bootstrap -j`getconf _NPROCESSORS_ONLN` config=$(CONFIG)
@@ -128,7 +138,7 @@ linux-clean: nix-clean
128138

129139
linux: linux-clean
130140
mkdir -p build/bootstrap
131-
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_STATICLIB -DLUA_USE_POSIX -DLUA_USE_DLOPEN -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" $(SRC) -lm -ldl -lrt -luuid
141+
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_STATICLIB -DLUA_USE_POSIX -DLUA_USE_DLOPEN -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" $(SRC) $(LUA_LINK) -lm -ldl -lrt -luuid
132142
./build/bootstrap/premake_bootstrap embed
133143
./build/bootstrap/premake_bootstrap --to=build/bootstrap $(PREMAKE_OPTS) gmake
134144
$(MAKE) -C build/bootstrap -j`getconf _NPROCESSORS_ONLN` config=$(CONFIG)
@@ -137,7 +147,7 @@ bsd-clean: nix-clean
137147

138148
bsd: bsd-clean
139149
mkdir -p build/bootstrap
140-
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_STATICLIB -DLUA_USE_POSIX -DLUA_USE_DLOPEN -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" $(SRC) -lm
150+
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_STATICLIB -DLUA_USE_POSIX -DLUA_USE_DLOPEN -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" $(SRC) $(LUA_LINK) -lm
141151
./build/bootstrap/premake_bootstrap embed
142152
./build/bootstrap/premake_bootstrap --to=build/bootstrap $(PREMAKE_OPTS) gmake
143153
$(MAKE) -C build/bootstrap -j`getconf NPROCESSORS_ONLN` config=$(CONFIG)
@@ -146,7 +156,7 @@ solaris-clean: nix-clean
146156

147157
solaris: solaris-clean
148158
mkdir -p build/bootstrap
149-
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_STATICLIB -DLUA_USE_POSIX -DLUA_USE_DLOPEN -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" $(SRC) -lm
159+
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_STATICLIB -DLUA_USE_POSIX -DLUA_USE_DLOPEN -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" $(SRC) $(LUA_LINK) -lm
150160
./build/bootstrap/premake_bootstrap embed
151161
./build/bootstrap/premake_bootstrap --to=build/bootstrap $(PREMAKE_OPTS) gmake
152162
$(MAKE) -C build/bootstrap -j`getconf NPROCESSORS_ONLN` config=$(CONFIG)
@@ -155,14 +165,14 @@ haiku-clean: nix-clean
155165

156166
haiku: haiku-clean
157167
mkdir -p build/bootstrap
158-
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_STATICLIB -DLUA_USE_POSIX -DLUA_USE_DLOPEN -D_BSD_SOURCE -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" $(SRC) -lbsd
168+
$(CC) -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_STATICLIB -DLUA_USE_POSIX -DLUA_USE_DLOPEN -D_BSD_SOURCE -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" $(SRC) $(LUA_LINK) -lbsd
159169
./build/bootstrap/premake_bootstrap embed
160170
./build/bootstrap/premake_bootstrap --to=build/bootstrap $(PREMAKE_OPTS) gmake
161171
$(MAKE) -C build/bootstrap -j`getconf _NPROCESSORS_ONLN` config=$(CONFIG)
162172

163173
windows-base: windows-clean
164174
if not exist build\bootstrap (mkdir build\bootstrap)
165-
cl /Fo.\build\bootstrap\ /Fe.\build\bootstrap\premake_bootstrap.exe /DPREMAKE_NO_BUILTIN_SCRIPTS /DLUA_STATICLIB /I"$(LUA_DIR)" /I"$(LUASHIM_DIR)" user32.lib ole32.lib advapi32.lib $(SRC)
175+
cl /Fo.\build\bootstrap\ /Fe.\build\bootstrap\premake_bootstrap.exe /DPREMAKE_NO_BUILTIN_SCRIPTS /DLUA_STATICLIB /I"$(LUA_DIR)" /I"$(LUASHIM_DIR)" $(LUA_LINK) user32.lib ole32.lib advapi32.lib $(SRC)
166176
.\build\bootstrap\premake_bootstrap.exe embed
167177
.\build\bootstrap\premake_bootstrap --arch=$(PLATFORM) --to=build/bootstrap $(PREMAKE_OPTS) $(MSDEV)
168178

@@ -177,7 +187,7 @@ cosmo-clean: nix-clean
177187

178188
cosmo: cosmo-clean
179189
mkdir -p build/bootstrap
180-
cosmocc -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_STATICLIB -DLUA_USE_POSIX -DLUA_USE_DLOPEN -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" $(SRC) -lm -ldl -lrt
190+
cosmocc -o build/bootstrap/premake_bootstrap -DPREMAKE_NO_BUILTIN_SCRIPTS -DLUA_STATICLIB -DLUA_USE_POSIX -DLUA_USE_DLOPEN -I"$(LUA_DIR)" -I"$(LUASHIM_DIR)" $(SRC) $(LUA_LINK) -lm -ldl -lrt
181191
./build/bootstrap/premake_bootstrap embed
182192
./build/bootstrap/premake_bootstrap --to=build/bootstrap --cc=cosmocc gmake
183193
$(MAKE) -C build/bootstrap -j`getconf _NPROCESSORS_ONLN` config=$(CONFIG)

0 commit comments

Comments
 (0)