mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-19 12:22:10 +00:00
Make.inc.in README base/comm/Makefile base/comm/psb_cgather.f90 base/comm/psb_chalo.f90 base/comm/psb_covrl.f90 base/comm/psb_sgather.f90 base/comm/psb_shalo.f90 base/comm/psb_sovrl.f90 base/internals/Makefile base/internals/psi_cswapdata.F90 base/internals/psi_cswaptran.F90 base/internals/psi_sswapdata.F90 base/internals/psi_sswaptran.F90 base/modules/Makefile base/modules/psb_blacs_mod.f90 base/modules/psb_comm_mod.f90 base/modules/psb_const_mod.f90 base/modules/psb_error_mod.F90 base/modules/psb_inter_desc_type.f90 base/modules/psb_penv_mod.F90 base/modules/psb_psblas_mod.f90 base/modules/psb_realloc_mod.F90 base/modules/psb_serial_mod.f90 base/modules/psb_sort_mod.f90 base/modules/psb_spmat_type.f90 base/modules/psb_spsb_mod.f90 base/modules/psb_string_mod.f90 base/modules/psb_tools_mod.f90 base/modules/psi_mod.f90 base/modules/psi_serial_mod.f90 base/psblas/Makefile base/psblas/psb_camax.f90 base/psblas/psb_casum.f90 base/psblas/psb_caxpby.f90 base/psblas/psb_cdot.f90 base/psblas/psb_cnrm2.f90 base/psblas/psb_cnrmi.f90 base/psblas/psb_cspmm.f90 base/psblas/psb_cspsm.f90 base/psblas/psb_dnrmi.f90 base/psblas/psb_samax.f90 base/psblas/psb_sasum.f90 base/psblas/psb_saxpby.f90 base/psblas/psb_sdot.f90 base/psblas/psb_snrm2.f90 base/psblas/psb_snrmi.f90 base/psblas/psb_sspmm.f90 base/psblas/psb_sspsm.f90 base/psblas/psb_sxdot.f90 base/psblas/psb_zaxpby.f90 base/psblas/psb_znrmi.f90 base/psblas/pstreecomb.F base/serial/Makefile base/serial/aux/Makefile base/serial/aux/cacmp_mod.f90 base/serial/aux/calcmp_mod.f90 base/serial/aux/calsr.f90 base/serial/aux/calsrx.f90 base/serial/aux/camsort_dw.f90 base/serial/aux/camsort_up.f90 base/serial/aux/camsr.f90 base/serial/aux/camsrx.f90 base/serial/aux/casr.f90 base/serial/aux/casrx.f90 base/serial/aux/clcmp_mod.f90 base/serial/aux/clsr.f90 base/serial/aux/clsrx.f90 base/serial/aux/sasr.f90 base/serial/aux/sasrx.f90 base/serial/aux/smsort_dw.f90 base/serial/aux/smsort_up.f90 base/serial/aux/smsr.f90 base/serial/aux/smsrx.f90 base/serial/aux/ssr.f90 base/serial/aux/ssrx.f90 base/serial/coo/Makefile base/serial/coo/ccoomm.f base/serial/coo/ccoomv.f base/serial/coo/ccoonrmi.f base/serial/coo/ccoorws.f base/serial/coo/ccoosm.f base/serial/coo/ccoosv.f base/serial/coo/dcoosm.f base/serial/coo/scoomm.f base/serial/coo/scoomv.f base/serial/coo/scoonrmi.f base/serial/coo/scoorws.f base/serial/coo/scoosm.f base/serial/coo/scoosv.f base/serial/coo/zcoosm.f base/serial/csr/Makefile base/serial/csr/ccrnrmi.f base/serial/csr/ccsrck.f base/serial/csr/ccsrmm.f base/serial/csr/ccsrrws.f base/serial/csr/ccsrsm.f base/serial/csr/csrmv.f base/serial/csr/csrsv.f base/serial/csr/dcsrck.f base/serial/csr/dcsrmm.f base/serial/csr/dcsrmv.f base/serial/csr/dcsrmv2.f base/serial/csr/dcsrmv3.f base/serial/csr/dcsrmv4.f base/serial/csr/dcsrrws.f base/serial/csr/dcsrsm.f base/serial/csr/dcsrsv.f base/serial/csr/scrnrmi.f base/serial/csr/scsrmm.f base/serial/csr/scsrmv.f base/serial/csr/scsrmv2.f base/serial/csr/scsrmv3.f base/serial/csr/scsrmv4.f base/serial/csr/scsrsm.f base/serial/csr/scsrsv.f base/serial/csr/zcrnrmi.f base/serial/csr/zcsrck.f base/serial/csr/zcsrmm.f base/serial/csr/zcsrrws.f base/serial/csr/zcsrsm.f base/serial/csr/zsrmv.f base/serial/csr/zsrsv.f base/serial/dp/Makefile base/serial/dp/ccoco.f base/serial/dp/ccocr.f base/serial/dp/ccrco.f base/serial/dp/ccrcr.f base/serial/dp/ccrjd.f base/serial/dp/cgind_tri.f base/serial/dp/cgindex.f base/serial/dp/reordvn.f base/serial/dp/scoco.f base/serial/dp/scocr.f base/serial/dp/scrco.f base/serial/dp/scrcr.f base/serial/dp/scrjd.f base/serial/dp/sgind_tri.f base/serial/dp/sgindex.f base/serial/f77/Makefile base/serial/f77/caxpby.f base/serial/f77/ccsmm.f base/serial/f77/ccsnmi.f base/serial/f77/ccsrws.f base/serial/f77/ccssm.f base/serial/f77/cgelp.f base/serial/f77/clpupd.f base/serial/f77/cswmm.f base/serial/f77/cswsm.f base/serial/f77/daxpby.f base/serial/f77/dcsmm.f base/serial/f77/dcsnmi.f base/serial/f77/dcsrp.f base/serial/f77/dcsrws.f base/serial/f77/dcssm.f base/serial/f77/dgelp.f base/serial/f77/dlpupd.f base/serial/f77/dswmm.f base/serial/f77/dswsm.f base/serial/f77/saxpby.f base/serial/f77/scsmm.f base/serial/f77/scsnmi.f base/serial/f77/scsrws.f base/serial/f77/scssm.f base/serial/f77/sgelp.f base/serial/f77/slpupd.f base/serial/f77/smmp.f base/serial/f77/sswmm.f base/serial/f77/sswsm.f base/serial/f77/zcsmm.f base/serial/f77/zcsnmi.f base/serial/f77/zcsrws.f base/serial/f77/zcssm.f base/serial/f77/zgelp.f base/serial/f77/zlpupd.f base/serial/f77/zswmm.f base/serial/f77/zswsm.f base/serial/jad/Makefile base/serial/jad/sjadmm.f base/serial/jad/sjadmv.f base/serial/jad/sjadmv2.f base/serial/jad/sjadmv3.f base/serial/jad/sjadmv4.f base/serial/jad/sjadnr.f base/serial/jad/sjadrws.f base/serial/jad/sjadsm.f base/serial/jad/sjadsv.f base/serial/jad/sjdnrmi.f base/serial/jad/sjdrws.f base/serial/psb_ccoins.f90 base/serial/psb_ccsmm.f90 base/serial/psb_ccsmv.f90 base/serial/psb_ccsnmi.f90 base/serial/psb_ccsprt.f90 base/serial/psb_ccssm.f90 base/serial/psb_ccssv.f90 base/serial/psb_cfixcoo.f90 base/serial/psb_cgelp.f90 base/serial/psb_cipcoo2csc.f90 base/serial/psb_cipcoo2csr.f90 base/serial/psb_cipcsr2coo.f90 base/serial/psb_cneigh.f90 base/serial/psb_cnumbmm.f90 base/serial/psb_crwextd.f90 base/serial/psb_cspclip.f90 base/serial/psb_cspcnv.f90 base/serial/psb_cspgetrow.f90 base/serial/psb_cspgtblk.f90 base/serial/psb_cspgtdiag.f90 base/serial/psb_cspscal.f90 base/serial/psb_csymbmm.f90 base/serial/psb_ctransc.f90 base/serial/psb_ctransp.f90 base/serial/psb_dcoins.f90 base/serial/psb_dspcnv.f90 base/serial/psb_getrow_mod.f90 base/serial/psb_regen_mod.f90 base/serial/psb_scoins.f90 base/serial/psb_scsmm.f90 base/serial/psb_scsmv.f90 base/serial/psb_scsnmi.f90 base/serial/psb_scsprt.f90 base/serial/psb_scssm.f90 base/serial/psb_scssv.f90 base/serial/psb_sfixcoo.f90 base/serial/psb_sgelp.f90 base/serial/psb_sipcoo2csc.f90 base/serial/psb_sipcoo2csr.f90 base/serial/psb_sipcsr2coo.f90 base/serial/psb_sneigh.f90 base/serial/psb_snumbmm.f90 base/serial/psb_srwextd.f90 base/serial/psb_sspclip.f90 base/serial/psb_sspcnv.f90 base/serial/psb_sspgetrow.f90 base/serial/psb_sspgtblk.f90 base/serial/psb_sspgtdiag.f90 base/serial/psb_sspscal.f90 base/serial/psb_ssymbmm.f90 base/serial/psb_stransp.f90 base/serial/psb_update_mod.f90 base/serial/psb_zcoins.f90 base/serial/psb_zcsnmi.f90 base/serial/psb_zspcnv.f90 base/tools/Makefile base/tools/psb_callc.f90 base/tools/psb_casb.f90 base/tools/psb_ccdbldext.F90 base/tools/psb_cfree.f90 base/tools/psb_cins.f90 base/tools/psb_cspalloc.f90 base/tools/psb_cspasb.f90 base/tools/psb_cspfree.f90 base/tools/psb_csphalo.F90 base/tools/psb_cspins.f90 base/tools/psb_csprn.f90 base/tools/psb_dspins.f90 base/tools/psb_sallc.f90 base/tools/psb_sasb.f90 base/tools/psb_scdbldext.F90 base/tools/psb_sfree.f90 base/tools/psb_sins.f90 base/tools/psb_sspalloc.f90 base/tools/psb_sspasb.f90 base/tools/psb_sspfree.f90 base/tools/psb_ssphalo.F90 base/tools/psb_sspins.f90 base/tools/psb_ssprn.f90 base/tools/psb_zspins.f90 config/acx_lapack.m4 configure.ac configure krylov/Makefile krylov/psb_cbicg.f90 krylov/psb_ccg.f90 krylov/psb_ccgs.f90 krylov/psb_ccgstab.f90 krylov/psb_ccgstabl.f90 krylov/psb_crgmres.f90 krylov/psb_dcg.F90 krylov/psb_dcg.f90 krylov/psb_krylov_mod.f90 krylov/psb_sbicg.f90 krylov/psb_scg.F90 krylov/psb_scgs.f90 krylov/psb_scgstab.F90 krylov/psb_scgstabl.f90 krylov/psb_srgmres.f90 krylov/psb_zcg.F90 krylov/psb_zcg.f90 prec/Makefile prec/psb_cbjac_aply.f90 prec/psb_cbjac_bld.f90 prec/psb_cdiagsc_bld.f90 prec/psb_cgprec_aply.f90 prec/psb_cilu_fct.f90 prec/psb_cprc_aply.f90 prec/psb_cprecbld.f90 prec/psb_cprecinit.f90 prec/psb_cprecset.f90 prec/psb_prec_mod.f90 prec/psb_prec_type.f90 prec/psb_sbjac_aply.f90 prec/psb_sbjac_bld.f90 prec/psb_sdiagsc_bld.f90 prec/psb_sgprec_aply.f90 prec/psb_silu_fct.f90 prec/psb_sprc_aply.f90 prec/psb_sprecbld.f90 prec/psb_sprecinit.f90 prec/psb_sprecset.f90 test/fileread/Makefile test/fileread/cf_sample.f90 test/fileread/df_sample.f90 test/fileread/getp.f90 test/fileread/runs/cfs.inp test/fileread/runs/sfs.inp test/fileread/sf_sample.f90 test/fileread/zf_sample.f90 test/pargen/Makefile test/pargen/ppde.f90 test/pargen/runs/ppde.inp test/pargen/spde.f90 util/psb_hbio_mod.f90 util/psb_mat_dist_mod.f90 util/psb_mmio_mod.f90 util/psb_read_mat_mod.f90 Merged the single precision branch.
796 lines
26 KiB
Plaintext
Executable File
796 lines
26 KiB
Plaintext
Executable File
dnl $Id$
|
|
|
|
dnl
|
|
dnl Michele Martone's proposal for a transition towards the GNU build system for the PSBLAS library
|
|
dnl
|
|
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
dnl
|
|
dnl usage : aclocal -I config/ && autoconf && ./configure && make
|
|
|
|
dnl then : VAR=VAL ./configure
|
|
|
|
dnl In some configurations (AIX) the next line is needed:
|
|
dnl MPIFC=mpxlf95 ./configure
|
|
|
|
dnl then : ./configure VAR=VAL
|
|
dnl then : ./configure --help=short
|
|
dnl then : ./configure --help
|
|
|
|
dnl the PSBLAS modules get this task difficult to accomplish!
|
|
dnl SEE : --module-path --include-path
|
|
|
|
dnl NOTE : There is no cross compilation support.
|
|
|
|
dnl NOTE : missing ifort and kl* library handling..
|
|
dnl NOTE : odd configurations like ifc + gcc still await in the mist of the unknown
|
|
|
|
|
|
###############################################################################
|
|
###############################################################################
|
|
#
|
|
# This script is used by the PSBLAS to determine the compilers, linkers, and
|
|
# libraries to build its libraries executable code.
|
|
# Its behaviour is driven on the compiler it finds or it is dictated to work
|
|
# with.
|
|
#
|
|
###############################################################################
|
|
###############################################################################
|
|
|
|
# NOTE: the literal for version (the second argument to AC_INIT should be a literal!)
|
|
AC_INIT([PSBLAS],2.2, salvatore.filippone@uniroma2.it)
|
|
|
|
# VERSION is the file containing the PSBLAS version code
|
|
# FIXME
|
|
psblas_cv_version="`cat VERSION`"
|
|
|
|
# A sample source file
|
|
AC_CONFIG_SRCDIR([base/modules/psb_base_mod.f90])
|
|
dnl AC_CONFIG_AUX_DIR(config)
|
|
|
|
# Our custom M4 macros are in the 'config' directory
|
|
AC_CONFIG_MACRO_DIR([config])
|
|
AC_MSG_NOTICE([
|
|
--------------------------------------------------------------------------------
|
|
Welcome to the $PACKAGE_NAME $psblas_cv_version configure Script.
|
|
|
|
This creates Make.inc, but if you read carefully the
|
|
documentation, you can make your own by hand for your needs.
|
|
|
|
Be sure to specify the library paths of your interest. Examples:
|
|
./configure CFLAGS=-L/some/directory/LIB <- will force CFLAGS
|
|
CFLAGS=-L/some/directory/LIB ./configure <- will force CFLAGS
|
|
./configure --with-cflags=-L/some/directory/LIB <- will append to CFLAGS
|
|
FC=mpif90 F77=$FC CC=mpicc ./configure <- will force FC,CC,F77
|
|
FLINK=gcc FLINK=gcc ./configure <- will force FLINK,F90LINK
|
|
|
|
See ./configure --help=short fore more info.
|
|
--------------------------------------------------------------------------------
|
|
])
|
|
###############################################################################
|
|
# Compilers detection: FC,F77,CC should be set, if found.
|
|
###############################################################################
|
|
#
|
|
# Installation.
|
|
#
|
|
#
|
|
AC_PROG_INSTALL
|
|
|
|
AC_MSG_CHECKING([where to install])
|
|
case $prefix in
|
|
\/* ) eval "INSTALL_DIR=$prefix";;
|
|
* ) eval "INSTALL_DIR=/usr/local/psblas";;
|
|
esac
|
|
case $libdir in
|
|
\/* ) eval "INSTALL_LIBDIR=$libdir";;
|
|
* ) eval "INSTALL_LIBDIR=$INSTALL_DIR/lib";;
|
|
esac
|
|
case $includedir in
|
|
\/* ) eval "INSTALL_INCLUDEDIR=$includedir";;
|
|
* ) eval "INSTALL_INCLUDEDIR=$INSTALL_DIR/include";;
|
|
esac
|
|
AC_MSG_RESULT([$INSTALL_DIR $INSTALL_INCLUDEDIR $INSTALL_LIBDIR])
|
|
|
|
# Note that the following line won't save from troubles.
|
|
# AC_PROG_FC([mpxlf95 mpxlf90 mpxlf pgf95 pgf90 mpif95 mpif90 gfortran f95 f90 ifc])
|
|
AC_PROG_FC([xlf95 xlf90 xlf pgf95 pgf90 ifort ifc gfortran])
|
|
#AC_PROG_FC
|
|
AC_PROG_F77([xlf pgf77 ifort ifc gfortran])
|
|
AC_PROG_CC([xlc pgcc icc gcc ])
|
|
dnl AC_PROG_CXX
|
|
|
|
dnl AC_PROG_F90 doesn't exist, at the time of writing this !
|
|
dnl AC_PROG_F90
|
|
|
|
# Sanity checks, although redundant (useful when debugging this configure.ac)!
|
|
if test "X$FC" == "X" ; then
|
|
AC_MSG_ERROR([Problem : No Fortran compiler specified nor found!])
|
|
fi
|
|
|
|
if test "X$CC" == "X" ; then
|
|
AC_MSG_ERROR([Problem : No C compiler specified nor found!])
|
|
fi
|
|
###############################################################################
|
|
# Suitable MPI compilers detection
|
|
###############################################################################
|
|
# Note: Someday we will contemplate a fake MPI - configured version of PSBLAS
|
|
###############################################################################
|
|
|
|
#Note : we miss the name of the Intel C compiler
|
|
|
|
AC_LANG([C])
|
|
if test "X$MPICC" = "X" ; then
|
|
# This is our MPICC compiler preference: it will override ACX_MPI's first try.
|
|
AC_CHECK_PROGS([MPICC],[mpxlc mpcc pgcc mpicc])
|
|
fi
|
|
ACX_MPI([], [AC_MSG_ERROR([[Cannot find any suitable MPI implementation for C]])])
|
|
|
|
AC_LANG(Fortran 77)
|
|
if test "X$MPIF77" = "X" ; then
|
|
# This is our MPIFC compiler preference: it will override ACX_MPI's first try.
|
|
AC_CHECK_PROGS([MPIF77],[mpxlf mpif77 pgf77 mpf77 ifc])
|
|
fi
|
|
ACX_MPI([], [AC_MSG_ERROR([[Cannot find any suitable MPI implementation for Fortran 77]])])
|
|
|
|
AC_LANG([Fortran])
|
|
|
|
if test "X$MPIFC" = "X" ; then
|
|
# This is our MPIFC compiler preference: it will override ACX_MPI's first try.
|
|
AC_CHECK_PROGS([MPIFC],[mpxlf95 mpxlf90 mpif95 mpif90 pgf95 pg90 mpf95 mpf90 ifc ])
|
|
fi
|
|
|
|
ACX_MPI([], [AC_MSG_ERROR([[Cannot find any suitable MPI implementation for Fortran]])])
|
|
|
|
# We leave a default language for the next checks.
|
|
dnl AC_LANG([Fortran 77])
|
|
AC_LANG([C])
|
|
|
|
dnl Now on, MPIFC should be set, as MPIF77 and MPICC
|
|
|
|
###############################################################################
|
|
# Sanity checks, although redundant (useful when debugging this configure.ac)!
|
|
###############################################################################
|
|
|
|
if test "X$MPIFC" == "X" ; then
|
|
AC_MSG_ERROR([Problem : No MPI Fortran compiler specified nor found!])
|
|
fi
|
|
|
|
if test "X$MPICC" == "X" ; then
|
|
AC_MSG_ERROR([Problem : No MPI C compiler specified nor found!])
|
|
fi
|
|
|
|
###############################################################################
|
|
# FLAGS and LIBS user customization
|
|
###############################################################################
|
|
|
|
dnl NOTE : no spaces before the comma, and no brackets before the second argument!
|
|
PAC_ARG_WITH_FLAGS(ccflags,CCFLAGS)
|
|
PAC_ARG_WITH_FLAGS(cflags,CFLAGS)
|
|
PAC_ARG_WITH_FLAGS(fflags,FFLAGS)
|
|
#PAC_ARG_WITH_FLAGS(ldflags,LDFLAGS)
|
|
PAC_ARG_WITH_LIBS
|
|
PAC_ARG_WITH_FLAGS(clibs,CLIBS)
|
|
PAC_ARG_WITH_FLAGS(flibs,FLIBS)
|
|
|
|
dnl candidates for removal:
|
|
PAC_ARG_WITH_FLAGS(library-path,LIBRARYPATH)
|
|
PAC_ARG_WITH_FLAGS(include-path,INCLUDEPATH)
|
|
PAC_ARG_WITH_FLAGS(module-path,MODULE_PATH)
|
|
|
|
# we just gave the user the chance to append values to these variables
|
|
|
|
###############################################################################
|
|
|
|
dnl Library oriented Autotools facilities (we don't care about this for now)
|
|
dnl AC_PROG_LIBTOOL
|
|
dnl AM_MAINTAINER_MODE
|
|
AC_PROG_RANLIB
|
|
dnl system's ranlib will be found, too
|
|
|
|
AM_INIT_AUTOMAKE
|
|
dnl Specify required version of autoconf.
|
|
AC_PREREQ(2.59)
|
|
|
|
|
|
###############################################################################
|
|
# Compiler identification (sadly, it is necessary)
|
|
###############################################################################
|
|
psblas_cv_fc=""
|
|
|
|
dnl Do we use gfortran & co ? Compiler identification.
|
|
dnl NOTE : in /autoconf/autoconf/fortran.m4 there are plenty of better tests!
|
|
|
|
PAC_CHECK_HAVE_GFORTRAN(
|
|
psblas_cv_fc="gcc",
|
|
[]
|
|
)
|
|
|
|
#
|
|
# Test for TR 15581, aka allocatables extensions.
|
|
#
|
|
PAC_FORTRAN_TEST_TR15581(
|
|
[AC_MSG_RESULT([yes.])],
|
|
[AC_MSG_ERROR([no.
|
|
Sorry, cannot build PSBLAS without support for TR15581.
|
|
Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.2.])]
|
|
)
|
|
|
|
if test x"$psblas_cv_fc" == "x" ; then
|
|
if eval "$MPIFC -qversion 2>&1 | grep XL 2>/dev/null" ; then
|
|
psblas_cv_fc="xlf"
|
|
# Some configurations of the XLF want "-WF," prepended to -D.. flags.
|
|
# TODO : discover the exact conditions when the usage of -WF is needed.
|
|
psblas_cv_define_prepend="-WF,"
|
|
# Note : there coule be problems with old xlf compiler versions ( <10.1 )
|
|
# since (as far as it is known to us) -WF, is not used in earlier versions.
|
|
# More problems could be undocumented yet.
|
|
else
|
|
# Sun compiler detection
|
|
if eval "$MPIFC -V 2>&1 | grep Sun 2>/dev/null" ; then
|
|
psblas_cv_fc="sun"
|
|
else
|
|
# Portland group compiler detection
|
|
if eval "$MPIFC -V 2>&1 | grep Portland 2>/dev/null" ; then
|
|
psblas_cv_fc="pg"
|
|
else
|
|
# Intel compiler identification
|
|
if eval "$MPIFC -V 2>&1 | grep Intel.*Fortran.*Compiler 2>/dev/null" ; then
|
|
psblas_cv_fc="ifc"
|
|
else
|
|
psblas_cv_fc=""
|
|
# unsupported MPI Fortran compiler
|
|
AC_MSG_ERROR([[Unknown compiler ! Make sure your Fortran compiler is specified as compatible in the documentation!]])
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
# TODO : SEE _AC_PROG_FC_V
|
|
# TODO : AC_MSG_ERROR(see "$ac_cv_prog_FC_fc")
|
|
# AC_MSG_NOTICE( "ac_cv_prog_FC_fc : $ac_cv_prog_FC_fc")
|
|
###############################################################################
|
|
|
|
###############################################################################
|
|
# Linking, symbol mangling, and misc tests
|
|
###############################################################################
|
|
|
|
# Note : This is functional to Make.inc rules and structure (see below).
|
|
AC_LANG([C])
|
|
AC_CHECK_SIZEOF(void *)
|
|
# Define for platforms with 64 bit (void * ) pointers
|
|
if test X"$ac_cv_sizeof_void_p" == X"8" ; then
|
|
CDEFINES="-DPtr64Bits $CDEFINES"
|
|
fi
|
|
AC_LANG([Fortran])
|
|
__AC_FC_NAME_MANGLING
|
|
AC_LANG([C])
|
|
dnl AC_MSG_NOTICE([Fortran name mangling: $ac_cv_fc_mangling])
|
|
[pac_fc_case=${ac_cv_fc_mangling%%,*}]
|
|
[pac_fc_under=${ac_cv_fc_mangling#*,}]
|
|
[pac_fc_sec_under=${pac_fc_under#*,}]
|
|
[pac_fc_sec_under=${pac_fc_sec_under# }]
|
|
[pac_fc_under=${pac_fc_under%%,*}]
|
|
[pac_fc_under=${pac_fc_under# }]
|
|
AC_MSG_CHECKING([defines for C/Fortran name interfaces])
|
|
if test "x$pac_fc_case" == "xlower case"; then
|
|
if test "x$pac_fc_under" == "xunderscore"; then
|
|
if test "x$pac_fc_sec_under" == "xno extra underscore"; then
|
|
pac_f_c_names="-DLowerUnderscore"
|
|
elif test "x$pac_fc_sec_under" == "xextra underscore"; then
|
|
pac_f_c_names="-DLowerDoubleUnderscore"
|
|
else
|
|
pac_f_c_names="-DUNKNOWN"
|
|
dnl AC_MSG_NOTICE([Fortran name mangling extra underscore unknown case])
|
|
fi
|
|
elif test "x$pac_fc_under" == "xno underscore"; then
|
|
pac_f_c_names="-DLowerCase"
|
|
else
|
|
pac_f_c_names="-DUNKNOWN"
|
|
dnl AC_MSG_NOTICE([Fortran name mangling underscore unknown case])
|
|
fi
|
|
elif test "x$pac_fc_case" == "xupper case"; then
|
|
if test "x$pac_fc_under" == "xunderscore"; then
|
|
if test "x$pac_fc_sec_under" == "xno extra underscore"; then
|
|
pac_f_c_names="-DUpperUnderscore"
|
|
elif test "x$pac_fc_sec_under" == "xextra underscore"; then
|
|
pac_f_c_names="-DUpperDoubleUnderscore"
|
|
else
|
|
pac_f_c_names="-DUNKNOWN"
|
|
dnl AC_MSG_NOTICE([Fortran name mangling extra underscore unknown case])
|
|
fi
|
|
elif test "x$pac_fc_under" == "xno underscore"; then
|
|
pac_f_c_names="-DUpperCase"
|
|
else
|
|
pac_f_c_names="-DUNKNOWN"
|
|
dnl AC_MSG_NOTICE([Fortran name mangling underscore unknown case])
|
|
fi
|
|
dnl AC_MSG_NOTICE([Fortran name mangling UPPERCASE not handled])
|
|
else
|
|
pac_f_c_names="-DUNKNOWN"
|
|
dnl AC_MSG_NOTICE([Fortran name mangling unknown case])
|
|
fi
|
|
CDEFINES="$pac_f_c_names $CDEFINES"
|
|
|
|
AC_MSG_RESULT([ $pac_f_c_names ])
|
|
|
|
###############################################################################
|
|
# Make.inc generation logic
|
|
###############################################################################
|
|
|
|
# Note : This script is sensitive to FFLAGS, FCFLAGS, CFLAGS variables.
|
|
# Note : We cannot be sure whether ./configure test programs will use these *FLAGS.
|
|
|
|
dnl Note: CFLAGS == '' is a rare condition, but we provide mechanism, not policy.
|
|
dnl So we prefer:
|
|
|
|
if test "X$CFLAGS" == "X" ; then
|
|
dnl over
|
|
dnl if true ; then
|
|
if test "X$psblas_cv_fc" == "Xgcc" ; then
|
|
# note that no space should be placed around the equality symbol in assignations
|
|
# Note : 'native' is valid _only_ on GCC/x86 (32/64 bits)
|
|
CCOPT="-O3 $CCOPT"
|
|
elif test "X$psblas_cv_fc" == X"xlf" ; then
|
|
# XL compiler : consider using -qarch=auto
|
|
CCOPT="-O3 -qarch=auto $CCOPT"
|
|
elif test "X$psblas_cv_fc" == X"ifc" ; then
|
|
# other compilers ..
|
|
CCOPT="-O3 $CCOPT"
|
|
elif test "X$psblas_cv_fc" == X"pg" ; then
|
|
# other compilers ..
|
|
CCOPT="-fast $CCOPT"
|
|
# NOTE : PG & Sun use -fast instead -O3
|
|
elif test "X$psblas_cv_fc" == X"sun" ; then
|
|
# other compilers ..
|
|
CCOPT="-fast $CCOPT"
|
|
# NOTE : PG & Sun use -fast instead -O3
|
|
else
|
|
CCOPT="-O2 $CCOPT"
|
|
fi
|
|
else
|
|
CCOPT="${CFLAGS}"
|
|
fi
|
|
CFLAGS="${CCOPT}"
|
|
|
|
if test "X$FFLAGS" == "X" ; then
|
|
if test "X$psblas_cv_fc" == "Xgcc" ; then
|
|
# note that no space should be placed around the equality symbol in assignations
|
|
# Note : 'native' is valid _only_ on GCC/x86 (32/64 bits)
|
|
FCOPT="-O3 $FCOPT"
|
|
elif test "X$psblas_cv_fc" == X"xlf" ; then
|
|
# XL compiler : consider using -qarch=auto
|
|
FCOPT="-O3 -qarch=auto $FCOPT"
|
|
elif test "X$psblas_cv_fc" == X"ifc" ; then
|
|
# other compilers ..
|
|
FCOPT="-O3 $FCOPT"
|
|
elif test "X$psblas_cv_fc" == X"pg" ; then
|
|
# other compilers ..
|
|
FCOPT="-fast $FCOPT"
|
|
# NOTE : PG & Sun use -fast instead -O3
|
|
elif test "X$psblas_cv_fc" == X"sun" ; then
|
|
# other compilers ..
|
|
FCOPT="-fast $FCOPT"
|
|
# NOTE : PG & Sun use -fast instead -O3
|
|
else
|
|
FCOPT="-O2 $FCOPT"
|
|
fi
|
|
else
|
|
FCOPT="${FFLAGS}"
|
|
fi
|
|
FFLAGS="${FCOPT}"
|
|
|
|
if test "X$FCFLAGS" == "X" ; then
|
|
if test "X$psblas_cv_fc" == "Xgcc" ; then
|
|
# note that no space should be placed around the equality symbol in assignations
|
|
# Note : 'native' is valid _only_ on GCC/x86 (32/64 bits)
|
|
F90COPT="-O3 $F90COPT"
|
|
elif test "X$psblas_cv_fc" == X"xlf" ; then
|
|
# XL compiler : consider using -qarch=auto
|
|
F90COPT="-O3 -qarch=auto $F90COPT"
|
|
elif test "X$psblas_cv_fc" == X"ifc" ; then
|
|
# other compilers ..
|
|
F90COPT="-O3 $F90COPT"
|
|
elif test "X$psblas_cv_fc" == X"pg" ; then
|
|
# other compilers ..
|
|
F90COPT="-fast $F90COPT"
|
|
elif test "X$psblas_cv_fc" == X"sun" ; then
|
|
# other compilers ..
|
|
F90COPT="-fast $F90COPT"
|
|
# NOTE : PG & Sun use -fast instead -O3
|
|
else
|
|
F90COPT="-O2 $F90COPT"
|
|
fi
|
|
else
|
|
F90COPT="${FCFLAGS}"
|
|
fi
|
|
FCFLAGS="${F90COPT}"
|
|
|
|
# COPT,FCOPT, F90COPT are aliases for FFLAGS,CFLAGS,FCFLAGS .
|
|
|
|
##############################################################################
|
|
# Compilers variables selection
|
|
##############################################################################
|
|
if true ; then
|
|
if test "X$psblas_cv_fc" == X"xlf" ; then
|
|
# WARNING : this is EVIL : specifying a pathname prefixed compiler will be ignored!
|
|
# But this is necessary since :
|
|
# - if called from some script, xlf could behave strangely
|
|
# - it is not said that mpxlf95 gets chosen by the configure script.
|
|
F90="xlf95 -qsuffix=f=f90:cpp=F90"
|
|
# F90="xlf95"
|
|
MPF90="mpxlf95 -qsuffix=f=f90:cpp=F90"
|
|
# FC="xlf"
|
|
|
|
# Note : this gives problems in base/serial/aux/isaperm.f
|
|
# FC="mpxlf -qsuffix=f=f90:cpp=F90"
|
|
|
|
# Note : this is the cure
|
|
FC="xlf -qsuffix=f=f:cpp=F"
|
|
# Note : maybe we will want xlf -qsuffix=cpp=F
|
|
|
|
F77="xlf"
|
|
MPF77="mpxlf95 -qfixed -qsuffix=f=f:cpp=F"
|
|
CC="xlc"
|
|
MPCC="mpcc"
|
|
#MPFCC="mpxlc"
|
|
# Note : -qfixed should be not specified in the environment FFLAGS or things will break.
|
|
# This fact should be documented somewhere.
|
|
else
|
|
# We really think about the GCC here but this is our idea for other compilers, too.
|
|
# If the user wishes to, she should specify MPICC, MPIF77 after ./configure.
|
|
# Note: this behavious should be documented.
|
|
F90=${FC}
|
|
MPF90=${MPIFC}
|
|
FC=${FC}
|
|
MPF77=${MPIFC}
|
|
CC=${CC}
|
|
MPCC=${MPICC}
|
|
fi
|
|
fi
|
|
|
|
##############################################################################
|
|
# Choice of our compilers, needed by Make.inc
|
|
##############################################################################
|
|
if test "X$FLINK" == "X" ; then
|
|
FLINK=${MPF77}
|
|
fi
|
|
|
|
if test "X$F90LINK" == "X" ; then
|
|
F90LINK=${MPF90}
|
|
fi
|
|
##############################################################################
|
|
##############################################################################
|
|
# Include flags
|
|
##############################################################################
|
|
AX_F90_MODULE_EXTENSION
|
|
AX_F90_MODULE_FLAG
|
|
MODEXT=".$ax_f90_modext"
|
|
FMFLAG="${ax_f90_modflag%%[ ]*}"
|
|
FIFLAG=-I
|
|
|
|
###############################################################################
|
|
|
|
###############################################################################
|
|
# NOTE :
|
|
# Missing stuff :
|
|
# In the case the detected fortran compiler is ifort, icc or gcc
|
|
# should be valid options.
|
|
# The same for pg (Portland Group compilers).
|
|
###############################################################################
|
|
|
|
|
|
###############################################################################
|
|
# Custom test : do we have a module or include for MPI Fortran interface?
|
|
|
|
PAC_FORTRAN_CHECK_HAVE_MPI_MOD(
|
|
[FDEFINES="$psblas_cv_define_prepend-DMPI_MOD $FDEFINES"],
|
|
[FDEFINES="$psblas_cv_define_prepend-DMPI_H $FDEFINES"]
|
|
)
|
|
|
|
# Custom test : do we have move_alloc ?
|
|
PAC_FORTRAN_HAVE_MOVE_ALLOC(
|
|
[FDEFINES="$psblas_cv_define_prepend-DHAVE_MOVE_ALLOC $FDEFINES"],
|
|
|
|
)
|
|
|
|
PAC_FORTRAN_TEST_VOLATILE(
|
|
[FDEFINES="$psblas_cv_define_prepend-DHAVE_VOLATILE $FDEFINES"],
|
|
)
|
|
|
|
###############################################################################
|
|
# Additional pathname stuff (yes, it is redundant and confusing...)
|
|
###############################################################################
|
|
|
|
# -I
|
|
if test x"$INCLUDEPATH" != "x" ; then
|
|
FINCLUDES="$FINCLUDES $INCLUDEPATH"
|
|
CINCLUDES="$CINCLUDES $INCLUDEPATH"
|
|
fi
|
|
|
|
# -L
|
|
if test x"$LIBRARYPATH" != "x" ; then
|
|
FINCLUDES="$FINCLUDES $LIBRARYPATH"
|
|
fi
|
|
|
|
# -I
|
|
if test x"$MODULE_PATH" != "x" ; then
|
|
FINCLUDES="$FINCLUDES $MODULE_PATH"
|
|
fi
|
|
|
|
###############################################################################
|
|
# Parachute rules for ar and ranlib ... (could cause problems)
|
|
###############################################################################
|
|
|
|
if test "X$AR" == "X" ; then
|
|
AR="ar"
|
|
fi
|
|
|
|
if test "X$RANLIB" == "X" ; then
|
|
RANLIB="ranlib"
|
|
fi
|
|
|
|
# This should be portable
|
|
AR="${AR} -cur"
|
|
|
|
|
|
###############################################################################
|
|
# BLAS library presence checks
|
|
###############################################################################
|
|
|
|
# Note : The libmkl.a (Intel Math Kernel Library) library could be used, too.
|
|
# It is sufficient to specify it as -lmkl in the CLIBS or FLIBS or LIBS
|
|
# and specify its path adjusting -L/path in CFLAGS.
|
|
|
|
# Right now it is a matter of user's taste when linking custom applications.
|
|
# But PSBLAS examples could take advantage of these libraries, too.
|
|
|
|
AC_LANG([C])
|
|
ACX_BLAS([], [AC_MSG_ERROR([[Cannot find BLAS library, specify a path using --with-blas=DIR/LIB (for example --with-blas=/usr/path/lib/libcxml.a)]])])
|
|
ACX_LAPACK(
|
|
[FDEFINES="$psblas_cv_define_prepend-DHAVE_LAPACK $FDEFINES"],
|
|
)
|
|
|
|
|
|
###############################################################################
|
|
# BLACS library presence checks
|
|
###############################################################################
|
|
save_FC="$FC";
|
|
save_CC="$CC";
|
|
FC="$MPIFC";
|
|
CC="$MPICC";
|
|
PAC_CHECK_BLACS
|
|
FC="$save_FC";
|
|
CC="$save_CC";
|
|
PAC_MAKE_IS_GNUMAKE
|
|
|
|
###############################################################################
|
|
# METIS, SuperLU, SuperLU_Dist UMFPack libraries presence checks
|
|
###############################################################################
|
|
|
|
# Note : also SuperLUStat,superlu_gridexit,..
|
|
# Note : SuperLU_Dist produces superlu.a by default..
|
|
# Note : THESE WERE NOT TESTED
|
|
#AC_CHECK_LIB(superlu,[superlu_malloc_dist],psblas_cv_have_superludist=yes,psblas_cv_have_superludist=no)
|
|
#AC_CHECK_LIB(superlu,[superlu_malloc],psblas_cv_have_superlu=yes,psblas_cv_have_superlu=no)
|
|
# Note : also umfdi_local_search, ...
|
|
#AC_CHECK_LIB(umf,umfpack_di_solve,psblas_cv_have_umfpack=yes,psblas_cv_have_umfpack=no,[amd])
|
|
|
|
AC_ARG_WITH(metis, AC_HELP_STRING([--with-metis=LIB], [Specify -lMETISLIBNAME or the absolute library filename.]),
|
|
[psblas_cv_metis=$withval],
|
|
[psblas_cv_metis=''])
|
|
|
|
|
|
if test "x$psblas_cv_metis" != "x" ; then
|
|
AC_CHECK_LIB("m",METIS_PartGraphRecursive, psblas_cv_have_metis=yes; METIS_LIBS="$psblas_cv_metis", psblas_cv_have_metis=no,["$psblas_cv_metis"])
|
|
else
|
|
save_LIBS="$LIBS";
|
|
LIBS="-lm $LIBS";
|
|
AC_CHECK_LIB(metis,METIS_PartGraphRecursive,psblas_cv_have_metis=yes;METIS_LIBS="-lmetis", psblas_cv_have_metis=no)
|
|
LIBS="$save_LIBS";
|
|
fi
|
|
if test "x$psblas_cv_have_metis" == "xyes" ; then
|
|
FDEFINES="$FDEFINES $psblas_cv_define_prepend-DHAVE_METIS"
|
|
fi
|
|
|
|
|
|
|
|
# Note : We would like to detect PSBLAS, but this is complicated by the
|
|
# module symbols mangling rules, which are compiler specific !
|
|
#
|
|
# Moreover, the PSBLAS doesn't have an installer, currently.
|
|
|
|
###############################################################################
|
|
# Library target directory and archive files.
|
|
###############################################################################
|
|
|
|
LIBDIR=lib
|
|
BASELIBNAME=libpsb_base.a
|
|
PRECLIBNAME=libpsb_prec.a
|
|
METHDLIBNAME=libpsb_krylov.a
|
|
|
|
# Note: psb_util code will be compiled conditionally for METIS functionalities.. using HAVE_METIS
|
|
UTILLIBNAME=libpsb_util.a
|
|
|
|
|
|
###############################################################################
|
|
# Variable substitutions : the Make.inc.in will have these @VARIABLES@
|
|
# substituted.
|
|
|
|
AC_SUBST(FDEFINES)
|
|
AC_SUBST(CDEFINES)
|
|
AC_SUBST(BASELIBNAME)
|
|
AC_SUBST(F90)
|
|
AC_SUBST(F90COPT)
|
|
AC_SUBST(MPF90)
|
|
AC_SUBST(MPF77)
|
|
AC_SUBST(MPCC)
|
|
AC_SUBST(FCOPT)
|
|
AC_SUBST(CCOPT)
|
|
AC_SUBST(FIFLAG)
|
|
AC_SUBST(FMFLAG)
|
|
AC_SUBST(MODEXT)
|
|
AC_SUBST(MPIF77)
|
|
AC_SUBST(FLINK)
|
|
AC_SUBST(F90LINK)
|
|
AC_SUBST(LIBS)
|
|
AC_SUBST(AR)
|
|
AC_SUBST(RANLIB)
|
|
AC_SUBST(MPIFC)
|
|
AC_SUBST(MPIFCC)
|
|
|
|
AC_SUBST(INSTALL)
|
|
AC_SUBST(INSTALL_DATA)
|
|
AC_SUBST(INSTALL_DIR)
|
|
AC_SUBST(INSTALL_LIBDIR)
|
|
AC_SUBST(INSTALL_INCLUDEDIR)
|
|
|
|
AC_SUBST(BLAS_LIBS)
|
|
AC_SUBST(BLACS_LIBS)
|
|
AC_SUBST(METIS_LIBS)
|
|
AC_SUBST(LAPACK_LIBS)
|
|
|
|
AC_SUBST(CINCLUDES)
|
|
AC_SUBST(FINCLUDES)
|
|
|
|
if test "X$psblas_make_gnumake" == "Xyes" ; then
|
|
PSBLASRULES='
|
|
PSBLDLIBS=$(BLACS) $(LAPACK) $(BLAS) $(METIS_LIB) $(LIBS)
|
|
CDEFINES=$(PSBCDEFINES)
|
|
FDEFINES=$(PSBFDEFINES)
|
|
# Warning : these rules are only valid with GNU make!
|
|
$(.mod).o:
|
|
|
|
|
|
%.o: %.c
|
|
$(CC) $(F90COPT) $(CINCLUDES) $(CDEFINES) -c $<
|
|
%.o: %.f
|
|
$(FC) $(FCOPT) $(FINCLUDES) -c $<
|
|
%$(.mod): %.f
|
|
$(FC) $(FCOPT) $(FINCLUDES) -c $<
|
|
%.o: %.f90
|
|
$(F90) $(F90COPT) $(FINCLUDES) -c $<
|
|
%$(.mod): %.f90
|
|
$(F90) $(F90COPT) $(FINCLUDES) -c $<
|
|
%.o: %.F
|
|
$(FC) $(FCOPT) $(FINCLUDES) $(FDEFINES) -c $<
|
|
%$(.mod): %.F
|
|
$(FC) $(FCOPT) $(FINCLUDES) $(FDEFINES) -c $<
|
|
%.o: %.F90
|
|
$(F90) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $<
|
|
%$(.mod): %.F90
|
|
$(F90) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $<'
|
|
|
|
else
|
|
|
|
PSBLASRULES='
|
|
PSBLDLIBS=$(BLACS) $(LAPACK) $(BLAS) $(METIS_LIB) $(LIBS)
|
|
CDEFINES=$(PSBCDEFINES)
|
|
FDEFINES=$(PSBFDEFINES)
|
|
|
|
|
|
$(.mod).o:
|
|
|
|
# These should be portable rules, arent they?
|
|
.c.o:
|
|
$(CC) $(CCOPT) $(CINCLUDES) $(CDEFINES) -c $<
|
|
.f.o:
|
|
$(FC) $(FCOPT) $(FINCLUDES) -c $<
|
|
.f$(.mod):
|
|
$(F90) $(FCOPT) $(FINCLUDES) -c $<
|
|
.f90$(.mod):
|
|
$(F90) $(F90COPT) $(FINCLUDES) -c $<
|
|
.f90.o:
|
|
$(F90) $(F90COPT) $(FINCLUDES) -c $<
|
|
.F.o:
|
|
$(FC) $(FCOPT) $(FINCLUDES) $(FDEFINES) -c $<
|
|
.F$(.mod):
|
|
$(FC) $(FCOPT) $(FINCLUDES) $(FDEFINES) -c $<
|
|
.F90.o:
|
|
$(F90) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $<
|
|
.F90$(.mod):
|
|
$(F90) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $<'
|
|
|
|
fi
|
|
AC_SUBST(PSBLASRULES)
|
|
AC_SUBST(LIBDIR)
|
|
AC_SUBST(BASELIBNAME)
|
|
AC_SUBST(PRECLIBNAME)
|
|
AC_SUBST(METHDLIBNAME)
|
|
AC_SUBST(UTILLIBNAME)
|
|
|
|
###############################################################################
|
|
# the following files will be created by Automake
|
|
|
|
AC_CONFIG_FILES([Make.inc])
|
|
AC_OUTPUT()
|
|
#AC_OUTPUT(Make.inc Makefile)
|
|
###############################################################################
|
|
|
|
dnl Please note that brackets around variable identifiers are absolutely needed for compatibility..
|
|
AC_MSG_NOTICE([
|
|
${PACKAGE_NAME} ${psblas_cv_version} has been configured as follows:
|
|
|
|
MPF90 : ${MPF90}
|
|
MPF77 : ${MPF77}
|
|
MPICC : ${MPICC}
|
|
dnl F90LINK : ${F90LINK}
|
|
FLINK : ${FLINK}
|
|
|
|
FDEFINES : ${FDEFINES}
|
|
CDEFINES : ${CDEFINES}
|
|
CFLAGS : ${CFLAGS}
|
|
FFLAGS : ${FFLAGS}
|
|
FCFLAGS : ${FCFLAGS}
|
|
MODEXT : ${MODEXT}
|
|
FMFLAG : ${FMFLAG}
|
|
dnl F90COPT : ${F90COPT}
|
|
dnl FCOPT : ${FCOPT}
|
|
dnl CCOPT : ${CCOPT}
|
|
|
|
dnl ESSL/PESSL : ${psblas_cv_have_essl} / ${psblas_cv_have_pessl}
|
|
|
|
BLAS : ${BLAS_LIBS}
|
|
BLACS : ${BLACS_LIBS}
|
|
|
|
METIS detected : ${psblas_cv_have_metis}
|
|
dnl SuperLU detected : ${psblas_cv_have_superlu}
|
|
dnl SuperLU_Dist detected : ${psblas_cv_have_superludist}
|
|
dnl UMFPack detected : ${psblas_cv_have_umfpack}
|
|
dnl F90 : ${F90}
|
|
dnl FC : ${FC}
|
|
dnl CC : ${CC}
|
|
dnl F77 : ${F77}
|
|
dnl FMFLAG : ${FMFLAG}
|
|
dnl FIFLAG : ${FIFLAG}
|
|
|
|
dnl MPICXX : ${MPICXX}
|
|
dnl MPIF77 : ${MPIF77}
|
|
dnl MPIFC : ${MPIFC}
|
|
dnl MPIF90 : ${MPIF90}
|
|
dnl MPCC : ${MPCC}
|
|
dnl AR : ${AR}
|
|
dnl RANLIB : ${RANLIB}
|
|
LIBS : ${LIBS}
|
|
dnl FIXME : CLIBS seems an useless variable..
|
|
dnl FIXME : FLIBS seems an useless variable..
|
|
dnl FIXME : LIBS seems an useless variable..
|
|
dnl CLIBS : ${CLIBS}
|
|
dnl FLIBS : ${CLIBS}
|
|
dnl LIBS : ${LIBS}
|
|
|
|
dnl Note : we should use LDLIBS sooner or later!
|
|
LDLIBS : ${LDLIBS}
|
|
|
|
LIBRARYPATH : ${LIBRARYPATH}
|
|
INCLUDEPATH : ${INCLUDEPATH}
|
|
MODULE_PATH : ${MODULE_PATH}
|
|
|
|
If you are satisfied, run 'make' to build ${PACKAGE_NAME} and its documentation; otherwise
|
|
type ./configure --help=short for a complete list of configure options specific to ${PACKAGE_NAME}.
|
|
dnl To install the program and its documentation, run 'make install' if you are root,
|
|
dnl or run 'su -c "make install"' if you are not root.
|
|
])
|
|
|
|
###############################################################################
|
|
|