We already mention /*/unxlng???, /*/unxlng???.pro etc which should
cover the normal $OUTDIR. We do now have one git-managed file in
solver, README. Not mentioning /solver means git status will notice
other files or subdirectories accidentally or misguidedly added in
solver.
Change-Id: Ie70b9ff32ac9c7282cef8d28ff04f3a22e4a78f6
This introduce config_host.mk and config_build.mk
generated from config_host.mk.in
The intent is for that file to be both sourcable in a shell and includable
in a gnu Makefile.
Eventually all the environment set-up will be in config_host.mk.in
and so there won't be a need to source anything in shell before make.
This touch configure.in with a trivial space removal to force a
./bootstrap on the tinderboxes
This make ./bootstrap build a 'build-side' executable concat-deps
and modify LinkTarget.mk to use it instead of concat-deps.pl
The impact is a conservative x10 times improvement in both elapsed and
cpu time in overhead due to DEP generations.
time make -sr build in tail_build after removing
workdir/$INPATH/Dep/LinkTarget/Library/*
(all on Intel X3360, 2.83GHz, 4-core)
before:
elapsed: 116.5 cpu: 115.9
after
elapsed: 24.3 cpu: 23.9
base (no dep processing, i.e no rm of Dep/...)
elapsed: 17.5 cpu: 17.4
overhead ratio:
elapsed: 14.5x cpu: 15x
same with -j6
before:
elapsed: 47 cpu: 116
after:
elapsed: 20.8 cpu: 24
base:
elapsed: 17.5 cpu: 17.5
overhead ratio:
elapsed: 9x cpu: 15x
Note: for now the executable is generated directly in the source tree
(in solevn/bin ). That is not ideal. It and other similar polution
should be moved, to workdir most likely..
For now we just hide the mess under the .gitignore carpet
The goal is to able to do partial build without having
to source Env.Host.sh into one's environment
There is 2 way to use this:
1/
copy the scripts lo_find_src_root and lo_proxy_start
somewhere in your PATH, and
then you can add
alias build='lo_proxy_start build'
alias deliver='lo_proxy_start deliver'
in your .bashrc
at that point you can use build and deliver anywhere in the source tree
without the need to source anything.
This allow you to switch from one source tree to another.
the proper SRC_ROOT will be determined automatically based
on the current working directory
2/
source build_env
build_env only source the bare minimum to allow build and make to work
for the associated source tree.
If you want to work in a diffrent tree, you need to resource