Commit Graph

57 Commits

Author SHA1 Message Date
4f6bea3264 BOT: Added OpenCFD copyright prior to transfer - same file locations 2019-02-06 12:49:44 +00:00
b921ae298e BOT: Cleaned up header files 2019-02-06 12:28:23 +00:00
b8c257d6ad CONFIG: adjustments to environment
- provide default WM_DIR if not already set, to improve robustness if a
  reduced environment is used

- add etc/ to WM_PROJECT_SITE search. This makes the site directory
  structure consistent with the OpenFOAM structure.
  Eg,

      WM_PROJECT_SITE/etc/..
      WM_PROJECT_SITE/bin/..
      WM_PROJECT_SITE/platforms/..

- Don't set/export WM_OSTYPE.  The default is POSIX and is properly
  defaulted throughout, including in CMakeLists-OpenFOAM.txt (also for
  Catalyst)
2018-12-03 09:50:48 +01:00
973a940028 COMP: provide Allmake script for wmake tools
- convenient when bootstrapping some systems
2018-11-22 09:35:17 +01:00
aafbb6723f BUG: wmkdepend sometimes throws (closes #1036)
- local token shifting was missing when getting the next file chunk
  (while in the middle of parsing that text).

  As well as adding the correct shifting, also tag the local buffer
  with nullptr when it is done. Be extra paranoid and check the
  raw buffer range before passing off to std::string.
2018-10-10 15:33:35 +02:00
c0766ce8ea STYLE: consistent '// End namespace' markers 2018-04-27 09:51:35 +02:00
ebfe46503f STYLE: improve wmkdepend parse error message
- parsing error state only arises from a missing final newline
  in the file (which the dnl macro does not capture).
  Report with a warning instead of modifying the dnl macro since
  we generally wish to know about this anyhow.

- add missing newline to YEqn.H file.
2018-04-25 14:37:59 +02:00
1f25c5975d BUG: wmkdepend finds 'include' in multi-line comments (closes #784)
- 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
2018-04-20 14:41:32 +02:00
aeef1cd4df BUG: wmkdepend parser missing some files
- adjusted grammar to be more precise
2018-04-17 09:20:01 +02:00
b29a0119de ENH: minor code tidying, machine simplifications for wmkdepend parser 2018-04-13 16:17:39 +02:00
de72a04aeb ENH: make it easier to switch between the various make dependencies programs.
- 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
2018-04-12 10:14:03 +02:00
1676bd4003 ENH: replace flex-based wmkdep with ragel-based parser (issue #784)
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)
2018-04-11 12:31:36 +02:00
b854ce228e ENH: wmkdep: better error message. See #784. 2018-03-28 16:39:05 +01:00
df403965ab ENH: suppress wmkdep 'No such file' warnings in wmake -silent mode 2017-06-27 09:29:56 +02:00
249f334f83 ENH: respect '-silent' option for cmake builds
- minor cleanup of wmake sources
2017-03-15 13:06:45 +01:00
10fc0646fb BUG: 'make clean' failed for wmake/src
- caused by the typo '@E' instead of '$E' (commit 997f1713cb)

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)
2017-03-09 11:48:52 +01:00
2bfd17cf8d ENH: add 'wmkdep' to warnings and error messages from wmkdep
- makes it possible to filter out or highlight messages originating
  from wmkdep in the build process.
2017-03-09 10:20:14 +01:00
e82a029453 ENH: add help/usage for dirToString, wmkdep. Add dirToString -strip option.
- The dirToString -strip option is simple, but reduces effort for the caller.
2017-02-10 14:10:00 +01:00
5050a6cf10 wmkdep.l: Removed redundant #include 2016-11-14 11:22:00 +00:00
2dbfe2a75e wmake: Moved wmkdep messages into rules/General/transform makefile 2016-11-14 08:32:30 +00:00
79081ba3bb wmake: Simplified QUIET_MESSAGE function 2016-11-13 11:19:29 +00:00
8b0ec47566 wmake/src/Makefile: Removed additional $E 2016-11-13 10:24:16 +00:00
997f1713cb wmake: Update '-s' option to print the files processed without the rules
Based on patch contributed by Alexey Matveichev
Resolves feature request http://bugs.openfoam.org/view.php?id=2328
2016-11-12 22:01:44 +00:00
4e6f473a01 wmake/src/Makefile: Override WM_COMPILE_OPTION with Opt for optimized compilation of the wmake utilities
Resolves bug-report http://openfoam.org/mantisbt/view.php?id=2021
2016-03-08 14:24:11 +00:00
95d146ecdf Rationalized the indentation of C-preprocessor directives 2016-02-29 15:42:03 +00:00
c3a03105c4 wmake: Add support for compiler type default rules
which may be optionally overridden by version-specific rules.

For example the default rules for gcc on GNU/Linux x86_64 are in the
wmake/rules/linux64Gcc directory.  If there is a need to change any of
the rules for a specific version of gcc, e.g. gcc-4.8.4 the directory
wmake/rules/linux64Gcc48 may be created into which any of the language
files may be provided containing the rules to override the defaults.
2016-01-24 14:10:07 +00:00
7bf3fd2412 Coco/R based parsers are no longer supported 2014-12-17 20:11:02 +00:00
bf3cd16f27 Updated to preferentially search the local directory for dependencies
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1222
2014-12-17 20:09:01 +00:00
844b283030 New version of wmake supporting out-of-tree object and dependency files 2014-12-14 21:42:18 +00:00
21ebd85eda COMP: wmdep.l: added include file 2013-12-10 09:31:24 +00:00
972bbd35ad ENH: wmkdep: improved error message 2013-09-25 09:43:27 +01:00
c2dd153a14 Copyright transfered to the OpenFOAM Foundation 2011-08-14 12:17:30 +01:00
fc2bd19356 STYLE: use 'platforms/' for organizing wmake binaries as well
- replaces previously used 'bin/'

STYLE: add -help to makeWmake
2011-02-15 19:01:04 +01:00
eaef8d482b STYLE: Updated 1991 start copyright year to 2004 2011-01-14 16:08:00 +00:00
14d1300a36 Revert "STyLE: More 2011 copyright dates (non-code)."
This reverts commit 2e1e671d96.
2011-01-05 18:25:32 +00:00
099cc39e2e Revert "STYLE: 2011 copyright date."
This reverts commit b18f6cc1ce.
2011-01-05 18:24:29 +00:00
2e1e671d96 STyLE: More 2011 copyright dates (non-code). 2011-01-05 11:48:24 +00:00
b18f6cc1ce STYLE: 2011 copyright date. 2011-01-05 11:14:26 +00:00
5087125424 STYLE: remove erroneous section-label on doxygen @endcond 2010-05-07 15:30:27 +02:00
d29c438657 STYLE: use url for FSF license instead of postal address, switch to GPL v3 2010-03-29 14:07:56 +02:00
d353f08f37 ENH: move internal wmake scripts to scripts/ directory
- more consistent script names
- remove '-help' option from internal scripts
2010-03-24 15:17:44 +01:00
d239cc053a COMP: coco-cpp now installed with --prefix and without separate --exec-prefix
COMP: latest coco-cpp can find the frame files relative to the
executable path. This simplifies the make rules.
2010-03-10 12:11:26 +01:00
d4054f6b1f ENH: add -i(ignore) option to wmkdep, wmkdepend
- specifies headers that should be ignored. Provides a workaround
  for the fact that wmkdep/wmkdepend doesn't handle defines at all.

STYLE: code cleanup of wmkdep.l
2010-03-09 16:16:17 +01:00
27ecc9177c ENH: only report the first occurance of missing file when making dependencies 2010-03-09 10:36:55 +01:00
03b30396cb ENH: relocate third-party binaries
old: $WM_THIRD_PARTY_DIR/<packageName>/platforms/$WM_ARCH*
new: $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH*/<packageName>

This streamlines the creation of binary packs, eases distribution and
helps when testing the robustness of relocatable installations.
2010-03-09 10:15:10 +01:00
f2f2f60cf5 STYLE: remove unused cruft from flex-based lexers 2010-02-25 16:18:34 +01:00
d0fd6f27a3 ENH: use stl::set instead of hand-rolled HashTable in wmkdependParser 2010-02-10 13:07:42 +01:00
49a70d832d ENH: add C++-based wmkdepend parser (uses Coco/R 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.
2010-02-07 14:31:40 +01:00
5cca4df2f0 finalize wmake/utilbin/ -> wmake/bin/ change
- update foamPack* scripts accordingly
2009-07-17 17:20:54 +02:00
81b6fff674 Changed wmake/utilbin to wmake/bin. 2009-07-17 15:39:16 +01:00