Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
ffbdbbe
Initial working toolchain setup
GZGavinZhao Feb 22, 2023
6cbb76d
Add LDC support
GZGavinZhao Feb 22, 2023
09d2249
Fill in correct files for Windows and MacOS
GZGavinZhao Feb 25, 2023
26a5a6f
Use windows paths
GZGavinZhao Feb 25, 2023
2e74016
Use platforms to specify DMD or LDC
GZGavinZhao Jun 30, 2023
ef68993
Merge branch 'master' into refactor-toolchain
GZGavinZhao Jul 5, 2023
278459e
Remove d_repositories from d.bzl
yanok Apr 1, 2025
66f2bac
Comment out windows stuff
yanok Apr 1, 2025
77e6794
Switch to use DInfo provider instead of struct
yanok Apr 1, 2025
c015c26
Make it work with bazel modules
yanok Apr 3, 2025
c573d10
Remove ocasional `@`s. They are not compatible with bazel mods
yanok Apr 3, 2025
160f579
`files` must be in `DefaultInfo` to create a library file
yanok Apr 3, 2025
5c34eb7
Add weka-ldc toolchain
yanok Apr 3, 2025
f93ec3e
Fix error introduced by migration to providers
yanok Apr 3, 2025
f7521f7
d_library: use `-oq` flag to avoid filename collision
yanok Apr 3, 2025
caaa810
Fix enforcement of no d_library in d_source_library deps
yanok Apr 4, 2025
ede793f
d_source_library: transitive_d_srcs should contain depsets
yanok Apr 7, 2025
a876776
dmd doesn't support -oq
yanok Apr 7, 2025
3ea814c
d_test_library: yet another rule for D library
yanok Apr 7, 2025
c2fd669
d_{library, binary}: add include_workspace_root attribute
yanok Apr 9, 2025
9e850cb
Support string imports
yanok Apr 9, 2025
6585441
d: support for generated sources
yanok Apr 13, 2025
3b5b427
d: also support generated string imports
yanok Apr 13, 2025
c95c719
d_source_library: make transitive_d_srcs actualy transitive
yanok Apr 13, 2025
40bc159
Allow setting extra switches for D toolchains
yanok Apr 13, 2025
cdd2e24
weka-ldc-x86_64: set (some of?) required switches
yanok Apr 13, 2025
254efae
d: show the actual problemmatic dep
yanok Apr 17, 2025
f409c86
d/toolchain: support unset phobos/druntime
yanok Apr 17, 2025
7755b63
copt: hack to use ldc options
yanok Apr 18, 2025
3712d03
d_library: build .o instead of .a
yanok Apr 18, 2025
e60ce34
toolchain: add flags per build type
yanok Apr 20, 2025
ae88bf9
Remove weka-specific bits
yanok Apr 20, 2025
ff975c2
Support passing c compiler for linking
yanok Apr 20, 2025
e0d6561
Respect link_flags from d_toolchain
yanok Apr 20, 2025
2ef2c9a
Support linkopts for d_library too
yanok Apr 20, 2025
f8aac5f
d_library/d_source_library: support transitive imports
yanok Apr 28, 2025
4ac46cf
_setup_deps: working_dir arg is unused
yanok Apr 30, 2025
d1882a6
_setup_deps: fix docstring
yanok Apr 30, 2025
192b10b
collect transitive versions for d_library's
yanok Apr 30, 2025
dc1e035
add support for handling generated source files
yanok May 23, 2025
6a96c65
add tests for mixing source and generated code
yanok May 23, 2025
e8a4186
Update the doc comment for _setup_deps
yanok May 23, 2025
6cef27c
d_lib: add hdrs and exports
yanok May 30, 2025
f63cf49
weka-ldc: use 1.30-weka19-pre version
yanok Jun 1, 2025
88be20d
Register weka-ldc toolchain as well
yanok Jun 1, 2025
bd9e676
d_header_generator: add rule to generate di files
yanok Jun 1, 2025
877daed
d_library: libs shouldn't be in inputs
yanok Jun 1, 2025
11670cd
d_lib: macro around d_library that hdrgen exports
yanok Jun 1, 2025
b2c33d0
d_lib: support creating d_test_library
yanok Jun 2, 2025
25c9936
d_source_library: add processing of generated sources
yanok Jun 4, 2025
96bdd20
d_lib: add `exports_lib` argument
yanok Jun 4, 2025
2a8e93b
d_library: support "no srcs" libraries
yanok Jun 5, 2025
6889a28
d_binary/d_test: allow empty sources
yanok Jun 11, 2025
5000689
rules_d: rename `extra_files` to `data`
yanok Jun 11, 2025
37c77d1
d_lib: add kwargs
yanok Jun 17, 2025
7595280
d_lib: prefix generated headers' targets with `name`
yanok Jun 18, 2025
9938ab6
d_lib: handle header generation for generated source
yanok Jun 18, 2025
b21697a
d_lib: put generated headers into a subdirectory
yanok Jun 18, 2025
68bf538
d_library: fix collecting transitive data
yanok Jun 19, 2025
bda9be3
d_lib: use hdrs-only d_library instead of d_source_library
yanok Jun 20, 2025
0ed24b2
d_binary/d_test: add link_order
yanok Jun 20, 2025
0f5116e
rules_d: remove repo_name from module definition
yanok Jul 1, 2025
7cbf409
weka-ldc: use 1.30.0-weka19
yanok Jul 13, 2025
4ef8cdf
d_library/d_lib: add implementation_deps
yanok Jul 13, 2025
6b120d9
d_lib: check if exportslib works with generated sources
yanok Jul 15, 2025
749d918
d_library: generated source wrapper
yanok Jul 16, 2025
0445c2b
d_library: allow files in generated_srcs
yanok Jul 16, 2025
be13420
generated_srcs: try handling sources in other packages
yanok Aug 16, 2025
d65184c
start new README
Sep 12, 2025
ace42bf
config: add DToolchainConfigInfo provider
Oct 15, 2025
174fc1a
d_toolchain: fix the d_compiler config
Oct 15, 2025
89927ae
Add common flags shared by all compilation modes
yanok Oct 17, 2025
9a68219
Support passing config by label
yanok Oct 17, 2025
aa8c9de
Actually pass global_versions to compile
yanok Oct 17, 2025
938e5bd
d_binary: add support for dynamic symbol list for linking
yanok Oct 23, 2025
26ecbf6
d_binary/d_test: don't ignore linkopts
yanok Oct 28, 2025
ac21cb5
Make all files of toolchain.d_compiler available
yanok Nov 1, 2025
c372bee
weka-ldc: bump to 1.30.0-weka20
yanok Nov 1, 2025
8fd5dcc
d_compiler all files: fix bug
yanok Nov 1, 2025
c6956c8
weka-ldc: fix hash after update
yanok Nov 1, 2025
ffeb6fc
d_library: support for -fdebug-prefix-map
yanok Nov 1, 2025
f005215
rules_d: also pass compiler runfiles
yanok Nov 2, 2025
8e04e2a
add `output_bc_flags` to toolchain/config
yanok Nov 4, 2025
d224b97
Add test with compile_via_bc
yanok Nov 5, 2025
d5eed24
LDC toolchains support output-bc flag
yanok Nov 5, 2025
18fd4b0
very basic compile_via_bc support
yanok Nov 5, 2025
924717c
Add codegen_flags to toolchain
yanok Nov 5, 2025
132dea9
Add per-mode codegen flags
yanok Nov 7, 2025
e04b4eb
Use llc as a bitcode compiler
yanok Nov 7, 2025
c352e93
d_binary: don't complain if there are not sources with compile_via_bc
yanok Nov 8, 2025
a930b08
Collect transitive bc/non-bc libs
yanok Nov 8, 2025
f4266b1
d_binary: add `use_lto`
yanok Nov 18, 2025
c73b60d
Add .whitesource configuration file
mend-for-github-com[bot] Nov 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .whitesource
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"scanSettings": {
"configMode": "AUTO",
"configExternalURL": "",
"projectToken": "",
"baseBranches": []
},
"checkRunSettings": {
"vulnerableCheckRunConclusionLevel": "failure",
"displayMode": "diff",
"useMendCheckNames": true
},
"issueSettings": {
"minSeverityLevel": "LOW",
"issueType": "DEPENDENCY"
},
"remediateSettings": {
"workflowRules": {
"enabled": true
}
},
"imageSettings":{
"imageTracing":{
"enableImageTracingPR": false,
"addRepositoryCoordinate": false,
"addDockerfilePath": false,
"addMendIdentifier": false
}
}
}
19 changes: 19 additions & 0 deletions MODULE.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
module(
name = "rules_d",
)

bazel_dep(
name = "bazel_skylib",
version = "1.7.1",
)

bazel_dep(name="platforms", version="0.0.11")

non_module_dependencies = use_extension("//d:extensions.bzl", "non_module_dependencies")
use_repo(non_module_dependencies, "ldc_linux_x86_64", "dmd_linux_x86_64", "dmd_darwin_x86_64", "weka_ldc_linux_x86_64")
register_toolchains(
"//d:ldc_linux_x86_64_toolchain",
"//d:dmd_linux_x86_64_toolchain",
"//d:dmd_darwin_x86_64_toolchain",
"//d:weka_ldc_linux_x86_64_toolchain",
)
Loading
Loading