Releases: DarkStarSystems/pcons
Releases · DarkStarSystems/pcons
v0.14.1
v0.14.0
Gary Oberbrunner (8):
Split Windows CI into unit tests + example tests for parallelism
Add Make-to-pcons porting guide and add Alias to both porting guides
Bump CI action dependencies: setup-emsdk v16, action-gh-release v3.0.0
Fix PathToken.relativize() to respect path_type for build/absolute paths
Fix multi-component build_dir (e.g. build/release) causing double-nested paths
Export PathToken from pcons public API and update docs
Bump version to v0.14.0
Skip path_in_flags example on Linux/Windows (-Wl,-force_load is macOS-only)
v0.13.0
Gary Oberbrunner (6):
Add output_prefix/output_suffix, fix check_flag, export get_platform
Document link_flags vs link_libs ordering distinction
Fix misleading comment in ARCHITECTURE.md CompileLinkContext
Add CMake-to-pcons porting guide
Bump version to v0.13.0
Fix CI failures: cross-toolchain prefix on Windows, check_flag test on GCC
v0.12.1
Gary Oberbrunner (15):
Add LaTeX contrib toolchain using latexmk
Document LaTeX contrib toolchain in README, comparisons, and user guide
Clean up LaTeX mentions in README and user guide
Include contrib toolchains in auto-generated docs table
Install LaTeX on one CI job to test the latex example
Add user error experience test suite (48 tests)
Add input validation for common user errors
Add more input validation: toolchain type, flags, post-resolve guards
Raise errors for no-toolchain compilation and unknown variant names
Validate UsageRequirements values are lists, not strings
Convert 2 xfails to documented expected behavior
Validate user variables in Command() templates at build-description time
Bump wasi-sdk from v30 to v32 in CI
Fix ReadTheDocs build: install pcons and fix target_type string
Bump version to v0.12.1
dependabot[bot] (1):
Bump mymindstorm/setup-emsdk from 14 to 15 (#16)
v0.12.0
Gary Oberbrunner (26):
Extract compile-link logic from resolver into factory dispatch
Extract PendingSourceFactory base class for phase-2 source resolution
Make _expand_single_node_command fully tool-agnostic
Fix ruff formatting
Fix pre-existing ruff formatting in compile.py
Make UsageRequirements generic and extensible with dict-based storage
Rename object_nodes to intermediate_nodes
Move requirements.py from core/ to tools/
Remove C/C++ convenience methods, update docstrings for generality
Fix import sorting for moved requirements module
Fix ty type errors in UsageRequirements
Replace TargetType enum with plain strings
Make target.nodes a computed property (intermediate + output)
Fix nodes property return type for ty
Add project.generate_pc_file() for pkg-config .pc generation
Fix .pc file include paths and Alias() list argument handling
Fix static library ar command receiving link flags from dependencies
Fix gcc_toolchain test fixture to register tools properly
Fix cross-platform test failures for .pc file and ninja generator
Detect MSVC via vswhere when cl.exe is not in PATH
Fall back to uvx ninja when ninja is not in PATH
Resolve MSVC link.exe/lib.exe when shadowed by other tools in PATH
Fix import ordering for ruff lint
Fix ruff formatting in test_examples.py
Pin wasi-sdk to v30 — v31 is broken on macOS ARM64
Bump version to v0.12.0
v0.11.0
Gary Oberbrunner (26):
Add restat support and fix target.depends() to not affect link inputs
Bump setup-uv to v8.0.0 and codecov-action to v6.0.0
Refine target.depends() semantics and fix codecov-action v6 input
Upload coverage from all CI platforms to Codecov
Add 10-minute timeout for test jobs
Add Codecov badge to README
Upload coverage from wasm, msvcup, and cxx-modules CI jobs
Run 'direct' example tests in-process for coverage visibility
Updated README.md
Add some badges to README.md
Fix pcons-fetch bugs and prefer .pc files over scanning
Update README.md (remove pcons-fetch, that's not ready for prime time yet)
Fix link flags leaking into ar commands for static libraries
Re-export ImportedTarget from pcons top-level package
Improve package management ergonomics and discoverability
Document sync_profile() cppstd parameter in user guide
Fix review issues: pass through "latest" cppstd, fix dead code in test
Update CHANGELOG.md with unreleased changes since v0.10.0
Default build_dir to PCONS_BUILD_DIR env var in Project constructor
Default root_dir to PCONS_SOURCE_DIR env var in Project constructor
Infer root_dir from calling script via stack inspection
Inline find_c_toolchain() in examples where toolchain var is unused
Update CHANGELOG with Project() default improvements
Add project.generate() convenience method
Fix three pcons-fetch issues: build=none, .git@ref detection, SHA pinning
Bump version to v0.11.0
v0.10.0
Gary Oberbrunner (6):
Bump GitHub Actions: setup-uv to v7.6.0, action-gh-release to v2.6.1
Add MSVC C++20 module support with dyndep dependency scanning
Fix ReadTheDocs build by lazily importing pbxproj in XcodeGenerator
Update FUNDING.yml to point to garyo's GitHub Sponsors
Harden fetch and fix CLI/package edge cases
Bump version to v0.10.0
v0.9.0
Gary Oberbrunner (8):
Add GNU Fortran (gfortran) toolchain with dyndep and mixed-language support
Fix Fortran example test.toml skip conditions
Remove unused type: ignore comment in gfortran.py
Add C++20 named module support via Ninja dyndep (LLVM toolchain)
Fix .cppm object suffix on Windows (use platform.object_suffix not .o)
Fix object suffix on Windows for all LLVM-handled source types
Fix test_llvm.py source handler tests to use platform.object_suffix
Bump version to v0.9.0
v0.8.4
Gary Oberbrunner (5):
Simplify pcons init template to match canonical API
Add -C/--directory option to change directory before running
Add comparison to Meson and Bazel
Bump version to v0.8.4
Fix Conan apple-clang 18 incompatibility on macos-latest CI
dependabot[bot] (1):
Bump codecov/codecov-action from 4.6.0 to 5.5.2 (#10)
v0.8.3
Gary Oberbrunner (10):
Fix $ORIGIN in linker flags silently producing broken output
Narrow exception handling to avoid silently swallowing errors
Escape literal $ in ninja command lines for shell passthrough
Add configure debug tracing and --debug=help
Add defines and extra_flags parameters to check_header()
Preserve configure check files when --debug=configure is active
Fix check dir numbering: one dir per public check, not per compile
Fix check dir counter: use class variable shared across all instances
Add caller location and source preview to configure check traces
Bump version to v0.8.3