From c55041e9d47cba97fc461c088c4b935b3355e340 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Fri, 1 Aug 2014 08:33:00 -0700 Subject: Partial commit of more packages. --- var/spack/packages/clang/package.py | 47 +++++++++++++++++++++ var/spack/packages/llvm-compiler-rt/package.py | 57 ++++++++++++++++++++++++++ var/spack/packages/llvm-lld/package.py | 46 +++++++++++++++++++++ var/spack/packages/llvm/package.py | 18 ++++---- 4 files changed, 160 insertions(+), 8 deletions(-) create mode 100644 var/spack/packages/clang/package.py create mode 100644 var/spack/packages/llvm-compiler-rt/package.py create mode 100644 var/spack/packages/llvm-lld/package.py (limited to 'var') diff --git a/var/spack/packages/clang/package.py b/var/spack/packages/clang/package.py new file mode 100644 index 0000000000..07948a3ed7 --- /dev/null +++ b/var/spack/packages/clang/package.py @@ -0,0 +1,47 @@ +############################################################################## +# Copyright (c) 2013, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore National Laboratory. +# +# This file is part of Spack. +# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. +# LLNL-CODE-647188 +# +# For details, see https://scalability-llnl.github.io/spack +# Please also see the LICENSE file for our notice and the LGPL. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License (as published by +# the Free Software Foundation) version 2.1 dated February 1999. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and +# conditions of the GNU General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +############################################################################## +from spack import * + +class Clang(Package): + """The goal of the Clang project is to create a new C, C++, + Objective C and Objective C++ front-end for the LLVM compiler. + """ + homepage = "http://clang.llvm.org" + url = "http://llvm.org/releases/3.4.2/cfe-3.4.2.src.tar.gz" + + depends_on("llvm") + + version('3.4.2', '87945973b7c73038871c5f849a818588') + + def install(self, spec, prefix): + env['CXXFLAGS'] = '-std=c++11' + + with working_dir('spack-build', create=True): + cmake('..', + '-DCLANG_PATH_TO_LLVM_BUILD=%s' % spec['llvm'].prefix, + '-DLLVM_MAIN_SRC_DIR=%s' % spec['llvm'].prefix, + *std_cmake_args) + make() + make("install") diff --git a/var/spack/packages/llvm-compiler-rt/package.py b/var/spack/packages/llvm-compiler-rt/package.py new file mode 100644 index 0000000000..e3fa176afe --- /dev/null +++ b/var/spack/packages/llvm-compiler-rt/package.py @@ -0,0 +1,57 @@ +############################################################################## +# Copyright (c) 2013, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore National Laboratory. +# +# This file is part of Spack. +# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. +# LLNL-CODE-647188 +# +# For details, see https://scalability-llnl.github.io/spack +# Please also see the LICENSE file for our notice and the LGPL. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License (as published by +# the Free Software Foundation) version 2.1 dated February 1999. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and +# conditions of the GNU General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +############################################################################## +from spack import * + +class LlvmCompilerRt(Package): + """Compiler-rt consists of several libraries to be used with LLVM: + basics: + A simple library that provides an implementation of the + low-level target-specific hooks required by code + generation and other runtime components. + + sanitizer runtimes: + Runtime libraries that are required to run the code with + sanitizer instrumentation. + + profiler: + Library used to collect coverage information. + + BlocksRuntime: + A target-independent implementation of Apple "Blocks" + runtime interfaces. + """ + homepage = "http://compiler-rt.llvm.org" + url = "http://llvm.org/releases/3.4/compiler-rt-3.4.src.tar.gz" + + depends_on("clang") + depends_on("llvm") + + version('3.4', '7938353e3a3bda85733a165e7ac4bb84') + + def install(self, spec, prefix): + cmake(".", *std_cmake_args) + + make() + make("install") diff --git a/var/spack/packages/llvm-lld/package.py b/var/spack/packages/llvm-lld/package.py new file mode 100644 index 0000000000..ba0b229228 --- /dev/null +++ b/var/spack/packages/llvm-lld/package.py @@ -0,0 +1,46 @@ +############################################################################## +# Copyright (c) 2013, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore National Laboratory. +# +# This file is part of Spack. +# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. +# LLNL-CODE-647188 +# +# For details, see https://scalability-llnl.github.io/spack +# Please also see the LICENSE file for our notice and the LGPL. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License (as published by +# the Free Software Foundation) version 2.1 dated February 1999. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and +# conditions of the GNU General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +############################################################################## +from spack import * + +class LlvmLld(Package): + """lld - The LLVM Linker + lld is a new set of modular code for creating linker tools.""" + homepage = "http://lld.llvm.org" + url = "http://llvm.org/releases/3.4/lld-3.4.src.tar.gz" + + depends_on('llvm') + + version('3.4', '3b6a17e58c8416c869c14dd37682f78e') + + def install(self, spec, prefix): + env['CXXFLAGS'] = '-std=c++11' + + with working_dir('spack-build', create=True): + cmake('..', + '-DLLD_PATH_TO_LLVM_BUILD=%s' % spec['llvm'].prefix, + '-DLLVM_MAIN_SRC_DIR=%s' % spec['llvm'].prefix, + *std_cmake_args) + make('VERBOSE=1') + make("install") diff --git a/var/spack/packages/llvm/package.py b/var/spack/packages/llvm/package.py index dab10f77d3..08ae7208cd 100644 --- a/var/spack/packages/llvm/package.py +++ b/var/spack/packages/llvm/package.py @@ -37,12 +37,14 @@ class Llvm(Package): version('3.4.2', 'a20669f75967440de949ac3b1bad439c') def install(self, spec, prefix): - configure("--prefix=%s" % prefix, - "--enable-optimized", - "--enable-debug-runtime", - "--enable-debug-symbols", - "--disable-assertions", - "REQUIRES_RTTI=1") + env['CXXFLAGS'] = '-std=c++11' - make() - make("install") + with working_dir('spack-build', create=True): + cmake('..', + '-DLLVM_REQUIRES_RTTI=1', + '-DPYTHON_EXECUTABLE=/usr/bin/python', + '-DPYTHON_INCLUDE_DIR=/usr/include/python2.6', + '-DPYTHON_LIBRARY=/usr/lib64/libpython2.6.so', + *std_cmake_args) + make() + make("install") -- cgit v1.2.3-60-g2f50