File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -204,7 +204,19 @@ endif
204204ifndef local
205205latest_tcc : $(TMPTCC ) /.git/config
206206ifeq ($(HAS_GIT ) ,1)
207+ ifdef WIN32
208+ @if [ -f "$(TMPTCC)/lib/advapi32.def" ]; then \
209+ cd "$(TMPTCC)" && $(GIT) checkout -- lib/advapi32.def > /dev/null 2> /dev/null || true; \
210+ fi
211+ endif
207212 cd $(TMPTCC) && $(GITCLEANPULL)
213+ ifdef WIN32
214+ @if [ -f "$(TMPTCC)/lib/advapi32.def" ]; then \
215+ for sym in RegEnumKeyExW RegEnumValueW RegQueryInfoKeyW; do \
216+ grep -qx "$$sym" "$(TMPTCC)/lib/advapi32.def" || printf '%s\n' "$$sym" >> "$(TMPTCC)/lib/advapi32.def"; \
217+ done; \
218+ fi
219+ endif
208220else
209221 @echo "git not found; skipping update of $(TMPTCC)"
210222endif
@@ -258,6 +270,11 @@ ifeq ($(HAS_GIT),1)
258270 $(GITFASTCLONE) --branch thirdparty-unknown-unknown $(TCCREPO) "$(TMPTCC)"; \
259271 else \
260272 $(GITFASTCLONE) --branch "$$selected_branch" $(TCCREPO) "$(TMPTCC)"; \
273+ if [ -f "$(TMPTCC)/lib/advapi32.def" ]; then \
274+ for sym in RegEnumKeyExW RegEnumValueW RegQueryInfoKeyW; do \
275+ grep -qx "$$sym" "$(TMPTCC)/lib/advapi32.def" || printf '%s\n' "$$sym" >> "$(TMPTCC)/lib/advapi32.def"; \
276+ done; \
277+ fi; \
261278 if ! "$(TMPTCC)/tcc.exe" --version > /dev/null 2> /dev/null; then \
262279 if [ "$$fallback_branch" != '' ] && [ "$$fallback_branch" != "$$selected_branch" ] \
263280 && printf '%s\n' "$$branches" | grep -Fx "$$fallback_branch" > /dev/null; then \
Original file line number Diff line number Diff line change @@ -250,17 +250,29 @@ if exist "%tcc_dir%" (
250250 pushd " %tcc_dir% " && (
251251 echo Updating TCC
252252 echo ^ > Syncing TCC from !tcc_url!
253+ if exist " lib\advapi32.def" git checkout -- lib\advapi32.def > nul 2 > nul
253254 git pull --quiet
254255 popd
255256 )
256257) else (
257258 call :bootstrap_tcc
258259)
259260
261+ call :patch_tcc_defs
262+ if %ERRORLEVEL% NEQ 0 goto :error
263+
260264if not exist " %tcc_exe% " echo ^ > TCC not found, even after cloning& goto :error
261265echo .
262266exit /b 0
263267
268+ :patch_tcc_defs
269+ set " advapi32_def = %tcc_dir% \lib\advapi32.def"
270+ if not exist " %advapi32_def% " exit /b 0
271+ for %%G in (RegEnumKeyExW RegEnumValueW RegQueryInfoKeyW) do (
272+ findstr /x /c:" %%G " " %advapi32_def% " > nul || >> " %advapi32_def% " echo %%G
273+ )
274+ exit /b 0
275+
264276:compile_error
265277echo .
266278echo Backend compiler error
You can’t perform that action at this time.
0 commit comments