Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
589b876
update CMake presets for Visual Studio 2026
ASDAlexander77 Nov 22, 2025
bc3e564
feat: Add CMakePresets.json for cross-platform build, configure, and …
ASDAlexander77 Nov 23, 2025
37b720f
feat: Add CMake build system and VS Code debug configurations for the…
ASDAlexander77 Nov 23, 2025
941d8dc
feat: Update GC library references and version to 8.2.8 across build …
ASDAlexander77 Nov 23, 2025
11a42d1
fix: Add missing parentheses in while loop conditions for parser deco…
ASDAlexander77 Nov 23, 2025
f109c84
feat: Update CMake presets for Visual Studio 2022 and 2026 with new c…
ASDAlexander77 Nov 24, 2025
fc730fb
chore: Update subproject commit for llvm-project to latest version
ASDAlexander77 Nov 24, 2025
a0a07b3
fix: Update description for Clang++ generator in CMake presets
ASDAlexander77 Nov 24, 2025
df4864b
feat: Update build scripts for Visual Studio 2026 compatibility and a…
ASDAlexander77 Nov 24, 2025
c653708
chore: Update subproject commit for llvm-project to latest version
ASDAlexander77 Nov 24, 2025
6bef74b
feat: Update build scripts to disable shared libraries for Visual Stu…
ASDAlexander77 Nov 24, 2025
d09b121
feat: Update GC and libatomic_ops versions in preparation scripts to …
ASDAlexander77 Nov 24, 2025
1bbee7a
chore: Update subproject commit for llvm-project to latest version
ASDAlexander77 Nov 24, 2025
5f7b97f
feat: Update CMake configuration for Visual Studio 2026 compatibility…
ASDAlexander77 Nov 24, 2025
f25a300
feat: Update launch configuration for Visual Studio 2026 compatibility
ASDAlexander77 Nov 25, 2025
7b42f9c
feat: Enhance debugging support with CRT leak checking in debug mode
ASDAlexander77 Nov 26, 2025
af2c809
chore: Remove memory leak dump call from JIT execution
ASDAlexander77 Nov 26, 2025
8a76f80
feat: Add memory leak prevention comment and remove unused memory lea…
ASDAlexander77 Nov 26, 2025
8e7953a
feat: Update debug memory leak checking configuration in main function
ASDAlexander77 Nov 26, 2025
bdbc625
fix: Prevent false positive memory leak reports in release builds by …
ASDAlexander77 Nov 26, 2025
1a50972
fixes to test runner
ASDAlexander77 Jun 24, 2026
661d7ef
update build scripts
ASDAlexander77 Jun 24, 2026
4ed9d94
script update
ASDAlexander77 Jun 24, 2026
01aed26
more build scripts update
ASDAlexander77 Jun 24, 2026
218e015
fix for test
ASDAlexander77 Jun 24, 2026
cf5159b
update launch configurations for VS 2026 build paths and fix bug with…
ASDAlexander77 Jun 24, 2026
b3a5a9e
Add C linkage for GC wrappers and export runtime symbols for JIT inte…
ASDAlexander77 Jun 25, 2026
f83e114
Update build scripts for LLVM integration and enhance JIT error handling
ASDAlexander77 Jun 26, 2026
f2e591f
Refactor JIT symbol registration to use DynamicLibrary for CRT entry …
ASDAlexander77 Jun 26, 2026
e3c0601
Enhance build scripts for Visual Studio 2026 integration and update l…
ASDAlexander77 Jun 26, 2026
34ff7fe
Adjust GlobalConstructorOp priority to prevent crashes during CRT ini…
ASDAlexander77 Jun 26, 2026
dd07eb5
Update build scripts for GC and TSC to set executable permissions and…
ASDAlexander77 Jun 26, 2026
af4bbab
Prefix temporary object/shared-lib filenames to avoid conflicts durin…
ASDAlexander77 Jun 26, 2026
1bd7287
Include process ID in temporary output file names to prevent collisio…
ASDAlexander77 Jun 26, 2026
de076b0
Update GC and libatomic_ops versions in CI workflows for consistency
ASDAlexander77 Jun 26, 2026
bbdc924
Merge branch 'migrating_to_vs2026' of github.com:ASDAlexander77/TypeS…
ASDAlexander77 Jun 26, 2026
689a018
Update build scripts to use cmake install command for better package …
ASDAlexander77 Jun 26, 2026
a16523b
Refactor GC linking logic in buildExe function to differentiate betwe…
ASDAlexander77 Jun 26, 2026
b036560
Refactor GC library linking to use variable for better platform compa…
ASDAlexander77 Jun 26, 2026
f322ad9
Refactor GC library linking to simplify logic and ensure consistent u…
ASDAlexander77 Jun 27, 2026
e921dbb
Fix CMake configuration for GC library path and message output
ASDAlexander77 Jun 27, 2026
d42d17e
added test file for debug build
ASDAlexander77 Jun 27, 2026
e67164c
Update test runner paths for shared libraries in batch file generation
ASDAlexander77 Jun 27, 2026
914ea59
Update shared library filename handling in createSharedMultiBatchFile
ASDAlexander77 Jun 27, 2026
26a4884
Enhance createSharedMultiBatchFile to isolate test execution in uniqu…
ASDAlexander77 Jun 27, 2026
1d8f3fa
Enhance LLVMCodeHelper to set function linkage as internal and improv…
ASDAlexander77 Jun 27, 2026
d03f197
Update CMakeLists.txt to use static CRT for MSVC configurations and e…
ASDAlexander77 Jun 27, 2026
72d9a19
Update CMakeLists.txt to correct GC library path for MSVC and test ru…
ASDAlexander77 Jun 27, 2026
f748ac7
Fix GC library path check and remove redundant copy commands in prepa…
ASDAlexander77 Jun 27, 2026
457f888
Refactor CMake configuration to utilize BDWgc package for garbage col…
ASDAlexander77 Jun 27, 2026
0120207
Update README.md to enhance structure, clarify build instructions, an…
ASDAlexander77 Jun 27, 2026
e9cf656
Update CMake configuration to disable documentation generation during…
ASDAlexander77 Jun 27, 2026
1254e60
Update CI workflows to use Windows-latest and target Visual Studio 20…
ASDAlexander77 Jun 27, 2026
9a38af1
Refactor CI workflows to remove redundant copy commands and disable s…
ASDAlexander77 Jun 27, 2026
3925ac1
fixes to vs version
ASDAlexander77 Jun 27, 2026
9f13d6d
update release workflow to use vs2026
ASDAlexander77 Jun 27, 2026
28c0176
Update CMake configuration to use GitHub workspace for installation p…
ASDAlexander77 Jun 27, 2026
034600a
Update CACHE_VERSION to v9 in CI workflows and remove redundant copy …
ASDAlexander77 Jun 27, 2026
62ceaa8
Update CMake configuration for GC to set default policy and runtime l…
ASDAlexander77 Jun 27, 2026
59b6a86
Refactor reference handling: introduce Ref and Deref types, update ML…
ASDAlexander77 Jun 27, 2026
9dc73c3
Increase parallel build jobs to 20 for debug and release scripts, and…
ASDAlexander77 Jun 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 13 additions & 14 deletions .github/workflows/cmake-test-release-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,11 @@ on:
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
CACHE_VERSION: v8
CACHE_VERSION: v9
LLVM_VERSION: 19
LLVM_TARGZFILE: "https://www.dropbox.com/scl/fi/l9xrfupdbwqbnckr5g36p/llvm_19_1_3_release.tgz?rlkey=xubw01vl6ey3xszbph32xqfip&st=okz2ghqx&dl=1"
GC_VERSION: "8.2.8"
LIBATOMIC_OPS_VERSION: "7.8.2"

