summaryrefslogtreecommitdiff
path: root/clbootstrap.sh
blob: 47664d1e405862c245c424f291409eaddc873851 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash
set -e
set -x
export WINEDEBUG=-all

export BASE='C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133'
export ONECORELIB="$BASE\lib\onecore\x86"
export WINEPATH="$BASE\bin\Hostx86\x86"
export INCLUDE="$BASE\include"
export UCRT="C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt"
export UCRTLIB="C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x86"
export UM="C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um"
export UMLIB="C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x86"
export SHARED="C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared"
echo Bootstrapping...

export CL="/I\"$BASE\include\" /I\"$UCRT\" /I\"$UM\" /I\"$SHARED\" /link /LIBPATH:\"$UMLIB\" /LIBPATH:\"$ONECORELIB\" /LIBPATH:\"$UCRTLIB\""
export LINK="/LIBPATH:\"$UMLIB\" /LIBPATH:\"$ONECORELIB\" /LIBPATH:\"$UCRTLIB\""
export LIB="/LIBPATH:\"$UMLIB\" /LIBPATH:\"$ONECORELIB\" /LIBPATH:\"$UCRTLIB\""

# https://docs.microsoft.com/en-us/cpp/build/reference/cl-environment-variables?view=msvc-170

# set INCLUDE="$BASE\include";$UCRT;$UM;$SHARED
# set LIB=
# set LIBPATH=$UMLIB;$ONECORELIB;$UCRTLIB

rm -Rf ctor.exe build/ configuration.cc
mkdir build
export CXX="cl.exe"
export CC="cl.exe"
export AR="lib.exe"
export LD="link.exe"

wine cl /nologo /std:c++20 /D_X86_ /EHsc /Isrc /Fo:build/ ctor.cc src/bootstrap.cc /link /out:ctor.exe
#sleep 1
wine ctor.exe
#sleep 1
wine cl /nologo /std:c++20 /D_X86_ /EHsc /Isrc /Fo:build/ ctor.cc build/libctor.lib /link /subsystem:console /out:ctor.exe
#sleep 1
wine ctor.exe configure --ctor-includedir=src --ctor-libdir=build
#sleep 1

#exit 0

wine ctor.exe -a test/ctor.cc
#sleep 1
wine ctor.exe -v check
#sleep 1