From 6d733ed9fe0ebb7989d1d88e498095f6a6023faf Mon Sep 17 00:00:00 2001
From: Nico Weber <nicolasweber@gmx.de>
Date: Wed, 26 Jan 2011 21:28:52 +0000
Subject: [PATCH] make `make` work in examples/PrintFucntionNames on Mac. I
 checked that it still works on Linux.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124325 91177308-0d34-0410-b5e6-96231b3b80d8
---
 examples/PrintFunctionNames/Makefile   |  6 +++++-
 examples/PrintFunctionNames/README.txt | 10 ++++++----
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/examples/PrintFunctionNames/Makefile b/examples/PrintFunctionNames/Makefile
index 125ac4854ff..23a53054019 100644
--- a/examples/PrintFunctionNames/Makefile
+++ b/examples/PrintFunctionNames/Makefile
@@ -18,7 +18,11 @@ EXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/PrintFunctionNames.exports
 endif
 endif
 
-LINK_LIBS_IN_SHARED = 1
+LINK_LIBS_IN_SHARED = 0
 SHARED_LIBRARY = 1
 
 include $(CLANG_LEVEL)/Makefile
+
+ifeq ($(OS),Darwin)
+  LDFLAGS=-Wl,-undefined,dynamic_lookup
+endif
diff --git a/examples/PrintFunctionNames/README.txt b/examples/PrintFunctionNames/README.txt
index f0f5ba6136d..4c284cd170d 100644
--- a/examples/PrintFunctionNames/README.txt
+++ b/examples/PrintFunctionNames/README.txt
@@ -1,10 +1,12 @@
 This is a simple example demonstrating how to use clang's facility for
 providing AST consumers using a plugin.
 
-You will probably need to build clang so that it exports all symbols (disable
-TOOL_NO_EXPORT in the tools/clang Makefile).
+Build the plugin by running `make` in this directory.
 
 Once the plugin is built, you can run it using:
 --
-$ clang -cc1 -load path/to/libPrintFunctionNames.so -plugin print-fns some-input-file.c
---
+Linux:
+$ clang -cc1 -load ../../Debug+Asserts/lib/libPrintFunctionNames.so -plugin print-fns some-input-file.c
+
+Mac:
+$ clang -cc1 -load ../../Debug+Asserts/lib/libPrintFunctionNames.dylib -plugin print-fns some-input-file.c
-- 
GitLab