jobs:
build:
Expand Down Expand Up @@ -81,32 +83,27 @@ jobs:
- name: Download 3rd party source - GC
continue-on-error: true
shell: sh
run: curl --insecure -L https://www.hboehm.info/gc/gc_source/gc-8.0.4.tar.gz --output gc-8.0.4.tar.gz
run: curl --insecure -L https://www.hboehm.info/gc/gc_source/gc-${{ env.GC_VERSION }}.tar.gz --output gc-${{ env.GC_VERSION }}.tar.gz

- name: Download 3rd party source - GC:Atomic_ops
continue-on-error: true
shell: sh
run: curl --insecure -L https://www.hboehm.info/gc/gc_source/libatomic_ops-7.6.10.tar.gz --output libatomic_ops-7.6.10.tar.gz
run: curl --insecure -L https://www.hboehm.info/gc/gc_source/libatomic_ops-${{ env.LIBATOMIC_OPS_VERSION }}.tar.gz --output libatomic_ops-${{ env.LIBATOMIC_OPS_VERSION }}.tar.gz

- name: UnZip 3rd party source - GC
continue-on-error: false
shell: sh
run: tar -xvzf gc-8.0.4.tar.gz -C ./3rdParty/
run: tar -xvzf gc-${{ env.GC_VERSION }}.tar.gz -C ./3rdParty/

