From 4d18b3968b7b18b7da63da5a35733df638c744c0 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 9 May 2018 15:13:05 +0200 Subject: Add commands for Unpackaged Dependencies section to intro2-tour --- intro2-tour | 30 +++++++++++++ intro2-tour.orig | 126 +++++++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 143 insertions(+), 13 deletions(-) diff --git a/intro2-tour b/intro2-tour index d9ef011..2a2c8bc 100755 --- a/intro2-tour +++ b/intro2-tour @@ -163,6 +163,36 @@ show bdep status -r show bdep status -o libhello show bdep sync libhello/1.0.0 +# Unpackaged Dependencies. +# +cd .. +rm -rf libextra libextra-gcc unpkg-gcc hello-gcc-1 +show bdep new -C libextra-gcc -t lib -l c++ libextra cc config.cxx=$gcc +show b install: libextra/ config.install.root=/tmp/unpkg-gcc +show tree unpkg-gcc +cd hello + +show bdep init -C ../hello-gcc-1 @gcc1 cc config.cxx=$gcc \ +config.cc.poptions=-I$tmp/unpkg-gcc/include \ +config.cc.loptions=-L$tmp/unpkg-gcc/lib + +sed -i -re 's/^libs =/import libs = libextra%lib{extra}/' hello/buildfile +cat <>hello/hello.cxx +#include + +void f () +{ + extra::say_hello (cout, "Extra"); +} +EOF + +show b test: ../hello-gcc-1/ + +show b configure: ../hello-gcc/ \ +config.cc.poptions+=-I$tmp/unpkg-gcc/include \ +config.cc.loptions+=-L$tmp/unpkg-gcc/lib +show b test + # Versioning and Release Management. # git add . diff --git a/intro2-tour.orig b/intro2-tour.orig index d1473a7..224e86f 100644 --- a/intro2-tour.orig +++ b/intro2-tour.orig @@ -78,7 +78,7 @@ created configuration @clang /tmp/hello-clang/ (2, auto-synchronized) synchronizing: new hello/0.1.0-a.0.19700101000000 -+ ls -d -1 ../hello ../hello1 ../hello1-gcc ../hello2 ../hello2-gcc ../hello-clang ../hello-gcc ../hello.git ++ ls -d -1 ../hello ../hello1 ../hello1-gcc ../hello2 ../hello2-gcc ../hello-clang ../hello-gcc ../hello-gcc-1 ../hello.git ../hello ../hello1 ../hello1-gcc @@ -86,6 +86,7 @@ synchronizing: ../hello2-gcc ../hello-clang ../hello-gcc +../hello-gcc-1 ../hello.git + bdep init -C ../hello-vc-debug @debug cc config.cxx=cl-15 config.cc.coptions=/MDd /Z7 config.cc.loptions=/DEBUG @@ -193,7 +194,7 @@ synchronizing: new libhello/1.0.0 (required by hello) upgrade hello/0.1.0-a.0.19700101000000#1 - 0K ... 100% 95.5M=0s + 0K ... 100% 107M=0s + b synchronizing /tmp/hello-gcc/: upgrade hello/0.1.0-a.0.19700101000000#2 @@ -222,7 +223,7 @@ synchronizing: new libhello/1.0.0 (required by hello) upgrade hello/0.1.0-a.0.19700101000000#1 - 0K ... 100% 97.3M=0s + 0K ... 100% 98.4M=0s + bdep status hello configured 0.1.0-a.0.19700101000000#2 available 0.1.0-a.0.19700101000000#3 @@ -234,7 +235,7 @@ synchronizing: new libhello/1.0.0 (required by hello) upgrade hello/0.1.0-a.0.19700101000000#4 - 0K ... 100% 89.0M=0s + 0K ... 100% 87.8M=0s + bdep fetch fetching git:build2.org/hello/libhello (prerequisite of dir:/tmp/hello) querying https://git.build2.org/hello/libhello.git @@ -276,8 +277,107 @@ synchronizing: downgrade libhello/1.0.0 reconfigure hello/0.1.0-a.0.19700101000000#4 distributing libhello/1.0.0 -[master (root-commit) 7183b8d] Start hello project - 11 files changed, 110 insertions(+) + ++ 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, 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/} +ver libextra/libextra/version.hxx.in +c++ libextra/libextra/cxx{extra}@libextra-gcc/libextra/libextra/ +c++ libextra/libextra/cxx{extra}@libextra-gcc/libextra/libextra/ +ld libextra-gcc/libextra/libextra/liba{extra} +ld libextra-gcc/libextra/libextra/libs{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 libextra-gcc/libextra/libextra/hxx{version} +install libextra-gcc/libextra/libextra/liba{extra} +install libextra-gcc/libextra/libextra/libs{extra} + ++ 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.shared.pc + └── libextra.static.pc + +4 directories, 8 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 project /tmp/hello/ +created configuration @gcc1 /tmp/hello-gcc-1/ (3, auto-synchronized) +fetching git:build2.org/hello/libhello (prerequisite of dir:/tmp/hello) +querying https://git.build2.org/hello/libhello.git +fetching from https://git.build2.org/hello/libhello.git +fetching git:build2.org/hello/libformat##HEAD (prerequisite of git:build2.org/hello/libhello) +querying https://git.build2.org/hello/libformat.git +fetching from https://git.build2.org/hello/libformat.git +fetching git:build2.org/hello/libprint##HEAD (prerequisite of git:build2.org/hello/libhello) +querying https://git.build2.org/hello/libprint.git +fetching from https://git.build2.org/hello/libprint.git +fetching pkg:stage.build2.org (prerequisite of dir:/tmp/hello) +synchronizing: + new libformat/1.0.0 (required by libhello) + new libprint/1.0.0 (required by libhello) + new libhello/1.1.0 (required by hello) + new hello/0.1.0-a.0.19700101000000 +distributing libformat/1.0.0 +distributing libprint/1.0.0 +distributing libhello/1.1.0 + ++ b test: ../hello-gcc-1/ +mkdir ../hello-gcc-1/hello/fsdir{hello/} +ver ../hello-gcc-1/libformat-1.0.0/libformat/version.hxx.in +ver ../hello-gcc-1/libhello-1.1.0/libhello/version.hxx.in +ver ../hello-gcc-1/libprint-1.0.0/libprint/version.hxx.in +c++ ../hello-gcc-1/libformat-1.0.0/tests/basics/cxx{driver} +c++ ../hello-gcc-1/libprint-1.0.0/libprint/cxx{print} +c++ ../hello-gcc-1/libprint-1.0.0/tests/basics/cxx{driver} +c++ ../hello-gcc-1/libhello-1.1.0/libhello/cxx{hello} +c++ hello/cxx{hello}@../hello-gcc-1/hello/hello/ +c++ ../hello-gcc-1/libformat-1.0.0/libformat/cxx{format} +c++ ../hello-gcc-1/libhello-1.1.0/tests/basics/cxx{driver} +ld ../hello-gcc-1/libprint-1.0.0/libprint/libs{print} +ld ../hello-gcc-1/libprint-1.0.0/tests/basics/exe{driver} +ld ../hello-gcc-1/libformat-1.0.0/libformat/libs{format} +ld ../hello-gcc-1/libformat-1.0.0/tests/basics/exe{driver} +ld ../hello-gcc-1/libhello-1.1.0/libhello/libs{hello} +ld ../hello-gcc-1/hello/hello/exe{hello} +ld ../hello-gcc-1/libhello-1.1.0/tests/basics/exe{driver} +test ../hello-gcc-1/libhello-1.1.0/tests/basics/exe{driver} +test ../hello-gcc-1/libprint-1.0.0/tests/basics/exe{driver} +test hello/test{testscript}@../hello-gcc-1/hello/hello/ ../hello-gcc-1/hello/hello/exe{hello} +test ../hello-gcc-1/libformat-1.0.0/tests/basics/exe{driver} + ++ 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/build/config.build +save ../hello-gcc/libhello-1.0.0/tests/build/config.build + ++ b test +c++ ../hello-gcc/libhello-1.0.0/libhello/cxx{hello} +c++ hello/cxx{hello}@../hello-gcc/hello/hello/ +ld ../hello-gcc/libhello-1.0.0/libhello/libs{hello} +ld ../hello-gcc/hello/hello/exe{hello} +ln ../hello-gcc/hello/hello/exe{hello} -> hello/ +test hello/test{testscript}@../hello-gcc/hello/hello/ ../hello-gcc/hello/hello/exe{hello} +[master (root-commit) cf3bc7a] Start hello project + 11 files changed, 116 insertions(+) create mode 100644 .gitignore create mode 100644 build/.gitignore create mode 100644 build/bootstrap.build @@ -291,11 +391,11 @@ distributing libhello/1.0.0 create mode 100644 repositories.manifest + bdep status -hello configured 0.1.0-a.0.19700101000000#4 available 0.1.0-a.0.20180507065733.7183b8d4b235 +hello configured 0.1.0-a.0.19700101000000#4 available 0.1.0-a.0.20180509125102.cf3bc7a9e17f + b info project: hello -version: 0.1.0-a.0.20180507065733.7183b8d4b235 +version: 0.1.0-a.0.20180509125102.cf3bc7a9e17f summary: hello executable project url: https://example.org/hello src_root: /tmp/hello/ @@ -305,15 +405,15 @@ subprojects: + bdep sync synchronizing: - upgrade hello/0.1.0-a.0.20180507065733.7183b8d4b235 + upgrade hello/0.1.0-a.0.20180509125102.cf3bc7a9e17f + bdep status -hello configured 0.1.0-a.0.20180507065733.7183b8d4b235 -[master 9628993] Another commit +hello configured 0.1.0-a.0.20180509125102.cf3bc7a9e17f +[master aa6d12e] Another commit 1 file changed, 1 insertion(+) + bdep status -hello configured 0.1.0-a.0.20180507065733.7183b8d4b235 available 0.1.0-a.0.20180507065734.9628993ae538 +hello configured 0.1.0-a.0.20180509125102.cf3bc7a9e17f available 0.1.0-a.0.20180509125103.aa6d12e561fe + 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/ @@ -351,8 +451,8 @@ distributing hello/1.0.0 checked out hello/1.0.0 configured hello/1.0.0 ver libhello-1.1.0/libhello/version.hxx.in -ver libprint-1.0.0/libprint/version.hxx.in ver libformat-1.0.0/libformat/version.hxx.in +ver libprint-1.0.0/libprint/version.hxx.in c++ libprint-1.0.0/libprint/cxx{print} c++ libhello-1.1.0/libhello/cxx{hello} c++ libformat-1.0.0/libformat/cxx{format} -- cgit v1.1