1bdep-config(1)              General Commands Manual             bdep-config(1)
2
3
4

NAME

6       bdep-config - manage project build configurations
7

SYNOPSIS

9       bdep config add    [options] [prj-spec] [@cfg-name] cfg-dir
10       bdep config create [options] [prj-spec] [@cfg-name] cfg-dir [cfg-args]
11       bdep config link   [options] [prj-spec] cfg-spec cfg-spec
12       bdep config unlink [options] [prj-spec] cfg-spec cfg-spec
13       bdep config list   [options] [prj-spec] [cfg-spec...]
14       bdep config move   [options] [prj-spec] cfg-spec cfg-dir
15       bdep config rename [options] [prj-spec] cfg-spec cfg-name
16       bdep config remove [options] [prj-spec] cfg-spec...  | --all|-a
17       bdep config set    [options] [prj-spec] cfg-spec... | --all|-a
18                          [--[no-]default]
19                          [--[no-]forward]
20                          [--[no-]auto-sync]
21
22       cfg-spec = @cfg-name | --config|-c cfg-dir
23       prj-spec = --directory|-d prj-dir
24       cfg-args = [-- bpkg-options] [--existing|-e | (module | cfg-var)...]
25

DESCRIPTION

27       The  config  command  provides  the  following subcommands for managing
28       project's build configurations. If no project directory  is  specified,
29       then the current working directory is assumed.
30

CONFIG SUBCOMMANDS

32       add
33
34
35       create
36              The  add subcommand adds an existing bpkg(1) build configuration
37              in directory cfg-dir to the project's build  configuration  set.
38              The  create  subcommand creates a new configuration in directory
39              cfg-dir by executing the bpkg-cfg-create(1) command and  passing
40              to  it  cfg-args,  if any. It then proceeds as add by adding the
41              new configuration to the project's build configuration set.
42
43              In both subcommands, if cfg-name is specified,  then  the  added
44              configuration  is given this name. Several bdep commands can use
45              such names as a more convenient way to specify build  configura‐
46              tions (see bdep-projects-configs(1) for details).
47
48              As  a  shortcut,  if  cfg-name is not specified and cfg-dir is a
49              simple path that starts with @, then it is treated as  the  name
50              and  the  configuration  directory is assumed to be prj-dir-cfg-
51              name. Note that in case of create, cfg-dir must be preceded with
52              --  (double  dash) option to disambiguate it from @cfg-name. For
53              example, assuming the project directory is hello:
54
55              $ bdep config add @clang                        # ../hello-clang
56              $ bdep config create -- @gcc cc config.cxx=g++  # ../hello-gcc
57
58              A configuration also has a  type  that  is  specified  with  the
59              --type  option  (or --config-type from bdep-new(1)). If the type
60              is not specified explicitly, then target is assumed.  See  bpkg-
61              cfg-create(1) for background on configuration types.
62
63              Unless  the --no-default option is specified, the first added or
64              created build configuration of each type is  designated  as  the
65              default.  Several  bdep commands use such a configuration by de‐
66              fault if no configuration was specified  explicitly  (see  bdep-
67              projects-configs(1)  for  details). To make a subsequently added
68              configuration the default use the --default  option.  Note  also
69              that  in case of multiple default configurations any given pack‐
70              age within a project can only be initialized in one such config‐
71              uration.
72
73              The  default build configuration of each type is also designated
74              as forwarded unless the --no-forward option is specified or  an‐
75              other  configuration  of this type is already designated as for‐
76              warded. When a project is initialized in a forwarded build  con‐
77              figuration,  its  source  directory  is configured to forward to
78              this configuration (see b(1) for details on forwarded configura‐
79              tions).  To  designate  a non-default configuration as forwarded
80              use the --forward option. Note also that it is possible to  have
81              multiple  forwarded  configurations,  however, any given package
82              within a project can only be initialized in one such  configura‐
83              tion.
84
85              Unless  the --no-auto-sync option is specified, an added or cre‐
86              ated build configuration will be automatically  synchronized  on
87              every  build  system invocation. Note that this flag affects the
88              entire build configuration and if multiple  projects  share  the
89              same  configuration,  then they must have a consistent auto-syn‐
90              chronization setting.
91
92       link
93              The link subcommand links the first specified  build  configura‐
94              tion  with the second by executing the bpkg-cfg-link(1) command.
95              See bpkg-cfg-create(1) for background on linked configurations.
96
97       unlink
98              The unlink subcommand unlinks the first specified build configu‐
99              ration  from the second by executing the bpkg-cfg-unlink(1) com‐
100              mand. See bpkg-cfg-create(1) for background on linked configura‐
101              tions.
102
103       list
104              The  list subcommand prints the list of build configurations as‐
105              sociated with the project. Unless one or more configurations are
106              specified  explicitly,  list prints all the associate configura‐
107              tions. Note that the output is written to STDOUT, not STDERR.
108
109       move
110              The move subcommand assigns the specified build configuration  a
111              new  directory.  It  is  normally used after moving/renaming the
112              configuration directory. Note that an explicit bdep-sync(1) com‐
113              mand  is  required  for  this  change  to take effect. See bdep-
114              projects-configs(1) for various ways to specify a build configu‐
115              ration.
116
117       rename
118              The  rename subcommand gives the specified build configuration a
119              new name. See bdep-projects-configs(1) for various ways to spec‐
120              ify a build configuration.
121
122       remove
123              The  remove  subcommand removes one or more build configurations
124              from the project's build configuration set. Note that only  con‐
125              figurations  that  have  no initialized packages can be removed.
126              See bdep-projects-configs(1) for various ways to  specify  build
127              configurations.
128
129       set
130              The  set  subcommand  modifies various properties of one or more
131              build configurations associated  with  the  project.  See  bdep-
132              projects-configs(1) for various ways to specify build configura‐
133              tions.
134
135              The  properties  that  can  be  modified  include  the   default
136              (--[no-]default),  forward  (--[no-]forward),  and auto-synchro‐
137              nization (--[no-]auto-sync) flags. Note  that  changing  any  of
138              these  flags  requires  an explicit bdep-sync(1) command to take
139              effect.
140

