Skip to content

[pull] master from GaijinEntertainment:master#772

Merged
pull[bot] merged 7 commits into
forksnd:masterfrom
GaijinEntertainment:master
Feb 26, 2026
Merged

[pull] master from GaijinEntertainment:master#772
pull[bot] merged 7 commits into
forksnd:masterfrom
GaijinEntertainment:master

Conversation

@pull

@pull pull Bot commented Feb 26, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

…me fix

Ship only the dynamic-linked compiler binary in the install, renamed
from daslang_dyn to daslang (OUTPUT_NAME + EXPORT_NAME). The static
daslang target is renamed to daslang_static and excluded from install.

Add backward-compatible DAS::daslang_dyn alias in DASConfig.cmake.in
so existing consumer CMakeLists still work.

Propagate C++17 requirement to consumers via target_compile_features
(PUBLIC cxx_std_17) in SETUP_LIBDASCRIPT  fixes builds of external
modules that rely on C++17 features from daScript headers.

Fix normalizeFileName on Windows: trim trailing backslash produced by
GetFullPathNameA for directory paths (e.g. './' -> 'D:\foo\' became
'D:\foo'). Guard preserves root paths like 'C:\'. This fixes duplicate
module scanning in require_dynamic_modules when das_root and
project_root compared unequal due to trailing slash mismatch.
The dynamic module descriptor scripts (.das_module) for dasAudio,
dasPUGIXML, dasSQLITE, dasStbImage, dasStbTrueType, dasStdDlg, and
dasUnitTest still referenced .das_module as the shared library
extension, but the CMake build produces .shared_module files.

This caused 'missing prerequisite' errors when running tests with the
dynamic binary (daslang_dyn), which is now the default 'daslang' binary
after the part-3 rename.
dasPEG is a pure-das module with no C++ shared library. It was missing
a .das_module descriptor, so the dynamic module resolver could not find
peg/peg, peg/meta_ast, etc. This caused 'missing prerequisite peg/peg'
errors when loading daslib/spoof.

Add .das_module with register_native_path calls for all four peg
modules, and add the install rule to CMakeLists.txt.
…T template exports

Rename CMake targets so target name = output name:
- daslang target now produces daslang binary (dynamic/DLL, the default)
- daslang_static target produces daslang_static binary (static)
No more OUTPUT_NAME overrides needed.

Fix JIT LNK1161 on template-heavy code (e.g. flat_hash_table):
- DllName sanitizer now escapes <, >, and , in mangled function names
- Template instantiations like TFlatHashTable<int,Foo,hash> previously
  produced invalid Windows DLL export names

Updated: CMakeLists.txt, DASConfig.cmake.in, README.md, RST docs,
install README, dasLLVM README, skills docs, tutorial CMakeLists.
Install part-3: rename daslang_dyn to daslang, C++17 propagation, normalizeFileName fix
Install part 4: External modules documentation, track .das_module files
@pull pull Bot locked and limited conversation to collaborators Feb 26, 2026
@pull pull Bot added the ⤵️ pull label Feb 26, 2026
@pull pull Bot merged commit 8e95aeb into forksnd:master Feb 26, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant