diff options
author | Andrew Nelless | 2015-06-18 15:24:45 +0100 |
---|---|---|
committer | Andrew Nelless | 2015-06-18 15:24:45 +0100 |
commit | 20e54846998affdede814f65229dfdfea0fd1913 (patch) | |
tree | 400ad023350c2a207811240314643382528bfbd3 | |
download | aur-20e54846998affdede814f65229dfdfea0fd1913.tar.gz |
Initial commit. Memory Sanitizer enabled debug build of libc++
-rw-r--r-- | .SRCINFO | 24 | ||||
-rw-r--r-- | PKGBUILD | 37 | ||||
-rw-r--r-- | libc++-msan.install | 7 |
3 files changed, 68 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..985199ef7b63 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,24 @@ +pkgbase = libc++-msan + pkgdesc = Standard C++ library implementation from the LLVM project (Memory Sanitizer enabled) + pkgver = 3.6.0 + pkgrel = 1 + url = http://libcxx.llvm.org + install = libc++-msan.install + arch = i686 + arch = x86_64 + license = custom:University of Illinois/NCSA Open Source License + makedepends = clang + makedepends = subversion + makedepends = cmake + depends = glibc + depends = libc++abi + depends = gcc-libs + provides = libc++ + conflicts = libc++ + options = debug + options = !strip + source = http://www.llvm.org/releases/3.6.0/libcxx-3.6.0.src.tar.xz + md5sums = 5d4a2ff4e2023eaa3f2025e26274d504 + +pkgname = libc++-msan + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..9a6d4d471130 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,37 @@ +# $Id$ +# Maintainer: Andrew Nelless <andrew@nelless.net> +# Contributor: Daniel Micay <danielmicay@gmail.com> +# Contributor: MThinkCpp <mtc.maintainer[at]outlook.com> +pkgname=libc++-msan +pkgver=3.6.0 +pkgrel=1 +pkgdesc='Standard C++ library implementation from the LLVM project (Memory Sanitizer enabled)' +url='http://libcxx.llvm.org' +license=('custom:University of Illinois/NCSA Open Source License') +arch=('i686' 'x86_64') +# gcc-libs needed for libgcc_s, because Arch doesn't use a pure compiler-rt clang +depends=('glibc' 'libc++abi' 'gcc-libs') +makedepends=('clang' 'subversion' 'cmake') +provides=('libc++') +conflicts=('libc++') +source=("http://www.llvm.org/releases/$pkgver/libcxx-${pkgver}.src.tar.xz") +md5sums=('5d4a2ff4e2023eaa3f2025e26274d504') +options=('debug' '!strip') +install=${pkgname}.install + +build() { + mkdir -p libcxx-${pkgver}.src/build + cd libcxx-${pkgver}.src/build + CXXFLAGS="-Qunused-arguments" CFLAGS="-Qunused-arguments" \ + cmake -G "Unix Makefiles" -DLIBCXX_CXX_ABI=libcxxabi \ + -DLIBCXX_LIBCXXABI_INCLUDE_PATHS=/usr/include/cxxabi \ + -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \ + -DLLVM_USE_SANITIZER=MemoryWithOrigins \ + -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr "$srcdir/libcxx-${pkgver}.src" + make +} +package() { + install -Dm644 libcxx-${pkgver}.src/LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/license.txt" + cd libcxx-${pkgver}.src/build + make DESTDIR="$pkgdir" install +} diff --git a/libc++-msan.install b/libc++-msan.install new file mode 100644 index 000000000000..caef683ae99a --- /dev/null +++ b/libc++-msan.install @@ -0,0 +1,7 @@ +post_install() { + echo compile with \`clang++ -std=c++11 -stdlib=libc++ -lc++abi\` to use libc++ +} + +post_upgrade() { + post_install +} |