Skip to content

Commit eb24752

Browse files
authored
*Add source code for emulators and pre-built .dll files
1 parent d63a93c commit eb24752

90 files changed

Lines changed: 7311 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

API/exhttp/build.bat

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
@echo off
2+
cd /d "%~dp0"
3+
4+
set "LLVM_UCRT=C:\llvm-mingw-ucrt\bin"
5+
set "LLVM_MSVCRT=C:\llvm-mingw-msvcrt\bin"
6+
set "DLL=EXHTTP.dll"
7+
set "FLAGS=-shared -O3 -flto -ffunction-sections -fdata-sections -s -static-libgcc -Wl,--enable-stdcall-fixup -Wl,--gc-sections -Wl,--strip-all"
8+
9+
REM Перевірка файлів
10+
for %%f in (
11+
"%LLVM_UCRT%\x86_64-w64-mingw32-gcc.exe"
12+
"%~dp0dllmain.c"
13+
"%~dp0version.rc"
14+
"%~dp0winhttp.def"
15+
) do (
16+
if not exist %%f (
17+
echo ERROR: File not found - %%f
18+
pause
19+
exit /b 1
20+
)
21+
)
22+
23+
echo Starting build...
24+
echo.
25+
26+
REM Збірка UCRT
27+
echo === Building UCRT versions ===
28+
set "LLVM=%LLVM_UCRT%"
29+
set "RUNTIME=ucrt"
30+
call :build_all
31+
32+
REM Збірка MSVCRT
33+
if exist "%LLVM_MSVCRT%\x86_64-w64-mingw32-gcc.exe" (
34+
echo.
35+
echo === Building MSVCRT versions ===
36+
set "LLVM=%LLVM_MSVCRT%"
37+
set "RUNTIME=msvcrt"
38+
call :build_all
39+
) else (
40+
echo.
41+
echo WARNING: MSVCRT compiler not found, skipping...
42+
)
43+
44+
echo.
45+
echo Build complete!
46+
pause
47+
exit /b
48+
49+
:build_all
50+
call :build x86_64-w64-mingw32 x64 -m64
51+
call :build aarch64-w64-mingw32 arm64
52+
call :build i686-w64-mingw32 x32 -m32
53+
exit /b
54+
55+
:build
56+
echo Building %RUNTIME%\%2...
57+
if not exist "%~dp0%RUNTIME%\%2" mkdir "%~dp0%RUNTIME%\%2"
58+
set "RES=version-%2.res"
59+
"%LLVM%\%1-windres" "%~dp0version.rc" -O coff -o "%~dp0%RES%" 2>nul
60+
if errorlevel 1 echo WARNING: windres failed for %2
61+
"%LLVM%\%1-gcc" %FLAGS% %3 -o "%~dp0%DLL%" "%~dp0dllmain.c" "%~dp0%RES%" "%~dp0winhttp.def" 2>nul
62+
if errorlevel 1 (
63+
echo ERROR: Compilation failed for %RUNTIME%\%2
64+
del "%~dp0%RES%" 2>nul
65+
pause
66+
exit /b 1
67+
)
68+
copy /Y "%~dp0%DLL%" "%~dp0%RUNTIME%\%2\" >nul 2>nul
69+
del "%~dp0%DLL%" 2>nul
70+
del "%~dp0%RES%" 2>nul
71+
echo %RUNTIME%\%2 - OK
72+
exit /b

0 commit comments

Comments
 (0)