diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-09-15 03:53:45 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-09-15 03:53:45 +0000 |
commit | 53a4d7e4f315eab2315e01e8a81037c8d7df6c0c (patch) | |
tree | 05c3931c307679b260b5896abeeed12cfd838951 /runtime/libcxx | |
parent | 02282acd7a42d06a3178e3102d34a585bd82dd9f (diff) |
build: Start sketching code to allow grafting libc++ build into LLVM/Clang build if
libc++ is checked out into llvm/projects.
- WIP, not on by default yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113924 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'runtime/libcxx')
-rw-r--r-- | runtime/libcxx/Makefile | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/runtime/libcxx/Makefile b/runtime/libcxx/Makefile new file mode 100644 index 0000000000..bbe5b67c40 --- /dev/null +++ b/runtime/libcxx/Makefile @@ -0,0 +1,63 @@ +##===- clang/runtime/libcxx/Makefile -----------------------*- Makefile -*-===## +# +# The LLVM Compiler Infrastructure +# +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. +# +##===----------------------------------------------------------------------===## +# +# This file defines support for building the "libc++" C++ standard library as +# part of a Clang compiler build. +# +##===----------------------------------------------------------------------===## + +CLANG_LEVEL := ../.. +LEVEL := $(CLANG_LEVEL)/../.. +LIBRARYNAME = c++ + +LINK_LIBS_IN_SHARED = 1 +SHARED_LIBRARY = 1 + +# Include LLVM common makefile. +include $(LEVEL)/Makefile.config + +# Expect libcxx to be in llvm/projects/libcxx +LIBCXX_SRC_ROOT := $(LLVM_SRC_ROOT)/projects/libcxx + +# Override the source root to point at the libcxx sources. +PROJ_MAKEFILE := $(PROJ_SRC_DIR)/Makefile +PROJ_SRC_DIR := $(LIBCXX_SRC_ROOT)/src +CPP.Flags := -nostdinc++ -I$(LIBCXX_SRC_ROOT)/include +CXX.Flags := -std=c++0x + +# Include LLVM makefile rules. +include $(LLVM_SRC_ROOT)/Makefile.rules + +# Force building with the just built Clang. +# +# FIXME: Do we really want to do this? It is uber slow. +# CXX := $(ToolDir)/clang + +ifeq ($(HOST_OS),Darwin) + LLVMLibsOptions += -Wl,-compatibility_version,1 + + # Don't link with default libraries. + LLVMLibsOptions += -nodefaultlibs -lSystem + + # Reexport libc++abi. + LLVMLibsOptions += -Wl,-reexport_library,/usr/lib/libc++abi.dylib + + # Set dylib internal version number to submission number. + ifdef LLVM_SUBMIT_VERSION + LLVMLibsOptions += -Wl,-current_version \ + -Wl,$(LLVM_SUBMIT_VERSION).$(LLVM_SUBMIT_SUBVERSION) + endif + + # Mac OS X 10.4 and earlier tools do not allow a second -install_name on command line + DARWIN_VERS := $(shell echo $(TARGET_TRIPLE) | sed 's/.*darwin\([0-9]*\).*/\1/') + ifneq ($(DARWIN_VERS),8) + LLVMLibsOptions += -Wl,-install_name \ + -Wl,"@executable_path/../lib/lib$(LIBRARYNAME)$(SHLIBEXT)" + endif +endif |