Repository navigation
Binaries staged per target triple; Android shares the one defaultlib tree - #30
Merged
Merged
Conversation
…tree
__build/defaultlib/{lib,dll}/<arch>/<vendor>/<os>/<env>/{debug,release}/{gc,rc,none}/ for
every target: x64 Windows is x86_64/pc/windows/msvc, x86 i386/pc/windows/msvc, Linux
x86_64/unknown/linux/gnu, Android <aarch64|x86_64>/unknown/linux/android. The scripts ask
tslang --print-default-lib-dir (TypeScriptCompiler, same PR series) for each folder with the
flags they compile with, so they stage exactly where tslang later looks. The declarations
stay at the defaultlib root, shared by every build: build_android.bat stages into
__build/defaultlib rather than __build/android/<abi>, and a program takes
--default-lib-path=__build whatever its target.
build.bat: a failed single-model build (build.bat <mode> <model>) returned 0, since
%errorlevel% inside a ( ) block is expanded before the build runs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7 of 8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Binaries are staged per target triple, then build mode, then memory model, and every target shares one tree:
scripts/build_core.bat,scripts/build.shandscripts/build_android.batno longer spell the layout out. They asktslang --print-default-lib-dir=<lib|dll>with the same-mtriple/--di/-mmflags they compile with, so they stage exactly where tslang later looks. With an older tslang they stop with "cannot name the output folders".build_android.batstages into the shared__build/defaultlibinstead of__build/android/<abi>/defaultlib; a program takes--default-lib-path=__buildwhatever its target. Its compiler record isCOMPILER_VERSION.android-<abi>.txt, beside the x64 and x86 ones.TSLANG_ARCH=x86now stages intoi386/pc/windows/msvc(LLVM's canonical name for x86).lib//dll/to repo-rootdefaultlib/, now gitignored.build.bat: a failed single-model build (build.bat <mode> <model>) returned 0, because%errorlevel%inside a( )block is expanded before the build runs. It now returns the build's exit code.Merge order
Needs ASDAlexander77/TypeScriptCompiler#526 (adds
--print-default-lib-dirand the matching lookup). Merge that one first.This repo's own
create-release.ymldownloads the alpha45 compiler, which predates-mm=, so that workflow was already broken before this change; it is left untouched. The compiler's release workflow builds this library with the compiler it just built.Test plan
build.bat(release and debug, gc/rc/none) for x64 and withTSLANG_ARCH=x86, all SUCCESS into the triple treescripts\build_android.bat(both ABIs, both modes, all models): 12 archives in the shared tree, no leftover object foldersscripts/build.shonly syntax-checked locally; needs a Linux run🤖 Generated with Claude Code