Skip to content
Snippets Groups Projects
Commit 2227a10f authored by Eric Müller's avatar Eric Müller :mountain_bicyclist:
Browse files

Add BrainScaleS' cross-compiler for its embedded CPUs

parent 16850ca1
No related branches found
No related tags found
No related merge requests found
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
import os
class Oppulance(Package):
"""SDK for embedded processors on BrainScaleS-2"""
homepage = "https://github.com/electronicvisions/oppulance"
# PPU compiler dependencies
depends_on('gettext')
depends_on('zlib')
depends_on('bison')
depends_on('flex')
depends_on('m4')
depends_on('texinfo')
depends_on('wget')
conflicts('flex', when='@2.6.3', msg='Binutils 2.25 for Nux doesn\'t build with flex 2.6.3.')
releases = [
{
'version': '2.0-rc1',
'tag': 'ebrains_release-2-rc1'
},
]
for release in releases:
version(
release['version'],
git='https://github.com/electronicvisions/oppulance',
tag=release['tag'],
expand=False,
)
for res in ['binutils-gdb', 'gcc', 'newlib']:
resource(
name=res,
git='https://github.com/electronicvisions/{}'.format(res),
tag=release['tag'],
expand=False,
)
def do_fetch(self, mirror_only=False):
super(Oppulance, self).do_fetch(mirror_only)
mkdirp(self.stage.source_path)
tar = which('tar')
bash = which('bash')
with working_dir(self.stage.source_path):
for key in self.resources:
for res in self.resources[key]:
tar('xf', res.fetcher.stage.archive_file)
tar('xf', self.stage.archive_file)
bash('gcc/ci/00_download_prerequisites.sh')
def install(self, spec, prefix):
bash = which('bash')
bash('binutils-gdb/ci/00_build_install.sh')
bash('gcc/ci/01_build_install_freestanding.sh')
bash('newlib/ci/00_build_install.sh')
bash('oppulance/ci/00_build_install_libstdc++.sh')
mkdirp(spec.prefix)
install_tree('install/.', spec.prefix)
......@@ -28,6 +28,7 @@ spack:
- py-formencode
- tvb-framework ^binutils+ld+gold
- pynn-brainscales@2.0-rc1 ^log4cxx@0.10.0 ^googletest@1.11.0:+gmock
- oppulance@2.0-rc1
#- py-cerebstats
#- py-cerebunit
- py-cerebrus
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment