Skip to content
Snippets Groups Projects
  1. Jun 10, 2021
    • Mark OLESEN's avatar
      ENH: robustness, consistency for wmake -show-api, -version · c7bde70e
      Mark OLESEN authored
      - add to wmakeFunctions to ensure it works even without 'make' being
        installed. Exit immediately after -show-api for consistency with
        -version.
      
      foamEtcFile:
        - drop warnings for some old (pre-v1812) defunct options
          and simply flag as unknown options.
        - handle -version, --version as equivalent to -show-api
      c7bde70e
  2. May 31, 2021
  3. May 19, 2021
  4. Apr 27, 2021
  5. Apr 23, 2021
  6. Mar 29, 2021
  7. Mar 09, 2021
  8. Mar 05, 2021
  9. Feb 16, 2021
  10. Dec 21, 2020
  11. Dec 17, 2020
  12. Dec 15, 2020
  13. Dec 11, 2020
  14. Dec 08, 2020
  15. Nov 30, 2020
  16. Nov 26, 2020
  17. Nov 25, 2020
  18. Nov 17, 2020
  19. Nov 11, 2020
    • Mark OLESEN's avatar
      CONFIG: rationalize mpi config tuning (#1910) · c91fc6f4
      Mark OLESEN authored
      - prefix FOAM_MPI and library directories with 'sys-' for system
        versions for uniform identication.
      
        WM_MPLIB      | libdir (FOAM_MPI)  | old naming |
        SYSTEMMPI     | sys-mpi            | mpi        |
        SYSTEMOPENMPI | sys-openmpi        | openmpi-system |
      
      - prefix preferences with 'prefs.' to make them more easily
        identifiable, and update bin/tools/create-mpi-config accordingly
      
            Old name: config.{csh,sh}/openmpi
            New name: config.{csh,sh}/prefs.openmpi
      
      - additional mpi preferences now available:
          * prefs.intelmpi
          * prefs.mpich
          ...
      
      CONFIG: added hook for EASYBUILDMPI (eb-mpi), somewhat like USERMPI
      
      - EasyBuild uses mpicc when compiling, so no explicit wmake rules are
        used
      
      ENH: support different major versions for system openmpi
      
      - for example, with
      
           WM_MPLIB=SYSTEMOPENMPI2
      
        defines FOAM_MPI=sys-openmpi2 and thus creates lib/sys-openmpi2
      
      ENH: centralize handling of mpi as 'mpi-rules'
      
          Before:
              sinclude $(G...
      c91fc6f4
  20. Nov 09, 2020
  21. Nov 07, 2020
  22. Nov 04, 2020
    • Mark OLESEN's avatar
      CONFIG: ptscotch header not found on RedHat/Fedora (fixes #1904) · 5e660c36
      Mark OLESEN authored
      - no limit to the number of ways of filing ptscotch libraries.
        RedHat/Fedora/CentOS should look for these directories:
      
            ptscotch include=/usr/include/openmpi-x86_64
            ptscotch library=/usr/lib64/openmpi/lib
      
        when MPI_ARCH_PATH=/usr/lib64/openmpi
        and mpicc --showme:compile yields -I/usr/include/openmpi-x86_64
      5e660c36
    • Mark OLESEN's avatar
      ENH: handle wmake -debug option via FOAM_EXTRA_CXX_FLAGS · 1d544540
      Mark OLESEN authored
      - ensures that subsequent Allwmake scripts know about it.
      
      ENH: add bin/tools/query-detect wrapper for wmake have_* scripts
      
      CONFIG: use project/ThirdParty without additional sanity checks
      
      - no need to test for Allwmake or platforms/ if ThirdParty is located
        within the project directory itself.
      
      COMP: add simple mpi test to 00-dummy
      
      - for testing library linkage, etc.
      1d544540
  23. Oct 12, 2020
    • Mark OLESEN's avatar
      CONFIG: bump API to 2010 · a475a19d
      Mark OLESEN authored
      - mostly reflects minor additions to Pstream methods and blockMesh
        improvements.
      a475a19d
    • Mark OLESEN's avatar
      CONFIG: ptscotch header not found on ArchLinux (fixes #1877) · bea65632
      Mark OLESEN authored
      - on ArchLinux, everything is installed under /usr/include/scotch.
      
        The detection script uses SCOTCH_ARCH_PATH as an initial guess for
        ptscotch as well. However, on the second pass, it has an absolute
        value ("/usr") instead of a logical one ("scotch-system").
        This resulted in the logic for handling scotch+ptscotch subdirs
        being bypassed.
      bea65632
  24. Sep 23, 2020
  25. Sep 07, 2020
    • Mark OLESEN's avatar
      CONFIG: improve support for compiler/link options (#1830) · 9423d2bd
      Mark OLESEN authored
      - introduce WM_COMPILE_CONTROL variable to convey control information
        into the build rules.
      
        The convention (as per spack):
            - '+' to select a feature
            - '~' to deselect a feature
      
        Eg, to select the gold linker, and disable openmp
        (spaces are not required):
      
            WM_COMPILE_CONTROL="+gold ~openmp"
      
      CONFIG: accept FOAM_EXTRA_LDFLAGS for AMD, gold, Mingw linkers
      
      CONFIG: generalize PROJECT_LIBS (-ldl used almost universally)
      9423d2bd
  26. Aug 12, 2020
    • Mark OLESEN's avatar
      COMP: wmake findObjectDir fails for non-project directories (fixes #1807) · dd1c2edb
      Mark OLESEN authored
      - experienced while reusing src/Pstream/Allwmake-mpi to create
        additional mpi-layers after installation. Since the copied sources
        are not located within the OpenFOAM source-tree (and/or the
        source-tree is non-writable), it should not and does not use the
        central build/WM_OPTIONS directory.
      
        However, when exploring for the appropriate local Make directory, it
        searched for the current '.' directory instead of checking for the
        resolved directory.
      
        This fails, since there is no src/Pstream/Make directory.
        Must check for src/Pstream/mpi/Make directory first!
      
      - Adjust wclean to always remove a local build directory
        (Make/WM_OPTIONS) for additional safety.
        After which, attempt to remove central build/WM_OPTIONS version too.
      dd1c2edb
  27. Aug 10, 2020
    • Mark OLESEN's avatar
      ENH: direct access to wrapped ifstream/ofstream with compression (#1805) · 6e2b7be9
      Mark OLESEN authored
      - previously hidden as Detail::[IO]FstreamAllocator, now exposed
        directly as [io]fstreamPointer, which allows reuse for
        std::ifstream, std::ofstream wrapping, without the additional
        ISstream, OSstream layers.
      
        These stream pointers have some characteristics similar to a
        unique_ptr.
      
      - restrict direct gzstream usage to two files (fstreamPointers.C,
        gzstream.C) which improves localization and makes it simpler to
        enable/disable with the `HAVE_LIBZ` define.
      
        The HAVE_LIBZ define is currently simply hard-coded in the
        Make/options.
      
        If compiled WITHOUT libz support:
          - reading gz files : FatalError
          - writing gz files : emit warning and downgrade to uncompressed
          - warn if compression is specified in the case controlDict
            and downgrade to uncompressed
      
      ENH: minor updates to gzstream interface for C++11
      
      - support construct/open with std::string for the file names.
      
      CONFIG: provisioning for have_libz detection as wmake/script
      6e2b7be9
  28. Aug 06, 2020
  29. Jul 10, 2020
    • Mark OLESEN's avatar
      ENH: update lemon version and linkage directive (#1768) · 6365bab8
      Mark OLESEN authored
      - replace `%namespace` directive with simpler `%static` directive.
      
        We always encapsulate Lemon parser routines in an anonymous
        namespace, so a simpler static linkage directive suffices.
      
        This reduces the size of the Lemon patch (program and template).
      6365bab8
  30. Jun 29, 2020
    • Mark OLESEN's avatar
      CONFIG: refine handling of git information for debian builds · 2ba62438
      Mark OLESEN authored
      - When OpenFOAM is under git control and a 'debian/' directory exists,
        this could mean two things:
      
        1) Additional debian control has been added to OpenFOAM
        2) OpenFOAM has been imported into a debian project
      
      For the case that OpenFOAM has been imported into a debian project,
      using the git information would be highly misleading. There will be no
      OpenFOAM SHA1 correspondence.
      
      However, if additional debian control has been added to OpenFOAM the
      SHA1 will be valid.
      
      The ad hoc solution is to use an additional "openfoam.debian"
      directory to flag the addition of debian controls into openfoam.
      
      When a "debian/" directory exists without a "openfoam.debian", assume
      that the OpenFOAM has been imported into debian and do not use the SHA1.
      2ba62438
  31. Jun 24, 2020
  32. Jun 19, 2020