Christophe de Dinechin
49adc492f5
Do not add LDFLAGS when building static libraries
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
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
6dd72b3adb
For configuration compiles, delay evaluation of CFLAGS, add LDFLAGS
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
40b5b90342
Fix typo in CFLAGS for configuration builds
2018-04-04 10:21:04 +02:00
Christophe de Dinechin
0f3b5d325a
Expose configuration variables to makefile
2018-04-04 10:21:03 +02:00
Christophe de Dinechin
99de9424db
Restore the passing of LDFLAGS when building libraries
2018-04-04 10:21:03 +02:00
Christophe de Dinechin
e209890343
Use -Lpath -llib for libraries
...
Avoid referencing libraries by absolute path, which is not very portable
2018-04-04 10:21:03 +02:00
Christophe de Dinechin
6a9ad13412
Make it simpler to mix static and shared libraries
...
Also avoid using libtool -shared, not available by default on many platforms
2018-04-04 10:21:03 +02:00
Christophe de Dinechin
391ecd8ff8
Link with ld if no C++ sources, closes GitHub #6
2018-04-04 10:21:03 +02:00
Christophe de Dinechin
131463c503
Add arm-linux-gnu cross-compiler support
...
(No support for selecting include and library path yet)
2018-04-04 10:21:03 +02:00
Christophe de Dinechin
4cabbde4b4
Change the way standard conformance is specified
2018-04-04 10:20:57 +02:00
Christophe de Dinechin
11093b9e66
Facilitate the creation of cross-compilation config.cross-gcc.mk
...
In order to create such a variant, you only need to override CC and CXX.
2018-04-04 10:20:15 +02:00
Christophe de Dinechin
93d13f8ecd
File name mangling when building configuration steps
...
This is to avoid problems on Windows, where a file name cannot
contain < or > and as a result, tests for HAVE_<unistd.h> failed.
2018-04-04 10:20:15 +02:00
Christophe de Dinechin
11393dc8af
Make sure we find configuration checks in build directory
2018-04-04 10:20:15 +02:00
Christophe de Dinechin
0f1266d53b
Append output of executing the test program, so that we can add other #define's
...
The sbrk example shows the result of sbrk(0) first run.
2018-04-04 10:20:15 +02:00
Christophe de Dinechin
5ee5fafc3f
Some factorization
2018-04-04 10:20:15 +02:00
Christophe de Dinechin
26dedc59e1
Check for library presence
2018-04-04 10:20:15 +02:00
Christophe de Dinechin
3293ab17f8
Link and execute the test program for completeness
2018-04-04 10:20:15 +02:00
Christophe de Dinechin
0a88f02d71
Add check for functions using a configuration file check
2018-04-04 10:20:15 +02:00
Christophe de Dinechin
a1f04b6cf4
Separate configuration generation rules in config.arch.mk
2018-04-04 10:19:40 +02:00
Christophe de Dinechin
28c8dda7c6
Single-pass dependency generation
2018-04-04 10:19:40 +02:00
Christophe de Dinechin
649859601c
Leave debug information for opt builds
2018-04-04 10:19:40 +02:00
Christophe de Dinechin
c745b4411b
Use GNU extensions also for C++11
2018-04-04 10:19:39 +02:00
Christophe de Dinechin
b80031f737
Activate standard C++11, not older standard
2018-04-04 10:19:39 +02:00
Christophe de Dinechin
1c3c0e606c
Initial state
2018-04-04 10:19:24 +02:00