Commit 76cb38fb authored by Mark Olesen's avatar Mark Olesen
Browse files

CONFIG: adjust make scripts for darwin

- handling of dead links (find -L -delete unsupported)

- remove ignore case flag on 's/../../i' used in have_scotch script.
  It is unneeded and not tolerated by Darwin's sed.

- avoid embedded comments in EXE_INC (Make/options files), which do
  not work well with the OSX LLVM cpp.
  It strips out the comments but also removes the continuation char.

STYLE: adjust notes about paraview library locations
parent 0dfda5f7
/* Add to EXE_INC as required:
-g -DFULLDEBUG -O0
*/
EXE_INC = \
/* -g -DFULLDEBUG -O0 */ \
-I$(LIB_SRC)/parallel/decompose/decompositionMethods/lnInclude \
-I$(LIB_SRC)/mesh/snappyHexMesh/lnInclude \
-I$(LIB_SRC)/fileFormats/lnInclude \
......
/* Add to EXE_INC as required:
-DFULLDEBUG -g -O0
*/
EXE_INC = \
/* -DFULLDEBUG -g -O0 */ \
${COMP_FLAGS} \
-I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/dynamicMesh/lnInclude \
......
/* Add to EXE_INC as required:
-DDEBUG_ZIPUP
-DDEBUG_CHAIN
-DDEBUG_ORDER
*/
EXE_INC = \
-I$(LIB_SRC)/meshTools/lnInclude \
/* -DDEBUG_ZIPUP */ \
/* -DDEBUG_CHAIN */ \
/* -DDEBUG_ORDER */
-I$(LIB_SRC)/meshTools/lnInclude
EXE_LIBS = \
-lmeshTools
......@@ -28,18 +28,17 @@
# For central installations not located under ThirdParty, the environment
# values must be set manually. For example,
#
# setenv ParaView_DIR /opt/paraview/paraview-5.4.1
# setenv ParaView_INCLUDE_DIR $ParaView_DIR/include/paraview-5.4
# setenv PV_PLUGIN_PATH $FOAM_LIBBIN/paraview-5.4
# setenv ParaView_DIR /opt/paraview/paraview-5.5.0
# setenv ParaView_INCLUDE_DIR $ParaView_DIR/include/paraview-5.5
# setenv PV_PLUGIN_PATH $FOAM_LIBBIN/paraview-5.5
#
# setenv PATH ${ParaView_DIR}/bin:${PATH}
# setenv LD_LIBRARY_PATH ${ParaView_DIR}/lib/paraview-5.4:${LD_LIBRARY_PATH}
# setenv PATH $ParaView_DIR/bin:${PATH}
# setenv LD_LIBRARY_PATH $ParaView_DIR/lib:$LD_LIBRARY_PATH
# unsetenv ParaView_VERSION # avoid using ThirdParty settings
#
# In newer versions (paraview 5.5), the contents of the lib/ changed
# and now need to include that as well:
# In paraview-5.4 and earlier, the libraries were in the sub-directory:
#
# setenv LD_LIBRARY_PATH ${ParaView_DIR}/lib:${ParaView_DIR}/lib/paraview-5.5:${LD_LIBRARY_PATH}
# setenv LD_LIBRARY_PATH $ParaView_DIR/lib/paraview-5.4:$LD_LIBRARY_PATH
#
#------------------------------------------------------------------------------
# USER EDITABLE PART: Changes made here may be lost with the next upgrade
......@@ -50,7 +49,7 @@ set cmake_version=cmake-system
# END OF (NORMAL) USER EDITABLE PART
#------------------------------------------------------------------------------
set pv_api=auto # Either auto or pair of digits (eg, '5.4' etc)
set pv_api=auto # Either auto or pair of (major.minor) digits
if (! $?ParaView_DIR ) setenv ParaView_DIR
if (! $?WM_COMPILER_LIB_ARCH ) setenv WM_COMPILER_LIB_ARCH
......
......@@ -34,7 +34,7 @@
#
# When _foamAddLibAuto is unset (eg, called from makeCGAL):
# - boost_version / cgal_version variables are retained.
# - the LD_LIBRARY_PATH is not adjusted.
# - the lib-path is not adjusted.
#
# Can also disable by renaming/removing this file or by creating an empty
# file with the same name at a user or site location.
......
......@@ -26,7 +26,7 @@
# Note
# When _foamAddLibAuto is unset (eg, called from makeFFTW):
# - fftw_version variable is retained.
# - LD_LIBRARY_PATH is not adjusted.
# - the lib-path is not adjusted.
#
# Can also disable by renaming/removing this file or by creating an empty
# file with the same name at a user or site location.
......
......@@ -28,18 +28,17 @@
# For central installations not located under ThirdParty, the environment
# values must be set manually. For example,
#
# export ParaView_DIR=/opt/paraview/paraview-5.4.1
# export ParaView_INCLUDE_DIR=$ParaView_DIR/include/paraview-5.4
# export PV_PLUGIN_PATH=$FOAM_LIBBIN/paraview-5.4
# export ParaView_DIR=/opt/paraview/paraview-5.5.0
# export ParaView_INCLUDE_DIR=$ParaView_DIR/include/paraview-5.5
# export PV_PLUGIN_PATH=$FOAM_LIBBIN/paraview-5.5
#
# export PATH=$ParaView_DIR/bin:$PATH
# export LD_LIBRARY_PATH=$ParaView_DIR/lib/paraview-5.4:$LD_LIBRARY_PATH
# export LD_LIBRARY_PATH=$ParaView_DIR/lib:$LD_LIBRARY_PATH
# unset ParaView_VERSION # avoid using ThirdParty settings
#
# In newer versions (paraview 5.5), the contents of the lib/ changed
# and now need to include that as well:
# In paraview-5.4 and earlier, the libraries were in the sub-directory:
#
# export LD_LIBRARY_PATH=$ParaView_DIR/lib:$ParaView_DIR/lib/paraview-5.5:$LD_LIBRARY_PATH
# export LD_LIBRARY_PATH=$ParaView_DIR/lib/paraview-5.4:$LD_LIBRARY_PATH
#
# Note
# When _foamAddLib is unset (eg, called from makeParaView or from foamPV):
......@@ -53,7 +52,7 @@ cmake_version=cmake-system
# END OF (NORMAL) USER EDITABLE PART
#------------------------------------------------------------------------------
pv_api=auto # Either auto or pair of digits (eg, '5.4' etc)
pv_api=auto # Either auto or pair of (major.minor) digits
# Compiler-specific location for ThirdParty installations
archDir="$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER"
......
......@@ -106,7 +106,6 @@ Operating system '$WM_ARCH' has incomplete support in this OpenFOAM release.
For further assistance, please contact www.OpenFOAM.com
===============================================================================
INCOMPLETE
echo "Darwin support ($WM_ARCH) is incomplete" 1>&2
;;
SunOS)
......
/* Add to EXE_INC as required:
-DWITH_MONITORING -DDEBUG_MONITORING
-DDEBUG_BAFFLES
-DDEBUG_CCMIOREAD
*/
EXE_INC = \
/* -DWITH_MONITORING -DDEBUG_MONITORING */ \
/* -DDEBUG_BAFFLES */ \
/* -DDEBUG_CCMIOREAD */ \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/fileFormats/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \
......
/* Add to EXE_INC as required:
-DFULLDEBUG -O0 -g
*/
EXE_INC = \
/* -DFULLDEBUG -O0 -g */ \
-I$(LIB_SRC)/fileFormats/lnInclude \
-I$(LIB_SRC)/surfMesh/lnInclude \
-I$(LIB_SRC)/sampling/lnInclude \
......
......@@ -118,7 +118,7 @@ have_scotch()
# Ensure consistent sizes between OpenFOAM and scotch header
# extract 'typedef int64_t SCOTCH_Num' or equivalent
label=$(sed -ne \
's/^.*typedef *\([^ ]*\) *SCOTCH_Num.*/\1/ip' \
's/^.*typedef *\([^ ]*\) *SCOTCH_Num.*/\1/p' \
"$header")
: ${label:=unknown} # Failsafe value
......
......@@ -67,10 +67,7 @@ USAGE
# Parse arguments and options
#------------------------------------------------------------------------------
# Default 'find' option
unset findOpt
# Default 'ln' option
# Option for 'ln'
lnOpt="-s"
unset update silentOpt
......@@ -149,23 +146,31 @@ fi
#------------------------------------------------------------------------------
# Remove any broken links first (this helps when file locations have moved)
#------------------------------------------------------------------------------
find -L . -type l -delete
case "$WM_ARCH" in
darwin*)
find -L . -type l -exec rm -- {} \+
  • Author Maintainer

    @alexey - stumbled across this. Looks like a typo to me, or is this actually something that works for darwin?

    Unfortunately can't tell from the commit message, but the lack of special comment here makes me think typo.

    Thanks, /mark

  • -delete is incompatible with following symlinks. Here is a quote from man (bold is mine):

    Delete found files and/or directories. Always returns true. This executes from the current working directory as find recurses down the tree. It will not attempt to delete a filename with a / character in its pathname relative to . for security reasons. Depth-first traversal processing is implied by this option. Following symlinks is incompatible with this option.

    Edited by Alexey Matveichev
  • Author Maintainer

    Thanks - what about the trailing \+ instead of a \; - looks weird

    Edited by Mark Olesen
  • With \+ we have single rm invocation. I.e. with \; exec is expanded into

    rm result1
    rm result2
    ...

    with \+ it is expanded into

    rm result1 result2 ...

    See, for example, https://stackoverflow.com/questions/6085156/using-semicolon-vs-plus-with-exec-in-find.

  • Author Maintainer

    Perfect! I guess I could have checked SO myself, but there are seemingly many darwin-specific things that I get pretty nervous.

    I'll add a small comment (in develop) for a personal reminder.

    Thanks!!!

Please register or sign in to reply
;;
*)
find -L . -type l -delete
;;
esac
#------------------------------------------------------------------------------
# Create links, avoid recreating links unless necessary
# things placed in the 'noLink' directory are skipped
#------------------------------------------------------------------------------
find .. $findOpt \
\( -name lnInclude -o -name Make -o -name config -o -name noLink \) \
-prune \
-o \( \
-name '*.[CHh]' \
-o -name '*.[ch]xx' \
-o -name '*.[ch]pp' \
-o -name '*.type' \
\) \
-exec ln $lnOpt {} . \;
find .. \
\( -name lnInclude -o -name Make -o -name config -o -name noLink \) \
-prune \
-o \( \
-name '*.[CHh]' \
-o -name '*.[ch]xx' \
-o -name '*.[ch]pp' \
-o -name '*.type' \
\) \
-exec ln $lnOpt {} . \;
exit 0 # clean exit
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment