Changeset View
Changeset View
Standalone View
Standalone View
head/devel/llvm40/Makefile
# $FreeBSD$ | # $FreeBSD$ | ||||
PORTNAME= llvm | PORTNAME= llvm | ||||
DISTVERSION= 4.0.1 | DISTVERSION= 4.0.1 | ||||
PORTREVISION= 11 | PORTREVISION= 12 | ||||
CATEGORIES= devel lang | CATEGORIES= devel lang | ||||
MASTER_SITES= http://llvm.org/${PRE_}releases/${LLVM_RELEASE}/${RCDIR} | MASTER_SITES= http://llvm.org/${PRE_}releases/${LLVM_RELEASE}/${RCDIR} | ||||
PKGNAMESUFFIX= ${LLVM_SUFFIX} | PKGNAMESUFFIX= ${LLVM_SUFFIX} | ||||
DISTNAME= ${PORTNAME}-${DISTVERSION}.src | DISTNAME= ${PORTNAME}-${DISTVERSION}.src | ||||
DISTFILES= ${PORTNAME}-${DISTVERSION}.src${EXTRACT_SUFX} | DISTFILES= ${PORTNAME}-${DISTVERSION}.src${EXTRACT_SUFX} | ||||
MAINTAINER= brooks@FreeBSD.org | MAINTAINER= brooks@FreeBSD.org | ||||
COMMENT= LLVM and Clang | COMMENT= LLVM and Clang | ||||
.include "${.CURDIR}/../llvm-devel/Makefile.LICENSE" | .include "${.CURDIR}/../llvm-devel/Makefile.LICENSE" | ||||
LLVM_RELEASE= ${DISTVERSION:C/rc.*//} | LLVM_RELEASE= ${DISTVERSION:C/rc.*//} | ||||
LLVM_MAJOR= ${LLVM_RELEASE:C/\.[0-9]$//} | LLVM_MAJOR= ${LLVM_RELEASE:C/\.[0-9]$//} | ||||
LLVM_LIB_VER= ${LLVM_MAJOR:C/\.//} | LLVM_LIB_VER= ${LLVM_MAJOR:C/\.//} | ||||
RCDIR= ${DISTVERSION:S/${LLVM_RELEASE}//:C|(rc.*)|\1/|} | RCDIR= ${DISTVERSION:S/${LLVM_RELEASE}//:C|(rc.*)|\1/|} | ||||
PRE_= ${DISTVERSION:C/.*rc.*/pre-/:N*[0-9]*} | PRE_= ${DISTVERSION:C/.*rc.*/pre-/:N*[0-9]*} | ||||
LLVM_SUFFIX= ${LLVM_LIB_VER} | LLVM_SUFFIX= ${LLVM_LIB_VER} | ||||
LLVM_PREFIX= ${PREFIX}/llvm${LLVM_SUFFIX} | LLVM_PREFIX= ${PREFIX}/llvm${LLVM_SUFFIX} | ||||
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${LLVM_SUFFIX} | DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${LLVM_SUFFIX} | ||||
DATADIR= ${PREFIX}/share/${PORTNAME}${LLVM_SUFFIX} | DATADIR= ${PREFIX}/share/${PORTNAME}${LLVM_SUFFIX} | ||||
USES= cmake compiler:c++11-lib libedit perl5 tar:xz \ | USES= cmake compiler libedit perl5 tar:xz shebangfix | ||||
shebangfix | |||||
_USES_PYTHON?= python:2.7,build | _USES_PYTHON?= python:2.7,build | ||||
USES+= ${_USES_PYTHON} | USES+= ${_USES_PYTHON} | ||||
USE_LDCONFIG= ${LLVM_PREFIX}/lib | USE_LDCONFIG= ${LLVM_PREFIX}/lib | ||||
SHEBANG_FILES= utils/lit/lit.py utils/llvm-lit/llvm-lit.in | SHEBANG_FILES= utils/lit/lit.py utils/llvm-lit/llvm-lit.in | ||||
SUB_FILES= llvm-wrapper.sh | SUB_FILES= llvm-wrapper.sh | ||||
SUB_LIST= LLVM_PREFIX="${LLVM_PREFIX}" LLVM_SUFFIX="${LLVM_SUFFIX}" | SUB_LIST= LLVM_PREFIX="${LLVM_PREFIX}" LLVM_SUFFIX="${LLVM_SUFFIX}" | ||||
CMAKE_INSTALL_PREFIX= ${LLVM_PREFIX} | CMAKE_INSTALL_PREFIX= ${LLVM_PREFIX} | ||||
CMAKE_ARGS= -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON | CMAKE_ARGS= -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON | ||||
CMAKE_ARGS+= -DLLVM_ENABLE_RTTI=ON | CMAKE_ARGS+= -DLLVM_ENABLE_RTTI=ON | ||||
CMAKE_ARGS+= -DLLVM_DEFAULT_TARGET_TRIPLE=${CONFIGURE_TARGET} | CMAKE_ARGS+= -DLLVM_DEFAULT_TARGET_TRIPLE=${CONFIGURE_TARGET} | ||||
CMAKE_ARGS+= -DLLVM_HOST_TRIPLE=${CONFIGURE_TARGET} | CMAKE_ARGS+= -DLLVM_HOST_TRIPLE=${CONFIGURE_TARGET} | ||||
# Following commit https://github.com/kitware/cmake/commit/956054 | # Following commit https://github.com/kitware/cmake/commit/956054 | ||||
# we need to either change the whole man-shuffle below, or simply | # we need to either change the whole man-shuffle below, or simply | ||||
# redefine CMAKE_INSTALL_MANDIR | # redefine CMAKE_INSTALL_MANDIR | ||||
CMAKE_ARGS+= -DCMAKE_INSTALL_MANDIR:PATH="share/man" | CMAKE_ARGS+= -DCMAKE_INSTALL_MANDIR:PATH="share/man" | ||||
CMAKE_ARGS+= -DLLVM_PARALLEL_LINK_JOBS=1 | CMAKE_ARGS+= -DLLVM_PARALLEL_LINK_JOBS=1 | ||||
# Disable assertions. They should be disabled by cmake, but USES=cmake | |||||
# overrides -DCMAKE_*_FLAGS_RELEASE. | |||||
CFLAGS+= -DNDEBUG | |||||
CXXFLAGS+= -DNDEBUG | |||||
OPTIONS_DEFINE= CLANG DOCS EXTRAS LIT LLD LLDB | OPTIONS_DEFINE= CLANG DOCS EXTRAS LIT LLD LLDB | ||||
OPTIONS_DEFINE_amd64= COMPILER_RT GOLD OPENMP | OPTIONS_DEFINE_amd64= COMPILER_RT GOLD OPENMP | ||||
OPTIONS_DEFINE_i386= COMPILER_RT OPENMP | OPTIONS_DEFINE_i386= COMPILER_RT OPENMP | ||||
OPTIONS_DEFAULT= CLANG EXTRAS LIT LLD LLDB | OPTIONS_DEFAULT= CLANG EXTRAS LIT LLD LLDB | ||||
OPTIONS_DEFAULT_amd64= COMPILER_RT GOLD OPENMP | OPTIONS_DEFAULT_amd64= COMPILER_RT GOLD OPENMP | ||||
OPTIONS_DEFAULT_i386= COMPILER_RT OPENMP | OPTIONS_DEFAULT_i386= COMPILER_RT OPENMP | ||||
OPTIONS_SUB= yes | OPTIONS_SUB= yes | ||||
▲ Show 20 Lines • Show All 123 Lines • ▼ Show 20 Lines | EXTRAS_LIBS= libclangApplyReplacements \ | ||||
libclangTidyGoogleModule \ | libclangTidyGoogleModule \ | ||||
libclangTidyLLVMModule \ | libclangTidyLLVMModule \ | ||||
libclangTidyMiscModule \ | libclangTidyMiscModule \ | ||||
libclangTidyReadabilityModule \ | libclangTidyReadabilityModule \ | ||||
libclangTidyUtils \ | libclangTidyUtils \ | ||||
libfindAllSymbols \ | libfindAllSymbols \ | ||||
libmodernizeCore | libmodernizeCore | ||||
EXTRAS_PATTERN= ${EXTRAS_COMMANDS:tW:C/ */|/g}|${EXTRAS_LIBS:tW:C/ */|/g} | EXTRAS_PATTERN= ${EXTRAS_COMMANDS:tW:C/ */|/g}|${EXTRAS_LIBS:tW:C/ */|/g} | ||||
# Force GCC 5 on non-clang systems because GCC 8 won't compile this code. | |||||
.if exists(/usr/lib/libstdc++.so) | |||||
USE_GCC= 5 | |||||
.endif | |||||
.include <bsd.port.options.mk> | .include <bsd.port.options.mk> | ||||
# keep in sync with /usr/src/lib/clang/llvm.build.mk | # keep in sync with /usr/src/lib/clang/llvm.build.mk | ||||
# ----------- start of sync block ------------------ | # ----------- start of sync block ------------------ | ||||
# Armv6 and armv7 uses hard float abi, unless the CPUTYPE has soft in it. | # Armv6 and armv7 uses hard float abi, unless the CPUTYPE has soft in it. | ||||
# arm (for armv4 and armv5 CPUs) always uses the soft float ABI. | # arm (for armv4 and armv5 CPUs) always uses the soft float ABI. | ||||
# For all other targets, we stick with 'unknown'. | # For all other targets, we stick with 'unknown'. | ||||
▲ Show 20 Lines • Show All 358 Lines • Show Last 20 Lines |