- Apr 24, 2018
-
-
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.
-
Mark OLESEN authored
- permits platform-specific override of the general CGAL rules
-
- Apr 20, 2018
-
-
Mark OLESEN authored
- the previous grammar used '/*' { fgoto comment; } to start processing multi-line comments and comment := any* :>> '*/' @{ fgoto main; }; as a finishing action to return to normal lexing, but seemed not to have been triggered properly. Now simply trap in a single rule: '/*' any* :>> '*/'; # Multi-line comment STYLE: use more compact dnl (delete to newline) OLD: [^\n]* '\n' NEW: (any* -- '\n') '\n' eliminates the intermediate state
-
- Apr 17, 2018
-
-
Mark OLESEN authored
- adjusted grammar to be more precise
-
- Apr 13, 2018
-
-
Mark OLESEN authored
-
- Apr 12, 2018
-
-
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
-
- Apr 09, 2018
-
-
Mark OLESEN authored
- a partial selection from https://github.com/mrklein/openfoam-os-x with adjustments. The primary purpose is to reduce header-level incompatibilities and to provide a common set of make rules to allow easier patching (or re-integration).
-
- Apr 11, 2018
-
-
Mark OLESEN authored
This is similar to efforts (Feb 2010) but using ragel (https://en.wikipedia.org/wiki/Ragel) instead of the now defunct coco/r. The modified commit message from 2010: ENH: add C++-based wmkdepend parser (uses ragel grammar). - This avoids dependency on lex/flex and provides better encapsulation for buffer switching. As a result, the maximum number of open files only corresponds to the include depth. -- Note that the flex source and rules are still available, but are not deactivate (see wmake/rules/General/transform)
-
- Apr 08, 2018
-
-
Mark OLESEN authored
- less efficient and less portable than using single-pass processing
-
- Mar 28, 2018
-
-
mattijs authored
-
- Mar 21, 2018
-
-
Mark OLESEN authored
- easier to ensure that flags are consistent
-
mattijs authored
-
- Feb 28, 2018
-
-
Mark OLESEN authored
- downgrades some diagnostics about nonconformant code from errors to warnings. Oddly enough, the errors actually arise from STL library elements shipped with gcc itself. Affects kahip compilation with gcc-6, gcc-7
-
- Mar 05, 2018
-
-
Mark OLESEN authored
- primary points for an external user are the polyMesh constructor - add config info for gcc-7.3.0 COMP: intel-2017. Ignore unknown pragmas. Disambiguate method resolution.
-
- Feb 22, 2018
-
-
Mark OLESEN authored
-
- Jan 31, 2018
-
-
Mark OLESEN authored
- sentinel was not working properly when building user-space routines
-
- Jan 30, 2018
-
-
Mark OLESEN authored
-
- Dec 19, 2017
-
-
Mark OLESEN authored
- required if there is no system openmp and libomp or libgomp are only found in the clang hierarchy STYLE: add some notes in the openmp rules. - the _OPENMP macro is now used in low-level testing files
-
- Dec 17, 2017
-
-
Mark OLESEN authored
-
- Dec 15, 2017
-
-
Mark OLESEN authored
- allows enabling new warnings without causing messy output with older clang versions
-
- Dec 08, 2017
-
-
Mark OLESEN authored
-
- Dec 07, 2017
-
-
Mark OLESEN authored
- initial settings for ADIOS2, linuxARM64Gcc, linuxARM64Clang
-
- Nov 24, 2017
-
-
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.
-
- Sep 29, 2017
-
-
Mark OLESEN authored
-
- Oct 30, 2017
-
-
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.
-
- Oct 23, 2017
-
-
Mark OLESEN authored
- the USE_OMP preprocessor symbol is also defined with the openmp compile flag to allow conditional compilation of openmp-specific code.
-
- Sep 20, 2017
-
-
Mark OLESEN authored
- improve functional compatibility with DynList (remove methods) * eg, remove an element from any position in a DynamicList * reduce the number of template parameters * remove/subset regions of DynamicList - propagate Swap template specializations for lists, hashtables - move construct/assignment to various containers. - add find/found methods for FixedList and UList for a more succinct (and clearer?) usage than the equivalent global findIndex() function. - simplify List_FOR_ALL loops
-
- Aug 04, 2017
-
-
Mark OLESEN authored
- the cray C/C++ compilers appear to be option-compatible with gcc. - no wmake rules for 32bit builds (deemed to be unnecessary)
-
- Jul 31, 2017
-
-
- Jun 27, 2017
-
-
Mark OLESEN authored
-
- May 30, 2017
-
-
Mark OLESEN authored
- not yet release, but some of the API and file locations are closer to 1706 than to 1612. Needed, for example, for swak4foam.
-
- May 05, 2017
-
-
Mark OLESEN authored
-
- Apr 20, 2017
-
-
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.
-
- Apr 19, 2017
-
-
Mark Olesen authored
- POSIX specifies '-c' for counting the number of matching lines, so we can just use that instead of 'wc' in wmake
-
Mark Olesen authored
- if called from the top-level project directory ($WM_PROJECT_DIR) default to using {applications,src} directories. This avoids erroneous linking of etc/codeTemplates and avoids the lengthy scanning of the tutorials directory
-
- Mar 29, 2017
-
-
Mark Olesen authored
- minor bug: 'wclean empty' may have had issues with logical vs physical path
-
- Mar 20, 2017
-
-
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
-
- Mar 15, 2017
-
-
Mark Olesen authored
- minor cleanup of wmake sources
-
- Mar 10, 2017
-
-
Mark Olesen authored
- easier to test or use different versions - change WM_CXXFLAGS to -std=c++11 instead of -std=c++0x
-
- Mar 09, 2017
-
-
Mark Olesen authored
- caused by the typo '@E' instead of '$E' (commit 997f1713) ENH: minor improvements for wmake/src makefile - 'make clean' now also tries to remove the parent platforms/ directory if possible. - the flex intermediate build target is placed into the platforms/ directory to avoid touching the src/ directory at all. - suppress warnings about unused functions (GCC only)
-