pkgsrc/lang/clang/Makefile
adam f98f34f879 LLVM 3.0 includes several major changes and big features:
* llvm-gcc is no longer supported, and not included in the release. We recommend
  switching to Clang or DragonEgg.
* The linear scan register allocator has been replaced with a new "greedy"
  register allocator, enabling live range splitting and many other optimizations  that lead to better code quality. Please see its blog post or its talk at the
  Developer Meeting for more information.
* LLVM IR now includes full support for atomics memory operations intended to
  support the C++'11 and C'1x memory models. This includes atomic load and
  store, compare and exchange, and read/modify/write instructions as well as
  a full set of memory ordering constraints. Please see the Atomics Guide for
  more information.
* The LLVM IR exception handling representation has been redesigned and
  reimplemented, making it more elegant, fixing a huge number of bugs, and
  enabling inlining and other optimizations. Please see its blog post and the
  Exception Handling documentation for more information.
* The LLVM IR Type system has been redesigned and reimplemented, making it
  faster and solving some long-standing problems. Please see its blog post for
  more information.
* The MIPS backend has made major leaps in this release, going from an
  experimental target to being virtually production quality and supporting
  a wide variety of MIPS subtargets. See the MIPS section below for more
  information.
* The optimizer and code generator now supports gprof and gcov-style coverage
  and profiling information, and includes a new llvm-cov tool (but also works
  with gcov). Clang exposes coverage and profiling through GCC-compatible
  command line options.
2011-12-02 14:42:12 +00:00

50 lines
1.3 KiB
Makefile

# $NetBSD: Makefile,v 1.11 2011/12/02 14:42:12 adam Exp $
DISTNAME= clang-3.0
CATEGORIES= lang
MASTER_SITES= http://llvm.org/releases/${PKGVERSION_NOREV}/
DISTFILES= llvm-${PKGVERSION_NOREV}.tar.gz clang-${PKGVERSION_NOREV}.tar.gz
MAINTAINER= adam.hoka@gmail.com
HOMEPAGE= http://llvm.org/
COMMENT= Low Level Virtual Machine compiler infrastructure
LICENSE= modified-bsd
PKG_DESTDIR_SUPPORT= user-destdir
WRKSRC= ${WRKDIR}/llvm-${PKGVERSION_NOREV}.src
USE_LANGUAGES= c c++
USE_TOOLS+= chown perl:build gmake
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --disable-assertions
CONFIGURE_ARGS+= --disable-bindings # disable OCaml
CONFIGURE_ARGS+= --disable-timestamps
CONFIGURE_ARGS+= --enable-optimized
MAKE_DIRS+= etc/llvm
INSTALLATION_DIRS= bin lib libexec
CHECK_PORTABILITY_SKIP= utils/buildit/build_llvm
TEST_TARGET= check unittests
.include "../../mk/bsd.prefs.mk"
.if ${_OPSYS_SHLIB_TYPE} == "dylib"
PLIST_SUBST+= SOEXT="dylib"
.else
PLIST_SUBST+= SOEXT="so"
.endif
SUBST_CLASSES+= perl
SUBST_MESSAGE.perl= Fixing llvm-configure PERL path
SUBST_STAGE.perl= post-patch
SUBST_FILES.perl= tools/llvm-config/llvm-config.in.in
SUBST_SED.perl= -e 's,@PERL@,${PERL5},'
post-extract:
mv ${WRKDIR}/clang-${PKGVERSION_NOREV}.src ${WRKSRC}/tools/clang
.include "../../mk/bsd.pkg.mk"