-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdub.sdl
83 lines (78 loc) · 2.43 KB
/
dub.sdl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
name "ddcpuid"
description "x86 processor information library and application"
authors "dd86k <[email protected]>"
copyright "Copyright © 2016-2023, dd86k"
license "MIT"
#
# Debug builds
#
# Trace build
buildType "trace" {
versions "Trace"
buildOptions "debugMode" "debugInfo"
dflags "-betterC" "-v" platform="dmd"
dflags "-betterC" "-v" platform="ldc"
dflags "-v" platform="gdc"
}
# Debug build
buildType "debug" {
buildOptions "debugMode" "debugInfo"
dflags "-betterC" platform="dmd"
dflags "-betterC" platform="ldc"
}
# Debug build with verbose output
buildType "debugv" {
versions "PrintInfo" "Trace"
buildOptions "debugMode" "debugInfo"
dflags "-betterC" "-vgc" "-vtls" platform="dmd"
dflags "-betterC" "--vgc" platform="ldc"
dflags "-ftransition=nogc" "-ftransition=tls" platform="gdc"
}
# For much older compiler versions
buildType "debugv0" {
versions "PrintInfo" "Trace"
buildOptions "debugMode" "debugInfo"
dflags "-vgc" "-vtls" platform="dmd"
dflags "--vgc" platform="ldc"
dflags "-ftransition=nogc" "-ftransition=tls" "-fno-exceptions" "-fno-bounds-check" "-fno-assert" "-fno-builtin" platform="gdc"
}
#
# Release builds
#
# Release build
buildType "release" {
buildOptions "releaseMode" "optimize" "inline"
dflags "-betterC" platform="dmd"
dflags "-betterC" platform="ldc"
}
# Release build specific to GDC for version 11 and above
buildType "release-gdc" {
toolchainRequirements gdc=">=11.0.0"
buildOptions "releaseMode" "optimize" "inline"
dflags "-fno-druntime" platform="gdc"
}
# Release build, without bound checking
# GDC <=10 's -fno-druntime can't compile, linker issues
buildType "release-nobounds" {
buildOptions "releaseMode" "optimize" "inline" "noBoundsCheck"
dflags "-betterC" platform="dmd"
dflags "-betterC" platform="ldc"
}
# Release build, without bound checking, for GDC >=11.0.0
buildType "release-nobounds-gdc" {
toolchainRequirements gdc=">=11.0.0"
buildOptions "releaseMode" "optimize" "inline" "noBoundsCheck"
dflags "-fno-druntime" platform="gdc"
}
# Release build, static executable, for LDC
buildType "release-nobounds-static-ldc" {
toolchainRequirements ldc=">=1.0.0"
buildOptions "releaseMode" "optimize" "inline" "noBoundsCheck"
dflags "-betterC" "--static" platform="ldc"
}
# Release build, static executable, for GDC
buildType "release-nobounds-static-gdc" {
toolchainRequirements gdc=">=11.0.0"
buildOptions "releaseMode" "optimize" "inline" "noBoundsCheck"
dflags "-fno-druntime" "-static" platform="gdc"
}