[llvm-commits] [dragonegg] r101057 - /dragonegg/trunk/Makefile

Duncan Sands baldrick at free.fr
Mon Apr 12 12:36:00 PDT 2010


Author: baldrick
Date: Mon Apr 12 14:35:59 2010
New Revision: 101057

URL: http://llvm.org/viewvc/llvm-project?rev=101057&view=rev
Log:
On Darwin, dynamic libraries are not the same as loadable modules,
so use the appropriate options to get a loadable module there.

Modified:
    dragonegg/trunk/Makefile

Modified: dragonegg/trunk/Makefile
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/Makefile?rev=101057&r1=101056&r2=101057&view=diff
==============================================================================
--- dragonegg/trunk/Makefile (original)
+++ dragonegg/trunk/Makefile Mon Apr 12 14:35:59 2010
@@ -20,6 +20,12 @@
 CFLAGS+=-Wall $(shell $(LLVM_CONFIG) --cflags)
 CXXFLAGS+=-Wall $(shell $(LLVM_CONFIG) --cxxflags)
 
+ifeq ($(shell uname),Darwin)
+LOADABLE_MODULE_OPTIONS=-bundle -undefined dynamic_lookup
+else
+LOADABLE_MODULE_OPTIONS=-shared
+endif
+
 GCC_PLUGIN_DIR=$(shell $(GCC) -print-file-name=plugin)
 TARGET_TRIPLE:=$(shell $(GCC) -v 2>&1 | grep "^Target:" | sed -e "s/^Target: *//")
 
@@ -77,8 +83,9 @@
 
 $(PLUGIN): $(PLUGIN_OBJECTS) $(TARGET_OBJECT) $(TARGET_UTIL)
 	@echo Linking $@
-	$(QUIET)$(CXX) -shared $(CXXFLAGS) $(PLUGIN_OBJECTS) $(TARGET_OBJECT) \
-	-o $@ $(LINKER) $(shell $(LLVM_CONFIG) --libs $(shell $(TARGET_UTIL) -p))
+	$(QUIET)$(CXX) $(LOADABLE_MODULE_OPTIONS) $(CXXFLAGS) -o $@ $(LINKER) \
+	$(PLUGIN_OBJECTS) $(TARGET_OBJECT) -o $@ $(LINKER) \
+	$(shell $(LLVM_CONFIG) --libs $(shell $(TARGET_UTIL) -p))
 
 clean::
 	$(QUIET)rm -f *.o *.d $(PLUGIN) $(TARGET_UTIL)





More information about the llvm-commits mailing list