From b02d96bd7cea40aa51c25034f830fa9438b17af4 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Mon, 26 Jul 2010 21:12:10 +0000 Subject: [PATCH] Use an export file. Plugins must export llvm::Registry symbols. Also, don't link in all the clang libraries statically. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109436 91177308-0d34-0410-b5e6-96231b3b80d8 --- examples/PrintFunctionNames/Makefile | 11 ++++++++--- .../PrintFunctionNames/PrintFunctionNames.exports | 1 + 2 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 examples/PrintFunctionNames/PrintFunctionNames.exports diff --git a/examples/PrintFunctionNames/Makefile b/examples/PrintFunctionNames/Makefile index 0ff5189437..125ac4854f 100644 --- a/examples/PrintFunctionNames/Makefile +++ b/examples/PrintFunctionNames/Makefile @@ -10,10 +10,15 @@ CLANG_LEVEL := ../.. LIBRARYNAME = PrintFunctionNames +# If we don't need RTTI or EH, there's no reason to export anything +# from the plugin. +ifneq ($(REQUIRES_RTTI), 1) +ifneq ($(REQUIRES_EH), 1) +EXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/PrintFunctionNames.exports +endif +endif + LINK_LIBS_IN_SHARED = 1 SHARED_LIBRARY = 1 -USEDLIBS = clangIndex.a clangFrontend.a clangDriver.a clangSema.a \ - clangAnalysis.a clangAST.a clangParse.a clangLex.a clangBasic.a - include $(CLANG_LEVEL)/Makefile diff --git a/examples/PrintFunctionNames/PrintFunctionNames.exports b/examples/PrintFunctionNames/PrintFunctionNames.exports new file mode 100644 index 0000000000..0ff590d30d --- /dev/null +++ b/examples/PrintFunctionNames/PrintFunctionNames.exports @@ -0,0 +1 @@ +_ZN4llvm8Registry* -- 2.40.0