From 86b0e7e4a2b0a00ad0b5668b59262179212a8b67 Mon Sep 17 00:00:00 2001 From: Alexander Frick Date: Thu, 11 Jan 2024 14:26:38 -0600 Subject: [PATCH] update scripts --- build.sh | 13 ++++++++++--- check_simd.sh | 50 +++++++++++++++++++++++++++++++++++--------------- 2 files changed, 45 insertions(+), 18 deletions(-) diff --git a/build.sh b/build.sh index c7c5337a..7e1715fe 100755 --- a/build.sh +++ b/build.sh @@ -45,10 +45,17 @@ export NINJA_STATUS="[%r processes, %f/%t @ %o/s | %e sec. ] " && cd ${CR_SRC_DIR} && -# Needed to prevent api-ms-win-core-com-l1-1-0.dll error -rm -v out/thorium/dbghelp.dll && +fixDbghelp () { + # Needed to prevent api-ms-win-core-com-l1-1-0.dll error + rm -f -v out/thorium/dbghelp.dll +} +case $1 in + --fix) fixDbghelp; +esac -autoninja -C out/thorium thorium chromedriver clear_key_cdm thorium_shell setup mini_installer -j$@ && +autoninja -C out/thorium thorium chromedriver clear_key_cdm setup mini_installer -j$@ && +# Disable content_shell for now +# thorium_shell mv -v -f ${CR_SRC_DIR}/out/thorium/mini_installer.exe ${CR_SRC_DIR}/out/thorium/thorium_mini_installer.exe && diff --git a/check_simd.sh b/check_simd.sh index d7537e2d..9939e700 100755 --- a/check_simd.sh +++ b/check_simd.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2023 Alex313031. +# Copyright (c) 2024 Alex313031. program="Thorium Browser." # The program we are checking for. @@ -19,11 +19,13 @@ try() { "$@" || die "${RED}Failed $*"; } script_name=${0##*/} +clear && + check_result() { # Message calls local ret="$1" local msg="$2" - [ "$ret" -ne 0 ] && { printf "${RED}FAIL:" && tput sgr0 && echo " $msg"; } - printf "${GRE}SUCCESS:" && tput sgr0 && echo " $msg" + [ "$ret" -ne 0 ] && { printf " ${RED}FAIL:" && tput sgr0 && echo " $msg"; } + printf " ${GRE}SUCCESS:" && tput sgr0 && echo " $msg" } get_cpuinfo() { # return details of the first CPU only @@ -35,6 +37,22 @@ have_cpu_feature() { get_cpuinfo | egrep -q "^flags.*\<$feature\>" } +have_64bit_cpu() { + local feature="lm" # "Long mode" + local desc="64-bit x86 CPU" + local need="$desc ($feature)" + have_cpu_feature "$feature" + check_result "$?" "$need" +} + +have_sse2_cpu_feature () { + local feature="sse2" + local desc="Streaming SIMD Extensions 2" + local need="$desc ($feature)" + have_cpu_feature "$feature" + check_result "$?" "$need" +} + have_sse3_cpu_feature () { local feature="pni" local desc="Streaming SIMD Extensions 3" @@ -51,6 +69,14 @@ have_sse41_cpu_feature () { check_result "$?" "$need" } +have_sse42_cpu_feature () { + local feature="sse4_2" + local desc="Streaming SIMD Extensions 4.2" + local need="$desc ($feature)" + have_cpu_feature "$feature" + check_result "$?" "$need" +} + have_aes_cpu_feature () { local feature="aes" local desc="Advanced Encryption Standard Extensions" @@ -75,29 +101,23 @@ have_avx2_cpu_feature () { check_result "$?" "$need" } -have_64bit_cpu() { - local feature="lm" # "Long mode" - local desc="64-bit x86 CPU" - local need="$desc ($feature)" - have_cpu_feature "$feature" - check_result "$?" "$need" -} - common_checks() { - have_64bit_cpu && have_sse3_cpu_feature && have_sse41_cpu_feature && \ - have_aes_cpu_feature && have_avx_cpu_feature && have_avx2_cpu_feature + have_64bit_cpu && have_sse2_cpu_feature && have_sse3_cpu_feature && have_sse41_cpu_feature && \ + have_sse42_cpu_feature && have_aes_cpu_feature && have_avx_cpu_feature && have_avx2_cpu_feature } check_host() { printf "\n" && - printf "${YEL}Checking if host is capable of building/running $program\n" && tput sgr0; echo + printf " ${YEL}Checking host CPU instruction extensions...${c0}\n"; echo common_checks + printf "\n" && + printf " ${YEL}If your CPU has AVX, you can build/run $program${c0}\n" && tput sgr0; } main() { case "$1" in host) check_host ;; - *) printf "${RED}ERROR: Invalid type specified: '$1'\n" 2>&1 && tput sgr0; exit 1 ;; + *) printf " ${RED}ERROR: Invalid type specified: '$1'\n" 2>&1 && tput sgr0; exit 1 ;; esac }