File: basic.llbuild

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (103 lines) | stat: -rw-r--r-- 2,354 bytes parent folder | download
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# Check basic parsing functionality.
#
# RUN: %{llbuild} buildsystem parse %s > %t.out 2> %t.err
# RUN: %{FileCheck} < %t.out %s
#
# Sanity check --no-output mode.
# RUN: %{llbuild} buildsystem parse --no-output %s > %t2.out
# RUN: wc -c < %t2.out > %t2.out.size
# RUN: %{FileCheck} < %t2.out.size %s --check-prefix CHECK-NO-OUT-SIZE
#
# CHECK-NO-OUT-SIZE: {{^ *0$}}

# Declare the client information.
#
# CHECK: client ('example-client', version: 1)
# CHECK:  -- 'extra-key': 'extra-value'
client:
  name: example-client
  version: 1
  extra-key: extra-value

# Define the tools.
#
# CHECK: tool('cc')
# CHECK:  -- 'enable-dependencies': 'True'
# CHECK:  -- 'cwd': '/tmp/example'
# CHECK: tool('link')
# CHECK:  -- 'cwd': '/tmp/example'
# CHECK:  -- 'extra-map': {
# CHECK:  --   'key': 'value'
# CHECK:  -- }
tools:
  cc:
    enable-dependencies: True
    cwd: /tmp/example
  link:
    cwd: /tmp/example
    extra-map:
      key: value

# Define the targets.
#
# CHECK: target('hello')
# CHECK:  -- nodes: ['hello']
targets:
  hello: ["hello"]

# Define properties on nodes.
#
# CHECK: node('hello.o')
# CHECK:  -- 'hash-content': 'True'
# CHECK:  -- 'extra-map': {
# CHECK:  --   'key': 'value'
# CHECK:  -- }
nodes:
  hello:
    hash-content: True
  hello.o:
    hash-content: True
    extra-map:
      key: value

# Define the commands.
#
# CHECK: command('link-hello')
# CHECK:  -- 'tool': 'link'
# CHECK:  -- 'description': 'LINK'
# CHECK:  -- 'inputs': ['hello.o', 'bye.o']
# CHECK:  -- 'outputs': ['hello']
# CHECK:  -- -- loaded command('link-hello')
# CHECK: command('cc-hello.o')
# CHECK:  -- 'tool': 'cc'
# CHECK:  -- 'inputs': ['hello.c']
# CHECK:  -- 'outputs': ['hello.o']
# CHECK:  -- 'args': ['-O0']
# CHECK:  -- 'extra-map': {
# CHECK:  --   'key': 'value'
# CHECK:  -- }
# CHECK: tool('clang')
# CHECK: command('bye.o')
# CHECK:   -- 'tool': 'clang')
# CHECK:   -- 'inputs': ['bye.c']
# CHECK:   -- 'outputs': ['bye.o']
# CHECK:   -- 'args': ['-O0', '-g']
# CHECK:   -- -- loaded command('bye.o')
commands:
  link-hello:
    tool: link
    description: LINK
    inputs: ["hello.o", "bye.o"]
    outputs: ["hello"]
  cc-hello.o:
    tool: cc
    inputs: ["hello.c"]
    outputs: ["hello.o"]
    args: ["-O0"]
    extra-map:
      key: value
  bye.o:
    tool: clang
    inputs: ["bye.c"]
    outputs: ["bye.o"]
    args: ["-O0", "-g"]