Skip to content

Commit e6dc0d1

Browse files
committed
external_deps: provide our naclruntime everywhere
1 parent ef57a05 commit e6dc0d1

1 file changed

Lines changed: 38 additions & 38 deletions

File tree

‎external_deps/build.sh‎

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,11 @@ VORBIS_VERSION=1.3.7
5959
OPUS_VERSION=1.5.2
6060
OPUSFILE_VERSION=0.12
6161
NACLSDK_VERSION=44.0.2403.155
62-
NACLRUNTIME_REVISION=ab09db9ab6da96f2549b382e14d19212b482634a
62+
# FIXME? multiple versions
63+
NACLRUNTIME_REVISION=a89e8f91859feab41bf4bb60598c523c1ed4da2e
64+
NACLRUNTIME_VERSION=20261026
6365
NCURSES_VERSION=6.5
64-
SCONS_VERSION=4.8.1
66+
SCONS_VERSION=4.10.1
6567
WASISDK_VERSION=16.0
6668
WASMTIME_VERSION=2.0.2
6769

@@ -1027,14 +1029,6 @@ build_naclsdk() {
10271029

10281030
"${download_only}" && return
10291031

1030-
smart_copy pepper_*"/tools/irt_core_${NACLSDK_ARCH}.nexe" "${PREFIX}/irt_core-${DAEMON_ARCH}.nexe"
1031-
case "${PLATFORM}" in
1032-
linux-amd64-*)
1033-
;; # Get sel_ldr from naclruntime package
1034-
*)
1035-
smart_copy pepper_*"/tools/sel_ldr_${NACLSDK_ARCH}${EXE_EXT}" "${PREFIX}/nacl_loader${EXE_EXT}"
1036-
;;
1037-
esac
10381032
case "${PLATFORM}" in
10391033
windows-i686-*|*-amd64-*)
10401034
smart_copy pepper_*"/toolchain/${NACLSDK_PLATFORM}_x86_newlib/bin/x86_64-nacl-gdb${EXE_EXT}" "${PREFIX}/nacl-gdb${EXE_EXT}"
@@ -1055,22 +1049,6 @@ build_naclsdk() {
10551049
rm -rf "${PREFIX}/pnacl/x86_64_bc-nacl"
10561050
esac
10571051
case "${PLATFORM}" in
1058-
windows-i686-*)
1059-
smart_copy pepper_*"/tools/sel_ldr_x86_64.exe" "${PREFIX}/nacl_loader-amd64.exe"
1060-
smart_copy pepper_*"/tools/irt_core_x86_64.nexe" "${PREFIX}/irt_core-amd64.nexe"
1061-
;;
1062-
linux-amd64-*)
1063-
# Fix permissions on a few files which deny access to non-owner
1064-
chmod 644 "${PREFIX}/irt_core-${DAEMON_ARCH}.nexe"
1065-
;;
1066-
linux-i686-*|linux-armhf-*|linux-arm64-*)
1067-
smart_copy pepper_*"/tools/nacl_helper_bootstrap_${NACLSDK_ARCH}" "${PREFIX}/nacl_helper_bootstrap"
1068-
# Fix permissions on a few files which deny access to non-owner
1069-
chmod 644 "${PREFIX}/irt_core-${DAEMON_ARCH}.nexe"
1070-
chmod 755 "${PREFIX}/nacl_helper_bootstrap" "${PREFIX}/nacl_loader"
1071-
;;
1072-
esac
1073-
case "${PLATFORM}" in
10741052
linux-arm64-*)
10751053
mkdir -p "${PREFIX}/lib-armhf"
10761054
smart_copy -R pepper_*"/tools/lib/arm_trusted/lib/." "${PREFIX}/lib-armhf/."
@@ -1093,16 +1071,6 @@ build_native-scons() {
10931071
}
10941072

