diff --git a/docker-builder-data/build/script/packet/superlu-4.1.files/make.inc b/docker-builder-data/build/script/packet/superlu-4.1.files/make.inc new file mode 100644 index 0000000..e291a38 --- /dev/null +++ b/docker-builder-data/build/script/packet/superlu-4.1.files/make.inc @@ -0,0 +1,65 @@ +############################################################################ +# +# Program: SuperLU +# +# Module: make.inc +# +# Purpose: Top-level Definitions +# +# Creation date: October 2, 1995 +# +# Modified: February 4, 1997 Version 1.0 +# November 15, 1997 Version 1.1 +# September 1, 1999 Version 2.0 +# +############################################################################ +# +# The machine (platform) identifier to append to the library names +# +PLAT = _linux + +# +# The name of the libraries to be created/linked to +# +SuperLUroot = $(HOME)/SuperLU_4.1 +SUPERLULIB = $(SuperLUroot)/lib/libsuperlu_4.1.a + +#BLASLIB = $(SuperLUroot)/lib/libblas.a + +## ATLAS BLAS causes single-precision to fail +BLASDEF = -DUSE_VENDOR_BLAS +BLASLIB = $(LDFLAGS) -lblas + +## This BLAS causes single-precision to fail the test in SuperLU +#BLASDEF = -DUSE_VENDOR_BLAS +#BLASLIB = -L/usr/lib -lblas + +TMGLIB = libtmglib.a +LIBS = $(SUPERLULIB) $(BLASLIB) + +# +# The archiver and the flag(s) to use when building archive (library) +# If your system has no ranlib, set RANLIB = echo. +# +ARCH = ar +ARCHFLAGS = cr +RANLIB = ranlib + +CC = gcc +CFLAGS = -O3 -fPIC +NOOPTS = -fPIC +FORTRAN = g77 +FFLAGS = -O2 -fPIC +LOADER = $(CC) +LOADOPTS = + +# +# C preprocessor defs for compilation for the Fortran interface +# (-DNoChange, -DAdd_, -DAdd__, or -DUpCase) +# +CDEFS = -DAdd_ +# +# The directory in which Matlab is installed +# +MATLAB = /usr/sww/matlab + diff --git a/docker-builder-data/build/script/packet/superlu-4.1.files/mc64ad.c b/docker-builder-data/build/script/packet/superlu-4.1.files/mc64ad.c new file mode 100644 index 0000000..b24ad13 --- /dev/null +++ b/docker-builder-data/build/script/packet/superlu-4.1.files/mc64ad.c @@ -0,0 +1,16 @@ +#include +#include + +void mc64id_(int *a) +{ + fprintf(stderr, "SuperLU: MC64 functionality not available (it uses non-free code). Aborting.\n"); + abort(); +} + +void mc64ad_(int *a, int *b, int *c, int d[], int e[], double f[], + int *g, int h[], int *i, int j[], int *k, double l[], + int m[], int n[]) +{ + fprintf(stderr, "SuperLU: MC64 functionality not available (it uses non-free code). Aborting.\n"); + abort(); +} diff --git a/docker-builder-data/build/script/packet/superlu-4.1.sh b/docker-builder-data/build/script/packet/superlu-4.1.sh new file mode 100644 index 0000000..f5530dc --- /dev/null +++ b/docker-builder-data/build/script/packet/superlu-4.1.sh @@ -0,0 +1,27 @@ +DEPS="blas-3.6.0" + +PK_DIRNAME="SuperLU_4.1" +PK_ARCHIVE="superlu_4.1.tar.gz" +PK_URL="http://crd-legacy.lbl.gov/~xiaoye/SuperLU/$PK_ARCHIVE" + +source $INCLUDE_SCRIPT_DIR/inc-pkallunpack-default.sh +source $INCLUDE_SCRIPT_DIR/inc-pkinstall_release-default.sh + +pkbuild() { + cd "$BUILD_PACKET_DIR/$PK_DIRNAME" + + if ! (cp --remove-destination "$FILES_PACKET_DIR/mc64ad.c" "$BUILD_PACKET_DIR/$PK_DIRNAME/SRC/" \ + && cp --remove-destination "$FILES_PACKET_DIR/make.inc" "$BUILD_PACKET_DIR/$PK_DIRNAME/"); then + return 1 + fi + + if ( ! HOME=$BUILD_PACKET_DIR make); then + return 1 + fi +} + +pkinstall() { + cp --remove-destination -r "$BUILD_PACKET_DIR/$PK_DIRNAME/lib" "$INSTALL_PACKET_DIR" || return 1 + mkdir -p "$INSTALL_PACKET_DIR/include/superlu-4.1" + cp --remove-destination $BUILD_PACKET_DIR/$PK_DIRNAME/SRC/*.h "$INSTALL_PACKET_DIR/include/superlu-4.1" || return 1 +}