diff options
Diffstat (limited to 'src/configure.ac')
-rw-r--r-- | src/configure.ac | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/src/configure.ac b/src/configure.ac new file mode 100644 index 00000000..2ef734fb --- /dev/null +++ b/src/configure.ac @@ -0,0 +1,239 @@ +########## +### Bruno JOFRET +### INRIA - Scilab 2007 +########## + +## Copyright INRIA 2007 + + +AC_INIT([sci2c],[1.0],[]) +AC_CONFIG_AUX_DIR(config) +AC_PREREQ(2.55) + +RM='rm -f' +SCIDIR=$srcdir +SCIDIRFULL=`cd $SCIDIR && pwd` + +AC_CONFIG_HEADERS([includes/machine.h]) + +AC_PROG_LN_S +#AC_PACKAGE_VERSION([4.0]) + +AC_CANONICAL_HOST + +AC_PROG_RANLIB +AM_MAINTAINER_MODE +AM_INIT_AUTOMAKE([-Wall foreign]) # Not using -Werror because we override {C,F}FLAGS in order to disable optimisation + + +### Fortran Compiler +AC_PROG_F77 +### C Compiler +AC_PROG_CC +### C++ Compiler +AC_PROG_CXX + +# for "subdir-objects" +AC_PROG_CC_C_O +AC_PROG_F77_C_O + +################################# +## all the --with-* argument help +################################# +AC_ARG_WITH(stdc99, + [ --with-stdc99 Enable standard C99 (Used in complex implementation)]) +if test "$with_stdc99" = yes; then + AC_CHECK_HEADERS([complex.h]) + CFLAGS="$CFLAGS -std=c99" +fi + +########### FORTRAN FLAGS ###################### + +###################### +######## With F77 / G77 / GFortran ... +###################### + +if test -n "$F77"; then + FFLAGS="$FFLAGS -g -Wall " +fi + +########### C FLAGS ###################### + +###################### +######## With GCC ... +###################### +if test "$CC" = "gcc"; then + CFLAGS="$CFLAGS -Wformat -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -g -Wall " + # used to be -O + # -D_FORTIFY_SOURCE=2 +else + ## CC compiler (not GCC) + CFLAGS="$CFLAGS -g" +fi + + +############################################################## +## test for functions in standard C library and C math library +############################################################## + +# Provided by math.h +#AC_CHECK_FUNCS([pow] [sqrt] [finite] [floor]) + +#AC_CHECK_FUNC([exp10],,[ +# AC_DEFINE([log_10_],[2.3025850929940456840179914546844],[Provide a macro to do exp10]) +# AC_DEFINE([exp10(x)],[exp( (log_10_) * (x) )],[Provide a macro to do exp10]) +# ]) + +######################## +## test for header files +######################## + +AC_HEADER_STDBOOL + +################# +## FFTW +################# + +AC_ARG_WITH(fftw, + [ --with-fftw compile with the FFTW 3 library ]) +if test "$with_fftw" = yes; then + # AC_FFTW() + echo +fi + +################# +## atlas +################# + +# check user arguments +USER_ATLAS_LIB_PATH="" + +AC_ARG_WITH(atlas-library, + [ --with-atlas-library=DIR Atlas library files are in DIR and we use Atlas ], + [ USER_ATLAS_LIB_PATH=$withval + CC_OPTIONS="$CC_OPTIONS -DWITH_ATLAS"], + ) +if test "$USER_ATLAS_LIB_PATH" = ""; then + WHICH_BLAS="STD_BLAS" + IN_ATLAS=LOCAL +else + echo "Using Atlas library" + WHICH_BLAS="ATLAS_LAPACKBLAS" + ATLAS_DIR=$USER_ATLAS_LIB_PATH + IN_ATLAS=ATLAS + AC_DEFINE([WITH_ATLAS],[],[With the Atlas Lib]) +fi + + +####################### +## test for underscores (name mangling issues between C and fortran) +####################### +AC_CHECK_UNDERSCORE_FORTRAN() + + + +####################### +###### Creation of the header file (machine.h) +####################### + +AH_TOP([#ifndef MACHINE_H +#define MACHINE_H + +]) + +AH_BOTTOM([ +/* + Define integer C type which must fit Fortran integer + For Scilab to work, the rule is: + size of Fortran double precision = 2 * size of Fortran integer + + At the present time, we suppose: + size of Fortran integer = 4 bytes + size of Fortran double precision = 8 bytes + size of C int = 4 bytes +*/ + +typedef int integer; + +/* define boolean type */ +#ifdef BOOL + #undef BOOL +#endif + +typedef int BOOL ; + +#ifdef TRUE + #undef TRUE +#endif +#define TRUE 1 + +#ifdef FALSE + #undef FALSE +#endif +#define FALSE 0 + +/* params.h */ +#ifdef __STDC__ +#ifndef __PARAMS +#define __PARAMS(paramlist) paramlist +#endif +#ifndef _PARAMS +#define _PARAMS(paramlist) paramlist +#endif +#else +#ifndef __PARAMS +#define __PARAMS(paramlist) () +#endif +#ifndef _PARAMS +#define _PARAMS(paramlist) () +#endif +#endif + +#endif /* MACHINE_H */ +]) + + +AC_CONFIG_FILES([ +Makefile +type/Makefile +elementaryFunctions/Makefile +elementaryFunctions/acos/Makefile +]) + + +AC_OUTPUT + +echo "" + +echo "Sci2C is configured as follows. Please verify that this configuration" +echo "matches your expectations." +echo "" +echo "Host system type : $host" +echo "" +echo " Option Value" +echo "-------------------------------------------------------------------------" +echo "Options:" +echo "Atlas library (--with-atlas-library) ............ : $USER_ATLAS_LIB_PATH" +echo "Use FFTW (--with-fftw) .......................... : $with_fftw" + +echo "" + +echo "" +echo "Options used to compile and link:" +echo " PREFIX = $PREFIX_DIR" +echo " EXEC-PREFIX = $EXEC_PREFIX_DIR" +echo " CC = $CC" +echo " CFLAGS = $CFLAGS" +#echo " CPP = $CPP" +#echo " CPPFLAGS = $CPPFLAGS" +echo " PCFLAGS = $PCFLAGS" +echo " DEFS = $DEFS" +echo " LD = $LD" +echo " LDFLAGS = $LDFLAGS" +echo " LIBS = $LIBS" +echo " CXX = $CXX" +echo " CXXFLAGS = $CXXFLAGS" +echo " F77 = $F77" +echo " FFLAGS = $FFLAGS" +echo " F77_LDFLAGS = $F77_LDFLAGS" +echo "" |