Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add QD (C++/Fortran quad-double) #2408

Merged
merged 10 commits into from
May 2, 2017
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions recipes/qd/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash

if [[ `uname` == 'Darwin' ]]; then
# make check below fails on osx unless $PREFIX/lib is added to rpath
LDFLAGS="$LDFLAGS -Wl,-rpath,${PREFIX}/lib" ./configure
else
./configure
fi

make
make check
make install prefix=${PREFIX} exec_prefix=${PREFIX}
40 changes: 40 additions & 0 deletions recipes/qd/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{% set version = "2.3.17" %}

package:
name: qd
version: {{ version }}

source:
fn: qd-{{ version }}.tar.gz
url: http://crd.lbl.gov/~dhbailey/mpdist/qd-{{ version }}.tar.gz
sha256: c58e276f6fcf5f2f442c525f3de42ea00004734572b29c74028bbda0ad81096d

build:
skip: true # [win]
number: 0

requirements:
build:
- toolchain
- gcc
run:
- libgcc
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you only need libgfortran right?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is apparently also linking to libquadmath which I believe is included with libgcc?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah. Didn't know that. @conda-forge/core can somebody review this?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah for libquadmath one needs libgcc. Also we need to use gcc on all platforms then.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How does that work? gcc is 4.8.3 and libgcc is 5.2.0 in the defaults channel.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

4.8.5 I think, but yes they are different.

IIUC libgcc 5 is backwards compatible with libgcc 4. The biggest changes for gcc were for C++11 support, but they provided both the old and new symbols in the new libgcc.

So not something we should need to worry about.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


test:
# make check in build.sh runs tests, these check the installation path
commands:
- test -d ${PREFIX}/include/qd
- test -f ${PREFIX}/lib/libqd.a
- test -f ${PREFIX}/lib/libqdmod.a
- test -f ${PREFIX}/lib/libqd_f_main.a
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there sos and dylibs that we can check for?

- test -f ${PREFIX}/bin/qd-config
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason not to run this program?


about:
home: http://crd-legacy.lbl.gov/~dhbailey/mpdist/
license: LBNL-BSD
license_file: COPYING
summary: A C++/Fortran-90 double-double and quad-double package

extra:
recipe-maintainers:
- grlee77