Sylvestre Ledru 103b51c72e Following the modification introduced in llvm by commit 185311
The build system is currently miss-identifying GNU/kFreeBSD as FreeBSD.
This kind of simplification is sometimes useful, but in general it's not correct. 

As GNU/kFreeBSD is an hybrid system, for kernel-related issues we want to match the
build definitions used for FreeBSD, whereas for userland-related issues we want to
match the definitions used for other systems with Glibc.

The current modification adjusts the build system so that they can be distinguished,
and explicitly adds GNU/kFreeBSD to the build checks in which it belongs.

Fixes bug #16445.

Patch by Robert Millan in the context of Debian.

llvm-svn: 185312
2013-07-01 08:13:34 +00:00

65 lines
2.3 KiB
Makefile

##===- tools/libclang/Makefile -----------------------------*- Makefile -*-===##
#
# The LLVM Compiler Infrastructure
#
# This file is distributed under the University of Illinois Open Source
# License. See LICENSE.TXT for details.
#
##===----------------------------------------------------------------------===##
CLANG_LEVEL := ../..
LIBRARYNAME = clang
EXPORTED_SYMBOL_FILE = $(PROJ_SRC_DIR)/libclang.exports
LINK_LIBS_IN_SHARED = 1
SHARED_LIBRARY = 1
include $(CLANG_LEVEL)/../../Makefile.config
LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option
USEDLIBS = clangFrontend.a clangDriver.a \
clangTooling.a \
clangSerialization.a \
clangParse.a clangSema.a \
clangARCMigrate.a clangRewriteFrontend.a clangRewriteCore.a \
clangAnalysis.a clangEdit.a \
clangAST.a clangLex.a clangBasic.a \
clangFormat.a
include $(CLANG_LEVEL)/Makefile
# Add soname to the library.
ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD))
LDFLAGS += -Wl,-soname,lib$(LIBRARYNAME)$(SHLIBEXT)
endif
##===----------------------------------------------------------------------===##
# FIXME: This is copied from the 'lto' makefile. Should we share this?
##===----------------------------------------------------------------------===##
ifeq ($(HOST_OS),Darwin)
LLVMLibsOptions += -Wl,-compatibility_version,1
# Set dylib internal version number to submission number.
ifdef LLVM_SUBMIT_VERSION
LLVMLibsOptions += -Wl,-current_version \
-Wl,$(LLVM_SUBMIT_VERSION).$(LLVM_SUBMIT_SUBVERSION)
endif
# Extra options to override libtool defaults.
LLVMLibsOptions += -Wl,-dead_strip
# 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,"@rpath/lib$(LIBRARYNAME)$(SHLIBEXT)"
endif
# If we're doing an Apple-style build, add the LTO object path.
ifeq ($(RC_XBS),YES)
TempFile := $(shell mkdir -p ${OBJROOT}/dSYMs ; mktemp ${OBJROOT}/dSYMs/clang-lto.XXXXXX)
LLVMLibsOptions += -Wl,-object_path_lto -Wl,$(TempFile)
endif
endif