forked from llvm-mirror/llvm
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Revert commit 145449 (ddunbar) since it is breaking the dragonegg bui…
…ldbots. Original commit message: llvm-config: Replace with C++ version (was llvm-config-2). - Reapply of r144300, with lots of fixes/migration easement in between. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145582 91177308-0d34-0410-b5e6-96231b3b80d8
- Loading branch information
1 parent
7d5a61e
commit f6ace19
Showing
17 changed files
with
1,303 additions
and
426 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
//===-- BuildVariables.inc.in - llvm-config build variables -*- C++ -*-----===// | ||
// | ||
// The LLVM Compiler Infrastructure | ||
// | ||
// This file is distributed under the University of Illinois Open Source | ||
// License. See LICENSE.TXT for details. | ||
// | ||
//===----------------------------------------------------------------------===// | ||
// | ||
// This file is configured by the build system to define the variables | ||
// llvm-config wants to report to the user, but which can only be determined at | ||
// build time. | ||
// | ||
// The non .in variant of this file has been autogenerated by the LLVM build. Do | ||
// not edit! | ||
// | ||
//===----------------------------------------------------------------------===// | ||
|
||
#define LLVM_SRC_ROOT "@LLVM_SRC_ROOT@" | ||
#define LLVM_OBJ_ROOT "@LLVM_OBJ_ROOT@" | ||
#define LLVM_CPPFLAGS "@LLVM_CPPFLAGS@" | ||
#define LLVM_CFLAGS "@LLVM_CFLAGS@" | ||
#define LLVM_LDFLAGS "@LLVM_LDFLAGS@" | ||
#define LLVM_CXXFLAGS "@LLVM_CXXFLAGS@" | ||
#define LLVM_BUILDMODE "@LLVM_BUILDMODE@" | ||
#define LLVM_SYSTEM_LIBS "@LLVM_SYSTEM_LIBS@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
set(LLVM_LINK_COMPONENTS support) | ||
|
||
# We need to generate the BuildVariables.inc file containing values which are | ||
# only defined when under certain build modes. Unfortunately, that precludes | ||
# doing this inside CMake so we have to shell out to sed. For now, that means we | ||
# can't expect to build llvm-config on Window.s | ||
set(BUILDVARIABLES_SRCPATH ${CMAKE_CURRENT_SOURCE_DIR}/BuildVariables.inc.in) | ||
set(BUILDVARIABLES_OBJPATH ${CMAKE_CURRENT_BINARY_DIR}/BuildVariables.inc) | ||
set(SEDSCRIPT_OBJPATH ${CMAKE_CURRENT_BINARY_DIR}/BuildVariables.configure.sed) | ||
|
||
# Compute the substitution values for various items. | ||
get_system_libs(LLVM_SYSTEM_LIBS_LIST) | ||
foreach(l ${LLVM_SYSTEM_LIBS_LIST}) | ||
set(SYSTEM_LIBS ${SYSTEM_LIBS} "-l${l}") | ||
endforeach() | ||
set(C_FLGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${LLVM_DEFINITIONS}") | ||
set(CXX_FLGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${LLVM_DEFINITIONS}") | ||
set(CPP_FLGS "${CMAKE_CPP_FLAGS} ${CMAKE_CPP_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${LLVM_DEFINITIONS}") | ||
|
||
add_custom_command(OUTPUT ${BUILDVARIABLES_OBJPATH} | ||
COMMAND echo s!@LLVM_SRC_ROOT@!${LLVM_MAIN_SRC_DIR}! > ${SEDSCRIPT_OBJPATH} | ||
COMMAND echo s!@LLVM_OBJ_ROOT@!${LLVM_BINARY_DIR}! >> ${SEDSCRIPT_OBJPATH} | ||
COMMAND echo s!@LLVM_CPPFLAGS@!${CPP_FLGS}! >> ${SEDSCRIPT_OBJPATH} | ||
COMMAND echo s!@LLVM_CFLAGS@!${C_FLGS}! >> ${SEDSCRIPT_OBJPATH} | ||
COMMAND echo s!@LLVM_CXXFLAGS@!${CXX_FLGS}! >> ${SEDSCRIPT_OBJPATH} | ||
# TODO: Use general flags for linking! not just for shared libs: | ||
COMMAND echo s!@LLVM_LDFLAGS@!${CMAKE_SHARED_LINKER_FLAGS}! >> ${SEDSCRIPT_OBJPATH} | ||
COMMAND echo s!@LLVM_BUILDMODE@!${CMAKE_BUILD_TYPE}! >> ${SEDSCRIPT_OBJPATH} | ||
COMMAND echo s!@LLVM_SYSTEM_LIBS@!${SYSTEM_LIBS}! >> ${SEDSCRIPT_OBJPATH} | ||
COMMAND sed -f ${SEDSCRIPT_OBJPATH} < ${BUILDVARIABLES_SRCPATH} > ${BUILDVARIABLES_OBJPATH} | ||
VERBATIM | ||
COMMENT "Building BuildVariables.inc include." | ||
) | ||
|
||
# Add the llvm-config tool. | ||
add_llvm_tool(llvm-config-2 | ||
llvm-config.cpp | ||
) | ||
|
||
# Add the dependency on the generation step. | ||
add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/llvm-config.cpp ${BUILDVARIABLES_OBJPATH}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
##===- tools/llvm-config/Makefile---------------------------*- Makefile -*-===## | ||
# | ||
# The LLVM Compiler Infrastructure | ||
# | ||
# This file is distributed under the University of Illinois Open Source | ||
# License. See LICENSE.TXT for details. | ||
# | ||
##===----------------------------------------------------------------------===## | ||
|
||
LEVEL := ../.. | ||
TOOLNAME := llvm-config-2 | ||
USEDLIBS := LLVMSupport.a | ||
|
||
# We generate sources in the build directory, make sure it is in the include | ||
# paths. | ||
INCLUDE_BUILD_DIR := 1 | ||
|
||
# This tool has no plugins, optimize startup time. | ||
TOOL_NO_EXPORTS := 1 | ||
|
||
# Note that we have to use lazy expansion here. | ||
BUILDVARIABLES_SRCPATH = $(PROJ_SRC_ROOT)/tools/$(TOOLNAME)/BuildVariables.inc.in | ||
BUILDVARIABLES_OBJPATH = $(ObjDir)/BuildVariables.inc | ||
BUILT_SOURCES = $(BUILDVARIABLES_OBJPATH) | ||
|
||
include $(LEVEL)/Makefile.common | ||
|
||
# Combine preprocessor flags (except for -I) and CXX flags. | ||
SUB_CPPFLAGS := ${CPP.BaseFlags} | ||
SUB_CFLAGS := ${CPP.BaseFlags} ${C.Flags} | ||
SUB_CXXFLAGS := ${CPP.BaseFlags} ${CXX.Flags} | ||
|
||
# This is blank for now. We need to be careful about adding stuff here: | ||
# LDFLAGS tend not to be portable, and we don't currently require the | ||
# user to use libtool when linking against LLVM. | ||
SUB_LDFLAGS := | ||
|
||
$(ObjDir)/BuildVariables.inc: $(BUILDVARIABLES_SRCPATH) Makefile $(ObjDir)/.dir | ||
$(Echo) "Building llvm-config BuildVariables.inc file." | ||
$(Verb) $(ECHO) 's/@LLVM_SRC_ROOT@/$(subst /,\/,$(LLVM_SRC_ROOT))/' \ | ||
> temp.sed | ||
$(Verb) $(ECHO) 's/@LLVM_OBJ_ROOT@/$(subst /,\/,$(LLVM_OBJ_ROOT))/' \ | ||
>> temp.sed | ||
$(Verb) $(ECHO) 's/@LLVM_CPPFLAGS@/$(subst /,\/,$(SUB_CPPFLAGS))/' \ | ||
>> temp.sed | ||
$(Verb) $(ECHO) 's/@LLVM_CFLAGS@/$(subst /,\/,$(SUB_CFLAGS))/' \ | ||
>> temp.sed | ||
$(Verb) $(ECHO) 's/@LLVM_CXXFLAGS@/$(subst /,\/,$(SUB_CXXFLAGS))/' \ | ||
>> temp.sed | ||
$(Verb) $(ECHO) 's/@LLVM_LDFLAGS@/$(subst /,\/,$(SUB_LDFLAGS))/' \ | ||
>> temp.sed | ||
$(Verb) $(ECHO) 's/@LLVM_BUILDMODE@/$(subst /,\/,$(BuildMode))/' \ | ||
>> temp.sed | ||
$(Verb) $(ECHO) 's/@LLVM_SYSTEM_LIBS@/$(subst /,\/,$(LIBS))/' \ | ||
>> temp.sed | ||
$(Verb) $(SED) -f temp.sed < $< > $@ | ||
$(Verb) $(RM) temp.sed |
Oops, something went wrong.