Commit Graph

124 Commits

Author SHA1 Message Date
Christophe de Dinechin 472c390157 Put the /dev/null in $(CAT)
Also do not build library checks with $(CFG_CFLAGS), because they are
neither needed nor available at that point.
2018-04-04 10:21:04 +02:00
Christophe de Dinechin 4d5957d73d Fix test environment TEST_ENV for `make test` 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 547bc93ad3 Fix passing of libraries during test 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 00942dc77a Restrict variable names when transforming cfg.h into cfg.mk 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 3d95749be5 Remove useless variables 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 3821686b85 Show variant information in [BEGIN] and [END] steps 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 96d1e61a61 Better install process 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 13ceb48407 Cleanup cleanup rules 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 7530c15a96 Document PKGCONFIGS 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 7a79b726c1 Recent changes to GNU simplify the macosx rules 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 49adc492f5 Do not add LDFLAGS when building static libraries 2018-04-04 10:21:04 +02:00
Christophe de Dinechin c15ff77bf4 Allow paralllel builds for configuration steps (defer after variants resolved) 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 9da269b646 Disable configuration steps before actually building
This ensures that configuration steps are properly logged in make.log
2018-04-04 10:21:04 +02:00
Christophe de Dinechin 4eab5b04b5 Remove extra / in top level .mkdir 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 34075d3782 Remove extra / in $(PREFIX)share 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 4cba1dc07f Avoid extra / after $(OUTPUT) 2018-04-04 10:21:04 +02:00
Christophe de Dinechin dc429be3b2 Avoid adding / in $(OBJDIR) 2018-04-04 10:21:04 +02:00
Christophe de Dinechin b6e7ccf05d Change location for build outputs to something more practical for daily use 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 8d0b734e70 Add TOP variable to indicate top-level directory
This makes the output file organization cleaner in case where the
'build' directory is not itself at the top-level.
2018-04-04 10:21:04 +02:00
Christophe de Dinechin 671883dbf1 pkg-config results must be in OBJDIR, not OBJROOT 2018-04-04 10:21:04 +02:00
Christophe de Dinechin cb6b38ad72 Extract link libraries from CONFIG libX entries 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 332be643c7 Put variants as part of configuration phase rather than libraries 2018-04-04 10:21:04 +02:00
Christophe de Dinechin a4398bbd79 Clarify order of targets in parallel builds 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 3d675e35fb Add support for optional pkg-config entries 2018-04-04 10:21:04 +02:00
Christophe de Dinechin c199342ed4 Add check for strtok_r 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 7f5780099c Add -fPIC to standard flags 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 24eff2112b Workaround a bug in GNU make when reloading generated makefiles
The problem was discovered testing parallel builds.
The configuration rules depend on generated pkg-config.mk files.
However, experimentally, variables set in these files are not
correctly reloaded in rules declared in other variables.

Specifically, $(CFLAGS_PKGCONFIG) was not re-expanded after being
modified, which led to configuration builds to lack the required
flags, causing false configuration step failures.

The flags are now explicitly listed using $(shell cat...), which
is a little bit more expensive during the configuration step, but
ensures that the flags are correctly seen. Note that at that stage,
the dependency ensures that all the files were built correctly.
2018-04-04 10:21:04 +02:00
Christophe de Dinechin cb38305bb6 Write targets for configuration steps in one stdout redirection, no append 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 6dd72b3adb For configuration compiles, delay evaluation of CFLAGS, add LDFLAGS 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 263725113e Make sure configuration happens before pre-build 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 798771a4dc Make file names for configuration-generated files more consistent 2018-04-04 10:21:04 +02:00
Christophe de Dinechin bcdde51bf5 Reorganize configuration management for readability 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 53216cc34e Variants can't be built in parallel 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 63decf96d7 Cannot configure until we have pre-built (including pkg-config) 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 9df2d4fc2a Whitespace adjustment for alignment 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 0ab036c3db Make it possible to have config-dependant SOURCES 2018-04-04 10:21:04 +02:00
Christophe de Dinechin e8f7ccd2d4 Make configuration generation less verbose 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 40b5b90342 Fix typo in CFLAGS for configuration builds 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 7f1c4e9abc Make sure pkgconfig are analyzed before checking configuration 2018-04-04 10:21:04 +02:00
Christophe de Dinechin 85baa3471d Reduce verbosity of configuration steps 2018-04-04 10:21:03 +02:00
Christophe de Dinechin 1099312c9f Slight beautification of configuration steps 2018-04-04 10:21:03 +02:00
Christophe de Dinechin dae13eb339 Add -rpath for the target path when building a DLL on OSX 2018-04-04 10:21:03 +02:00
Christophe de Dinechin 0f3b5d325a Expose configuration variables to makefile 2018-04-04 10:21:03 +02:00
Christophe de Dinechin 7de4f63cf9 Add makefile dependencies for configuration 2018-04-04 10:21:03 +02:00
Christophe de Dinechin 088ea30d1c Allow configuration programs to be local in project 2018-04-04 10:21:03 +02:00
Christophe de Dinechin b8c5d9776f Add PREFIX_SHARE variable 2018-04-04 10:21:03 +02:00
Christophe de Dinechin 80e6d1575d Nicer to have PKGCONFIG dependencies on their own line 2018-04-04 10:21:03 +02:00
Christophe de Dinechin 1b11630993 Build variants when VARIANTS= is set 2018-04-04 10:21:03 +02:00
Christophe de Dinechin cefab2c2e9 Remove useless BASENAME_DIR 2018-04-04 10:21:03 +02:00
Christophe de Dinechin 4ce7372146 Add OUTPUT and LOGS environment variables
They used to be called with annoying names that nobody would use
2018-04-04 10:21:03 +02:00