Skip to content
Snippets Groups Projects
Commit fc6c25a2 authored by zhang's avatar zhang
Browse files

Created file for cross compilation

parent ac9f4ad8
Branches
Tags
No related merge requests found
# Process this file with autoconf to produce a configure script.
#AC_INIT(tracy/src/t2elem.cc)
AC_INIT([Tracy], [3.0], [nadolski@synchrotron-soleil.fr])
AC_CONFIG_AUX_DIR(config)
AC_CANONICAL_SYSTEM
#INIT AUTOMAKE
AM_INIT_AUTOMAKE([-Wall])
# Configuration for autoconf
AC_CONFIG_SRCDIR([tracy/src/t2elem.cc])
AC_CONFIG_HEADER([config.h])
# Checks for programs.
# Check for AWK
AC_PROG_AWK
#Check for C compile
AC_PROG_CC([mpicc gcc icc cc])
#Check for standard C compiler
AM_PROG_CC_STDC
#Check for install
AC_PROG_INSTALL
#Check for ln -s
AC_PROG_LN_S
#Check for make
AC_PROG_MAKE_SET
#Check for C preprocessor
AC_PROG_CPP
#Check for ranlib
AC_PROG_RANLIB
#Check for C++ compiler
AC_PROG_CXX
#Check for compiler
AC_PROG_F77(gfortran)
# Configure option: --enable-debug[=no]
AC_ARG_ENABLE([debug],
[AS_HELP_STRING([--enable-debug],
[enable debug code (default is no)])],
[debug="$withval"], [debug=no])
# Configure option: --enable-mpi-exec
AC_ARG_ENABLE([mpi_exec],
[ --enable-mpi-exec enable mpi exec],
[mpi_exec=${enableval}], [mpi_exec=no])
# Checks for libraries.
#AC_SEARCH_LIBS([mpi_init], [mpichcxx], [have_pthreads=yes])
# NR
#AC_SEARCH_LIBS([dsvbk], [recipes_c_icc])
# Checks for header files.
AC_CHECK_HEADERS([stdlib.h string.h])
# If MPI compitation asked, check whether header is available
if test "x${mpi_exec}" = xyes; then
have_mpi=no
AC_CHECK_HEADERS([mpi.h], [have_mpi=yes], [have_mpi=no])
if test "x${have_mpi}" = xno; then
AC_MSG_WARN([
-------------------------------------------
Unable to find mpi library on this system.
Check 'config.log' for more information.
-----------------------------------------])
else
AC_MSG_NOTICE([
-------------------------------------------
mpi library found on this system.
Building parallel version
Check 'config.log' for more information.
-----------------------------------------])
AC_DEFINE([MPI_EXEC], 1, [mpi executation enabled])
fi
fi
# Configure supported platforms
case $target_os in
linux-gnu)
#Compilation optionss
CXXFLAGS="-O2 -Wall -fno-implicit-templates " # C++ options
CFLAGS="$CFLAGS -Wall-fno-implicit-templates " # C options
FFLAGS="$FFLAGS -Wall -fbounds-check" # Fortran options
if test "x$HOSTNAME" = xisei; then
#Define isei special compilers
if test "x$have_mpi" = xyes; then
# mpi compilers
AC_MSG_NOTICE([MPI compilation available for $HOSTNAME])
CC=mpiicc
F77=mpiifort
CXX=mpiicpc
else
AC_MSG_NOTICE([Intel compilation for $HOSTNAME])
CC=icc
F77=ifort
CXX=icpc
fi
fi;;
apple-darwin);;
*)
esac
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
AC_TYPE_SIZE_T
# Checks for library functions.
AC_CONFIG_FILES(Makefile
TPSA/Makefile
tracy/Makefile
tracy/src/Makefile
tools/Makefile)
AC_OUTPUT
echo \
"-----------------------------------------------------
${PACKAGE_NAME} Version ${PACKAGE_VERSION}
SYNCHROTRON SOLEIL
Prefix.........: ${prefix}
Compiler.......: ${CC} ${CFLAGS} ${CPPFLAGS}
Debug Build....: ${debug}
Libraries......: ${LIBS}
Extra argument:
--enable-mpi-exec=yes/no
Package features:
Parallel computation using mpi: ${mpi_exec}
Now type 'make @<:@<target>@:>@'
where the optional <target> is:
all - build all binaries
check - run simple test file
install - (to be done)
distclean - Clean distribution
dist - make tar.gz (to me done)
distcheck - check
-----------------------------------------------------"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment