Script started on Wed 20 Oct 2021 01:29:58 PM SAST + bdep new -t exe -l c++ hello created new executable project hello in /tmp/hello/ + tree hello hello ├── build │   ├── bootstrap.build │   └── root.build ├── buildfile ├── hello │   ├── buildfile │   ├── hello.cxx │   └── testscript ├── manifest ├── README.md └── repositories.manifest 2 directories, 9 files + cd hello + cat hello/hello.cxx #include int main (int argc, char* argv[]) { using namespace std; if (argc < 2) { cerr << "error: missing name" << endl; return 1; } cout << "Hello, " << argv[1] << '!' << endl; } + cat hello/buildfile libs = #import libs += libhello%lib{hello} exe{hello}: {hxx ixx txx cxx}{**} $libs testscript cxx.poptions =+ "-I$out_root" "-I$src_root" + cat hello/testscript : basics : $* 'World' >'Hello, World!' : missing-name : $* 2>>EOE != 0 error: missing name EOE + cat manifest : 1 name: hello version: 0.1.0-a.0.z summary: hello C++ executable license: other: proprietary ; Not free/open source. description-file: README.md url: https://example.org/hello email: boris@codesynthesis.com #build-error-email: boris@codesynthesis.com depends: * build2 >= 0.14.0 depends: * bpkg >= 0.14.0 #depends: libhello ^1.0.0 + bdep init -C ../hello-gcc @gcc cc config.cxx=g++ initializing in project /tmp/hello/ created configuration @gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized synchronizing: new hello/0.1.0-a.0.19700101000000 + bdep init -C ../hello-clang @clang cc config.cxx=clang++-5.0 initializing in project /tmp/hello/ created configuration @clang /tmp/hello-clang/ 2 target auto-synchronized synchronizing: new hello/0.1.0-a.0.19700101000000 + ls -d -1 ../hello ../hello-clang ../hello-gcc ../hello ../hello-clang ../hello-gcc + bdep init -C ../hello-vc-debug @debug cc config.cxx=cl-15 config.cc.coptions=/MDd /Z7 config.cc.loptions=/DEBUG initializing in project /tmp/hello/ created configuration @debug /tmp/hello-vc-debug/ 3 target auto-synchronized synchronizing: new hello/0.1.0-a.0.19700101000000 + bdep init -C ../hello-vc-release @release cc config.cxx=cl-15 config.cc.coptions=/O2 initializing in project /tmp/hello/ created configuration @release /tmp/hello-vc-release/ 4 target auto-synchronized synchronizing: new hello/0.1.0-a.0.19700101000000 + bdep status hello configured 0.1.0-a.0.19700101000000 + b mkdir ../hello-gcc/hello/fsdir{hello/} c++ hello/cxx{hello}@../hello-gcc/hello/hello/ ld ../hello-gcc/hello/hello/exe{hello} ln ../hello-gcc/hello/hello/exe{hello} -> hello/ + b test test hello/testscript{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello} + hello/hello World Hello, World! + tree ../hello-gcc ../hello-gcc ├── build │   ├── bootstrap │   │   └── pre-bdep-sync.build │   ├── bootstrap.build │   ├── config.build │   └── root.build ├── buildfile └── hello ├── build │   ├── bootstrap │   │   └── src-root.build │   └── config.build └── hello ├── hello ├── hello.d ├── hello.o └── hello.o.d 6 directories, 11 files + bdep status @clang hello configured 0.1.0-a.0.19700101000000 + b ../hello-clang/hello/ mkdir ../hello-clang/hello/fsdir{hello/} c++ hello/cxx{hello}@../hello-clang/hello/hello/ ld ../hello-clang/hello/hello/exe{hello} + b test: ../hello-clang/hello/ test hello/testscript{testscript}@../hello-clang/hello/hello/ ../hello-clang/hello/hello/exe{hello} + ../hello-clang/hello/hello/hello World Hello, World! rm ../hello-clang/hello/hello/exe{hello} rm ../hello-clang/hello/hello/obje{hello} rm ../hello-clang/hello/fsdir{hello/} + bdep test @clang mkdir ../hello-clang/hello/fsdir{hello/} c++ hello/cxx{hello}@../hello-clang/hello/hello/ ld ../hello-clang/hello/hello/exe{hello} test hello/testscript{testscript}@../hello-clang/hello/hello/ ../hello-clang/hello/hello/exe{hello} + bdep test @gcc @clang in configuration @gcc: test hello/testscript{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello} in configuration @clang: test hello/testscript{testscript}@../hello-clang/hello/hello/ ../hello-clang/hello/hello/exe{hello} + bdep init -C ../hello-mingw @mingw cc config.cxx=x86_64-w64-mingw32-g++ initializing in project /tmp/hello/ created configuration @mingw /tmp/hello-mingw/ 5 target auto-synchronized synchronizing: new hello/0.1.0-a.0.19700101000000 + bdep update @mingw mkdir ../hello-mingw/hello/fsdir{hello/} c++ hello/cxx{hello}@../hello-mingw/hello/hello/ ld ../hello-mingw/hello/hello/exe{hello} + bdep test @mingw test hello/testscript{testscript}@../hello-mingw/hello/hello/ ../hello-mingw/hello/hello/exe{hello} + ../hello-mingw/hello/hello/hello.exe Windows Hello, Windows! + git add . + git commit -m Initial implementation [master (root-commit) cf83f68] Initial implementation 13 files changed, 141 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.md create mode 100644 build/.gitignore create mode 100644 build/bootstrap.build create mode 100644 build/root.build create mode 100644 buildfile create mode 100644 hello/.gitignore create mode 100644 hello/buildfile create mode 100644 hello/hello.cxx create mode 100644 hello/testscript create mode 100644 manifest create mode 100644 repositories.manifest + git remote add origin git@github.com:boris-kolpackov/hello.git + git push --no-progress origin master -u --force To github.com:boris-kolpackov/hello.git + 35716b9...cf83f68 master -> master (forced update) Branch 'master' set up to track remote branch 'master' from 'origin'. + bdep ci --simulate success submitting: to: https://ci.stage.build2.org in: https://github.com/boris-kolpackov/hello.git#master@cf83f6837196e738ae36c48a1ebbbb35a25e3ce9 package: hello version: 0.1.0-a.0.20211020113017.cf83f6837196 continue? [y/n] y CI request is queued: https://ci.stage.build2.org/@b194b7d3-b76a-470f-aa55-4c46508604c8 reference: b194b7d3-b76a-470f-aa55-4c46508604c8 + bdep deinit @gcc @clang deinitializing in project /tmp/hello/ in configuration @gcc: synchronizing: drop hello in configuration @clang: synchronizing: drop hello + bdep new -C hello-gcc @gcc -t exe -l c++ hello cc config.cxx=g++ created new executable project hello in /tmp/hello/ created configuration @gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized synchronizing: new hello/0.1.0-a.0.19700101000000 + bdep init -C ../hello-clang @clang cc config.cxx=clang++-5.0 initializing in project /tmp/hello/ created configuration @clang /tmp/hello-clang/ 2 target auto-synchronized synchronizing: new hello/0.1.0-a.0.19700101000000 + bpkg rep-info https://git.build2.org/hello/libhello.git git:build2.org/hello/libhello https://git.build2.org/hello/libhello.git prerequisite git:build2.org/hello/libprint##HEAD https://git.build2.org/hello/libprint.git##HEAD prerequisite git:build2.org/hello/libformat##HEAD https://git.build2.org/hello/libformat.git##HEAD libhello/1.0.0+8 libhello/1.1.0+8 + bpkg rep-info https://git.build2.org/hello/libhello.git#HEAD git:build2.org/hello/libhello#HEAD https://git.build2.org/hello/libhello.git#HEAD prerequisite git:build2.org/hello/libprint##HEAD https://git.build2.org/hello/libprint.git##HEAD prerequisite git:build2.org/hello/libformat##HEAD https://git.build2.org/hello/libformat.git##HEAD libhello/1.1.0+8 + bdep status fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello) warning: authenticity of the certificate for repository pkg:stage.build2.org cannot be established certificate is for **build2.org, "Code Synthesis" certificate SHA256 fingerprint: EC:50:13:E2:3D:F7:92:B4:50:0B:BF:2A:1F:7D:31:04:C6:57:6F:BC:BE:04:2E:E0:58:14:FA:66:66:21:1F:14 trust this certificate? [y/n] y hello configured 0.1.0-a.0.19700101000000 available 0.1.0-a.0.19700101000000#1 + bdep sync synchronizing: new libhello/1.0.0+8 (required by hello) upgrade hello/0.1.0-a.0.19700101000000#1 + b synchronizing /tmp/hello-gcc/: upgrade hello/0.1.0-a.0.19700101000000#2 mkdir ../hello-gcc/hello/fsdir{hello/} version.in ../hello-gcc/libhello-1.0.0+8/libhello/version.hxx.in c++ ../hello-gcc/libhello-1.0.0+8/libhello/cxx{hello} c++ hello/cxx{hello}@../hello-gcc/hello/hello/ ld ../hello-gcc/libhello-1.0.0+8/libhello/libs{hello} ld ../hello-gcc/hello/hello/exe{hello} ln ../hello-gcc/hello/hello/exe{hello} -> hello/ + bdep status -ai in configuration @gcc: hello configured 0.1.0-a.0.19700101000000#2 libhello ^1.0.0 configured 1.0.0+8 in configuration @clang: fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello) hello configured 0.1.0-a.0.19700101000000 available 0.1.0-a.0.19700101000000#1 + bdep sync -a in configuration @gcc: in configuration @clang: synchronizing: new libhello/1.0.0+8 (required by hello) upgrade hello/0.1.0-a.0.19700101000000#1 + bdep test -ai in configuration @gcc: c++ ../hello-gcc/libhello-1.0.0+8/tests/basics/cxx{driver} ld ../hello-gcc/libhello-1.0.0+8/tests/basics/exe{driver} test hello/testscript{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello} test ../hello-gcc/libhello-1.0.0+8/tests/basics/exe{driver} in configuration @clang: mkdir ../hello-clang/hello/fsdir{hello/} version.in ../hello-clang/libhello-1.0.0+8/libhello/version.hxx.in c++ hello/cxx{hello}@../hello-clang/hello/hello/ c++ ../hello-clang/libhello-1.0.0+8/tests/basics/cxx{driver} c++ ../hello-clang/libhello-1.0.0+8/libhello/cxx{hello} ld ../hello-clang/libhello-1.0.0+8/libhello/libs{hello} ld ../hello-clang/hello/hello/exe{hello} ld ../hello-clang/libhello-1.0.0+8/tests/basics/exe{driver} test ../hello-clang/libhello-1.0.0+8/tests/basics/exe{driver} test hello/testscript{testscript}@../hello-clang/hello/hello/ ../hello-clang/hello/hello/exe{hello} + bdep status hello configured 0.1.0-a.0.19700101000000#2 available 0.1.0-a.0.19700101000000#3 + bdep sync synchronizing: drop libhello/1.0.0+8 (unused) upgrade hello/0.1.0-a.0.19700101000000#3 synchronizing: new libhello/1.0.0+8 (required by hello) upgrade hello/0.1.0-a.0.19700101000000#4 + bdep fetch fetching git:build2.org/hello/libhello (prerequisite of dir:/tmp/hello) fetching git:build2.org/hello/libformat##HEAD (prerequisite of git:build2.org/hello/libhello) fetching git:build2.org/hello/libprint##HEAD (prerequisite of git:build2.org/hello/libhello) fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello) + bdep status libhello libhello configured 1.0.0+8 available [1.1.0+8] + bdep sync libhello synchronizing: new libformat/1.0.0+8 (required by libhello) new libprint/1.0.0+8 (required by libhello) upgrade libhello/1.1.0+8 reconfigure hello/0.1.0-a.0.19700101000000#4 + bdep status -r hello configured 0.1.0-a.0.19700101000000#4 libhello ^1.0.0 configured 1.1.0+8 libformat ^1.0.0 configured 1.0.0+8 libprint ^1.0.0 configured 1.0.0+8 + bdep status -o libhello libhello configured 1.1.0+8 available (1.1.0+8) [1.0.0+8] + bdep sync libhello/1.0.0 synchronizing: drop libprint/1.0.0+8 (unused) drop libformat/1.0.0+8 (unused) downgrade libhello/1.0.0+8 reconfigure hello/0.1.0-a.0.19700101000000#4 + bdep new -C libextra-gcc -t lib -l c++ libextra cc config.cxx=g++ created new library project libextra in /tmp/libextra/ created configuration /tmp/libextra-gcc/ 1 target default,forwarded,auto-synchronized synchronizing: new libextra/0.1.0-a.0.19700101000000 + b install: libextra/ config.install.root=/tmp/unpkg-gcc mkdir libextra-gcc/libextra/fsdir{libextra/} version.in libextra/libextra/version.hxx.in c++ libextra/libextra/cxx{extra}@libextra-gcc/libextra/libextra/ c++ libextra/libextra/cxx{extra}@libextra-gcc/libextra/libextra/ pc libextra-gcc/libextra/libextra/pcs{extra} pc libextra-gcc/libextra/libextra/pca{extra} ld libextra-gcc/libextra/libextra/libs{extra} pc libextra-gcc/libextra/libextra/pc{extra} ar libextra-gcc/libextra/libextra/liba{extra} install unpkg-gcc/ install unpkg-gcc/include/ install unpkg-gcc/include/libextra/ install libextra/libextra/hxx{export}@libextra-gcc/libextra/libextra/ install libextra/libextra/hxx{extra}@libextra-gcc/libextra/libextra/ install unpkg-gcc/share/ install unpkg-gcc/share/doc/ install unpkg-gcc/share/doc/libextra/ install libextra/manifest{manifest}@libextra-gcc/libextra/ install libextra-gcc/libextra/libextra/hxx{version} install libextra-gcc/libextra/libextra/liba{extra} install libextra-gcc/libextra/libextra/libs{extra} install libextra/doc{README.md}@libextra-gcc/libextra/ + tree unpkg-gcc unpkg-gcc ├── include │   └── libextra │   ├── export.hxx │   ├── extra.hxx │   └── version.hxx ├── lib │   ├── libextra-0.1.0-a.0.19700101000000.so │   ├── libextra.a │   ├── libextra.so -> libextra-0.1.0-a.0.19700101000000.so │   └── pkgconfig │   ├── libextra.pc │   ├── libextra.shared.pc │   └── libextra.static.pc └── share └── doc └── libextra ├── manifest └── README.md 7 directories, 11 files + bdep init -C ../hello-gcc-1 @gcc1 cc config.cxx=g++ config.cc.poptions=-I/tmp/unpkg-gcc/include config.cc.loptions=-L/tmp/unpkg-gcc/lib initializing in project /tmp/hello/ created configuration @gcc1 /tmp/hello-gcc-1/ 3 target auto-synchronized fetching git:build2.org/hello/libhello (prerequisite of dir:/tmp/hello) fetching git:build2.org/hello/libformat##HEAD (prerequisite of git:build2.org/hello/libhello) fetching git:build2.org/hello/libprint##HEAD (prerequisite of git:build2.org/hello/libhello) fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello) synchronizing: new libformat/1.0.0+8 (required by libhello) new libprint/1.0.0+8 (required by libhello) new libhello/1.1.0+8 (required by hello) new hello/0.1.0-a.0.19700101000000 + b test: ../hello-gcc-1/ mkdir ../hello-gcc-1/hello/fsdir{hello/} version.in ../hello-gcc-1/libhello-1.1.0+8/libhello/version.hxx.in version.in ../hello-gcc-1/libformat-1.0.0+8/libformat/version.hxx.in version.in ../hello-gcc-1/libprint-1.0.0+8/libprint/version.hxx.in c++ ../hello-gcc-1/libprint-1.0.0+8/libprint/cxx{print} c++ ../hello-gcc-1/libprint-1.0.0+8/tests/basics/cxx{driver} c++ ../hello-gcc-1/libformat-1.0.0+8/tests/basics/cxx{driver} c++ ../hello-gcc-1/libhello-1.1.0+8/tests/basics/cxx{driver} c++ ../hello-gcc-1/libformat-1.0.0+8/libformat/cxx{format} c++ hello/cxx{hello}@../hello-gcc-1/hello/hello/ c++ ../hello-gcc-1/libhello-1.1.0+8/libhello/cxx{hello} ld ../hello-gcc-1/libprint-1.0.0+8/libprint/libs{print} ld ../hello-gcc-1/libprint-1.0.0+8/tests/basics/exe{driver} ld ../hello-gcc-1/libformat-1.0.0+8/libformat/libs{format} ld ../hello-gcc-1/libformat-1.0.0+8/tests/basics/exe{driver} ld ../hello-gcc-1/libhello-1.1.0+8/libhello/libs{hello} ld ../hello-gcc-1/libhello-1.1.0+8/tests/basics/exe{driver} ld ../hello-gcc-1/hello/hello/exe{hello} test ../hello-gcc-1/libformat-1.0.0+8/tests/basics/exe{driver} test ../hello-gcc-1/libhello-1.1.0+8/tests/basics/exe{driver} test ../hello-gcc-1/libprint-1.0.0+8/tests/basics/exe{driver} test hello/testscript{testscript}@../hello-gcc-1/hello/hello/ ../hello-gcc-1/hello/hello/exe{hello} + b configure: ../hello-gcc/ config.cc.poptions+=-I/tmp/unpkg-gcc/include config.cc.loptions+=-L/tmp/unpkg-gcc/lib save ../hello-gcc/build/config.build save ../hello-gcc/hello/build/config.build save ../hello-gcc/libhello-1.0.0+8/build/config.build save ../hello-gcc/libhello-1.0.0+8/tests/build/config.build + b test version.in ../hello-gcc/libhello-1.0.0+8/libhello/version.hxx.in c++ ../hello-gcc/libhello-1.0.0+8/libhello/cxx{hello} c++ hello/cxx{hello}@../hello-gcc/hello/hello/ ld ../hello-gcc/libhello-1.0.0+8/libhello/libs{hello} ld ../hello-gcc/hello/hello/exe{hello} ln ../hello-gcc/hello/hello/exe{hello} -> hello/ test hello/testscript{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello} + bdep sync ?sys:libsqlite3 synchronizing: configure sys:libsqlite3/* upgrade hello/0.1.0-a.0.19700101000000#5 + bdep new -t exe -l c++ hello created new executable project hello in /tmp/hello/ + bdep init -C @gcc cc config.cxx=g++ initializing in project /tmp/hello/ created configuration @gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized synchronizing: new hello/0.1.0-a.0.19700101000000 + bdep init -C @clang cc config.cxx=clang++-5.0 initializing in project /tmp/hello/ created configuration @clang /tmp/hello-clang/ 2 target auto-synchronized synchronizing: new hello/0.1.0-a.0.19700101000000 + bdep config list @gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized @clang /tmp/hello-clang/ 2 target auto-synchronized + b fetching pkg:cppget.org/alpha (prerequisite of dir:/tmp/hello) fetching pkg:cppget.org/beta (complements pkg:cppget.org/alpha) fetching pkg:cppget.org/testing (complements pkg:cppget.org/beta) fetching pkg:cppget.org/stable (complements pkg:cppget.org/testing) creating configuration of host type in /tmp/hello-host/ and associating it with project(s): /tmp/hello/ as if by executing command(s): bdep config create -d /tmp/hello @host --type host --no-default --forward /tmp/hello-host cc config.config.load=~host while searching for configuration for build-time dependency xxd of package hello/0.1.0-a.0.19700101000000#1 [/tmp/hello-gcc/] while synchronizing configuration /tmp/hello-gcc/ continue? [Y/n] y synchronizing /tmp/hello-gcc/: new xxd/8.2.3075 [/tmp/hello-host/] (required by hello) upgrade hello/0.1.0-a.0.19700101000000#1 mkdir ../hello-gcc/hello/fsdir{hello/} c ../hello-host/xxd-8.2.3075/c{xxd} ld ../hello-host/xxd-8.2.3075/exe{xxd} xxd ../hello-gcc/hello/hello/cxx{names} c++ ../hello-gcc/hello/hello/cxx{names} c++ hello/cxx{hello}@../hello-gcc/hello/hello/ ld ../hello-gcc/hello/hello/exe{hello} ln ../hello-gcc/hello/hello/exe{hello} -> hello/ test hello/testscript{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello} + bdep config list @gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized @clang /tmp/hello-clang/ 2 target auto-synchronized @host /tmp/hello-host/ 3 host forwarded,auto-synchronized + bdep update @clang fetching pkg:cppget.org/alpha (prerequisite of dir:/tmp/hello) fetching pkg:cppget.org/beta (complements pkg:cppget.org/alpha) fetching pkg:cppget.org/testing (complements pkg:cppget.org/beta) fetching pkg:cppget.org/stable (complements pkg:cppget.org/testing) synchronizing: upgrade hello/0.1.0-a.0.19700101000000#1 mkdir ../hello-clang/hello/fsdir{hello/} xxd ../hello-clang/hello/hello/cxx{names} c++ ../hello-clang/hello/hello/cxx{names} c++ hello/cxx{hello}@../hello-clang/hello/hello/ ld ../hello-clang/hello/hello/exe{hello} + b creating configuration of build2 type in /tmp/hello-build2/ and associating it with project(s): /tmp/hello/ as if by executing command(s): bdep config create -d /tmp/hello @build2 --type build2 --no-default --forward /tmp/hello-build2 cc config.config.load=~build2 while searching for configuration for build-time dependency libbuild2-hello of package hello/0.1.0-a.0.19700101000000#2 [/tmp/hello-gcc/] while synchronizing configuration /tmp/hello-gcc/ continue? [Y/n] y synchronizing /tmp/hello-gcc/: new libbuild2-hello/0.1.0-a.0.20210928065245.4c3109c2b741 [/tmp/hello-build2/] (required by hello [/tmp/hello-clang/], hello [/tmp/hello-gcc/]) upgrade hello/0.1.0-a.0.19700101000000#2 [/tmp/hello-gcc/] upgrade hello/0.1.0-a.0.19700101000000#2 [/tmp/hello-clang/] c++ ../hello-build2/libbuild2-hello-0.1.0-a.0.20210928065245.4c3109c2b741/libbuild2/hello/cxx{init} ld ../hello-build2/libbuild2-hello-0.1.0-a.0.20210928065245.4c3109c2b741/libbuild2/hello/libs{build2-hello} hello/buildfile:10:7: info: module hello initialized hello/buildfile:10:7: info: module hello initialized hello/buildfile:10:7: info: module hello initialized info: while applying rule alias to update ../hello-gcc/dir{hello/} info: ../hello-gcc/dir{hello/} is up to date + bdep config list @gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized @build2 /tmp/hello-build2/ 4 build2 forwarded,auto-synchronized @clang /tmp/hello-clang/ 2 target auto-synchronized @host /tmp/hello-host/ 3 host forwarded,auto-synchronized + bdep update @clang hello/buildfile:10:7: info: module hello initialized info: while applying rule alias to update ../hello-clang/dir{hello/} info: ../hello-clang/dir{hello/} is up to date + bdep new -t exe -l c++ hello created new executable project hello in /tmp/hello/ + bdep config create ../hello-base @base --no-default cc config.cxx=g++ created configuration @base /tmp/hello-base/ 1 target auto-synchronized + bdep config create ../hello-gcc @gcc --default cc config.cxx=g++ created configuration @gcc /tmp/hello-gcc/ 2 target default,forwarded,auto-synchronized + bdep config create ../hello-clang @clang cc config.cxx=clang++-5.0 created configuration @clang /tmp/hello-clang/ 3 target auto-synchronized + bdep config link @gcc @base linked configuration @gcc (target) with configuration @base (target) + bdep config link @clang @base linked configuration @clang (target) with configuration @base (target) + bdep init @gcc { @base }+ ?libhello initializing in project /tmp/hello/ fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello) synchronizing: new libhello/1.0.0+8 [/tmp/hello-base/] new hello/0.1.0-a.0.19700101000000 + bdep init @clang initializing in project /tmp/hello/ fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello) synchronizing: new hello/0.1.0-a.0.19700101000000 [/tmp/hello-clang/] + bdep update @gcc mkdir ../hello-gcc/hello/fsdir{hello/} version.in ../hello-base/libhello-1.0.0+8/libhello/version.hxx.in c++ ../hello-base/libhello-1.0.0+8/libhello/cxx{hello} c++ hello/cxx{hello}@../hello-gcc/hello/hello/ ld ../hello-base/libhello-1.0.0+8/libhello/libs{hello} ld ../hello-gcc/hello/hello/exe{hello} + bdep update @clang mkdir ../hello-clang/hello/fsdir{hello/} c++ hello/cxx{hello}@../hello-clang/hello/hello/ ld ../hello-clang/hello/hello/exe{hello} + bdep new -C hello-gcc @gcc -t exe -l c++ hello cc config.cxx=g++ created new executable project hello in /tmp/hello/ created configuration @gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized synchronizing: new hello/0.1.0-a.0.19700101000000 To github.com:boris-kolpackov/hello.git - [deleted] build2-control To github.com:boris-kolpackov/hello.git - [deleted] v0.1.0-a.1 To github.com:boris-kolpackov/hello.git - [deleted] v0.1.0 [master (root-commit) 731bc3c] Initial implementation 13 files changed, 141 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.md create mode 100644 build/.gitignore create mode 100644 build/bootstrap.build create mode 100644 build/root.build create mode 100644 buildfile create mode 100644 hello/.gitignore create mode 100644 hello/buildfile create mode 100644 hello/hello.cxx create mode 100644 hello/testscript create mode 100644 manifest create mode 100644 repositories.manifest To github.com:boris-kolpackov/hello.git + cf83f68...731bc3c master -> master (forced update) Branch 'master' set up to track remote branch 'master' from 'origin'. + bdep status hello configured 0.1.0-a.0.19700101000000 available 0.1.0-a.0.20211020113315.731bc3ce86e0 + b info project: hello version: 0.1.0-a.0.20211020113315.731bc3ce86e0 summary: hello C++ executable url: https://example.org/hello src_root: /tmp/hello/ out_root: /tmp/hello-gcc/hello/ amalgamation: ../ subprojects: operations: update clean test update-for-test install uninstall update-for-install meta-operations: perform configure disfigure dist info modules: version config test install dist + bdep sync synchronizing: upgrade hello/0.1.0-a.0.20211020113315.731bc3ce86e0 + bdep status hello configured 0.1.0-a.0.20211020113315.731bc3ce86e0 [master 008e72b] Another commit 1 file changed, 1 insertion(+) + bdep status hello configured 0.1.0-a.0.20211020113315.731bc3ce86e0 available 0.1.0-a.0.20211020113318.008e72b6b68d + bdep release --alpha --push releasing: package: hello current: 0.1.0-a.0.z release: 0.1.0-a.1 open: 0.1.0-a.1.z commit: yes tag: v0.1.0-a.1 push: origin/master continue? [y/n] y [master 0d6d0e7] Release version 0.1.0-a.1 1 file changed, 1 insertion(+), 1 deletion(-) [master 3438da6] Change version to 0.1.0-a.1.z 1 file changed, 1 insertion(+), 1 deletion(-) + bdep release --no-open --push releasing: package: hello current: 0.1.0-a.1.z release: 0.1.0 commit: yes tag: v0.1.0 push: origin/master continue? [y/n] y [master 751fb24] Release version 0.1.0 1 file changed, 1 insertion(+), 1 deletion(-) + bdep publish --simulate success synchronizing: upgrade hello/0.1.0 publishing: to: https://cppget.org as: Boris Kolpackov package: hello version: 0.1.0 project: hello section: alpha control: https://github.com/boris-kolpackov/hello.git warning: publishing using staged build2 toolchain continue? [y/n] y remote: remote: Create a pull request for 'build2-control' on GitHub by visiting: remote: https://github.com/boris-kolpackov/hello/pull/new/build2-control remote: Branch 'build2-control' set up to track remote branch 'build2-control' from 'origin'. package submission is queued: https://queue.cppget.org/hello/0.1.0 reference: 1ba1d57aebbb + bdep release --open --push opening: package: hello current: 0.1.0 open: 0.2.0-a.0.z commit: yes push: origin/master continue? [y/n] y [master 6d08d43] Change version to 0.2.0-a.0.z 1 file changed, 1 insertion(+), 1 deletion(-) + bdep new -C hello-gcc @gcc -t exe -l c++ hello cc config.cxx=g++ created new executable project hello in /tmp/hello/ created configuration @gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized synchronizing: new hello/0.1.0-a.0.19700101000000 + bdep init -C ../hello-clang @clang cc config.cxx=clang++-5.0 initializing in project /tmp/hello/ created configuration @clang /tmp/hello-clang/ 2 target auto-synchronized synchronizing: new hello/0.1.0-a.0.19700101000000 + bdep new -t lib -l c++ libhello created new library project libhello in /tmp/libhello/ + tree libhello libhello ├── build │   ├── bootstrap.build │   ├── export.build │   └── root.build ├── buildfile ├── libhello │   ├── buildfile │   ├── export.hxx │   ├── hello.cxx │   ├── hello.hxx │   └── version.hxx.in ├── manifest ├── README.md ├── repositories.manifest └── tests ├── basics │   ├── buildfile │   └── driver.cxx ├── build │   ├── bootstrap.build │   └── root.build └── buildfile 5 directories, 17 files + cd libhello + bdep init -A ../hello-gcc @gcc initializing in project /tmp/libhello/ added configuration @gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized synchronizing: new libhello/0.1.0-a.0.19700101000000 + bdep init -A ../hello-clang @clang initializing in project /tmp/libhello/ added configuration @clang /tmp/hello-clang/ 2 target auto-synchronized synchronizing: new libhello/0.1.0-a.0.19700101000000 + cd ../hello + bdep test -i synchronizing: upgrade hello/0.1.0-a.0.19700101000000#1 mkdir ../hello-gcc/libhello/fsdir{libhello/} mkdir ../hello-gcc/hello/fsdir{hello/} mkdir ../hello-gcc/libhello/tests/fsdir{basics/} version.in ../libhello/libhello/version.hxx.in c++ hello/cxx{hello}@../hello-gcc/hello/hello/ c++ ../libhello/libhello/cxx{hello}@../hello-gcc/libhello/libhello/ c++ ../libhello/tests/basics/cxx{driver}@../hello-gcc/libhello/tests/basics/ ld ../hello-gcc/libhello/libhello/libs{hello} ld ../hello-gcc/libhello/tests/basics/exe{driver} ld ../hello-gcc/hello/hello/exe{hello} test hello/testscript{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello} test ../hello-gcc/libhello/tests/basics/exe{driver} + bdep new -C hello-gcc @gcc -t exe -l c++ hello cc config.cxx=g++ created new executable project hello in /tmp/hello/ created configuration @gcc /tmp/hello-gcc/ 1 target default,forwarded,auto-synchronized synchronizing: new hello/0.1.0-a.0.19700101000000 + cd hello + bdep init -C ../hello-clang @clang cc config.cxx=clang++-5.0 initializing in project /tmp/hello/ created configuration @clang /tmp/hello-clang/ 2 target auto-synchronized synchronizing: new hello/0.1.0-a.0.19700101000000 + bdep new --package -t lib -l c++ libhello created new library package libhello in /tmp/hello/libhello/ + cat packages.manifest : 1 location: libhello/ + cd libhello + bdep init -a initializing in project /tmp/hello/ in configuration @gcc: synchronizing: upgrade hello/0.1.0-a.0.19700101000000#1 new libhello/0.1.0-a.0.19700101000000 in configuration @clang: synchronizing: upgrade hello/0.1.0-a.0.19700101000000#1 new libhello/0.1.0-a.0.19700101000000 + cd .. + bdep test synchronizing: upgrade hello/0.1.0-a.0.19700101000000#2 mkdir ../hello-gcc/libhello/fsdir{libhello/} mkdir ../hello-gcc/libhello/tests/fsdir{basics/} mkdir ../hello-gcc/hello/fsdir{hello/} version.in libhello/libhello/version.hxx.in c++ hello/hello/cxx{hello}@../hello-gcc/hello/hello/ c++ libhello/libhello/cxx{hello}@../hello-gcc/libhello/libhello/ c++ libhello/tests/basics/cxx{driver}@../hello-gcc/libhello/tests/basics/ ld ../hello-gcc/libhello/libhello/libs{hello} ld ../hello-gcc/libhello/tests/basics/exe{driver} ld ../hello-gcc/hello/hello/exe{hello} test ../hello-gcc/libhello/tests/basics/exe{driver} test hello/hello/testscript{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello} + bpkg create -d tools cc config.cxx=g++ config.cc.coptions=-O3 config.install.root=/opt/tools config.install.sudo=sudo config.bin.rpath=/opt/tools/lib created new configuration in /tmp/tools/ uuid: 6ce7c9f5-4d02-4334-a064-21c3a2399ac0 type: target + cd tools + bpkg build hello@https://git.build2.org/hello/hello.git added git:build2.org/hello/hello fetching git:build2.org/hello/hello fetching git:build2.org/hello/libhello (prerequisite of git:build2.org/hello/hello) fetching git:build2.org/hello/libformat##HEAD (prerequisite of git:build2.org/hello/libhello) fetching git:build2.org/hello/libprint##HEAD (prerequisite of git:build2.org/hello/libhello) new libformat/1.0.0+8 (required by libhello) new libprint/1.0.0+8 (required by libhello) new libhello/1.1.0+8 (required by hello) new hello/1.0.0+7 continue? [Y/n] y checked out libformat/1.0.0+8 checked out libprint/1.0.0+8 checked out libhello/1.1.0+8 checked out hello/1.0.0+7 configured libformat/1.0.0+8 configured libprint/1.0.0+8 configured libhello/1.1.0+8 configured hello/1.0.0+7 version.in libprint-1.0.0+8/libprint/version.hxx.in version.in libhello-1.1.0+8/libhello/version.hxx.in version.in libformat-1.0.0+8/libformat/version.hxx.in c++ libformat-1.0.0+8/libformat/cxx{format} c++ libhello-1.1.0+8/libhello/cxx{hello} c++ libprint-1.0.0+8/libprint/cxx{print} c++ hello-1.0.0+7/hello/cxx{hello} ld libprint-1.0.0+8/libprint/libs{print} ld libformat-1.0.0+8/libformat/libs{format} ld libhello-1.1.0+8/libhello/libs{hello} ld hello-1.0.0+7/hello/exe{hello} updated hello/1.0.0+7 + bpkg install hello pc libformat-1.0.0+8/libformat/pcs{format} pc libprint-1.0.0+8/libprint/pcs{print} pc libhello-1.1.0+8/libhello/pcs{hello} ld libhello-1.1.0+8/libhello/libs{hello} ld hello-1.0.0+7/hello/exe{hello} install /opt/tools/ install /opt/tools/include/ install /opt/tools/include/libhello/ install libhello-1.1.0+8/libhello/hxx{export} install libhello-1.1.0+8/libhello/hxx{hello} install /opt/tools/share/ install /opt/tools/share/doc/ install /opt/tools/share/doc/libhello/ install libhello-1.1.0+8/manifest{manifest} install libhello-1.1.0+8/libhello/hxx{version} install /opt/tools/include/libprint/ install libprint-1.0.0+8/libprint/hxx{print} install libprint-1.0.0+8/libprint/hxx{export} install /opt/tools/share/doc/libprint/ install libprint-1.0.0+8/manifest{manifest} install libprint-1.0.0+8/libprint/hxx{version} install libprint-1.0.0+8/libprint/libs{print} install /opt/tools/include/libformat/ install libformat-1.0.0+8/libformat/hxx{export} install libformat-1.0.0+8/libformat/hxx{format} install /opt/tools/share/doc/libformat/ install libformat-1.0.0+8/manifest{manifest} install libformat-1.0.0+8/libformat/hxx{version} install libformat-1.0.0+8/libformat/libs{format} install libhello-1.1.0+8/libhello/libs{hello} install /opt/tools/bin/ install hello-1.0.0+7/hello/exe{hello} install /opt/tools/share/doc/hello/ install hello-1.0.0+7/manifest{manifest} installed hello/1.0.0+7 + /opt/tools/bin/hello World Hello, World! + tree /opt/tools /opt/tools ├── bin │   └── hello ├── include │   ├── libformat │   │   ├── export.hxx │   │   ├── format.hxx │   │   └── version.hxx │   ├── libhello │   │   ├── export.hxx │   │   ├── hello.hxx │   │   └── version.hxx │   └── libprint │   ├── export.hxx │   ├── print.hxx │   └── version.hxx ├── lib │   ├── libformat-1.0.so │   ├── libformat.so -> libformat-1.0.so │   ├── libhello-1.1.so │   ├── libhello.so -> libhello-1.1.so │   ├── libprint-1.0.so │   ├── libprint.so -> libprint-1.0.so │   └── pkgconfig │   ├── libformat.shared.pc │   ├── libhello.shared.pc │   └── libprint.shared.pc └── share └── doc ├── hello │   └── manifest ├── libformat │   └── manifest ├── libhello │   └── manifest └── libprint └── manifest 13 directories, 23 files + bpkg uninstall hello uninstall hello-1.0.0+7/manifest{manifest} uninstall /opt/tools/share/doc/hello/ uninstall hello-1.0.0+7/hello/exe{hello} uninstall /opt/tools/bin/ uninstall libhello-1.1.0+8/libhello/libs{hello} uninstall libformat-1.0.0+8/libformat/libs{format} uninstall libformat-1.0.0+8/libformat/hxx{version} uninstall libformat-1.0.0+8/manifest{manifest} uninstall /opt/tools/share/doc/libformat/ uninstall libformat-1.0.0+8/libformat/hxx{format} uninstall libformat-1.0.0+8/libformat/hxx{export} uninstall /opt/tools/include/libformat/ uninstall libprint-1.0.0+8/libprint/libs{print} uninstall libprint-1.0.0+8/libprint/hxx{version} uninstall libprint-1.0.0+8/manifest{manifest} uninstall /opt/tools/share/doc/libprint/ uninstall libprint-1.0.0+8/libprint/hxx{export} uninstall libprint-1.0.0+8/libprint/hxx{print} uninstall /opt/tools/include/libprint/ uninstall libhello-1.1.0+8/libhello/hxx{version} uninstall libhello-1.1.0+8/manifest{manifest} uninstall /opt/tools/share/doc/libhello/ uninstall /opt/tools/share/doc/ uninstall /opt/tools/share/ uninstall libhello-1.1.0+8/libhello/hxx{hello} uninstall libhello-1.1.0+8/libhello/hxx{export} uninstall /opt/tools/include/libhello/ uninstall /opt/tools/include/ uninstall /opt/tools/ uninstalled hello/1.0.0+7 + bpkg drop hello following dependencies were automatically built but will no longer be used: libhello libformat libprint drop unused packages? [Y/n] y drop hello drop libhello drop libformat drop libprint continue? [Y/n] y disfigured hello disfigured libhello disfigured libformat disfigured libprint purged hello purged libhello purged libformat purged libprint