| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| dcr-x86_64-apple-darwin-0.6.7 | 2026-05-26 | 5.5 MB | |
| dcr-x86_64-pc-windows-gnu-0.6.7.exe | 2026-05-26 | 9.1 MB | |
| dcr-aarch64-unknown-linux-musl-0.6.7 | 2026-05-26 | 4.3 MB | |
| dcr-x86_64-unknown-linux-musl-0.6.7 | 2026-05-26 | 4.8 MB | |
| dcr-aarch64-unknown-linux-gnu-0.6.7 | 2026-05-26 | 4.3 MB | |
| dcr-aarch64-pc-windows-msvc-0.6.7.exe | 2026-05-26 | 4.2 MB | |
| dcr-x86_64-pc-windows-msvc-0.6.7.exe | 2026-05-26 | 6.2 MB | |
| dcr-x86_64-unknown-linux-gnu-0.6.7 | 2026-05-26 | 6.3 MB | |
| dcr-aarch64-apple-darwin-0.6.7 | 2026-05-26 | 5.2 MB | |
| README.md | 2026-05-26 | 3.6 kB | |
| v0.6.7 source code.tar.gz | 2026-05-26 | 110.8 kB | |
| v0.6.7 source code.zip | 2026-05-26 | 153.1 kB | |
| Totals: 12 Items | 50.2 MB | 0 | |
Added:
build.kind = "efi"— UEFI PE32+ executable support. Links with-shared -nostdlib -Wl,-dll -Wl,--subsystem,10, output viaefi_path()with.efiextension, rejected bydcr run.build.kind = "elf"— bare-metal ELF executable support. Useself_path()output path, rejected bydcr run, no extra linker flags.build.filenameandbuild.extensionindcr.toml— complete control over the final artifact name without relying onpackage.name. Example:toml [build] filename = "KERNEL" extension = "EFI"ProducesKERNEL.EFI(works forbin,staticlib, andsharedlib).- Automatic injection of
--target=<build.target>into compiler flags whenbuild.targetis set indcr.toml. This greatly simplifies clang-based cross-compilation (especially for bare-metal targets likeaarch64-none-elf). - Bare-metal targets (containing
none,-elf,eabi,baremetal) no longer receive DCR's internal default flags (-g,-Wall,-Wextra,-fno-omit-frame-pointer,-DDCR_DEBUG, etc.). Prevents unwanted sections (.comment, debug info, etc.) that break custom linker scripts wheninherit = true. build.ldscriptindcr.toml— linker script path passed as-T <path>to the linker. Essential for bare-metal/embedded/freestanding targets.dcr build --verbose— prints compiler/linker command lines (also works withDCR_DEBUGenv var).dcr add <name>without a source argument — if a registry is configured, DCR looks up the package by name and adds it as a version dependency.
Fixed:
build.targetdeclared indcr.tomlis now correctly used as the default target even when--targetis not passed on the command line (previously the host target was always forced for config resolution).dcr runwith--targetorbuild.targetnow correctly finds the binary in the arch-specific target directory.dcr runchecks profile-specificbuild.{profile}.kindbefore rejecting library builds (previously only checkedbuild.kind).dcr cleannow readsbuild.targetfromdcr.tomlwhen no--targetflag is given.- Linux: target directory is now consistent —
target/<arch>-unknown-linux-gnu/<profile>/(no staletarget/<profile>/). dcr.lockis now populated with all resolved dependencies (registry, path, git) instead of being always empty.- Git dependencies are now properly recognized and recorded in
dcr.lock. is_registry_depcorrectly identifies version-based registry dependency tables ({ version = "..." }) and rejects tables with unknown keys.dcr testaccepts--debug/--releaseflags (defaults todebugprofile instead of alwaysrelease).- Build fingerprint cache (
build_cache_path) now includestarget_dir— different targets no longer share a single cache entry. object_pathno longer hardcodes thesrc/prefix — works correctly with custombuild.roots(e.g.roots = ["lib"]).dcr updatenow generates.execandidates for all Windows targets, not justx86_64-pc-windows-msvc.- Compiler existence is verified before starting the build (clear error if compiler is not found in PATH).
- Consolidated duplicate
OUTPUT_MUTEXdefinitions — MSVC backend now uses the shared mutex fromcommon.rs. - Registry cache root directory is created if missing (prevents cryptic errors when
~/.dcr/does not exist).
Changed:
openssldependency is now conditional (cfg(not(windows))) — no longer pulled in on Windows, fixing Windows CI builds that lack PerlLocale::Maketext::Simple. On Linux (including musl cross-compilation) the vendored OpenSSL build is unchanged.