summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Nelless2015-06-18 15:24:45 +0100
committerAndrew Nelless2015-06-18 15:24:45 +0100
commit20e54846998affdede814f65229dfdfea0fd1913 (patch)
tree400ad023350c2a207811240314643382528bfbd3
downloadaur-20e54846998affdede814f65229dfdfea0fd1913.tar.gz
Initial commit. Memory Sanitizer enabled debug build of libc++
-rw-r--r--.SRCINFO24
-rw-r--r--PKGBUILD37
-rw-r--r--libc++-msan.install7
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
+}