PackageTrack
Sign in Get early access

native_toolchain_c

A library to invoke the native C compiler installed on the host machine.

0.19.4 2.9M downloads/mo #218 most downloaded on pub.dev dart-lang/native

What this package is like to depend on

Last release 6 days ago

18 Aug 2026

Release timing varies

gaps range from 8 days to 3 months

Nearly every release is documented

notes for 53 of 53 stable releases

Nothing withdrawn

no release was ever pulled

3 years old

54 releases · first in 2023

11 releases in the last 12 months

see the full history below

Release timeline

54 releases · Jul 2023 to Aug 2026
2024 2025 2026
Release Pre-release

Releases

latest 54
  1. 0.19.4 18 Aug 2026
    Release notes
    • Fix native_toolchain_c failing with MSSSMS installed by requiring vswhere to only show output that includes the necessary build tools
    • Link frameworks for C and C++ sources targeting macOS or iOS.
      (#3162)
    • Bump package:code_assets dependency to ^2.0.0.
    • Spawn all processes through a package:process ProcessManager, exposed as
      an optional parameter on CBuilder.run, CLinker.run, CLibrary.build, and
      CLibrary.link (defaulting to LocalProcessManager), so process invocations
      can be mocked in tests. (#3072)
    Open source →
    Release notes
    • Fix native_toolchain_c failing with MSSSMS installed by requiring vswhere to only show output that includes the necessary build tools
    • Link frameworks for C and C++ sources targeting macOS or iOS. (#3162)
    • Bump package:code_assets dependency to ^2.0.0.
    • Spawn all processes through a package:process ProcessManager, exposed as an optional parameter on CBuilder.run, CLinker.run, CLibrary.build, and CLibrary.link (defaulting to LocalProcessManager), so process invocations can be mocked in tests. (#3072)
    Open source →
  2. 0.19.3 13 Jul 2026
    Release notes
    • Fixed building with MSVC on Windows when a source, include, or output path contains a space (e.g. a user name with a space in the default pub cache location). The compiler and archiver are now invoked directly instead of through cmd.exe, whose quote handling mangled such command lines. As a consequence, cmd.exe environment variable expansion (%VAR%) no longer applies to compiler flags and defines; they are passed to the tools verbatim.
    • The MSVC archiver is now passed the object file names derived from the sources instead of *.obj, so object files left in the output directory by other builds are no longer swept into the archive, and archive member names no longer embed the local build directory path.
    • Support cross-compiling to Linux from macOS and Windows hosts. (#2185)
    Open source →
  3. 0.19.2 29 Jun 2026
    Release notes
    • Fixed compatibility with newer Xcode versions when cross-compiling static libraries on macOS hosts targeting Android and Linux.
    Open source →
  4. 0.19.1 27 May 2026
    Release notes
    • Added support for passing sanitizer flags (-fsanitize=address, -fsanitize=memory, -fsanitize=thread) to C compilers and linkers.
    • Depend on package:code_assets ^1.2.0.
    Open source →
  5. 0.19.0 18 May 2026
    Release notes
    • Bumped dependency on package:code_assets to ^1.1.0 and package:hooks to ^2.0.0.
    Open source →
  6. 0.18.0 21 Apr 2026
    Release notes
    • Made CLinker.run Logger argument optional. It now defaults to a logger printing to stdout and stderr.
    • For LinkerOptions.treeshake, skip bundling a dynamic library if symbolsToKeep is empty.
    Open source →
  7. 0.17.6 17 Mar 2026
    Release notes
    • On Android, use the NDK's libc++.a linker script when cppLinkStdLib is 'c++_static'. This ensures both libc++_static and libc++abi are linked, fixing dlopen failures on newer Android versions caused by missing C++ ABI symbols. (#3240)
    Open source →
  8. 0.17.5 06 Mar 2026
    Release notes
    • Search for NDK in ANDROID_HOME and ANDROID_NDK environment variables.
    • On iOS and macOS, use the -encryptable linker flag. This resolves an issue with app store rejections.
    • Fix unportable link arg when cross-compiling from MacOS.
    Open source →
  9. 0.17.4 21 Nov 2025
    Release notes
    • For Windows, include errors from the standard output of cl in the logger's output of CBuilder. (#2809)
    Open source →
  10. 0.17.3 07 Nov 2025
    Release notes
    • Bump package:hooks and package:code_assetsto 1.0.0.
    Open source →
  11. 0.17.2 02 Oct 2025
    Release notes
    • Made CBuilder.run Logger argument optional. It now defaults to a logger printing to stdout and stderr. (Technically this is a breaking change on passing null explicitly, but I doubt anyone is using it like that.)
    • Broaden compiler tool discovery
    Open source →
  12. 0.17.1 04 Aug 2025
    Release notes
    • Bump package:hooks and package:code_assetsto 0.20.0.
    Open source →
  13. 0.17.0 16 Jul 2025
    Release notes
    • Fix treeshaking on mac.
    Open source →
  14. 0.16.8 10 Jul 2025
    Release notes
    • Support building assets for packages which are not the input package.
    Open source →
  15. 0.16.7 07 Jul 2025
    Release notes
    • Support Module Definitions for linking on Windows.
    Open source →
  16. 0.16.6 20 Jun 2025
    Release notes
    • Support linking for Windows.
    Open source →
  17. 0.16.5 17 Jun 2025
    Release notes
    • Support linking for iOS.
    Open source →
  18. 0.16.4 16 Jun 2025
    Release notes
    • Support linking for MacOS.
    Open source →
  19. 0.16.3 12 Jun 2025
    Release notes
    • Support linking for Android.
    Open source →
  20. 0.16.2 21 May 2025
    Release notes
    • Bump the SDK constraint to at least the one from package:hooks to fix dartdoc generation on https://pub.dev.
    Open source →
  21. 0.16.1 19 May 2025
    Release notes
    • Firebase Studio NixOS support (default install locations for native toolchains).
    Open source →
  22. 0.16.0 01 May 2025
    Release notes
    • Depend on package:code_assets and package:hooks 0.19.0. (package:native_assets_cli was split up into these packages.)
    Open source →
  23. 0.15.0 29 Apr 2025
    Release notes
    • Bump package:native_assets_cli to 0.18.0.
    Open source →
  24. 0.14.0 23 Apr 2025
    Release notes
    • Bump package:native_assets_cli to 0.17.0.
    Open source →
  25. 0.13.0 16 Apr 2025
    Release notes
    • Bump package:native_assets_cli to 0.16.0.
    Open source →
  26. 0.12.0 15 Apr 2025
    Release notes
    • Bump package:native_assets_cli to 0.16.0.
    Open source →
  27. 0.12.0-0 11 Apr 2025 pre-release

    Nothing published for this version

  28. 0.11.0 08 Apr 2025
    Release notes
    • Replace linkInPackage with Routing.
    • Bump package:native_assets_cli to 0.14.0.
    Open source →
  29. 0.10.0 31 Mar 2025
    Release notes
    • Bump package:native_assets_cli to 0.13.0 and required fixes.
    Open source →
  30. 0.9.0 20 Mar 2025
    Release notes
    • Added support for forced includes to CBuilder.
    • Toolchain recognizing fixes.
    • Bump package:native_assets_cli to 0.12.0.
    Open source →
  31. 0.8.0 22 Jan 2025
    Release notes
    • Bump package:native_assets_cli to 0.11.0.
    • Support for LLVM Clang on Windows (requires MSVC to be installed).
    Open source →
  32. 0.7.0 20 Dec 2024
    Release notes
    • For Android, produce dylibs with page-size set to 16kb by default. https://github.com/dart-lang/native/issues/1611
    • Make optimization level configurable from CBuilder. It defaults to -3s and /O3. https://github.com/dart-lang/native/issues/1267
    • Make build mode configurable form CBuilder. It defaults to release. (The build mode was removed from the build config of the hooks.)
    • Add libraries and libraryDirectories to CTool.
    • Bump package:native_assets_cli to 0.10.0.
    Open source →
  33. 0.6.0 05 Nov 2024
    Release notes
    • Address analyzer info diagnostic about multi-line if requiring a block body.
    • Bump package:native_assets_cli to 0.9.0. This makes package:native_toolchain_c now take BuildOutputBuilder and LinkOutputBuilder objects.
    Open source →
  34. 0.5.4 13 Sep 2024
    Release notes
    • Bump package:native_assets_cli to 0.8.0.
    Open source →
  35. 0.5.3 02 Sep 2024
    Release notes
    • Fix internal bug in LinkerOptions.
    • Bump package:native_assets_cli to 0.7.3.
    Open source →
  36. 0.5.2 12 Jul 2024
    Release notes
    • Deprecated CBuilder's constructors dartBuildFiles. The Dart sources are automatically used for determining whether hooks need to be rerun by newer Dart and Flutter SDKs.
    Open source →
  37. 0.5.1 10 Jul 2024
    Release notes
    • Bump package:native_assets_cli to 0.7.0.
    Open source →
  38. 0.5.0 05 Jul 2024
    Release notes
    • Renamed parameters in Builder.run.
    • Added Language.objectiveC.
    • Use HookConfig.targetIosSdk and HookConfig.targetMacosSdk optional values, and pass them to the clang compiler.
    Open source →
  39. 0.4.2 16 May 2024
    Release notes
    • Bump package:native_assets_cli to 0.5.0.
    Open source →
  40. 0.4.1 22 Mar 2024
    Release notes
    • Output an Asset.file in dry run. https://github.com/dart-lang/native/issues/1049
    Open source →
  41. 0.4.0 22 Mar 2024
    Release notes
    • Breaking change Completely rewritten API in native_assets_cli.
    • Breaking change No longer assumes build.dart to be the main script. https://github.com/dart-lang/native/issues/823
    • Breaking change Use JSON instead of YAML in the protocol. https://github.com/dart-lang/native/issues/991
    • Bump package:native_assets_cli to 0.5.0.
    Open source →
  42. 0.3.4 11 Jan 2024
    Release notes
    • Bump package:native_assets_cli to 0.4.0.
    Open source →
  43. 0.3.4+1 16 Jan 2024
    Release notes
    • Stop depending on private package:native_assets_cli CCompilerConfig fields.
    Open source →
  44. 0.3.3 15 Dec 2023
    Release notes
    • Export environmentFromBatchFile.
    • Bump package:native_assets_cli to 0.3.2.
    Open source →
  45. 0.3.2 01 Nov 2023
    Release notes
    • Added workaround minSdkVersion 19 and 20 for Android.
    • Start using sysroot for Android.
    • Added tests for up to Android API version 34.
    Open source →
  46. 0.3.1 30 Oct 2023
    Release notes
    • Added MSVC arm64 toolchain.
    Open source →
  47. 0.3.0 03 Oct 2023
    Release notes
    • Bump package:native_assets_cli to 0.3.0.
    Open source →
  48. 0.2.5 18 Sep 2023
    Release notes
    • Explicitly tell linker to create position dependent or position independent executable (#113).
    Open source →
  49. 0.2.4 14 Sep 2023
    Release notes
    • Added includes for specifying include directories.
    • Added flags for specifying arbitrary compiler flags.
    • Added std for specifying a language standard.
    • Added language for selecting the language (c and cpp) to compile source files as.
    • Added cppLinkStdLib for specifying the C++ standard library to link against.
    Open source →
  50. 0.2.3 11 Sep 2023
    Release notes
    • Fix MSVC tool resolution inside (x86) folder (#123).
    Open source →
  51. 0.2.2 06 Sep 2023
    Release notes
    • Generate position independent code for libraries by default and add pic option to control this behavior.
    Open source →
  52. 0.2.1 06 Sep 2023
    Release notes
    • Added defines for specifying custom defines.
    • Added buildModeDefine to toggle define for current build mode.
    • Added ndebugDefine to toggle define of NDEBUG for non-debug builds.
    Open source →
  53. 0.2.0 08 Aug 2023
    Release notes
    • Breaking change Rename assetName to assetId (#100).
    • Added topics.
    Open source →
  54. 0.1.0 11 Jul 2023
    Release notes
    • Initial version.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive