Lines Matching +full:windows +full:- +full:gnu +full:- +full:test
9 [GNU `bc`][1] extensions, as well as the period (`.`) extension for the BSD
15 via a symbolic link, which implements all FreeBSD and GNU extensions. (If a
27 2-clause License. Full license text may be found in the [`LICENSE.md`][4] file.
33 1. Windows 10 or later, or
34 2. A C99-compatible compiler and a (mostly) POSIX 2008-compatible system with
38 POSIX and XSI-compatible system will have everything needed.
40 POSIX-compatible systems that are known to work:
49 * HP-UX* (except for history)
51 In addition, there is compatibility code to make this `bc` work on Windows.
58 ### Windows subsection
60 There is no guarantee that this `bc` will work on any version of Windows earlier
61 than Windows 10 (I cannot test on earlier versions), but it is guaranteed to
62 work on Windows 10 at least.
67 **Note**: Unlike the POSIX-compatible platforms, only one build configuration is
68 supported on Windows: extra math and prompt enabled, history and NLS (locale
79 msbuild -property:Configuration=<config> bc.sln
92 msbuild -property:Configuration=<config> bcl.sln
97 ### POSIX-Compatible Systems
99 This `bc` should build unmodified on any POSIX-compliant system or on Windows
100 starting with Windows 10 (though earlier versions may work).
105 On POSIX-compatible systems, `bc` is built as `bin/bc` and `dc` is built as
106 `bin/dc` by default. On Windows, they are built as `Release/bc/bc.exe` and
109 **Note**: On Windows, `dc.exe` is just copied from `bc.exe`; it is not linked.
118 ./configure.sh -O3
127 ./configure.sh --disable-dc
134 ./configure.sh --disable-bc
143 ./configure.sh -g
157 `configure.sh` or pass the `--prefix=<prefix>` option to `configure.sh`. See the
158 [build manual][5], or run `./configure.sh --help`, for more details.
163 done by the `-a` or `--library` options to `configure.sh`:
166 ./configure.sh -a
175 The library is built as `bin/libbcl.a` on POSIX-compatible systems or as
176 `Release/bcl/bcl.lib` on Windows.
198 math is *much* faster, so any non-trivial script should run faster in my `bc`.)
203 1. `-O3`
204 2. `-flto` (link-time optimization)
208 Link-time optimization, in particular, speeds up the `bc` a lot. This is because
209 when link-time optimization is turned on, the optimizer can look across files
212 However, I recommend ***NOT*** using `-march=native`. Doing so will reduce this
213 `bc`'s performance, at least when building with link-time optimization. See the
218 By default, non-debug binaries are stripped, but stripping can be disabled with
219 the `-T` option to `configure.sh`.
241 `bc-gh`.
248 This script is not a compile-time or runtime prerequisite; it is for package and
262 It is well-tested, fuzzed, and fully standards-compliant (though not certified)
266 This `bc` can be used as a drop-in replacement for any existing `bc`. This `bc`
268 Windows.
275 ## Comparison to GNU `bc`
277 This `bc` compares favorably to GNU `bc`.
279 * This `bc` builds natively on Windows.
282 * It has a much less buggy parser. The GNU `bc` will give parse errors for what
284 a new line after a brace can cause GNU `bc` to give a parse error.
286 * GNU `bc` calculates the wrong number of significant digits for `length(x)`.
287 * GNU `bc` will sometimes print numbers incorrectly. For example, when running
288 it on the file `tests/bc/power.txt` in this repo, GNU `bc` gets all the right
296 `bc` is faster than GNU `bc` and can be *much* faster. Full benchmarks can be
300 This is because this `bc`'s intepreter is slightly slower than GNU `bc`, but
309 Currently, there is no locale support on Windows.
335 * [FreeBSD `bc`][23]. While the `bc` in FreeBSD is kept up-to-date, it is better
341 This `bc` is written in pure ISO C99, using POSIX 2008 APIs with custom Windows
372 LICENSE.md A Markdown form of the BSD 2-clause License.
381 release.sh A script to test for release (maintainer use only).
382 safe-install.sh Safe install script from musl libc.
393 [1]: https://www.gnu.org/software/bc/
399 [10]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
403 [18]: https://scan.coverity.com/projects/gavinhoward-bc
406 [21]: https://gavinhoward.com/2020/04/i-am-moving-away-from-github/