More cleanup
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Setup ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
script_path=$0
|
||||
script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||
root_dir="${devenver_root}"
|
||||
|
||||
# Arguments ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
clang_dir="$root_dir/LLVM"
|
||||
cmake_dir="$root_dir/CMake"
|
||||
node_dir="$root_dir/NodeJS"
|
||||
python_dir="$root_dir/Python"
|
||||
virustotal_url="https://www.virustotal.com/gui/file"
|
||||
|
||||
# Argument parsing :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
option="$1"
|
||||
shift
|
||||
|
||||
if [ "$option" = "clang" ]; then exe_dir="$clang_dir/$1/bin" && PATH="$exe_dir:$PATH" && cmd_line="$2" && shift && shift; fi
|
||||
if [ "$option" = "cmake" ]; then exe_dir="$cmake_dir/$1" && PATH="$exe_dir:$PATH" && cmd_line="$2" && shift && shift; fi
|
||||
if [ "$option" = "node" ]; then exe_dir="$node_dir/$1/bin" && PATH="$exe_dir:$PATH" && cmd_line="$2" && shift && shift; fi
|
||||
if [ "$option" = "python" ]; then
|
||||
python_root=$python_dir/$1/install
|
||||
# Shit like building UWSGI in Python via PIP with wheel doesn't seem to use
|
||||
# LD_LIBRARY_PATH but LDFLAGS works. Dependency hell
|
||||
cmd_prefix="LDFLAGS=${python_root}/lib LD_LIBRARY_PATH=$python_root/lib:$LD_LIBRARY_PATH PYTHONHOME=$python_root"
|
||||
exe_dir="$python_root/bin"
|
||||
PATH="$exe_dir:$PATH"
|
||||
cmd_line="$2"&& shift && shift;
|
||||
fi
|
||||
if [ "$option" = "virustotal" ]; then virustotal_hash=$(sha256sum "$1" | awk '{print $1}') && cmd_line="xdg-open $virustotal_url/$virustotal_hash &" && shift; fi
|
||||
|
||||
if [ -z "$cmd_line" ]; then option="help"; fi
|
||||
if [ "$option" = "help" ]; then
|
||||
clang_versions=$(ls -1 "$clang_dir" 2>/dev/null | tr '\n' ' ')
|
||||
cmake_versions=$(ls -1 "$cmake_dir" 2>/dev/null | tr '\n' ' ')
|
||||
node_versions=$(ls -1 "$node_dir" 2>/dev/null | tr '\n' ' ')
|
||||
python_versions=$(ls -1 "$python_dir" 2>/dev/null | tr '\n' ' ')
|
||||
cat << EOF
|
||||
USAGE: dev [option] [args...]
|
||||
|
||||
NOTES:
|
||||
Commands augment the system PATH with the tool's path for the current shell session.
|
||||
You can chain the commands to augment the PATH, e.g:
|
||||
|
||||
dev.sh python 3.12.9+20250317 dev.sh node 20.18.2 yarn build-everything
|
||||
|
||||
OPTIONS:
|
||||
cmake [version] [cmd...] CMake build system: 'PATH=$cmake_dir/[version]:\$PATH [cmd...]'
|
||||
Versions: $cmake_versions
|
||||
|
||||
clang [version] [cmd..] CLANG compiler: 'PATH=$clang_dir/[version]:\$PATH [cmd...]'
|
||||
Example: 'dev clang 18.1.4 clang++.exe --help'
|
||||
Versions: $clang_versions
|
||||
|
||||
node [version] [cmd...] Node JS: 'PATH=$node_dir/[version]:\$PATH [cmd...]'
|
||||
Versions: $node_versions
|
||||
|
||||
python [version] [cmd...] Python: 'PATH=$python_dir/[version]/install/bin:\$PATH [cmd...]'
|
||||
Versions: $python_versions
|
||||
|
||||
virustotal [file] Lookup file SHA256 hash on VirusTotal: '$virustotal_url/[file]'
|
||||
EOF
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Extract user arguments ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
user_args=""
|
||||
while [ $# -gt 0 ]; do user_args="$user_args $1"; shift; done
|
||||
|
||||
# Trim trailing space ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
while [ "${user_args: -1}" = " " ]; do user_args="${user_args% }"; done
|
||||
while [ "${cmd_line: -1}" = " " ]; do cmd_line="${cmd_line% }"; done
|
||||
|
||||
# Eval ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
echo "DEV: Running '$script_path' with '$cmd_prefix $cmd_line$user_args'"
|
||||
eval "$cmd_prefix $cmd_line$user_args"
|
||||
@@ -0,0 +1,119 @@
|
||||
@echo off
|
||||
|
||||
:: Setup :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
setlocal enabledelayedexpansion
|
||||
set script_path=%~dpnx0
|
||||
set script_dir_backslash=%~dp0
|
||||
set script_dir=%script_dir_backslash:~0,-1%
|
||||
set root_dir=%devenver_root%
|
||||
|
||||
:: Arguments :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
set clang_dir=%root_dir%\LLVM
|
||||
set cmake_dir=%root_dir%\CMake
|
||||
set msvc_dir=%root_dir%\msvc
|
||||
set msvc_vc_dir=%msvc_dir%\msvc_host_x64_target_x64
|
||||
set msvc_sdk_dir=%msvc_dir%\sdk_host_x64_target_x64
|
||||
set node_dir=%root_dir%\NodeJS
|
||||
set raddbg_dir=%root_dir%\raddbg\trunk
|
||||
set raddbg_args=--user:%raddbg_dir%\..\doylet.raddbg_user
|
||||
set raddbg_exe=raddbg.exe
|
||||
set radlink_dir=%root_dir%\raddbg\trunk
|
||||
set radlink_exe=radlink.exe
|
||||
set rad_update_dir=%radlink_dir%\..
|
||||
set rad_update_exe=update_trunk.bat
|
||||
set remedybg_dir=%root_dir%\RemedyBG
|
||||
set remedybg_exe=remedybg.exe
|
||||
set virustotal_url=https://www.virustotal.com/gui/file
|
||||
set rust_dir=%userprofile%\.rustup\toolchains\stable-x86_64-pc-windows-msvc\bin
|
||||
|
||||
:: Argument parsing ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: Remove the first argument which is the command (e.g. raddbg or radlink)
|
||||
set option=%1
|
||||
shift
|
||||
|
||||
if "%option%"=="clang" set "exe_dir=%clang_dir%\%1\bin" && set path=%exe_dir%;%path% && set cmd_line=!exe_dir!\%2 && shift && shift
|
||||
if "%option%"=="cmake" set "exe_dir=%cmake_dir%\%1" && set path=%exe_dir%;%path% && set cmd_line=!exe_dir!\%2 && shift && shift
|
||||
if "%option%"=="node" set "exe_dir=%node_dir%\%1" && set path=%exe_dir%;%path% && set cmd_line=!exe_dir!\%2 && shift && shift
|
||||
if "%option%"=="msvc" endlocal && call %msvc_vc_dir%\%1\devcmd.bat && call %msvc_sdk_dir%\%2\devcmd.bat && goto :eof
|
||||
if "%option%"=="rad_update" set "exe_dir=%rad_update_dir%" && set path=%rad_update_dir%;%path% && set cmd_line=!exe_dir!\update_trunk.bat
|
||||
if "%option%"=="raddbg" set "exe_dir=%raddbg_dir%" && set path=%exe_dir%;%path% && set cmd_line=start /B !exe_dir!\%raddbg_exe% %raddbg_args%
|
||||
if "%option%"=="raddbg_env" endlocal && set path=%raddbg_dir%;%path% && goto :eof
|
||||
if "%option%"=="radlink" set "exe_dir=%radlink_dir%" && set path=%exe_dir%;%path% && set cmd_line=!exe_dir!\%radlink_exe%
|
||||
if "%option%"=="radlink_env" endlocal && set path=%radlink_dir%;%path% && goto :eof
|
||||
if "%option%"=="rust_env" endlocal && set path=%rsut_dir%;%path% && goto :eof
|
||||
if "%option%"=="remedybg" set "exe_dir=%remedybg_dir%\%1" && set path=%exe_dir%;%path% && set cmd_line=start /B !exe_dir!\%remedybg_exe% && shift
|
||||
if "%option%"=="virustotal" for /f "delims=" %%a in ('powershell -Command "(Get-FileHash \"%1\" -Algorithm SHA256).Hash"') do set virustotal_hash=%%a && shift
|
||||
if "%option%"=="virustotal" set cmd_line=start /B %virustotal_url%/%virustotal_hash%
|
||||
|
||||
if "%cmd_line%"=="" set option=help
|
||||
if "%option%"=="help" (
|
||||
for /f "delims=" %%a in ('dir /B %clang_dir%') do set "clang_versions=%%a !clang_versions!"
|
||||
for /f "delims=" %%a in ('dir /B %cmake_dir%') do set "cmake_versions=%%a !cmake_versions!"
|
||||
for /f "delims=" %%a in ('dir /B %remedybg_dir%') do set "remedybg_versions=%%a !remedybg_versions!"
|
||||
for /f "delims=" %%a in ('dir /B %node_dir%') do set "node_versions=%%a !node_versions!"
|
||||
for /f "delims=" %%a in ('dir /B %msvc_vc_dir%') do set "msvc_vc_versions=%%a !msvc_vc_versions!"
|
||||
for /f "delims=" %%a in ('dir /B %msvc_sdk_dir%') do set "msvc_sdk_versions=%%a !msvc_sdk_versions!"
|
||||
|
||||
echo USAGE: dev [option] [args...]
|
||||
echo.
|
||||
echo NOTES:
|
||||
echo Commands augment the system path with the path to the tool for the current shell session.
|
||||
echo.
|
||||
echo OPTIONS:
|
||||
echo cmake [version] [exe] CMake build system: 'set PATH=%cmake_dir%\[version]\[exe];%%PATH%% %cmake_args%'
|
||||
echo Versions: !cmake_versions!
|
||||
echo.
|
||||
echo clang [version] [exe] CLANG compiler: 'set PATH=%clang_dir%\[version]\[exe];%%PATH%% %clang_args%'
|
||||
echo Example: 'dev clang 18.1.4 clang++.exe --help'
|
||||
echo Versions: !clang_versions!
|
||||
echo.
|
||||
echo msvc [vc_version] [sdk_version] MSVC build tools: '%msvc_vc_dir%\[vc_version]'
|
||||
echo '%msvc_sdk_dir%\[sdk_version]'
|
||||
echo VC Versions: !msvc_vc_versions!
|
||||
echo SDK Versions: !msvc_sdk_versions!
|
||||
echo.
|
||||
echo node [version] [exe] Node JS: '%node_dir%\[version]\[exe]'
|
||||
echo Versions: !node_versions!
|
||||
echo.
|
||||
echo raddbg RAD debugger: '%raddbg_dir%\%raddbg_exe% %raddbg_args%'
|
||||
echo raddbg_env Add RAD debugger to PATH env: 'set PATH=%raddbg_dir%;%%PATH%%'
|
||||
echo radlink RAD linker: '%radlink_dir%\%radlink_exe%'
|
||||
echo radlink_env Add RAD linker to PATH env: 'set PATH=%radlink_dir%;%%PATH%%'
|
||||
echo rad_update Update the RAD linker and debugger: '%rad_update_dir%\%rad_update_exe%'
|
||||
echo.
|
||||
echo remedybg [version] C/C++ debugger: '%remedybg_dir%\%remedybg_exe%'
|
||||
echo Versions: !remedybg_versions!
|
||||
echo.
|
||||
if exist "!rust_dir!\cargo.exe" (
|
||||
echo rust_env Add Rust to PATH env: 'set PATH=!rust_dir!;%%PATH%%'
|
||||
echo.
|
||||
)
|
||||
echo virustotal [file] Lookup file SHA256 hash on VirusTotal: '%virustotal_url%/[file]'
|
||||
|
||||
goto :eof
|
||||
)
|
||||
|
||||
:: Extract user arguments ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:extract_args
|
||||
if "%~1" neq "" (
|
||||
set user_args=%user_args% %1
|
||||
shift
|
||||
goto :extract_args
|
||||
)
|
||||
|
||||
:trim_user_args_trailing_space
|
||||
if "!user_args:~-1!"==" " (
|
||||
set user_args=!user_args:~0,-1!
|
||||
goto trim_user_args_trailing_space
|
||||
)
|
||||
|
||||
:trim_cmd_line_trailing_space
|
||||
if "!cmd_line:~-1!"==" " (
|
||||
set cmd_line=!cmd_line:~0,-1!
|
||||
goto trim_cmd_line_trailing_space
|
||||
)
|
||||
|
||||
:: Eval ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
echo DEV: Running "%script_path%" with "%cmd_line%%user_args%"
|
||||
call %cmd_line%%user_args%
|
||||
goto :eof
|
||||
@@ -1,14 +0,0 @@
|
||||
@echo off
|
||||
start /B https://brave.com
|
||||
start /B https://desktop.telegram.org
|
||||
start /B https://ledger.com/ledger-live
|
||||
start /B https://getsession.org/windows
|
||||
start /B https://github.com/kapitainsky/RcloneBrowser/releases
|
||||
start /B https://mozilla.org/en-US/firefox/new
|
||||
start /B https://obsidian.md/download
|
||||
start /B https://protonvpn.com/download
|
||||
start /B https://signal.org/download
|
||||
start /B https://safing.io
|
||||
start /B https://spotify.com/us/download
|
||||
start /B https://discord.com/download
|
||||
start /B https://www.gpsoft.com.au/dscripts/download.asp
|
||||
Reference in New Issue
Block a user