2
0
mirror of https://github.com/boostorg/wave.git synced 2026-01-19 04:42:16 +00:00

126 Commits

Author SHA1 Message Date
Jeff Trull
7a8e9d3884 Introduce c++23 feature flag and condition size_t literals with it 2025-10-27 09:29:33 -07:00
René Ferdinand Rivera Morell
7ce8b53d9d Add support for modular build structure. (#214)
* Make the library modular usable.

* Switch to library requirements instead of source. As source puts extra source in install targets.

* Add wave tool build to all target.

* Add missing NO_LIB usage requirements.

* Add requires-b2 check to top-level build file.

* Bump B2 require to 5.2

* Change all <source> references to <library>.

* Move inter-lib dependencies to a project variable and into the build targets.

* Update build deps.
2024-08-26 22:01:03 -07:00
Jeff Trull
d8474c3e2d Handle some previously deprecated, now removed, filesystem code
- convenience.hpp is removed
- no_push and branch_path are removed
2024-01-14 15:06:47 -08:00
Jeff Trull
9382ac9e8b MSVC-related cleanups (#150)
* Replace several sprintf's with boost::format or std::to_string
* Clean up MSVC builds by removing pre-C++11 toolsets
* Update build badges
2022-02-20 17:54:26 -08:00
Jeff Trull
9a043482a9 Use portable filesystem string conversion instead of native() (#149)
* use string(), not native(), for Filesystem string conversion
2022-02-09 11:53:31 -08:00
Jeff Trull
1db25211a4 Fix various warnings (#148)
* The comma operator is deprecated inside of square brackets
solution: add parentheses

* Bitwise operations are deprecated between different enum types
solution: add user-defined operators for the combinations we use

* std::tmpnam usage gets a linker warning identifying security issues, recommends mkstemp()
solution: use Boost.Filesystem temporary filename functions
2022-02-05 15:44:11 -08:00
Jeff Trull
a95fa213ef Clean up sprintf usage (#146)
* Replace some sprintfs using boost::format and std::to_string to fix warnings and possibly #145
2022-01-28 15:04:20 -08:00
Jeff Trull
88369abfd5 Remove long-deprecated hooks API
Removal in 1.76 was noted in the docs and warned about since 1.74.
2020-12-13 15:53:32 -08:00
Jeff Trull
f1ec8fd22c Make indentation consistent with code nesting
These changes, a subset of what clang-format generates, ensure code
and comments are aligned properly for the level of the code. There
were a number of places where comments (many) and code (some) were
four spaces to the left of where they should be. This will make the
code easier to read.

One advantage of separating out these changes is they can be verified
to be whitespace-only with a simple diff.
2020-10-23 15:05:00 -07:00
Jeff Trull
ee0a7c14c5 Implement __has_include() (#102)
Resolve #96 by introducing C++17 feature (and frequent vendor extension) __has_include(), along with appropriate unit tests and documentation updates
2020-06-27 07:22:52 -07:00
Jeff Trull
6fd0da8780 Rename include guard macros that don't begin with BOOST_ 2020-06-15 10:52:30 -07:00
Jeff Trull
895ea836e9 Remove unused headers
Reduce build time by:
- using iosfwd instead of iostream, where possible
- where iostream is necessary but only used for debugging,
  making its inclusion conditional
- removing old C-style headers

I used IWYU to guide this work
2020-05-19 10:41:22 -07:00
Jeff Trull
2e8eeeeb4d Add BOOST_OVERRIDE to virtual functions in derived classes (#89) 2020-04-13 21:12:34 -07:00
Jeff Trull
849da9fb6a Remove linking to newly header-only date_time (#81)
Boost develop branch has an updated date_time that is header-only so
Wave's builds will now fail unless this dependency is removed.
2020-03-15 17:37:19 -07:00
Jeff Trull
ec83deadf7 Use new API of Boost.Timer (#76) 2020-03-06 15:39:36 -08:00
Jeff Trull
ec0c8c8603 Implement C++20 features (#75)
* Introduce support for C++20 preprocessor features

- add __VA_OPT__ feature to variadic macros
- allow supplying 0 variadic arguments in more cases
- add related unit tests
2020-03-06 11:48:50 -08:00
Robert Lenhardt
73d3e36637 always use boost filesystem streams to open files 2018-09-28 16:22:34 +02:00
Abel Sinkovics
4474a5ce8c Add -Werror support 2017-09-16 22:49:22 +02:00
Hartmut Kaiser
e7cadc39df Fixed sprintf warnings 2017-09-02 13:05:03 -05:00
Edward Diener
253ae38ad8 Honor --bindir and --libdir options if present when building wave. 2016-03-10 01:29:50 -05:00
Hartmut Kaiser
06d384dec3 Fix #8255: Wave build warnings are probably errors on 64-bit
[SVN r83345]
2013-03-07 13:34:56 +00:00
Hartmut Kaiser
0f064c7faf Wave: fixing a couple of warnings
[SVN r80761]
2012-09-29 20:13:28 +00:00
Hartmut Kaiser
82aee622a6 Wave:
- Added util::create_directories() wrapper to account for new behavior of  boost::filesystem::create_directories().
- Added a new command line option --license=<file> to the Wave driver tool which allows to pre-pend the content of a (license) file to every newly created file. This option simplifies the implementation of partial preprocessing as done on Phoenix, Fusion, etc.

[SVN r79786]
2012-07-28 14:16:37 +00:00
Hartmut Kaiser
f441ea8aed Wave: Changed --c++0x command line option to --c++11.
[SVN r79685]
2012-07-22 23:12:11 +00:00
Hartmut Kaiser
e5ac1ca3b3 Wave: updating copyrights, minor fixes, bumping version number for release
[SVN r78555]
2012-05-23 14:41:35 +00:00
Hartmut Kaiser
e1d1f933eb Wave: allowing to force interpretation of wchar_t as signed/unsigned, fixed a problem in #pragma option_str(output)
[SVN r72162]
2011-05-25 18:32:51 +00:00
Hartmut Kaiser
277d3d79b0 Wave: minor edits
[SVN r72116]
2011-05-23 02:02:40 +00:00
Hartmut Kaiser
3cd74d9e3e Wave: bumped version number (V2.3), fixed a problem in interactive mode of Wave driver
[SVN r71833]
2011-05-08 18:34:58 +00:00
Hartmut Kaiser
040c4d33d6 Wave: added new command line option --noexpand/-N
[SVN r71779]
2011-05-07 15:13:45 +00:00
Hartmut Kaiser
ab2fdf61e7 Wave: After preprocessing the body of any #pragma wave option() the wave tool now concatenates all adjacent string literals into a single string literal.
[SVN r68146]
2011-01-14 03:35:24 +00:00
Hartmut Kaiser
feb1e9ccdb Wave: updated copyrights, added C++0x mode to docs, added predefined macros for C++0x mode
[SVN r67894]
2011-01-09 22:19:16 +00:00
Hartmut Kaiser
55752997a3 Wave: more work on C++0x support, fixed a macro expansion problem
[SVN r67117]
2010-12-09 01:44:51 +00:00
Hartmut Kaiser
dc832745b7 Wave: fixing Wave for Boost Filesystem V3, which is now the default, changed build system for Wave tool to disable threading
[SVN r67093]
2010-12-08 01:29:47 +00:00
Hartmut Kaiser
e563eaca2e Wave: fixing exception handling
[SVN r66155]
2010-10-23 23:12:06 +00:00
Hartmut Kaiser
2c34ab5d57 Wave: added new preprocessing hook: emit_line_directive, added corresponding functionality to wave driver
[SVN r60819]
2010-03-24 23:38:12 +00:00
Hartmut Kaiser
b61ae31acc Wave: updating copyrights, fixing issues introduced by latest changes to multi_pass.
[SVN r58715]
2010-01-05 17:30:27 +00:00
Troy D. Straszheim
b6a2bc4aeb rm cmake from trunk. I'm not entirely sure this is necessary to satisfy the inspect script, but I'm not taking any chances, and it is easy to put back
[SVN r56942]
2009-10-17 02:07:38 +00:00
Hartmut Kaiser
5146cbbe2a Wave: more work on pragma once pp hooks, added test case
[SVN r56312]
2009-09-19 19:57:09 +00:00
Hartmut Kaiser
aa8030e5f1 Wave: added preprocessing hook to detect #pragma once directives or include guards
[SVN r56276]
2009-09-17 17:54:07 +00:00
Troy D. Straszheim
5a2f240093 Copyrights on CMakeLists.txt to keep them from clogging up the inspect
reports.  This is essentially the same commit as r55095 on the release
branch.



[SVN r55159]
2009-07-26 00:49:56 +00:00
Hartmut Kaiser
63aaed85fa Wave: minor edit
[SVN r54223]
2009-06-22 19:46:43 +00:00
Hartmut Kaiser
72b796a248 Wave: added --macrocounts/-c command line option to wave driver tool allowing to collect macro invocation counts
[SVN r53586]
2009-06-03 01:06:42 +00:00
Hartmut Kaiser
122915b95f Wave: fixed examples
[SVN r53192]
2009-05-22 23:40:53 +00:00
Douglas Gregor
bb92cf4d47 Add includes needed to build the wave preprocessor executable with a modularized tree
[SVN r52802]
2009-05-06 15:17:51 +00:00
Hartmut Kaiser
af4c016496 Wave: Added missing std:: qualifiers
[SVN r52409]
2009-04-15 23:58:49 +00:00
Hartmut Kaiser
4cc8bb6365 Wave: now compiles even with BOOST_FILESYSTEM_NO_DEPRECATED defined
[SVN r51679]
2009-03-10 01:35:54 +00:00
Hartmut Kaiser
d63da08b41 Wave: updating copyrights
[SVN r50638]
2009-01-16 18:34:31 +00:00
Michael A. Jackson
c7a2215d8a Continuing merge of CMake build system files into trunk with the encouragement of Doug Gregor
[SVN r49510]
2008-11-01 13:15:41 +00:00
Jürgen Hunold
c26fd0136b Disable MS "secure" STL and C-Runtime warnings unconditionally for all compiler versions.
[SVN r49184]
2008-10-08 18:25:56 +00:00
Hartmut Kaiser
6b02159942 Wave: Updated to use new Spirit Classic library structure and namespace. Lots' of minor changes and adjustments. Switched version to 2.0 since this version is not backwards compatible anymore with earlier versions.
[SVN r44381]
2008-04-13 22:39:12 +00:00