Age | Commit message (Collapse) | Author |
|
|
|
|
|
Our pkg config rule postprocesses the output of pkgconfig to add
options -rpath where appropriate. This postprocessing, however,
relies on (standard) tools from the environment, in particular
cat(1). Therefore, the environment (in particular PATH) needs to
be set properly for this auxilliary action.
|
|
|
|
|
|
The C++ programming language is tightly related to the C programming
language. Consequently, the command line interface for C and C++
are also related and share quite a number of compile flags. Honor
this tight connection by have in our defaults a field allowing to
extend both compile flags, those for C as well as those for C++. In
this way, build defaults can be described in a more readable way.
|
|
|
|
... to allow test actions to have a larger time out, while not
changing anything in the build actions (and hence being able to
use cache hits from normal build of the library being tested).
|
|
|
|
... to the same value as TEST_TMPDIR. While TEST_TMPDIR is the
conventional name that tests should use for their temporary file,
setting TMPDIR as well has the advantage that more library functions
can be used to create temporary files and directories, as quite a
few of them inspect the variable TMPDIR.
While there, also fix some typos in the documentation strings.
|
|
... instead of inlining the code. In this way, we also have all
the checks that the test runner consists of precisely one artifact.
|
|
|
|
... not that everyone has updated to 1.2 or later we can use
the built-in expressions "reverse" and "set".
|
|
... and hence accidentally picking up executables from the
current working directory.
|
|
... which should accumulate values from all base targets
unless the flag type (CFLAGS, CXXFLAGS, or LDFLAGS) is
explicity overwritten by the inheritor.
|
|
|
|
|
|
|
|
... so that if e.g., libfoo depends on libbar via "deps",
the flag "-lbar" should be filtered out from the flag file
generated via pkg-config from file foo.pc. Omitting these
flags is always correct, due to those libraries being part
of the explicit link dependencies already.
|
|
... which should accumulate values from all base targets
unless the flag type (CFLAGS, CXXFLAGS, or LDFLAGS) is
explicity overwritten by the inheritor.
|
|
|
|
... instead of assuming it to be installed under /usr/bin as we
also do in other places. In this way, we do not make any additional
assumptions on top of the already existing one on the path of env.
|
|
|
|
When a shared library is picked up from the host system via pkg-config
that is located at a non-standard location, binaries linked against
this library by a standard linker either need LD_LIBRARY_PATH set
appropriately, or -rpath set at link time. However, not all custom
installations set -rpath in the link flags in their pkg-config file.
Therefore, in order to get working binaries (and not have to set
custom paths in tests), add a -rpath for every -L option found in
the ldflags provided by pkg-config.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... and coreutils by default. This has the advantage that no
C compiler and no specific toolchain definition is required
to build rule-internal tools. 'expand_exec' is provided via
an implicit target with proper config transition for host,
so it could be overwritten by the rule user. The C code of
the previous implementation is still kept as an example.
|
|
For maximum compatibility, we use the uppercase types from the
typing package instead of the built-in types, therefore compliant
with PEP 484 and PEP 526.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... because it is not part of the coreutils and we cannot
rely on it being available.
|
|
|
|
|
|
|
|
|
|
... and document at the appropriate place
|
|
... and mention it at the appropriate part of the documentation.
While there, also provide a default TARGETS file.
|
|
... and document at the appropriate places what can be overwritten
by setting those targets.
|
|
... instead of creating an ENV from it and propagating this.
The idea is to keep PATH entries separate and only join them
with ":" when we need it. In this way, we can accumulate
PATHs from multiple defaults later, and perform a
deduplication ("nub_left") to shorten the final string
length.
|
|
|