Better C++11 support, remove non-standalone llvm-compiler-rt.

- LLVM non-standalone add-ons are difficult to build outside LLVM.
- May have to wait for future versions of LLVM to build some of these
This commit is contained in:
Todd Gamblin
2014-09-18 23:22:03 -07:00
parent c55041e9d4
commit 9165a000a3
10 changed files with 161 additions and 62 deletions

View File

@@ -36,7 +36,7 @@ class Clang(Package):
version('3.4.2', '87945973b7c73038871c5f849a818588')
def install(self, spec, prefix):
env['CXXFLAGS'] = '-std=c++11'
env['CXXFLAGS'] = self.compiler.cxx11_flag
with working_dir('spack-build', create=True):
cmake('..',

View File

@@ -1,57 +0,0 @@
##############################################################################
# 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")

View File

@@ -35,12 +35,12 @@ class LlvmLld(Package):
version('3.4', '3b6a17e58c8416c869c14dd37682f78e')
def install(self, spec, prefix):
env['CXXFLAGS'] = '-std=c++11'
env['CXXFLAGS'] = self.compier.cxx11_flag
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()
make("install")

View File

@@ -37,7 +37,7 @@ class Llvm(Package):
version('3.4.2', 'a20669f75967440de949ac3b1bad439c')
def install(self, spec, prefix):
env['CXXFLAGS'] = '-std=c++11'
env['CXXFLAGS'] = self.compiler.cxx11_flag
with working_dir('spack-build', create=True):
cmake('..',