From abbdd88683abddb44197abcd5acd8a59e8fa10b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20B=C3=B8e?= Date: Tue, 5 Dec 2017 12:24:01 +0100 Subject: [PATCH] cmake: Fix EXTRA_LDFLAGS feature MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It is supported to add give extra flags to the linker from the commandline like this: cmake -DEXTRA_LDFLAGS=-Lmy_dir path But unfortunately this was broken during the CMake migration. Interestingly, the reason that it was broken is that KBuild was also partially broken. KBuild would pass on EXTRA_LDFLAGS when object files were linked together into built-in.o files, but it would not use EXTRA_LDFLAGS for the final link into an elf file. This patch fixes EXTRA_LDFLAGS. Signed-off-by: Sebastian Bøe --- cmake/extra_flags.cmake | 2 +- scripts/sanitycheck | 2 +- tests/unit/unittest.cmake | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/extra_flags.cmake b/cmake/extra_flags.cmake index b1f99905d92..e053eb7754a 100644 --- a/cmake/extra_flags.cmake +++ b/cmake/extra_flags.cmake @@ -1,5 +1,5 @@ separate_arguments(EXTRA_CPPFLAGS_AS_LIST UNIX_COMMAND ${EXTRA_CPPFLAGS}) -separate_arguments(EXTRA_LD_FLAGS_AS_LIST UNIX_COMMAND ${EXTRA_LD_FLAGS}) +separate_arguments(EXTRA_LDFLAGS_AS_LIST UNIX_COMMAND ${EXTRA_LDFLAGS}) separate_arguments(EXTRA_CFLAGS_AS_LIST UNIX_COMMAND ${EXTRA_CFLAGS}) separate_arguments(EXTRA_CXXFLAGS_AS_LIST UNIX_COMMAND ${EXTRA_CXXFLAGS}) separate_arguments(EXTRA_AFLAGS_AS_LIST UNIX_COMMAND ${EXTRA_AFLAGS}) diff --git a/scripts/sanitycheck b/scripts/sanitycheck index 0272e2f52af..37a39f8b15b 100755 --- a/scripts/sanitycheck +++ b/scripts/sanitycheck @@ -678,7 +678,7 @@ class MakeGenerator: \t\t-B{outdir}\\ \t\t-DEXTRA_CFLAGS="-Werror {cflags}"\\ \t\t-DEXTRA_AFLAGS=-Wa,--fatal-warnings\\ -\t\t-DEXTRA_LDFLAGS=--fatal-warnings\\ +\t\t-DEXTRA_LDFLAGS=-Wl,--fatal-warnings\\ \t\t{args}\\ \t\t>{logfile} 2>&1 \t$(MAKE) -C {outdir}\\ diff --git a/tests/unit/unittest.cmake b/tests/unit/unittest.cmake index 52c89fef412..e0d7caaf68f 100644 --- a/tests/unit/unittest.cmake +++ b/tests/unit/unittest.cmake @@ -12,7 +12,7 @@ separate_arguments( EXTRA_CFLAGS_AS_LIST UNIX_COMMAND ${EXTRA_CFLAGS}) separate_arguments( EXTRA_AFLAGS_AS_LIST UNIX_COMMAND ${EXTRA_AFLAGS}) separate_arguments(EXTRA_CPPFLAGS_AS_LIST UNIX_COMMAND ${EXTRA_CPPFLAGS}) separate_arguments(EXTRA_CXXFLAGS_AS_LIST UNIX_COMMAND ${EXTRA_CXXFLAGS}) -separate_arguments(EXTRA_LD_FLAGS_AS_LIST UNIX_COMMAND ${EXTRA_LD_FLAGS}) +separate_arguments(EXTRA_LDFLAGS_AS_LIST UNIX_COMMAND ${EXTRA_LDFLAGS}) if(NOT SOURCES) set(SOURCES main.c)