From ee826c8d9cab9e735b9b38acc5aab620fbc50afe Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Fri, 28 Oct 2011 01:02:16 +0000 Subject: Have llvm-config --cppflags print correct flags when in CMake build directory Previously, if invoked from a CMake build directory, 'llvm-config --cppflags' and friends would only print a -I flag for the build directory's header search path, because it would assume that it was already installed, not recognising its parent directory as being the build directory. Teach llvm-config about CMake build directories so that it prints a -I for both the source and build directory's search paths. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143171 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/llvm-config/CMakeLists.txt | 2 ++ tools/llvm-config/Makefile | 6 ++++++ tools/llvm-config/llvm-config.in.in | 3 ++- 3 files changed, 10 insertions(+), 1 deletion(-) (limited to 'tools/llvm-config') diff --git a/tools/llvm-config/CMakeLists.txt b/tools/llvm-config/CMakeLists.txt index 60168623f1..69d3925cb2 100644 --- a/tools/llvm-config/CMakeLists.txt +++ b/tools/llvm-config/CMakeLists.txt @@ -48,6 +48,7 @@ set(LLVM_CXXFLAGS "@LLVM_CXXFLAGS@") set(LLVM_LDFLAGS "@LLVM_LDFLAGS@") set(LIBS "@LIBS@") set(LLVM_BUILDMODE "@LLVM_BUILDMODE@") +set(LLVM_OBJ_SUFFIX "@LLVM_OBJ_SUFFIX@") configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/llvm-config.in.in @@ -114,6 +115,7 @@ add_custom_command(OUTPUT ${LLVM_CONFIG} COMMAND echo s!@LLVM_LDFLAGS@!${CMAKE_SHARED_LINKER_FLAGS}! >> temp.sed COMMAND echo s!@LIBS@!${LLVM_SYSTEM_LIBS}! >> temp.sed COMMAND echo s!@LLVM_BUILDMODE@!${CMAKE_BUILD_TYPE}! >> temp.sed + COMMAND echo s!@LLVM_OBJ_SUFFIX@!! >> temp.sed COMMAND sed -f temp.sed < ${LLVM_CONFIG_IN} > ${LLVM_CONFIG} COMMAND ${CMAKE_COMMAND} -E remove -f temp.sed COMMAND cat ${FINAL_LIBDEPS} >> ${LLVM_CONFIG} diff --git a/tools/llvm-config/Makefile b/tools/llvm-config/Makefile index c7f7b3234d..6fee7de5b0 100644 --- a/tools/llvm-config/Makefile +++ b/tools/llvm-config/Makefile @@ -68,6 +68,8 @@ llvm-config-perobj: llvm-config.in $(GenLibDeps) $(LibDir) $(wildcard $(LibDir)/ >> temp.sed $(Verb) $(ECHO) 's/@LLVM_BUILDMODE@/$(subst /,\/,$(BuildMode))/' \ >> temp.sed + $(Verb) $(ECHO) 's/@LLVM_OBJ_SUFFIX@/$(subst /,\/,/$(BuildMode))/' \ + >> temp.sed $(Verb) $(SED) -f temp.sed < $< > $@ $(Verb) $(RM) temp.sed $(Verb) cat PerobjDepsFinal.txt >> $@ @@ -88,6 +90,8 @@ llvm-config-perobjincl: llvm-config.in $(GenLibDeps) $(LibDir) $(wildcard $(LibD >> temp.sed $(Verb) $(ECHO) 's/@LLVM_BUILDMODE@/$(subst /,\/,$(BuildMode))/' \ >> temp.sed + $(Verb) $(ECHO) 's/@LLVM_OBJ_SUFFIX@/$(subst /,\/,/$(BuildMode))/' \ + >> temp.sed $(Verb) $(SED) -f temp.sed < $< > $@ $(Verb) $(RM) temp.sed $(Verb) cat PerobjDepsInclFinal.txt >> $@ @@ -106,6 +110,8 @@ $(ToolDir)/llvm-config: llvm-config.in $(FinalLibDeps) >> temp.sed $(Verb) $(ECHO) 's/@LLVM_BUILDMODE@/$(subst /,\/,$(BuildMode))/' \ >> temp.sed + $(Verb) $(ECHO) 's/@LLVM_OBJ_SUFFIX@/$(subst /,\/,/$(BuildMode))/' \ + >> temp.sed $(Verb) $(SED) -f temp.sed < $< > $@ $(Verb) $(RM) temp.sed $(Verb) cat $(FinalLibDeps) >> $@ diff --git a/tools/llvm-config/llvm-config.in.in b/tools/llvm-config/llvm-config.in.in index 03efb031bb..a456dc6e77 100644 --- a/tools/llvm-config/llvm-config.in.in +++ b/tools/llvm-config/llvm-config.in.in @@ -45,6 +45,7 @@ my $CXXFLAGS = q{@LLVM_CXXFLAGS@}; my $LDFLAGS = q{@LLVM_LDFLAGS@}; my $SYSTEM_LIBS = q{@LIBS@}; my $LLVM_BUILDMODE = q{@LLVM_BUILDMODE@}; +my $LLVM_OBJ_SUFFIX = q{@LLVM_OBJ_SUFFIX@}; #---- end Makefile values ---- # Figure out where llvm-config is being run from. Primarily, we care if it has @@ -60,7 +61,7 @@ my $ABS_RUN_DIR = abs_path("$RUN_DIR/.."); chomp($ABS_RUN_DIR); # Compute the absolute object directory build, e.g. "foo/llvm/Debug". -my $ABS_OBJ_ROOT = "$LLVM_OBJ_ROOT/$LLVM_BUILDMODE"; +my $ABS_OBJ_ROOT = "$LLVM_OBJ_ROOT$LLVM_OBJ_SUFFIX"; $ABS_OBJ_ROOT = abs_path("$ABS_OBJ_ROOT") if (-d $ABS_OBJ_ROOT); chomp($ABS_OBJ_ROOT); -- cgit v1.2.3