[CMake] Expose opt-remark tooling through libOptRemarks.dylib
* Create an install target for it * Add it under tools/opt-remarks * Add an export file for the dylib * Install the llvm-c/OptRemarks.h header * Add an API to query its version rdar://45458839 llvm-svn: 346127
This commit is contained in:
parent
fec793c98f
commit
2ae1be726a
|
@ -635,6 +635,7 @@ macro(add_llvm_library name)
|
|||
set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS_BUILDTREE_ONLY ${name})
|
||||
else()
|
||||
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LTO" OR
|
||||
${name} STREQUAL "OptRemarks" OR
|
||||
(LLVM_LINK_LLVM_DYLIB AND ${name} STREQUAL "LLVM"))
|
||||
set(install_dir lib${LLVM_LIBDIR_SUFFIX})
|
||||
if(ARG_SHARED OR BUILD_SHARED_LIBS)
|
||||
|
|
|
@ -186,6 +186,13 @@ LLVMOptRemarkParserGetErrorMessage(LLVMOptRemarkParserRef Parser);
|
|||
*/
|
||||
extern void LLVMOptRemarkParserDispose(LLVMOptRemarkParserRef Parser);
|
||||
|
||||
/**
|
||||
* Returns the version of the opt-remarks dylib.
|
||||
*
|
||||
* \since OPT_REMARKS_API_VERSION=0
|
||||
*/
|
||||
extern uint32_t LLVMOptRemarkVersion(void);
|
||||
|
||||
/**
|
||||
* @} // endgoup LLVMCOPTREMARKS
|
||||
*/
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
set(LLVM_LINK_COMPONENTS
|
||||
OptRemarks
|
||||
)
|
||||
|
||||
set(SOURCES
|
||||
liboptremarks.cpp
|
||||
)
|
||||
|
||||
set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/OptRemarks.exports)
|
||||
|
||||
add_llvm_library(OptRemarks SHARED ${SOURCES})
|
||||
|
||||
install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/OptRemarks.h
|
||||
DESTINATION include/llvm-c
|
||||
COMPONENT OptRemarks)
|
||||
|
||||
if (APPLE)
|
||||
set(OPTREMARKS_VERSION ${LLVM_VERSION_MAJOR})
|
||||
set_property(TARGET OptRemarks APPEND_STRING PROPERTY
|
||||
LINK_FLAGS
|
||||
" -compatibility_version 1 -current_version ${OPTREMARKS_VERSION}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}")
|
||||
endif()
|
|
@ -0,0 +1,6 @@
|
|||
LLVMOptRemarkParserCreate
|
||||
LLVMOptRemarkParserGetNext
|
||||
LLVMOptRemarkParserHasError
|
||||
LLVMOptRemarkParserGetErrorMessage
|
||||
LLVMOptRemarkParserDispose
|
||||
LLVMOptRemarkVersion
|
|
@ -0,0 +1,18 @@
|
|||
//===-liboptremarks.cpp - LLVM Opt-Remarks Shared Library -----------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// Provide a library to work with optimization remarks.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm-c/OptRemarks.h"
|
||||
|
||||
extern uint32_t LLVMOptRemarkVersion(void) {
|
||||
return OPT_REMARKS_API_VERSION;
|
||||
}
|
Loading…
Reference in New Issue