Don't overwrite CFLAGS
authorazrdev <azrdev@qrdn.de>
Sun, 14 May 2017 05:37:46 +0000 (07:37 +0200)
committerGitHub <noreply@github.com>
Sun, 14 May 2017 05:37:46 +0000 (07:37 +0200)
commitc1f1adbc280b6003c731578e7870a7094a9ac43d
tree5f76f8e08c3f6acf34c91389be8928ee6bc73764
parentec008a4995666d673bd4cb3926fae7f4b6aa3239
Don't overwrite CFLAGS

Preserve user/system-configured C_FLAGS.

This broke the rpm package build on fedora: They enable a hardened config (i.e. ASLR) by default, which adds -pie and -fPIC to linker and compiler flags. Overwriting C_FLAGS removed the compiler spec, but not the linker one, leading to an error like:

/bin/cc  -std=gnu99 -Wall -ggdb -pedantic  -specs=/usr/lib/rpm/redhat/redhat-hardened-ld CMakeFiles/mkdata.dir/tools/mkdata.c.o  -o mkdata -rdynamic
bin/ld: CMakeFiles/mkdata.dir/tools/mkdata.c.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
CMakeFiles/mkdata.dir/tools/mkdata.c.o: error adding symbols: Bad value

With this fix, the error is gone:

/bin/cc  -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -std=gnu99 -Wall -g -ggdb -pedantic  -specs=/usr/lib/rpm/redhat/redhat-hardened-ld CMakeFiles/mkdata.dir/tools/mkdata.c.o  -o mkdata -rdynamic
CMakeLists.txt