- name: UnZip 3rd party source - GC:Atomic_ops
continue-on-error: false
shell: sh
run: tar -xvzf libatomic_ops-7.6.10.tar.gz -C ./3rdParty/
run: tar -xvzf libatomic_ops-${{ env.LIBATOMIC_OPS_VERSION }}.tar.gz -C ./3rdParty/

- name: Copy Atomic_ops to GC
continue-on-error: false
shell: sh
run: cp -a ./3rdParty/libatomic_ops-7.6.10/ ./3rdParty/gc-8.0.4/libatomic_ops/

- name: Copy fixes to GC
continue-on-error: false
shell: sh
run: cp -ar ./docs/fix/gc/* ./3rdParty/gc-8.0.4/
run: cp -a ./3rdParty/libatomic_ops-${{ env.LIBATOMIC_OPS_VERSION }}/ ./3rdParty/gc-${{ env.GC_VERSION }}/libatomic_ops/

- name: Install Ninja
continue-on-error: false
Expand All @@ -122,19 +119,21 @@ jobs:
continue-on-error: false
working-directory: ${{github.workspace}}/__build/gc/ninja/release
shell: sh
run: cmake ../../../../3rdParty/gc-8.0.4 -G "Ninja" -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -Wno-dev -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=../../../../3rdParty/gc/release -Denable_threads=ON -Denable_cplusplus=OFF
run: cmake ../../../../3rdParty/gc-${{ env.GC_VERSION }} -G "Ninja" -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -Wno-dev -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/3rdParty/gc/release -DBUILD_SHARED_LIBS=OFF -Denable_threads=ON -Denable_cplusplus=OFF -Denable_docs=OFF

- name: Build GC
continue-on-error: false
working-directory: ${{github.workspace}}/__build/gc/ninja/release
shell: sh
run: cmake --build . --config ${{ env.BUILD_TYPE }} -j 8

- name: Copy GC
- name: Install GC
continue-on-error: false
working-directory: ${{github.workspace}}/__build/gc/ninja/release
shell: sh
run: mkdir -p ../../../../3rdParty/gc/release/; cp ./lib* ../../../../3rdParty/gc/release/
# Generates the BDWgc CMake package files (lib/cmake/bdwgc/BDWgcConfig.cmake)
# that the tsc build looks up via find_package(BDWgc CONFIG).
run: cmake --install . --config ${{ env.BUILD_TYPE }}

- name: List GC files
continue-on-error: false
Expand Down
33 changes: 16 additions & 17 deletions .github/workflows/cmake-test-release-win.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,19 @@ on:
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
CACHE_VERSION: v8
CACHE_VERSION: v9
LLVM_VERSION: 19
LLVM_ZIPFILE: "https://www.dropbox.com/scl/fi/xdcj15hlzpod06x4wpls1/llvm_19_1_3_release.zip?rlkey=x38yiyfw3y6bv15z5j3oi84lb&st=bz3u5xkv&dl=1"
LLVM_ZIPFILE: "https://www.dropbox.com/scl/fi/map5fet7x19bm8ztsr4ma/llvm_19_1_3_release_vs2026.zip?rlkey=iwae4mz45lf7nycawa7d61g3r&st=4ee1dfug&dl=1"
GC_VERSION: "8.2.8"
LIBATOMIC_OPS_VERSION: "7.8.2"

jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally
# well on Windows or Mac. You can convert this to a matrix build if you need
# cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: windows-2022
runs-on: windows-latest

steps:
# - name: check disk space
Expand Down Expand Up @@ -75,37 +77,32 @@ jobs:
- name: Download 3rd party source - GC
continue-on-error: true
shell: pwsh
run: Invoke-WebRequest -SkipCertificateCheck -Uri "https://www.hboehm.info/gc/gc_source/gc-8.0.4.tar.gz" -OutFile "gc-8.0.4.tar.gz"
run: Invoke-WebRequest -SkipCertificateCheck -Uri "https://www.hboehm.info/gc/gc_source/gc-${{ env.GC_VERSION }}.tar.gz" -OutFile "gc-${{ env.GC_VERSION }}.tar.gz"

- name: Download 3rd party source - GC:Atomic_ops
continue-on-error: true
shell: pwsh
run: Invoke-WebRequest -SkipCertificateCheck -Uri "https://www.hboehm.info/gc/gc_source/libatomic_ops-7.6.10.tar.gz" -OutFile "libatomic_ops-7.6.10.tar.gz"
run: Invoke-WebRequest -SkipCertificateCheck -Uri "https://www.hboehm.info/gc/gc_source/libatomic_ops-${{ env.LIBATOMIC_OPS_VERSION }}.tar.gz" -OutFile "libatomic_ops-${{ env.LIBATOMIC_OPS_VERSION }}.tar.gz"

- name: UnZip 3rd party source - GC
continue-on-error: false
run: tar -xvzf gc-8.0.4.tar.gz -C ./3rdParty/
run: tar -xvzf gc-${{ env.GC_VERSION }}.tar.gz -C ./3rdParty/
shell: pwsh

- name: UnZip 3rd party source - GC:Atomic_ops
continue-on-error: false
run: tar -xvzf libatomic_ops-7.6.10.tar.gz -C ./3rdParty/
run: tar -xvzf libatomic_ops-${{ env.LIBATOMIC_OPS_VERSION }}.tar.gz -C ./3rdParty/
shell: pwsh

- name: Copy Atomic_ops to GC
continue-on-error: false
run: xcopy /E /H /C /I /Y ".\3rdParty\libatomic_ops-7.6.10" ".\3rdParty\gc-8.0.4\libatomic_ops"
shell: pwsh

- name: Copy fixes to GC
continue-on-error: false
run: xcopy /E /H /C /I /Y ".\docs\fix\gc" ".\3rdParty\gc-8.0.4"
run: xcopy /E /H /C /I /Y ".\3rdParty\libatomic_ops-${{ env.LIBATOMIC_OPS_VERSION }}" ".\3rdParty\gc-${{ env.GC_VERSION }}\libatomic_ops"
shell: pwsh

- name: Configure GC
continue-on-error: false
working-directory: ${{github.workspace}}/__build/gc/msbuild/x64/release
run: cmake ../../../../../3rdParty/gc-8.0.4 -G "Visual Studio 17 2022" -A x64 -Wno-dev -Denable_threads=ON -Denable_cplusplus=OFF
run: cmake ../../../../../3rdParty/gc-${{ env.GC_VERSION }} -G "Visual Studio 18 2026" -A x64 -Wno-dev -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/3rdParty/gc/x64/release -DBUILD_SHARED_LIBS=OFF -Denable_threads=ON -Denable_cplusplus=OFF -Denable_docs=OFF -DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded
shell: pwsh

- name: Build GC
Expand All @@ -114,10 +111,12 @@ jobs:
run: cmake --build . --config ${{ env.BUILD_TYPE }} -j 8
shell: pwsh

- name: Copy GC
- name: Install GC
continue-on-error: false
working-directory: ${{github.workspace}}/__build/gc/msbuild/x64/release
run: xcopy /E /H /C /I /Y .\${{ env.BUILD_TYPE }}\ ..\..\..\..\..\3rdParty\gc\x64\release\
# Generates the BDWgc CMake package files (lib/cmake/bdwgc/BDWgcConfig.cmake)
# that the tsc build looks up via find_package(BDWgc CONFIG).
run: cmake --install . --config ${{ env.BUILD_TYPE }}
shell: pwsh

- name: List GC files
Expand All @@ -129,7 +128,7 @@ jobs:
- name: Configure
continue-on-error: false
working-directory: ${{github.workspace}}/__build/tsc/msbuild/x64/release
run: cmake ../../../../../tsc -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -Wno-dev
run: cmake ../../../../../tsc -G "Visual Studio 18 2026" -A x64 -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -Wno-dev
shell: pwsh

- name: Build
Expand Down
Loading
Loading