pkgsrc/lang/llvm/Makefile
jperkin cbc9b0207d llvm: Change how sys/regset.h workaround is implemented.
Previously a special override header was used via an additional include path,
but this extra include path was not exported to llvm-config so while llvm was
ok, dependencies wouldn't find the header and fail.

Instead just pull the changes directly inline into DataTypes.h so that they
are available everywhere.  Fixes the clang build on SunOS.  Bump PKGREVISION.
2018-01-08 10:48:34 +00:00

103 lines
2.9 KiB
Makefile

# $NetBSD: Makefile,v 1.28 2018/01/08 10:48:34 jperkin Exp $
#
# when updating this, please also update:
# devel/include-what-you-use
# devel/lldb
# devel/polly
# lang/clang
# lang/clang-static-analyzer
# lang/libLLVM
# lang/libunwind
#
# Always update all */buildlink3.mk to require the latest stable release
# version in BUILDLINK_API_DEPENDS, as there is no backwards compatibility
DISTNAME= llvm-5.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= http://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
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
.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:
${RUN} mkdir -p ${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 "../../mk/bsd.pkg.mk"