mirror of
https://github.com/NGSolve/netgen.git
synced 2024-11-11 16:49:16 +05:00
255 lines
7.1 KiB
Plaintext
255 lines
7.1 KiB
Plaintext
AC_INIT([netgen],[5.1-dev],[],[])
|
|
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
|
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
|
|
AC_PREFIX_DEFAULT(["/opt/netgen"])
|
|
|
|
|
|
|
|
|
|
|
|
# AC_HEADER_STDC
|
|
AC_CONFIG_HEADERS(config.h)
|
|
AC_DISABLE_STATIC
|
|
|
|
AC_LANG([C++])
|
|
AC_PROG_CXX
|
|
|
|
AC_OPENMP
|
|
CXXFLAGS="$CXXFLAGS $OPENMP_CXXFLAGS"
|
|
LDFLAGS="$LDFLAGS $OPENMP_CXXFLAGS"
|
|
|
|
AC_PROG_LIBTOOL
|
|
LT_INIT
|
|
|
|
# OpenCASCADE configuration
|
|
|
|
occon=false
|
|
AC_ARG_ENABLE([occ],
|
|
[AC_HELP_STRING([--enable-occ],[compile with OpenCascade geometry kernel])],
|
|
[occon=true])
|
|
|
|
AC_ARG_WITH([occ],
|
|
[AC_HELP_STRING([--with-occ=dir],[use OpenCascade installed in directory dir])],
|
|
[occdir=$withval]
|
|
[occon=true],
|
|
[occdir=/opt/OpenCASCADE]
|
|
)
|
|
|
|
|
|
|
|
if test a$occon = atrue ; then
|
|
|
|
AC_SUBST([OCCFLAGS], ["-DOCCGEOMETRY -I$occdir/inc -I/usr/include/opencascade"])
|
|
AC_SUBST([OCCLIBS], ["-L$occdir/lib -lTKernel -lTKGeomBase -lTKMath -lTKG2d -lTKG3d -lTKXSBase -lTKOffset -lTKFillet -lTKShHealing -lTKMesh -lTKMeshVS -lTKTopAlgo -lTKGeomAlgo -lTKBool -lTKPrim -lTKBO -lTKIGES -lTKBRep -lTKSTEPBase -lTKSTEP -lTKSTL -lTKSTEPAttr -lTKSTEP209 -lTKXDESTEP -lTKXDEIGES -lTKXCAF -lTKLCAF -lFWOSPlugin"])
|
|
|
|
# -lTKDCAF
|
|
|
|
if test a$build_cpu = ax86_64 ; then
|
|
AC_SUBST([OCCFLAGS],["$OCCFLAGS -D_OCC64"])
|
|
fi
|
|
|
|
|
|
AC_CHECK_HEADER([iostream],[OCCFLAGS="$OCCFLAGS -DHAVE_IOSTREAM"])
|
|
AC_CHECK_HEADER([iostream.h],[OCC_FLAGS="$OCCFLAGS -DHAVE_IOSTREAM_H"])
|
|
AC_CHECK_HEADER([limits],[OCCFLAGS="$OCCFLAGS -DHAVE_LIMITS"])
|
|
AC_CHECK_HEADER([limits.h],[OCCFLAGS="$OCCFLAGS -DHAVE_LIMITS_H"])
|
|
AC_CHECK_HEADER([iomanip],[OCCFLAGS="$OCCFLAGS -DHAVE_IOMANIP"])
|
|
AC_CHECK_HEADER([iomanip.h],[OCCFLAGS="$OCCFLAGS -DHAVE_IOMANIP_H"])
|
|
|
|
|
|
echo "OCCFLAGS = $OCCFLAGS"
|
|
echo "OCCLIBS = $OCCLIBS"
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AC_ARG_WITH([togl],
|
|
[AC_HELP_STRING([--with-togl=dir],[directory containing libTogl1.7])],
|
|
[togldir=$withval]
|
|
[togllibfl="-L$withval$"]
|
|
)
|
|
# [togllibfl="-L$(TK_BIN_DIR)/Togl1.7"]
|
|
# [togllibfl="-L/usr/local/lib/Togl1.7"]
|
|
|
|
|
|
nglibon=true
|
|
AC_ARG_ENABLE([nglib],
|
|
[AC_HELP_STRING([--enable-nglib],[generate shared library nglib])],
|
|
[if test "$enableval" = yes; then nglibon=true; else nglibon=false; fi])
|
|
|
|
ngguion=true
|
|
AC_ARG_ENABLE([gui],
|
|
[AC_HELP_STRING([--disable-gui],[don't build netgen with GUI])],
|
|
[if test "$enableval" = yes; then ngguion=true; else ngguion=false; fi])
|
|
|
|
metisdir=/usr/local
|
|
AC_ARG_WITH([metis],
|
|
[AC_HELP_STRING([--with-metis=dir],[path to metis 5.x])],
|
|
[metisdir=$withval],
|
|
[metisdir=/usr/local]
|
|
)
|
|
|
|
AC_ARG_ENABLE([parallel],
|
|
[AC_HELP_STRING([--enable-parallel],[enable mpi parallelization])],
|
|
[AC_SUBST([MPI_INCLUDES], "-I$metisdir/include -DMETIS")]
|
|
[CXXFLAGS="$CXXFLAGS -DPARALLEL"]
|
|
[AC_SUBST([MPI_LIBS], "-L$metisdir/lib -lmetis")]
|
|
)
|
|
# -DVTRACE
|
|
# -lvt-hyb
|
|
|
|
# [AC_SUBST([MPI_INCLUDES], "-I/opt/mpich/include -I/usr/include/mpich2 -I/usr/include/metis -DPARALLEL -I/usr/share/metis/Lib -DMETIS -DVTRACE -I/usr/local/include/vampirtrace")
|
|
# AC_SUBST([MPI_LIBS], "-lmetis -L/opt/mpich/ch-p4/lib -lmpich")
|
|
|
|
# -lvt -lvt-mpi -lvt-mpi-unify")
|
|
# [AC_SUBST([MPI_INCLUDES], "-I/opt/mpich/include -DPARALLEL -I/usr/include/metis -DMETIS")
|
|
# AC_SUBST([MPI_LIBS], " -L/opt/mpich/ch-p4/lib64 -lmpich -lmetis")
|
|
# [AC_SUBST([MPI_INCLUDES], "-DPARALLEL -DNO_PARALLEL_THREADS -I/opt/mpich/include")
|
|
# AC_SUBST([MPI_LIBS], "")
|
|
# -lmetis
|
|
# [AC_SUBST([MPI_INCLUDES], "-I/opt/mpich/include -DPARALLEL -I/home/joachim/download/metis-4.0/Lib -DMETIS")
|
|
# AC_SUBST([MPI_LIBS], "-L/home/joachim/download/metis-4.0 -lmetis -L/opt/mpich/ch-p4/lib64 -lmpich")
|
|
|
|
|
|
jpeglibon=false
|
|
AC_ARG_ENABLE([jpeglib],
|
|
[AS_HELP_STRING([--enable-jpeglib],[enable snapshots using library libjpeg])],
|
|
[AC_SUBST([JPEGLIB_INCLUDES], "-DJPEGLIB")
|
|
AC_CHECK_LIB(jpeg, jpeg_start_compress,
|
|
AC_SUBST([JPEGLIB_LIBS], "-ljpeg") ,
|
|
AC_MSG_ERROR([no usable library libjpeg found]))
|
|
[if test "$enableval" = yes; then jpeglibon=true; else jpeglibon=false; fi]
|
|
]
|
|
)
|
|
|
|
ffmpegon=false
|
|
AC_ARG_ENABLE([ffmpeg],
|
|
[AS_HELP_STRING([--enable-ffmpeg],[enable video recording with FFmpeg, uses libavcodec])],
|
|
[AC_SUBST([FFMPEG_INCLUDES], "-DFFMPEG -D__STDC_CONSTANT_MACROS")
|
|
AC_SUBST([FFMPEG_LIBS], "-lavutil -lavformat -lavcodec -lavutil -lswscale -lz -lbz2")
|
|
[if test "$enableval" = yes; then ffmpegon=true; else ffmpegon=false; fi]
|
|
]
|
|
)
|
|
|
|
|
|
mklon=false
|
|
AC_ARG_ENABLE([mkl],
|
|
[AS_HELP_STRING([--enable-mkl],[link Intel's mkl library, necessary for ngsolve and mkl 11.x])],
|
|
[if test "$enableval" = yes; then mklon=true; else mklon=false; fi]
|
|
)
|
|
|
|
# only for GUI version
|
|
|
|
if test a$ngguion = atrue ; then
|
|
# Tcl/Tk configuration:
|
|
TEA_INIT([3.9])
|
|
TEA_PATH_TCLCONFIG
|
|
TEA_LOAD_TCLCONFIG
|
|
TEA_PATH_TKCONFIG
|
|
TEA_LOAD_TKCONFIG
|
|
TEA_PUBLIC_TCL_HEADERS
|
|
|
|
AC_SUBST([TOGLLIBDIR], ["$togllibfl"])
|
|
AC_CHECK_HEADER([togl.h])
|
|
AC_CHECK_HEADER([GL/gl.h])
|
|
|
|
|
|
|
|
#--------------------------------------------------------------------
|
|
# __CHANGE__
|
|
# Choose OpenGL platform (borrowed from Togl1.7)
|
|
#--------------------------------------------------------------------
|
|
|
|
case "${TEA_WINDOWINGSYSTEM}" in
|
|
aqua)
|
|
AC_SUBST(TOGL_WINDOWINGSYSTEM,TOGL_AGL)
|
|
TEA_ADD_LIBS([-framework AGL -framework OpenGL -framework ApplicationServices])
|
|
# libGLU is implicit in OpenGL framework
|
|
LIBGLU=
|
|
;;
|
|
x11)
|
|
AC_SUBST(TOGL_WINDOWINGSYSTEM,TOGL_X11)
|
|
TEA_ADD_LIBS([-lGL -lXmu])
|
|
LIBGLU=-lGLU
|
|
;;
|
|
win32)
|
|
AC_SUBST(TOGL_WINDOWINGSYSTEM,TOGL_WGL)
|
|
TEA_ADD_LIBS([opengl32.lib user32.lib gdi32.lib])
|
|
if test "$GCC" = "yes" ; then
|
|
LIBGLU=-lglu32
|
|
else
|
|
LIBGLU=glu32.lib
|
|
fi
|
|
;;
|
|
*)
|
|
AC_MSG_ERROR([Unsupported windowing system: ${TEA_WINDOWINGSYSTEM}])
|
|
;;
|
|
esac
|
|
AC_SUBST(LIBGLU)
|
|
|
|
fi
|
|
|
|
|
|
|
|
AM_CONDITIONAL([NGLIB], [test x$nglibon = xtrue])
|
|
AM_CONDITIONAL([NGGUI], [test x$ngguion = xtrue])
|
|
AM_CONDITIONAL([NGMKL], [test x$mklon = xtrue])
|
|
|
|
AC_CHECK_HEADER(pthread.h)
|
|
|
|
AC_CHECK_FUNCS([pow])
|
|
AC_CHECK_FUNCS([floor])
|
|
AC_CHECK_FUNCS([matherr])
|
|
AC_CHECK_HEADERS([limits.h])
|
|
|
|
AC_CHECK_LIB(pthread, pthread_create)
|
|
|
|
|
|
|
|
|
|
AC_CONFIG_FILES(Makefile libsrc/Makefile libsrc/csg/Makefile
|
|
libsrc/general/Makefile libsrc/geom2d/Makefile libsrc/gprim/Makefile
|
|
libsrc/include/Makefile libsrc/interface/Makefile
|
|
libsrc/linalg/Makefile libsrc/meshing/Makefile libsrc/occ/Makefile
|
|
libsrc/stlgeom/Makefile
|
|
libsrc/visualization/Makefile ng/Makefile nglib/Makefile
|
|
tutorials/Makefile doc/Makefile windows/Makefile )
|
|
|
|
AC_OUTPUT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AC_MSG_RESULT([
|
|
------------------------------------------------------------------------
|
|
$PACKAGE $VERSION: Automatic configuration OK.
|
|
|
|
Enabled functionality:
|
|
|
|
OCC: ............... $occon
|
|
JPEGlib: ........... $jpeglibon
|
|
FFMPEG: ............ $ffmpegon
|
|
NGLIB: ............. $nglibon
|
|
GUI: ............... $ngguion
|
|
|
|
|
|
Building:
|
|
|
|
Type 'make' to compile $PACKAGE.
|
|
|
|
Type 'make install' to install $PACKAGE.
|
|
|
|
Example programs will be built but not installed.
|
|
------------------------------------------------------------------------
|
|
])
|