Skip to content
Snippets Groups Projects
  1. Oct 09, 2018
  2. Sep 12, 2018
  3. Jun 19, 2018
  4. May 30, 2018
  5. Apr 24, 2018
    • Mark OLESEN's avatar
      CONFIG: adjust make scripts for darwin · 76cb38fb
      Mark OLESEN authored
      - 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
      76cb38fb
    • Mark OLESEN's avatar
      CONFIG: remove WM_LINK_LANGUAGE env variable (always c++) · 2768500d
      Mark OLESEN authored
      - was somewhat redundant in wmake/rules/General/general anyhow
      2768500d
    • Mark OLESEN's avatar
      ENH: improve handling of ThirdParty packages · b4d38ab4
      Mark OLESEN authored
      - generalize some of the library extensions (.so vs .dylib).
        Provide as wmake 'sysFunctions'
      
      - added note about unsupported/incomplete system support
      
      - centralize detection of ThirdParty packages into wmake/ subdirectory
        by providing a series of scripts in the spirit of GNU autoconfig.
        For example,
      
            have_boost, have_readline, have_scotch, ...
      
        Each of the `have_<package>` scripts will generally provide the
        following type of functions:
      
            have_<package>          # detection
            no_<package>            # reset
            echo_<package>          # echoing
      
        and the following type of variables:
      
            HAVE_<package>          # unset or 'true'
            <package>_ARCH_PATH     # root for <package>
            <package>_INC_DIR       # include directory for <package>
            <package>_LIB_DIR       # library directory for <package>
      
        This simplifies the calling scripts:
      
            if have_metis
            then
                wmake metisDecomp
            fi
      
        As well as reducing clutter in the corresponding Make/options:
      
            EXE_INC = \
                -I$(METIS_INC_DIR) \
                -I../decompositionMethods/lnInclude
      
            LIB_LIBS = \
                -L$(METIS_LIB_DIR) -lmetis
      
        Any additional modifications (platform-specific or for an external build
        system) can now be made centrally.
      b4d38ab4
  6. Apr 13, 2018
  7. Apr 12, 2018
    • Mark OLESEN's avatar
      ENH: make it easier to switch between the various make dependencies programs. · de72a04a
      Mark OLESEN authored
      - However, the new ragel-based parser is much faster
        than the others, and does not cause 'too many open files' error
        that the flex-based parser does (issue #784).
      
        The timings (using src/sampling as being somewhat representative)
      
          $ wclean; wmakeLnInclude -u .; time wmake -s dep
      
              3.4s  wmkdepend (ragel) [now default]
              5.7s  wmkdep (flex)
              6.1s  cpp -M
      
      - The makeDepend script is for testing purposes only, but could used as
        a hook for other dependency generation systems (eg, ninja).
        It simply wraps 'cpp -M' in a form that is calling compatible with
        wmkdepend.
      
      BUG: wmkdepend parser was missing optional leading space on #include match
      
      STYLE: use -G2 (goto-based) option for wmkdepend state machine
      
      - the machine is compact with few states and lends itself to this
      de72a04a
  8. Jan 31, 2018
  9. Nov 24, 2017
    • Mark OLESEN's avatar
      ENH: more succinct output from command-line errors. · 5947f9a3
      Mark OLESEN authored
      - unknown options or missing option values now emit a shorter message
        without the entire usage. This makes it easier to identify the errors
        and is better aligned with the behaviour of GNU system tools.
      
        ====
           $ simpleFoam -case
           Using: OpenFOAM-plus (see www.OpenFOAM.com)
           Build: plus-01234
      
           Error: option '-case' requires an argument
      
           See 'simpleFoam -help' for usage
        ====
      
      - provide for reduced (-help) and full (-help-full) usage information.
        In many cases the reduced usage provided sufficient and easier
        to find the information.
      
      - make -srcDoc an alias for -doc-source
      
      - no warnings about option aliases for future dates.
      5947f9a3
  10. Oct 30, 2017
    • Mark OLESEN's avatar
      ENH: improve wcleanBuild, wcleanPlatform flexibility (issue #627) · ba8fdda5
      Mark OLESEN authored
      - add -compiler=NAME option to remove a build or platforms directory
        corresponding to any specified compiler on the current arch.
      
      - when -compiler or -compiler=NAME is specified, also clean related
        sub-directories as well. This will cleanup mpi-related directory.
      ba8fdda5
  11. May 05, 2017
  12. Apr 20, 2017
    • Mark Olesen's avatar
      CONFIG: address differences between shells · 7f01a4be
      Mark Olesen authored
      - suppress error messages that appear with zsh.
        According to unset(1p), 'unset -f' unsets a function.
        If the function was not previously defined, this is a no-op.
        This is similar for zsh, but there it emits a warning if the
        function was not previously defined.
      
      - avoid 'local' in functions sources from etc/bashrc.
        ksh does not support this.
      
      - use 'command' shell builtin instead of 'type'.
        Seems to be more consistent between shell flavours.
      7f01a4be
  13. Mar 20, 2017
    • Mark Olesen's avatar
      ENH: minor improvements to environment · b970ba09
      Mark Olesen authored
      - handle sourcing bashrc with a relative path (issue #383)
      - handle sourcing from bash and zsh.
        Still need manual intervention when sourcing dash, sh, or ksh.
      - replace grep in etc/cshrc with sed only
      - logical instead of physical path for WM_PROJECT_DIR (issue #431).
        Doesn't seem to be possible for csh/tcsh.
      
        * Continue using physical locations when comparing directories,
          but not for the top-level FOAM_INST_DIR, WM_PROJECT_DIR.
      
      - relocate WM_CC, WM_CXX overrides from etc/config.*/compiler
        to etc/config.*/settings to ensure that they are left untouched
        when etc/config.sh/compiler is sourced while making third-party
        packages (eg, gcc, llvm, CGAL).
      
      - provide fallback FOAM_TUTORIALS setting in RunFunctions
      
      STYLE: remove "~OpenFOAM" fallback as being too rare, non-obvious
      b970ba09
  14. Mar 15, 2017
  15. Feb 21, 2017
  16. Feb 10, 2017
  17. Jan 28, 2017
  18. Jan 23, 2017
  19. Dec 22, 2016
    • Mark Olesen's avatar
      COMP: update lnInclude directories when building (issue #364) · 608bb5d8
      Mark Olesen authored
      - Could be related to interrupted builds.
        So if there are any parts of the build that rely on an explicit
        'wmakeLnInclude', make sure that the contents are properly updated.
      
      --
      
      ENH: improved feedback from top-level Allwmake
      
      - Report which section (libraries, applications) is being built.
      
      - Provide final summary of date, version, etc, which can be helpful
        for later diagnosis or record keeping.
      
      - The -log=XXX option for Allwmake now accepts a directory name
        and automatically appends an appropriate log name.
        Eg,
            ./Allwmake -log=logs/  ->> logs/log.linux64GccDPInt32Opt
      
        The default name is built from the value of WM_OPTIONS.
      
      --
      
      BUG: shell not exiting properly in combination with -log option
      
      - the use of 'tee' causes the shell to hang around.
        Added an explicit exit to catch this.
      
      --
      
      - Detecting the '-k' (-non-stop) option at the top-level Allwmake, which
        may improve robustness.
      
      - Explicit continue-on-error for foamyMesh (as optional component)
      
      - unify format of script messages for better readability
      
      COMP: reduce warnings when building Pstream (old-style casts in openmpi)
      608bb5d8
  20. Dec 15, 2016
  21. Dec 13, 2016
  22. Dec 09, 2016
  23. Nov 14, 2016
  24. Nov 13, 2016
  25. Oct 03, 2016
  26. Jul 17, 2016
  27. Jul 10, 2016
  28. Jul 09, 2016
  29. Jul 07, 2016
  30. Jul 04, 2016
  31. Jun 24, 2016
  32. Jun 15, 2016
  33. Jun 11, 2016
  34. May 16, 2016