Skip to content

Releases: DarkStarSystems/pcons

v0.14.1

15 Apr 12:17

Choose a tag to compare

Gary Oberbrunner (3):
      Add multi-build-dir example using CMake-style variant workflow
      Fix env.link.flags dropped when target has public.link_flags
      Bump version to v0.14.1

v0.14.0

14 Apr 18:58

Choose a tag to compare

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

07 Apr 14:49

Choose a tag to compare

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

07 Apr 12:29

Choose a tag to compare

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

05 Apr 20:54

Choose a tag to compare

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

02 Apr 19:47

Choose a tag to compare

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

01 Apr 16:38

Choose a tag to compare

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

20 Mar 14:16

Choose a tag to compare

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

19 Mar 15:51

Choose a tag to compare

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

14 Mar 14:56

Choose a tag to compare

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