CONFIG OPTIONS

142       --type|--config-type typ
143              The type of the configuration being created. By default, config‐
144              uration  of  type  target is created. See bpkg-cfg-create(1) for
145              background on configuration types.
146
147       --default
148              Make the added or created configuration the default.
149
150       --no-default
151              Don't make the first added or created configuration the default.
152
153       --forward
154              Make the added or created configuration forwarded.
155
156       --no-forward
157              Don't make the added or created configuration forwarded.
158
159       --auto-sync
160              Make the added or created configuration  automatically  synchro‐
161              nized.
162
163       --no-auto-sync
164              Don't make the added or created configuration automatically syn‐
165              chronized.
166
167       --existing|-e
168              Initialize a bpkg configuration based on an existing build  sys‐
169              tem configuration.
170
171       --wipe Wipe  the  configuration directory clean before creating the new
172              configuration.
173
174       --all|-a
175              Use all build configurations.
176
177       --config|-c dir
178              Specify the build configuration as a directory.
179
180       --directory|-d dir
181              Assume project/package is in the specified directory rather than
182              in the current working directory.
183
184       --config-name|-n name
185              Specify the build configuration as a name.
186
187       --config-id num
188              Specify the build configuration as an id.
189

COMMON OPTIONS

191       The  common  options are summarized below with a more detailed descrip‐
192       tion available in bdep-common-options(1).
193
194       -v     Print essential underlying commands being executed.
195
196       -V     Print all underlying commands being executed.
197
198       --quiet|-q
199              Run quietly, only printing error messages.
200
201       --verbose level
202              Set the diagnostics verbosity to level between 0 and 6.
203
204       --jobs|-j num
205              Number of jobs to perform in parallel.
206
207       --no-progress
208              Suppress progress indicators for long-lasting  operations,  such
209              as network transfers, building, etc.
210
211       --bpkg path
212              The  package  manager program to be used for build configuration
213              management.
214
215       --bpkg-option opt
216              Additional option to be passed to the package manager program.
217
218       --build path
219              The build program to be used to build packages.
220
221       --build-option opt
222              Additional option to be passed to the build program.
223
224       --curl path
225              The curl program to be used for network operations.
226
227       --curl-option opt
228              Additional option to be passed to the curl program.
229
230       --pager path
231              The pager program to be used to show long text.
232
233       --pager-option opt
234              Additional option to be passed to the pager program.
235
236       --options-file file
237              Read additional options from file.
238
239       --default-options dir
240              The directory to load additional default options files from.
241
242       --no-default-options
243              Don't load default options files.
244

DEFAULT OPTIONS FILES

246       See bdep-default-options-files(1) for an overview of  the  default  op‐
247       tions  files.  For the config command the search start directory is the
248       project directory. The following options files are searched for in each
249       directory and, if found, loaded in the order listed:
250
251       bdep.options
252       bdep-config.options
253       bdep-config-add.options          # if the create subcommand
254       bdep-config-<subcommand>.options # (subcommand-dependent)
255
256       The following config command options cannot be specified in the default
257       options files:
258
259       --directory|-d
260       --wipe
261

BUGS

263       Send bug reports to the users@build2.org mailing list.
264
266       Copyright (c) 2014-2021 the build2 authors.
267
268       Permission is granted to copy, distribute and/or modify  this  document
269       under the terms of the MIT License.
270
271
272
273bdep 0.14.0                      October 2021                   bdep-config(1)
Impressum