Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
A
alberta3
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container registry
Model registry
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
ians-nmh-siebert
alberta
alberta3
Commits
2144e662
Commit
2144e662
authored
15 years ago
by
Claus-Justus Heine
Browse files
Options
Downloads
Patches
Plain Diff
Fix the usage/non-usage of an external blas library.
parent
57b2bbc6
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
configure.ac
+89
-32
89 additions, 32 deletions
configure.ac
with
89 additions
and
32 deletions
configure.ac
+
89
−
32
View file @
2144e662
...
...
@@ -127,8 +127,8 @@ AC_SUBST(DEMOSOURCES)
#
AC_CONFIG_COMMANDS([alberta_util/src/alberta_util_inlines.h],
[if test -f alberta_util/src/alberta_util_inlines.h && \
cmp alberta_util/src/alberta_util_inlines.h
alberta_util/src/alberta_util_inlines.h.in
then
cmp alberta_util/src/alberta_util_inlines.h
\
alberta_util/src/alberta_util_inlines.h.in > /dev/null 2>&1;
then
AC_MSG_NOTICE([alberta_util/src/alberta_util_inlines.h is unchanged])
else
AC_MSG_NOTICE([Creating alberta_util/src/alberta_util_inlines.h])
...
...
@@ -139,8 +139,8 @@ fi])
AC_CONFIG_COMMANDS([alberta_util/src/alberta_util.h],
[if test -f alberta_util/src/alberta_util.h && \
cmp alberta_util/src/alberta_util.h
alberta_util/src/alberta_util.h.in
then
cmp alberta_util/src/alberta_util.h
\
alberta_util/src/alberta_util.h.in > /dev/null 2>&1;
then
AC_MSG_NOTICE([alberta_util/src/alberta_util.h is unchanged])
else
AC_MSG_NOTICE([Creating alberta_util/src/alberta_util.h])
...
...
@@ -173,13 +173,6 @@ AC_ARG_ENABLE([dim-of-world],
;;
esac])
ALBERTA_ENABLE_FLAG([fortran-blas],
[Use Fortran BLAS routines for some basic linear algebra stuff and use some
other Fortran modules (e.g. gpskca for matrix-profile reduction).],
[disabled],
[USE_F77_BLAS],
[DEFINE SUBST COND])
ALBERTA_ENABLE_FLAG([vector-basis-functions],
[Disable support for vector-valued basis functions. If you leave this enabled
ALBERTA supports DIM_OF_WORLD-valued basis functions and scalar basis
...
...
@@ -257,12 +250,33 @@ AC_PATH_PROG([CPP], [cpp], [], [/usr/bin:/lib:$PATH])
AC_DEFINE_UNQUOTED([CPP],["$CPP"],["Command which runs the C preprecessor"])
#
# Support for FORTRAN code in ALBERTA
# Support for FORTRAN code in ALBERTA. Fortran is optional, but it is
# easier to run the test for the compiler anyway.
#
AC_PROG_F77
if test -z "${F77}"; then
AC_MSG_RESULT([The Fortran compiler cannot be found. DON'T PANIC:
this simply means that you cannot use the GPSKCA band-width/profile
reduction library, but otherwise has no measurable impact.])
fi
if test -n "${F77}"; then
AC_F77_LIBRARY_LDFLAGS
if test -z "${FLIBS}"; then
# cannot be, some run-time stuff is needed, so this means F77 cannot
# compile anything. This is a mis-feature in autoconf: we actually
# only want to determine whether or not the bloody Fortran f*ck is
# able to compile anyting.
AC_MSG_RESULT([Unable to determine how to link against the Fortran
run-time libraries. For this reason, we assume that "${F77}" either
is no Fortran compiler or that its installation is broken. DON'T PANIC:
this simply means that you cannot use the GPSKCA band-width/profile
reduction library, but otherwise has no measurable impact.])
F77=""
fi
fi
if test "$USE_F77_BLAS" -eq 1; then
AC_PROG_F77
AC_F77_LIBRARY_LDFLAGS
if test -n "${F77}"; then
AC_F77_WRAPPERS
AC_F77_FUNC([dnrm2],[DNRM2_F77_FUNC])
AC_F77_FUNC([daxpy],[DAXPY_F77_FUNC])
...
...
@@ -274,7 +288,6 @@ if test "$USE_F77_BLAS" -eq 1; then
AC_F77_FUNC([dswap],[DSWAP_F77_FUNC])
AC_F77_FUNC([dxpay],[DXPAY_F77_FUNC])
AC_F77_FUNC([drandn],[DRANDN_F77_FUNC])
AC_F77_FUNC([gpskca],[GPSKCA_F77_FUNC])
AC_SUBST([DNRM2_F77_FUNC])
AC_SUBST([DAXPY_F77_FUNC])
AC_SUBST([DEXPY_F77_FUNC])
...
...
@@ -285,6 +298,10 @@ if test "$USE_F77_BLAS" -eq 1; then
AC_SUBST([DSWAP_F77_FUNC])
AC_SUBST([DXPAY_F77_FUNC])
AC_SUBST([DRANDN_F77_FUNC])
AC_F77_FUNC([gpskca],[GPSKCA_F77_FUNC])
else
with_gpskca=no
with_blas=no
fi
#
...
...
@@ -498,6 +515,7 @@ AC_CHECK_HEADERS([math.h stdlib.h unistd.h string.h rpc/types.h rpc/xdr.h],,
[AC_MSG_ERROR([Sorry, these are needed..])])
AC_CHECK_HEADERS([malloc.h])
#
# try to pull in some special features (but make sure to supply
# replacements if they are not available)
...
...
@@ -523,6 +541,13 @@ AC_CHECK_FUNCS([pow sqrt strdup strchr strstr rand srand \
xdr_int32_t xdr_int64_t xdr_int],,
[AC_MSG_ERROR([Sorry, these are needed..])])
#
# functions to aid malloc debugging. Of course, we do not require
# them, but they may be helpful. These functions are available in the
# current glibc, so they are qutie GNUish (or Doug Lea-ish)
#
AC_CHECK_FUNCS([mallinfo malloc_usable_size malloc_trim malloc_stats])
#
# ffsl is not necessarily needed, but helpful.
#
...
...
@@ -571,6 +596,7 @@ AM_CONDITIONAL(NEED_GETOPT, [test "x${NEED_GETOPT}" = "x1"])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_SIZE_T
AC_TYPE_SSIZE_T
AC_TYPE_SIGNAL
AC_CHECK_SIZEOF([long long])
...
...
@@ -594,23 +620,26 @@ AC_CHECK_MEMBERS([struct sigaction.sa_sigaction],,,[#include <signal.h>])
# check for BLAS library. The BLAS may come under different names. We default
# to -lblas, but other possibilities are sunperf, atlas, cxml (Alpha AXP)
# etc etc etc etc etc etc etc etc etc etc ...........................
# The BLAS library is optional.
#
# Let the user decide what it wants (handled by ALBERTA_CHECK_PACKAGE()
# Note that gpskca does not depend on BLAS at all.
#
if test "$USE_F77_BLAS" -eq 1; then
ALBERTA_CHECK_PACKAGE([blas],[blas],
[${DAXPY_F77_FUNC}],[],[${FLIBS}],[],[],[],[required])
ALBERTA_CHECK_PACKAGE([gpskca],[gpskca],
[${GPSKCA_F77_FUNC}],[],[${FLIBS}],[],[],[],[optional])
ALBERTA_CHECK_PACKAGE([blas],[blas],
[${DAXPY_F77_FUNC}],[],[${FLIBS}],[],[],[],[optional disabled])
if test -n "${BLAS_LIBS}"; then
USE_LIBBLAS="1"
else
AM_CONDITIONAL([HAVE_BLAS], [false])
AC_DEFINE([HAVE_BLAS], 0, [Define to 1 if BLAS is available])
AC_SUBST([BLAS_ALL_LIBS], [])
AM_CONDITIONAL([HAVE_GPSKCA], [false])
AC_DEFINE([HAVE_GPSKCA], 0, [Define to 1 if GPSKCA is available])
AC_SUBST([GPSKCA_ALL_LIBS], [])
USE_LIBBLAS="0"
fi
AC_SUBST([USE_LIBBLAS])
ALBERTA_CHECK_PACKAGE([gpskca],[gpskca],
[${GPSKCA_F77_FUNC}],[],[${FLIBS}],[],[],[],[optional enabled])
#
# Only support linking with fortran stuff if needed.
#
AM_CONDITIONAL(NEED_F77_LINK, [test -n "${BLAS_LIBS}" -o -n "${GPSKCA_LIBS}"])
ALBERTA_ENABLE_FLAG([graphics],
[disable support for visualization, including all add-ons which need graphics.],
...
...
@@ -670,17 +699,26 @@ ALBERTA_CHECK_PACKAGE([silo],[silo],[DBPutUcdmesh],
AM_CONDITIONAL(GEOMVIEW, true)
#
# Malloc debugging
# Malloc debugging
and options
#
ALBERTA_ENABLE_FLAG([plain-malloc],
[Use the system's malloc without any modifications. If disabled (the default),
ALBERTA will pipe all allocations through small trampoline functions and
record some meta-data (the size of the allocations) and makes sure that
malloc(0) returns NULL and stuff like that.],
0,
[ALBERTA_ALLOC_MALLOC],
[DEFINE SUBST COND])
ALBERTA_ENABLE_FLAG([allocrecord],
[
u
se some hand-made malloc debugger, which logs allocations in a round-robin
[
U
se some hand-made malloc debugger, which logs allocations in a round-robin
data-base. The optized liberaries will still use the default allocators.],
0,
[ALBERTA_ALLOC_RECORD],
[DEFINE SUBST COND])
ALBERTA_ENABLE_FLAG([efence],
[
u
se the malloc debugger "Electric Fence" for all allocations for the DEBUG
[
U
se the malloc debugger "Electric Fence" for all allocations for the DEBUG
libraries, the optimized libraries will still use the default allocators.],
0,
ALBERTA_EFENCE)
...
...
@@ -688,16 +726,35 @@ test "$ALBERTA_EFENCE" = "1" && EFENCE_DISABLE=no
test "${BUILD_ALBERTA_DEBUG}" = "0" && EFENCE_DISABLE=yes
ALBERTA_CHECK_PACKAGE([efence],[efence],[_eff_malloc],[],[],[efence.h],[],[],
[optional disabled])
if test "$ALBERTA_EFENCE" = 1 -a -z "$EFENCE_LIB"; then
if test "$ALBERTA_EFENCE" = 1 -a -z "$EFENCE_LIB
S
"; then
AC_MSG_RESULT(
["EFence" memory debugger not found or disabled, we will not try to use it.])
ALBERTA_EFENCE=0
fi
if test "$ALBERTA_EFENCE" = 0 -a -n "$EFENCE_LIB"; then
if test "$ALBERTA_EFENCE" = 0 -a -n "$EFENCE_LIB
S
"; then
AC_MSG_RESULT([using "Electric Fence" memory debugger for debugging libraries.])
ALBERTA_EFENCE=1
fi
ALBERTA_ENABLE_FLAG([duma],
[Use the malloc debugger "DUMA" for all allocations for the DEBUG
libraries, the optimized libraries will still use the default allocators.],
0,
ALBERTA_DUMA)
test "$ALBERTA_DUMA" = "1" && DUMA_DISABLE=no
test "${BUILD_ALBERTA_DEBUG}" = "0" && DUMA_DISABLE=yes
ALBERTA_CHECK_PACKAGE([duma],[duma],[_duma_malloc],[],[],[duma.h],[],[],
[optional disabled])
if test "$ALBERTA_DUMA" = 1 -a -z "$DUMA_LIBS"; then
AC_MSG_RESULT(
["DUMA" memory debugger not found or disabled, we will not try to use it.])
ALBERTA_DUMA=0
fi
if test "$ALBERTA_DUMA" = 0 -a -n "$DUMA_LIBS"; then
AC_MSG_RESULT([using "DUMA" memory debugger for debugging libraries.])
ALBERTA_DUMA=1
fi
#
# OpenMP
#
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
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