1. 07 Sep, 2020 1 commit
    • 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
  2. 19 May, 2020 1 commit
    • Mark Olesen's avatar
      ENH: improved granularity for MPI-rebuilds · f233595a
      Mark Olesen authored
      - Provide Allwmake-mpi scripts for handling the MPI-only build segment.
      
      - Adjust Make/options to support a FOAM_MPI_LIBBIN target location.
        This will simply default to FOAM_LIBBIN/FOAM_MPI, but allows different
        types of builds with out-of-tree targets.
      
      Example,
      
      Build OpenFOAM with default MPI settings (eg, system openmpi)
      ```
      ./Allwmake
      ```
      
      Rebuild MPI-layers with different MPI.
      
      For any given and known type
      ```
      othermpi()
      {
          export WM_MPLIB=OPENMPI
          export FOAM_MPI=openmpi-3.1.3
      
          export OPAL_PREFIX=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$FOAM_MPI
          export MPI_ARCH_PATH="$OPAL_PREFIX"
      }
      ```
      
      May wish to build/rebuild ptscotch
      ```
      (
          othermpi
          $WM_THIRD_PARTY_DIR/makeSCOTCH
      )
      ```
      
      Rebuild the mpi-dependent parts. Can also provide install location
      ```
      for script in $(find src -name Allwmake-mpi)
      do
      (
          other_mpi
          export FOAM_MPI_LIBBIN="$HOME/tmp/install-prefix/lib/$FOAM_MPI"
      )
      done
      ```
      f233595a
  3. 30 Apr, 2019 1 commit
  4. 14 Mar, 2019 1 commit
  5. 11 Dec, 2018 1 commit
    • Mark Olesen's avatar
      COMP: define Scotch and Zoltan include dirs before mpi directories · a93a1abe
      Mark Olesen authored
      - the local third-party headers are to be searched before any MPI
        include directories. This stops the situation where an mpi-specific
        version of ptscotch.h is installed into the MPI directories.
      
        This "system" version may well have a different SCOTCH_Num size
        (32 bit vs 64 bit) from the third-party library etc.
      a93a1abe
  6. 01 Jun, 2018 1 commit
  7. 29 May, 2018 1 commit
  8. 16 May, 2018 1 commit
  9. 24 Apr, 2018 1 commit
    • 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
  10. 21 Mar, 2017 1 commit
  11. 09 Nov, 2016 1 commit
    • Mark Olesen's avatar
      ENH: robuster handling of system or central installation (issue #290) · b048cacc
      Mark Olesen authored
      - Follow similar pattern as per boost/CGAL with the '*-none' to disable,
        and '*-system' for system installations.
      
        Also support central non-ThirdParty installations by specifying the
        version as "*-system", but also providing the fully qualified
        *_ARCH_PATH too.
      
      --
      ENH: Verify label and scalar sizes used in the metis header.
      
      - ensure they match with expected values, which can be obtained via
        the OpenFOAM definitions for WM_LABEL_SIZE and WM_PRECISION_OPTION
      b048cacc
  12. 04 Nov, 2016 1 commit
    • Mark Olesen's avatar
      STYLE: inconsistency in scotch, metis library locations (issue #290) · 1f2ba251
      Mark Olesen authored
      - Only reference the FOAM_EXT_LIBBIN locations when linking.
        The respective SCOTCH_ARCH_PATH/lib, METIS_ARCH_PATH/lib locations
        either do not exist, or are possibly inconsistent and won't be
        seen at run-time anyhow.
      
      - Incorporate decompose/metisDecomp/Allwmake into the top-level
        decompose/Allwmake
      1f2ba251
  13. 23 Aug, 2016 1 commit
  14. 28 Sep, 2011 1 commit
  15. 28 Apr, 2011 1 commit
  16. 11 Apr, 2011 1 commit
  17. 30 Dec, 2010 1 commit
  18. 09 Nov, 2010 1 commit
  19. 08 Nov, 2010 1 commit
  20. 20 Oct, 2010 1 commit
  21. 30 Sep, 2010 1 commit
  22. 18 Mar, 2010 1 commit
  23. 01 Mar, 2010 2 commits
  24. 04 Jan, 2010 1 commit
    • mattijs's avatar
      Moved metis into its own library. · 0e0ffa40
      mattijs authored
      Scotch is now built using its own build system which builds
      an additional metis.h which conflicts with the metis one so
      to have separate include directory settings we also need separate
      Make/ structures.
      0e0ffa40
  25. 20 Nov, 2009 2 commits
  26. 11 Oct, 2009 1 commit
  27. 20 Aug, 2009 2 commits
  28. 19 Aug, 2009 2 commits
  29. 18 Aug, 2009 1 commit
  30. 28 Apr, 2009 1 commit
  31. 23 Apr, 2009 1 commit
  32. 02 Apr, 2009 1 commit
  33. 15 Jan, 2009 1 commit
  34. 09 Jun, 2008 1 commit
  35. 05 Jun, 2008 1 commit
  36. 03 Jun, 2008 1 commit