Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
ebrains-spack-builds
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Klaus Noelp
ebrains-spack-builds
Commits
821dd428
Commit
821dd428
authored
1 year ago
by
Eric Müller
Browse files
Options
Downloads
Patches
Plain Diff
fix(netlib-xblas): build
There's a missing dependency on `m4`.
parent
f97ea7f2
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
packages/netlib-xblas/package.py
+72
-0
72 additions, 0 deletions
packages/netlib-xblas/package.py
with
72 additions
and
0 deletions
packages/netlib-xblas/package.py
0 → 100644
+
72
−
0
View file @
821dd428
# Copyright 2013-2023 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.package
import
*
class
NetlibXblas
(
AutotoolsPackage
):
"""
XBLAS is a reference implementation for extra precision BLAS.
XBLAS is a reference implementation for the dense and banded BLAS
routines, along with extended and mixed precision version. Extended
precision is only used internally; input and output arguments remain
the same as in the existing BLAS. Extra precisions is implemented as
double-double (i.e., 128-bit total, 106-bit significand). Mixed
precision permits some input/output arguments of different types
(mixing real and complex) or precisions (mixing single and
double). This implementation is proof of concept, and no attempt was
made to optimize performance; performance should be as good as
straightforward but careful code written by hand.
"""
homepage
=
"
https://www.netlib.org/xblas
"
url
=
"
https://www.netlib.org/xblas/xblas.tar.gz
"
version
(
"
1.0.248
"
,
sha256
=
"
b5fe7c71c2da1ed9bcdc5784a12c5fa9fb417577513fe8a38de5de0007f7aaa1
"
)
variant
(
"
fortran
"
,
default
=
True
,
description
=
"
Build Fortran interfaces
"
)
variant
(
"
plain_blas
"
,
default
=
True
,
description
=
"
As part of XBLAS, build plain BLAS routines
"
)
provides
(
"
blas
"
,
when
=
"
+plain_blas
"
)
depends_on
(
"
m4
"
,
type
=
"
build
"
)
@property
def
libs
(
self
):
return
find_libraries
([
"
libxblas
"
],
root
=
self
.
prefix
,
shared
=
False
,
recursive
=
True
)
def
configure_args
(
self
):
args
=
[]
if
self
.
spec
.
satisfies
(
"
~fortran
"
):
args
+=
[
"
--disable-fortran
"
]
if
self
.
spec
.
satisfies
(
"
~plain_blas
"
):
args
+=
[
"
--disable-plain-blas
"
]
return
args
def
install
(
self
,
spec
,
prefix
):
mkdirp
(
prefix
.
lib
)
install
(
"
libxblas.a
"
,
prefix
.
lib
)
if
self
.
spec
.
satisfies
(
"
+plain_blas
"
):
# XBLAS should be a drop-in BLAS replacement
install
(
"
libxblas.a
"
,
join_path
(
prefix
.
lib
,
"
libblas.a
"
))
headers
=
[
"
f2c-bridge.h
"
,
"
blas_dense_proto.h
"
,
"
blas_enum.h
"
,
"
blas_extended.h
"
,
"
blas_extended_private.h
"
,
"
blas_extended_proto.h
"
,
"
blas_fpu.h
"
,
"
blas_malloc.h
"
,
]
mkdirp
(
prefix
.
include
)
for
h
in
headers
:
install
(
join_path
(
"
src
"
,
h
),
prefix
.
include
)
return
This diff is collapsed.
Click to expand it.
Preview
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment