brad ec010cbf26 r228507
Avoid integer overflows around realloc calls resulting in potential
heap. Problem identified by Guido Vranken.

r225819
Use the integrated assembler as default on PowerPC
r225957
Use the integrated assembler by default on SPARC.
r225958
Use the integrated assembler by default on 32-bit PowerPC and SPARC.
2015-02-11 00:29:05 +00:00

82 lines
2.2 KiB
Makefile

# $OpenBSD: Makefile,v 1.100 2015/02/11 00:29:05 brad Exp $
# XXX: Remember to bump MODCLANG_VERSION in lang/clang/clang.port.mk when
# updating this port.
ONLY_FOR_ARCHS = ${LLVM_ARCHS}
DPB_PROPERTIES = parallel
COMMENT = modular, fast C/C++/ObjC compiler, static analyzer and tools
LLVM_V = 3.5
DISTNAME = llvm-${LLVM_V}.20140228
REVISION = 27
CATEGORIES = devel
MASTER_SITES = http://comstyle.com/source/
EXTRACT_SUFX = .tar.xz
SHARED_LIBS = clang 1.0
# packager notes in http://llvm.org/docs/Packaging.html
HOMEPAGE = http://www.llvm.org/
MAINTAINER= Brad Smith <brad@comstyle.com>
# BSD
PERMIT_PACKAGE_CDROM = Yes
WANTLIB = c m pthread stdc++ z
MODULES = devel/cmake \
lang/python
TEST_DEPENDS = devel/dejagnu \
shells/bash
BUILD_DEPENDS += textproc/py-sphinx
RUN_DEPENDS += devel/gtest
SEPARATE_BUILD = Yes
CONFIGURE_ARGS = -DLLVM_ENABLE_FFI:Bool=False \
-DLLVM_ENABLE_TERMINFO:Bool=False \
-DLLVM_REQUIRES_RTTI:Bool=True \
-DCMAKE_DISABLE_FIND_PACKAGE_LibXml2:Bool=True
# Workaround relocation overflow
#
# Have the build disable PIE to workaround breakage that was
# introduced when PIE was enabled
.if ${MACHINE_ARCH} == "powerpc"
CONFIGURE_ARGS += -DCMAKE_EXE_LINKER_FLAGS="-Wl,--relax -nopie"
.endif
TEST_TARGET = check
CLANG_INCLUDE_PATH = lib/clang/${LLVM_V}/include
SUBST_VARS += CLANG_INCLUDE_PATH LLVM_V
pre-configure:
@${SUBST_CMD} ${WRKSRC}/tools/clang/tools/scan-build/scan-build
-@ln -s ${MODPY_BIN} ${WRKDIR}/bin/python
post-build:
cd ${WRKSRC}/docs && make -f Makefile.sphinx man
pod2man --release=CVS --center="LLVM" \
${WRKSRC}/tools/clang/docs/tools/clang.pod \
${WRKSRC}/docs/_build/man/clang.1
post-install:
${INSTALL_SCRIPT} ${WRKSRC}/tools/clang/tools/scan-build/ccc-analyzer \
${WRKSRC}/tools/clang/tools/scan-build/c++-analyzer \
${WRKSRC}/tools/clang/tools/scan-build/scan-build ${PREFIX}/bin
${INSTALL_DATA} ${WRKSRC}/tools/clang/tools/scan-build/sorttable.js \
${WRKSRC}/tools/clang/tools/scan-build/scanview.css \
${PREFIX}/share/llvm
${INSTALL_DATA} ${WRKSRC}/docs/_build/man/* \
${PREFIX}/man/man1
${INSTALL_DATA} ${WRKSRC}/tools/clang/tools/scan-build/scan-build.1 \
${PREFIX}/man/man1
# lit is not installed anymore
@rm ${PREFIX}/man/man1/lit.1
.include <bsd.port.mk>