pkgsrc-wip/llvm-dfbsd/Makefile

117 lines
3.2 KiB
Makefile

# $NetBSD: Makefile,v 1.37 2019/02/18 16:56:40 minskim Exp $
#
# when updating this, please also update:
# devel/include-what-you-use
# devel/lldb
# devel/polly
# lang/clang
# lang/clang-static-analyzer
# lang/compiler-rt
# lang/libcxx
# lang/libcxxabi
# lang/libunwind
#
# Do not update:
# lang/libLLVM
# because pkgsrc provides multiple versions and lang/libLLVM is
# logically libLLVM4.
#
# Always update all */buildlink3.mk to require the latest stable release
# version in BUILDLINK_API_DEPENDS, as there is no backwards compatibility
DISTNAME= llvm-7.0.1.src
PKGNAME= ${DISTNAME:S/.src//}
# PKGREVISION= 1
CATEGORIES= lang devel
MASTER_SITES= http://llvm.org/releases/${PKGVERSION_NOREV}/
EXTRACT_SUFX= .tar.xz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://llvm.org/
COMMENT= Low Level Virtual Machine compiler infrastructure
LICENSE= modified-bsd
USE_LANGUAGES= c c++11
USE_CMAKE= yes
GCC_REQD+= 4.8
PYTHON_FOR_BUILD_ONLY= yes
CONFIGURE_DIRS= ${WRKDIR}/build
CMAKE_ARG_PATH= ${WRKSRC}
CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release
CMAKE_ARGS+= -DCMAKE_C_COMPILER=${CC:Q}
CMAKE_ARGS+= -DCMAKE_CXX_COMPILER=${CXX:Q}
CMAKE_ARGS+= -DCMAKE_CXX_LINK_FLAGS=${LDFLAGS:Q}
CMAKE_ARGS+= -DLLVM_BUILD_LLVM_DYLIB=ON
CMAKE_ARGS+= -DLLVM_INSTALL_UTILS=ON
CMAKE_ARGS+= -DLLVM_LINK_LLVM_DYLIB=ON
# Meson building mesa 18.2 requires this
CMAKE_ARGS+= -DLLVM_ENABLE_RTTI=ON
CMAKE_ARGS.Darwin+= -DCMAKE_LIBTOOL=/usr/bin/libtool
CHECK_PORTABILITY_SKIP= utils/buildit/build_llvm
# XXX perl is not added as a tool as it does not seem to be required
REPLACE_PERL+= utils/*.pl
REPLACE_PERL+= utils/codegen-diff
REPLACE_PERL+= utils/llvm-native-gxx
REPLACE_PYTHON+= tools/opt-viewer/*.py
REPLACE_PYTHON+= tools/sancov/*.py
REPLACE_PYTHON+= utils/*.py
REPLACE_PYTHON+= utils/Misc/zkill
REPLACE_PYTHON+= utils/bisect
REPLACE_PYTHON+= utils/clang-parse-diagnostics-file
REPLACE_PYTHON+= utils/git/find-rev
REPLACE_PYTHON+= utils/lit/tests/Inputs/googletest-format/DummySubDir/OneTest
REPLACE_PYTHON+= utils/llvm-build/llvm-build
REPLACE_PYTHON+= utils/llvm-compilers-check
REPLACE_PYTHON+= utils/llvm-lit/llvm-lit.in
TEST_TARGET= check
TEST_ENV+= LD_LIBRARY_PATH=${WRKDIR}/build/lib
# It may be that the Solaris linker is more strict here and they can be removed on
# all platforms. Change this to a patch if verified.
SUBST_CLASSES.SunOS+= lto
SUBST_STAGE.lto= pre-configure
SUBST_FILES.lto= tools/lto/lto.exports
SUBST_SED.lto= -e '/^LLVM/d'
.include "../../mk/bsd.prefs.mk"
PLIST_VARS+= notdylib
.if ${SHLIB_TYPE} == "dylib"
SOEXT= dylib
.else
SOEXT= so
PLIST.notdylib= yes
.endif
PLIST_SUBST+= SOEXT=${SOEXT}
# needs std::atomic with 64-bit CAS
.if ${MACHINE_ARCH} == "i386"
CXXFLAGS+= -march=i586
.endif
CXXFLAGS.DragonFly+= -fpermissive
.include "options.mk"
# replacing config.guess is required even for cmake.
# It is used to detect correct LLVM_HOST_TRIPLE, e.g. for NetBSD/evbarm.
post-extract:
${MKDIR} ${WRKDIR}/build
.for f in config.guess config.sub
cp ../../mk/gnu-config/${f} ${WRKSRC}/cmake/${f}
.endfor
.include "../../devel/zlib/buildlink3.mk"
.include "../../lang/python/application.mk"
.include "../../lang/python/tool.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"