1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-14 03:10:47 +00:00
freebsd-ports/cad/salome/Makefile.ext
Philip M. Gollucci d307af92dc SALOME is a free software that provides a generic platform for Pre
and Post-Processing for numerical simulation.
+Supports interoperability between CAD modeling and
 computation software (CAD-CAE link)
+Makes easier the integration of new components on heterogeneous systems
 for numerical computation
+Sets the priority to multi-physics coupling between computation software
+Provides a generic user interface, user-friendly and efficient,
 which helps to reduce the costs and  delays of carrying out the studies
+Reduces training time to the specific time for learning the software solution
 which has been based on this platform
+All functionalities are accessible through the programmatic
 integrated Python console

This package contains meta-port.

WWW: http://www.salome-platform.org
- Stas Timokhin
devel@stasyan.com

PR:		ports/143469
Submitted by:	Stas Timokhin <devel at stasyan.com>
2010-02-12 22:17:21 +00:00

292 lines
10 KiB
Makefile

COMMENT= ${SAL_MODULE_UPPER} module of Salome platform
USE_PYTHON= 2.4+
USE_GMAKE= yes
USE_LDCONFIG= yes
SAL_MODULE= ${PKGNAMESUFFIX:S/-//}
#.if ${SAL_MODULE} == "med" || ${SAL_MODULE} == "smesh" || ${SAL_MODULE} == "visu" || ${SAL_MODULE} == "sierpinsky" || ${SAL_MODULE} == "multipr"
.if !${SAL_MODULE} == "gui"
USE_FORTRAN=yes
USE_GCC= 4.4
.else
USE_GCC= 4.5
.endif
#SAL_MODULE_UPPER= `${ECHO} ${SAL_MODULE} | ${AWK} '{ print(toupper($$1)); }'`
#SAL_MODULE_UPPER= YACS
USE_TK= 84+
PLIST= ../salome${PKGNAMESUFFIX}/pkg-plist
#dependencies between modules
KERNEL_DEPEND= ""
GUI_DEPEND= KERNEL QWT
GEOM_DEPEND= KERNEL GUI
MED_DEPEND= KERNEL GUI MED2
SMESH_DEPEND= KERNEL GUI MED GEOM
VISU_DEPEND= KERNEL GUI MED
LIGHT_DEPEND= KERNEL GUI
YACS_DEPEND= KERNEL GUI
RANDOMIZER_DEPEND= KERNEL GUI
SIERPINSKY_DEPEND= KERNEL GUI VISU MED RANDOMIZER
FILTER_DEPEND= KERNEL GUI MED
MULTIPR_DEPEND= KERNEL GUI MED MED2 HDF5 CAS QT OMNIORB
RELEASENAME= 5.1.3
HAS_CONFIGURE= yes
CONFIGURE_ARGS+= --prefix=${PREFIX}
CONFIGURE_ARGS+= --enable-debug
CONFIGURE_ENV+= MACHINE=${OPSYS:U}
#CXXFLAGS+= -L${LOCALBASE}/lib -I/usr/include -I${LOCALBASE}/include -D__freebsd__ -DFREEBSD -DHAVE_IOSTREAM -DHAVE_LIMITS_H -DHAVE_IOMANIP -DMPICH_IGNORE_CXX_SEEK
CPPFLAGS+= -L${LOCALBASE}/lib -I/usr/include -I${LOCALBASE}/include -D__freebsd__ -DFREEBSD -DHAVE_IOSTREAM -DHAVE_LIMITS_H -DHAVE_IOMANIP -DMPICH_IGNORE_CXX_SEEK
CXXFLAGS+= -ffriend-injection -fno-inline -fpermissive -L${LOCALBASE}/lib -L${LOCALBASE}/lib/salome
CONFIGURE_SCRIPT= ../configure
PATCH_WRKSRC= ${WRKDIR}/${DISTNAME}/${SAL_MODULE_UPPER}_SRC_${RELEASENAME}
WRKSRC= ${PATCH_WRKSRC}
CONFIGURE_WRKSRC= ${WRKSRC}/${SAL_MODULE_UPPER}_build
BUILD_WRKSRC= ${WRKSRC}/${SAL_MODULE_UPPER}_build
INSTALL_WRKSRC= ${BUILD_WRKSRC}
EXTRACT_AFTER_ARGS= | ${TAR} -xf - ${DISTNAME}/${SAL_MODULE_UPPER}_SRC_${RELEASENAME}/*
PATCHDIR= ${MASTERDIR}/../salome-${SAL_MODULE}/files/
#Depend from other modules
.if !${SAL_MODULE} == "kernel"
.for D in ${${SAL_MODULE_UPPER}_DEPEND}
CONFIGURE_ENV+= ${D}_ROOT_DIR=${LOCALBASE}
CPPFLAGS+= -L${LOCALBASE}/lib/salome
.endfor
.endif
#Depndency from KERNEL module
.if !${SAL_MODULE} == "kernel"
BUILD_DEPENDS+= ${RESOURCEDIR}/kernel:${PORTSDIR}/cad/salome-kernel
RUN_DEPENDS+= ${RESOURCEDIR}/kernel:${PORTSDIR}/cad/salome-kernel
.endif
#Depndency from GUI module
.if !${SAL_MODULE} == "kernel" && !${SAL_MODULE} == "gui"
BUILD_DEPENDS+= ${RESOURCEDIR}/gui:${PORTSDIR}/cad/salome-gui
RUN_DEPENDS+= ${RESOURCEDIR}/gui:${PORTSDIR}/cad/salome-gui
.endif
#Depndency from MED module
.if ${SAL_MODULE} == "smesh" || ${SAL_MODULE} == "sierpinsky" || ${SAL_MODULE} == "multipr" || ${SAL_MODULE} == "visu"
BUILD_DEPENDS+= ${RESOURCEDIR}/med:${PORTSDIR}/cad/salome-med
RUN_DEPENDS+= ${RESOURCEDIR}/med:${PORTSDIR}/cad/salome-med
.endif
#Depndency from GEOM module
.if ${SAL_MODULE} == "smesh"
BUILD_DEPENDS+= ${RESOURCEDIR}/geom:${PORTSDIR}/cad/salome-geom
RUN_DEPENDS+= ${RESOURCEDIR}/geom:${PORTSDIR}/cad/salome-geom
.endif
#Dependency for SIERPINSKY
.if ${SAL_MODULE} == "sierpinsky"
BUILD_DEPENDS+= ${RESOURCEDIR}/visu:${PORTSDIR}/cad/salome-visu \
${RESOURCEDIR}/randomizer:${PORTSDIR}/cad/salome-randomizer
RUN_DEPENDS+= ${RESOURCEDIR}/visu:${PORTSDIR}/cad/salome-visu \
${RESOURCEDIR}/randomizer:${PORTSDIR}/cad/salome-randomizer
.endif
###########################################################################
#Dependency from other ports
###########################################################################
#Dependency from autotools
USE_AUTOTOOLS= autoconf:262 automake:15 libtool:22
#Dependency from HDF5
.if !${SAL_MODULE} == "randomizer" && !${SAL_MODULE} == "yacs" && !${SAL_MODULE} == "hello" && !${SAL_MODULE} == "pyhello"
LIB_DEPENDS+= hdf5.0:${PORTSDIR}/science/hdf5
CONFIGURE_ARGS+= --with-hdf5=${LOCALBASE}
.endif
#Dependency from Opencascade
.if !${SAL_MODULE} == "kernel"
LIB_DEPENDS+= TKernel.0:${PORTSDIR}/cad/opencascade
CASROOT= ${LOCALBASE}/OpenCAS/ros
CONFIGURE_ENV+= CASROOT=${CASROOT}
#CXXFLAGS+= -I${CASROOT}/inc
.endif
#Dependency from swig
.if !${SAL_MODULE} == "randomizer" && !${SAL_MODULE} == "light" && !${SAL_MODULE} == "multipr"
BUILD_DEPENDS+= swig:${PORTSDIR}/devel/swig13
.endif
#Dependency from doxygen
BUILD_DEPENDS+= doxygen:${PORTSDIR}/devel/doxygen
#Dependency from libxml2
.if ${SAL_MODULE} == "gui" || ${SAL_MODULE} == "kernel" || ${SAL_MODULE} == "med" || ${SAL_MODULE} == "yacs"
LIB_DEPENDS+= xml2.5:${PORTSDIR}/textproc/libxml2
CPPFLAGS+= -I${LOCALBASE}/include/libxml2
CONFIGURE_ENV+= LIBXML_DIR=${LOCALBASE}
.endif
#Dependency from boost
.if !${SAL_MODULE} == "light" && !${SAL_MODULE} == "randomizer" && !${SAL_MODULE} == "pycalculator" && !${SAL_MODULE} == "light"
CONFIGURE_ENV+= BOOSTDIR=${LOCALBASE}
LIB_DEPENDS+= boost_thread:${PORTSDIR}/devel/boost-all
###python boost support off by default
RUN_DEPENDS+= ${LOCALBASE}/lib/libboost_python.so:${PORTSDIR}/devel/boost-python-libs
BUILD_DEPENDS+= ${LOCALBASE}/lib/libboost_python.so:${PORTSDIR}/devel/boost-python-libs
.endif
#Dependency from qt4
.if !${SAL_MODULE} == "kernel" && !${SAL_MODULE} == "randomizer"
USE_QT_VER= 4
CONFIGURE_ENV+= QTDIR=${LOCALBASE}
QTFLAGS+= -I${LOCALBASE}/include/qt4 -L${LOCALBASE}/lib/qt4
QT_COMPONENTS= gui opengl svg xml qmake_build moc_build rcc_build uic_build linguist
.endif
#Dependency from qscintilla2
.if ${SAL_MODULE} == "yacs"
LIB_DEPEDNS+= qscintilla2.5:${PORTSDIR}/devel/qscintilla2
CONFIGURE_ARGS+= --with-qsci4-libraries=${QT_LIBDIR} --with-qsci4-includes=${QT_INCDIR}
.endif
#Dependency from vtk
.if !${SAL_MODULE} == "kernel" && !${SAL_MODULE} == "randomizer"
LIB_DEPENDS+= vtkCommon.5:${PORTSDIR}/math/vtk5
CONFIGURE_ENV+= VTKHOME=${LOCALBASE}
.endif
#Dependency from qwt5
.if ${SAL_MODULE} == "gui" || ${SAL_MODULE} == "component" || ${SAL_MODULE} == "smesh" || ${SAL_MODULE} == "visu" || ${SAL_MODULE} == "filter"
LIB_DEPENDS+= qwt.5:${PORTSDIR}/x11-toolkits/qwt5
#CONFIGURE_ENV+= QWTHOME=${LOCALBASE}
CONFIGURE_ARGS+= --with-qwt=${LOCALBASE}
CPPFLAGS+= -I/${LOCALBASE}/include/qwt/
.endif
#Dependency from omniORB & py-omniorb
.if !${SAL_MODULE} == "light"
LIB_DEPENDS+= omniORB4.1:${PORTSDIR}/devel/omniORB
RUN_DEPENDS+= ${LOCALBASE}/include/omniORBpy.h:${PORTSDIR}/devel/py-omniorb
RUN_DEPENDS+= notifd:${PORTSDIR}/devel/omniNotify
.endif
#Dependency from sip
.if ${SAL_MODULE} == "gui" || ${SAL_MODULE} == "component"
BUILD_DEPENDS+= sip:${PORTSDIR}/devel/py-sip
RUN_DEPENDS+= sip:${PORTSDIR}/devel/py-sip
.endif
#Dependency from Pyqt4
.if ${SAL_MODULE} == "gui" || ${SAL_MODULE} == "component"
CONFIGURE_ENV+= PYQTDIR=${PYTHON_SITELIBDIR} PYQT_SIPS=${LOCALBASE}/share/py-sip
RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/PyQt4/QtGui.so:${PORTSDIR}/x11-toolkits/py-qt4-gui
BUILD_DEPENDS+= ${PYTHON_SITELIBDIR}/PyQt4/QtGui.so:${PORTSDIR}/x11-toolkits/py-qt4-gui
RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/PyQt4/QtXml.so:${PORTSDIR}/textproc/py-qt4-xml
BUILD_DEPENDS+= ${PYTHON_SITELIBDIR}/PyQt4/QtXml.so:${PORTSDIR}/textproc/py-qt4-xml
.endif
#Dependency from metis & scotsch
.if ${SAL_MODULE} == "med"
BUILD_DEPENDS+= kmetis:${PORTSDIR}/math/metis \
gmap:${PORTSDIR}/cad/scotch
RUN_DEPENDS+= kmetis:${PORTSDIR}/math/metis \
gmap:${PORTSDIR}/cad/scotch
CONFIGURE_ENV+= METISDIR=${LOCALBASE} SCOTCHDIR=${LOCALBASE}
CPPFLAGS+= -I${LOCALBASE}/include/metis
.endif
#Dependency from graphviz
BUILD_DEPENDS+= gvgen:${PORTSDIR}/graphics/graphviz
#Dependency from MED
.if ${SAL_MODULE} == "med"
LIB_DEPENDS+= med.2:${PORTSDIR}/french/med
CONFIGURE_ENV+= MED2HOME=${LOCALBASE}
.endif
.if ${SAL_MODULE} == "yacs"
LIB_DEPENDS+= argp.0:${PORTSDIR}/devel/argp-standalone
LIB_DEPENDS+= expat.6:${PORTSDIR}/textproc/expat2
LDFLAGS+= -largp
.endif
#Don't strip binaries
.if ${SAL_MODULE} == "multipr"
STRIP=
.endif
#optionally dependency from cppunit
.if ${SAL_MODULE} == "kernel" || ${SAL_MODULE} == "gui" || ${SAL_MODULE} == "yacs" || ${SAL_MODULE} == "med"
.if defined(WITH_CPPUNIT)
CONFIGURE_ARGS+= --with-cppunit=${LOCALBASE} --with-cppunit_inc=${LOCALBASE}/include/cppunit
BUILD_DEPENDS+= cppunit-config:${PORTSDIR}/devel/cppunit
PLIST_SUB+= CPPUNIT=""
. else
CONFIGURE_ARGS+= --with-cppunit=no
PLIST_SUB+= CPPUNIT="@comment "
.endif
.endif
.if ${SAL_MODULE} == "kernel" || ${SAL_MODULE} == "med"
.if defined(WITH_MPI)
BUILD_DEPENDS+= ${LOCALBASE}/mpich2/bin/mpicc:${PORTSDIR}/net/mpich2
RUN_DEPENDS+= ${LOCALBASE}/mpich2/lib/libmpich.so:${PORTSDIR}/net/mpich2
CONFIGURE_ARGS+= --with-mpich=${LOCALBASE}/mpich2 --with-mpi=${LOCALBASE}/mpich2
PLIST_SUB+= MPI=""
. else
#CONFIGURE_ARGS+= --with-mpich=NO --with-mpi=NO
PLIST_SUB+= MPI="@comment "
.endif
.endif
CONFIGURE_ENV+= LDFLAGS="${LDFLAGS}" CXXFLAGS="${QSCIFLAGS} ${QTFLAGS} ${CXXFLAGS} " CPPFLAGS="${CPPFLAGS}"
.include <bsd.port.pre.mk>
#MAKE_JOBS_SAFE= yes
.if ${SAL_MODULE} == "kernel"
. if ${PYTHON_REL} > 260
post-patch:
${REINPLACE_CMD} 's|fromlist=None)|fromlist=None, level=-1)|g' ${WRKSRC}/src/KERNEL_PY/import_hook.py
. endif
.endif
.if ${SAL_MODULE} == "kernel"
pre-patch:
${MKDIR} ${WRKSRC}/src/Communication/rpc
${CP} /usr/include/rpc/xdr.h ${WRKSRC}/src/Communication/rpc
${REINPLACE_CMD} 's|__rpc_xdr|XDR|g' ${WRKSRC}/src/Communication/rpc/xdr.h
.endif
pre-configure:
# SAL_MODULE_UPPER=`${ECHO} ${SAL_MODULE} | ${AWK} '{ print(toupper($1)); }'`; \
MMDEPENDS="${${SAL_MODULE_UPPER}_DEPEND}"; \
for D in $${MMDEPENDS}; do \
export "$$D"_ROOT_DIR=${LOCALBASE}; \
if test "$$D"="MED2"; then \
export MED2HOME=${LOCALBASE}; \
fi; \
if test "$$D"="QWT"; then \
export QWTHOME=${LOCALBASE}; \
fi; \
if test "$$D"="HDF5HOME"; then \
export HDF5HOME=${LOCALBASE}; \
fi; \
if test "$$D"="CASROOT"; then \
export CASROOT=${CASROOT}; \
fi; \
if test "$$D"="QT"; then \
export QTDIR=${LOCALBASE}; \
fi; \
if test "$$D"="OMNIORB"; then \
export OMNIORBDIR=${LOCALBASE}; \
fi; \
echo "$$D"_ROOT_DIR; \
done; \
MACHINE=${OPSYS:U}; export MACHINE; set ${SAL_MODULE_UPPER}_ROOT_DIR ${PREFIX}; export ${SAL_MODULE_UPPER}_ROOT_DIR; cd ${WRKSRC}; ${MKDIR} ${BUILD_WRKSRC}; ${SH} ./build_configure
.include <bsd.port.post.mk>