10951073
build_naclruntime() {
1096-
local dir_name="DaemonEngine-native_client-${NACLRUNTIME_REVISION:0:7}"
1097-
local archive_name="native_client-${NACLRUNTIME_REVISION}.zip"
1098-
1099-
download_extract naclruntime "${archive_name}" \
1100-
"${NACLRUNTIME_BASEURL}/${NACLRUNTIME_REVISION}"
1101-
1102-
"${download_only}" && return
1103-
1104-
cd "${dir_name}"
1105-
11061074
case "${PLATFORM}" in
11071075
linux-amd64-*)
11081076
naclruntime_impl linux-amd64-default linux x86-64
@@ -1121,31 +1089,63 @@ build_naclruntime() {
11211089
macos-*-*)
11221090
naclruntime_impl macos-amd64-default darwin x86-64
11231091
;;
1092+
windows-amd64-*)
1093+
naclruntime_msvc_impl amd64 ''
1094+
;;
1095+
windows-i686-*)
1096+
naclruntime_msvc_impl amd64 '-amd64'
1097+
naclruntime_msvc_impl i686 ''
1098+
;;
11241099
*)
11251100
log ERROR 'Unsupported platform for naclruntime'
11261101
;;
11271102
esac
11281103
}
11291104

1105+
naclruntime_msvc_impl() {
1106+
local arch="${1}"
1107+
local loader_suffix="${2}"
1108+
1109+
local archive_basename="nacl_runtime-windows-${arch}-${NACLRUNTIME_VERSION}"
1110+
1111+
download_extract naclruntime "${archive_basename}.zip" "fakeurl" ##########
1112+
"${download_only}" && return
1113+
1114+
cp "${archive_basename}/sel_ldr.exe" "${PREFIX}/bin/nacl_loader${loader_suffix}.exe"
1115+
cp "${archive_basename}/irt_core.nexe" "${PREFIX}/bin/irt_core-${arch}.nexe"
1116+
}
1117+
11301118
naclruntime_impl() {
11311119
local target_platform="${1}"
11321120
local nacl_os="${2}"
11331121
local nacl_arch="${3}"
11341122

1123+
local dir_name="DaemonEngine-native_client-${NACLRUNTIME_REVISION:0:7}"
1124+
local archive_name="native_client-${NACLRUNTIME_REVISION}.zip"
1125+
1126+
download_extract naclruntime "${archive_name}" \
1127+
"${NACLRUNTIME_BASEURL}/${NACLRUNTIME_REVISION}"
1128+
"${download_only}" && return
1129+
1130+
cd "${dir_name}"
1131+
11351132
# TODO: better way to detect native platform
11361133
source <("${SCRIPT_DIR}/../cmake/Yokai/Detection/detect" cc | tr A-Z a-z)
11371134
native_sys="${yokai_target_system_name}-${yokai_target_arch_name}"
11381135

11391136
(
1137+
# FIXME setup_platform probably not actually needed?
11401138
setup_platform "${target_platform}"
1141-
# FIXME SDK version
1142-
scons saigo_newlib_dir="${WORK_DIR}/saigosdk-${native_sys}_20260925" --mode="opt-${nacl_os},nacl" platform="${nacl_arch}" saigo=1 --no-clang werror=0 sysinfo=0 sel_ldr irt_core
1139+
# FIXME unhardcode SDK version
1140+
scons saigo_newlib_dir="${WORK_DIR}/saigosdk-${native_sys}_20261013" --mode="opt-${nacl_os},nacl" platform="${nacl_arch}" saigo=1 --no-clang werror=0 sysinfo=0 sel_ldr irt_core
11431141
)
11441142
cp "scons-out/opt-${nacl_os}-${nacl_arch}/staging/sel_ldr" "${PREFIX}/nacl_loader"
11451143
if [ -f "scons-out/opt-linux-${nacl_arch}/staging/nacl_helper_bootstrap" ]
11461144
then
11471145
cp "scons-out/opt-linux-${nacl_arch}/staging/nacl_helper_bootstrap" "${PREFIX}/nacl_helper_bootstrap"
11481146
fi
1147+
local target_arch="$(cut -d- -f2 <<< "${target_platform}")"
1148+
cp "scons-out/nacl_irt-${nacl_arch}/staging/irt_core.nexe" "${PREFIX}/irt_core-${target_arch}.nexe"
11491149
}
11501150

11511151
# Check for DLL dependencies on MinGW stuff. For MSVC platforms this is bad because it should work

0 commit comments

Comments
 (0)