mirror of
https://github.com/oven-sh/bun
synced 2026-02-10 10:58:56 +00:00
* fix(win/upgrade): do not show powershell expand-archive info while upgrading * start working bun run * experiment: `bun.new` * you can now bun run * Update src/install/install.zig Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * Update src/install/install.zig Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> * stuff * fix stuff * fix this * farther but not really * sadfs * path hell not sure how much worse or better this makes things. its a mess. windows path handlign is a mess aaaaaaaaaaaaaaaa * path.resolve bs * remove old build system stuff from pr * a * fix some path.parse/join cases * path closer not perfect * normalize and join tests tests done * paths * implement path.relative * , * stuff * assert * fix compile * hate * the code isnt great * stuff * housekeeping for build system * blah * explain windows sitaution in docs * some progress? not much though * zig compiler crashes here * fix * yippee * ok * a * ala wala * fix builds on stuff * clean * the tests now run * a * aa * dedupe uv event loop * fix fs test accuracy * stuff * [autofix.ci] apply automated fixes * huge updat e * [autofix.ci] apply automated fixes * url * [autofix.ci] apply automated fixes * start windows spawnSync * [autofix.ci] apply automated fixes * add --webkit for update submodules * add better err message for `bun setup` * fix unix platform build * . * [autofix.ci] apply automated fixes * un-upgrade libarchive * z * asdfghj * wrk * todo -> panic * ok * a * [autofix.ci] apply automated fixes * fix build scripts l ol * dfghj * fa * [autofix.ci] apply automated fixes * aaaa * a * l * [autofix.ci] apply automated fixes * more logs * [autofix.ci] apply automated fixes * j * fix init_command * CORE DUMP HELL * i swear im being pranked by the github actions gods * fadsjkfdshjkhjkdfsahjkdfshjksdafjkhhjkfdsahfsdkjhfsdjkahf * thanks IAS * this is the correct fix * personal review * ddisablbe these * revisions! * ok * fix submodule * stuff * fix libarchive * [autofix.ci] apply automated fixes * stuff * [autofix.ci] apply automated fixes * a * fix addressToJS on windows * make dns async again * dx: add flag to update submodules ps1 to clone webkit * dns error case for libuv * dx improvements on windows * newline * obvious fix * install steps * extra note * fix fs test * Update building-windows.md * fix builtins bundler to support \r\n line endnigs * better * some windows stuff * a * a * a * aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa * [autofix.ci] apply automated fixes * bunfile text works * fix build on the mac * hellooooooooooo * install steps * ci for baseline? * fix * aaa * wow * install script revamp * bug * OK * ok * aaaaaaaaaaaaaa * okay * fix the node test runner lol * fix napi stuff --------- Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: cirospaciari <ciro.spaciai@gmail.com> Co-authored-by: Dylan Conway <35280289+dylan-conway@users.noreply.github.com>
86 lines
2.4 KiB
PowerShell
86 lines
2.4 KiB
PowerShell
param(
|
|
[switch]$Baseline = $False
|
|
)
|
|
$ErrorActionPreference = 'Stop' # Setting strict mode, similar to 'set -euo pipefail' in bash
|
|
|
|
# this is the environment script for building bun's dependencies
|
|
# it sets c compiler and flags
|
|
$ScriptDir = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent
|
|
|
|
if ($env:VSINSTALLDIR -eq $null) {
|
|
Write-Host "Loading Visual Studio environment, this may take a second..."
|
|
$vsDir = Get-ChildItem -Path "C:\Program Files\Microsoft Visual Studio\2022" -Directory
|
|
if ($vsDir -eq $null) {
|
|
throw "Visual Studio directory not found."
|
|
}
|
|
Push-Location $vsDir.FullName
|
|
try {
|
|
. (Join-Path -Path $vsDir.FullName -ChildPath "Common7\Tools\Launch-VsDevShell.ps1") -Arch amd64 -HostArch amd64
|
|
} finally { Pop-Location }
|
|
}
|
|
|
|
if($Env:VSCMD_ARG_TGT_ARCH -eq "x86") {
|
|
# Please do not try to compile Bun for 32 bit. It will not work. I promise.
|
|
throw "Visual Studio environment is targetting 32 bit. This configuration is definetly a mistake."
|
|
}
|
|
|
|
$BUN_BASE_DIR = if ($env:BUN_BASE_DIR) { $env:BUN_BASE_DIR } else { Join-Path $ScriptDir '..' }
|
|
$BUN_DEPS_DIR = if ($env:BUN_DEPS_DIR) { $env:BUN_DEPS_DIR } else { Join-Path $BUN_BASE_DIR 'src\deps' }
|
|
$BUN_DEPS_OUT_DIR = if ($env:BUN_DEPS_OUT_DIR) { $env:BUN_DEPS_OUT_DIR } else { $BUN_DEPS_DIR }
|
|
|
|
$CPUS = if ($env:CPUS) { $env:CPUS } else { (Get-WmiObject -Class Win32_Processor).NumberOfCores }
|
|
|
|
$CC = "clang-cl"
|
|
$CXX = "clang-cl"
|
|
|
|
$CFLAGS = '/O2'
|
|
$CXXFLAGS = '/O2'
|
|
|
|
if ($Baseline) {
|
|
$CFLAGS += ' -march=nehalem'
|
|
$CXXFLAGS += ' -march=nehalem'
|
|
}
|
|
|
|
$CMAKE_FLAGS = @(
|
|
"-GNinja",
|
|
"-DCMAKE_BUILD_TYPE=Release",
|
|
"-DCMAKE_C_COMPILER=$CC",
|
|
"-DCMAKE_CXX_COMPILER=$CXX",
|
|
"-DCMAKE_C_FLAGS=`"$CFLAGS`"",
|
|
"-DCMAKE_CXX_FLAGS=`"$CXXFLAGS`""
|
|
)
|
|
|
|
$env:CC = "clang-cl"
|
|
$env:CXX = "clang-cl"
|
|
$env:CFLAGS = $CFLAGS
|
|
$env:CXXFLAGS = $CXXFLAGS
|
|
$env:CPUS = $CPUS
|
|
|
|
if ($Baseline) {
|
|
$CMAKE_FLAGS += "-DUSE_BASELINE_BUILD=ON"
|
|
}
|
|
|
|
$null = New-Item -ItemType Directory -Force -Path $BUN_DEPS_OUT_DIR
|
|
|
|
function Run() {
|
|
# A handy way to run a command, and automatically throw an error if the
|
|
# exit code is non-zero.
|
|
|
|
if ($args.Count -eq 0) {
|
|
throw "Must supply some arguments."
|
|
}
|
|
|
|
$command = $args[0]
|
|
$commandArgs = @()
|
|
if ($args.Count -gt 1) {
|
|
$commandArgs = $args[1..($args.Count - 1)]
|
|
}
|
|
|
|
& $command $commandArgs
|
|
$result = $LASTEXITCODE
|
|
|
|
if ($result -ne 0) {
|
|
throw "$command $commandArgs exited with code $result."
|
|
}
|
|
}
|