@@ -11,13 +11,20 @@ export VSCODE_CLI_BINARY_NAME="$( node -p "require(\"../product.json\").serverAp
11
11
TUNNEL_APPLICATION_NAME=" $( node -p " require(\" ../product.json\" ).tunnelApplicationName" ) "
12
12
NAME_SHORT=" $( node -p " require(\" ../product.json\" ).nameShort" ) "
13
13
14
+ npm pack @vscode/openssl-prebuilt@0.0.11
15
+ mkdir openssl
16
+ tar -xvzf vscode-openssl-prebuilt-0.0.11.tgz --strip-components=1 --directory=openssl
17
+
14
18
if [[ " ${OS_NAME} " == " osx" ]]; then
15
19
if [[ " ${VSCODE_ARCH} " == " arm64" ]]; then
16
20
VSCODE_CLI_TARGET=" aarch64-apple-darwin"
17
21
else
18
22
VSCODE_CLI_TARGET=" x86_64-apple-darwin"
19
23
fi
20
24
25
+ export OPENSSL_LIB_DIR=" $( pwd ) /openssl/out/${VSCODE_ARCH} -osx/lib"
26
+ export OPENSSL_INCLUDE_DIR=" $( pwd ) /openssl/out/${VSCODE_ARCH} -osx/include"
27
+
21
28
cargo build --release --target " ${VSCODE_CLI_TARGET} " --bin=code
22
29
23
30
cp " target/${VSCODE_CLI_TARGET} /release/code" " ../../VSCode-darwin-${VSCODE_ARCH} /${NAME_SHORT} .app/Contents/Resources/app/bin/${TUNNEL_APPLICATION_NAME} "
@@ -29,29 +36,48 @@ elif [[ "${OS_NAME}" == "windows" ]]; then
29
36
VSCODE_CLI_TARGET=" x86_64-pc-windows-msvc"
30
37
export VSCODE_CLI_RUSTFLAGS=" -Ctarget-feature=+crt-static -Clink-args=/guard:cf -Clink-args=/CETCOMPAT"
31
38
fi
39
+
32
40
export VSCODE_CLI_CFLAGS=" /guard:cf /Qspectre"
41
+ export OPENSSL_LIB_DIR=" $( pwd ) /openssl/out/${VSCODE_ARCH} -windows-static/lib"
42
+ export OPENSSL_INCLUDE_DIR=" $( pwd ) /openssl/out/${VSCODE_ARCH} -windows-static/include"
33
43
34
- rustup target add x86_64-pc-windows-msvc
44
+ rustup target add " ${VSCODE_CLI_TARGET} "
35
45
36
46
cargo build --release --target " ${VSCODE_CLI_TARGET} " --bin=code
37
47
38
48
cp " target/${VSCODE_CLI_TARGET} /release/code.exe" " ../../VSCode-win32-${VSCODE_ARCH} /bin/${TUNNEL_APPLICATION_NAME} .exe"
39
49
else
50
+ export OPENSSL_LIB_DIR=" $( pwd ) /openssl/out/${VSCODE_ARCH} -linux/lib"
51
+ export OPENSSL_INCLUDE_DIR=" $( pwd ) /openssl/out/${VSCODE_ARCH} -linux/include"
52
+ export VSCODE_SYSROOT_DIR=" ../.build/sysroots"
53
+
40
54
if [[ " ${VSCODE_ARCH} " == " arm64" ]]; then
41
55
VSCODE_CLI_TARGET=" aarch64-unknown-linux-gnu"
56
+
57
+ export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc
58
+ export CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc
59
+ export CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++
60
+ export PKG_CONFIG_ALLOW_CROSS=1
61
+
62
+ sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu crossbuild-essential-arm64
42
63
elif [[ " ${VSCODE_ARCH} " == " armhf" ]]; then
43
64
VSCODE_CLI_TARGET=" armv7-unknown-linux-gnueabihf"
65
+
66
+ export OPENSSL_LIB_DIR=" $( pwd ) /openssl/out/arm-linux/lib"
67
+ export OPENSSL_INCLUDE_DIR=" $( pwd ) /openssl/out/arm-linux/include"
68
+ export CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc
69
+ export CC_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc
70
+ export CXX_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++
71
+ export PKG_CONFIG_ALLOW_CROSS=1
72
+
73
+ sudo apt-get install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf crossbuild-essential-armhf
44
74
elif [[ " ${VSCODE_ARCH} " == " x64" ]]; then
45
75
VSCODE_CLI_TARGET=" x86_64-unknown-linux-gnu"
46
- elif [[ " ${VSCODE_ARCH} " == " ppc64le" ]]; then
47
- VSCODE_CLI_TARGET=" powerpc64-unknown-linux-gnu"
48
- elif [[ " ${VSCODE_ARCH} " == " riscv64" ]]; then
49
- VSCODE_CLI_TARGET=" riscv64-unknown-linux-gnu"
50
- elif [[ " ${VSCODE_ARCH} " == " loong64" ]]; then
51
- VSCODE_CLI_TARGET=" loongarch64-unknown-linux-gnu"
52
76
fi
53
77
54
78
if [[ -n " ${VSCODE_CLI_TARGET} " ]]; then
79
+ rustup target add " ${VSCODE_CLI_TARGET} "
80
+
55
81
cargo build --release --target " ${VSCODE_CLI_TARGET} " --bin=code
56
82
57
83
cp " target/${VSCODE_CLI_TARGET} /release/code" " ../../VSCode-linux-${VSCODE_ARCH} /bin/${TUNNEL_APPLICATION_NAME} "
0 commit comments