Lines Matching +full:disable +full:- +full:dc
4 POSIX-compliant system.
6 To accomplish that, a POSIX-compatible, custom `configure.sh` script is used to
22 ./configure.sh -h
23 ./configure.sh --help
42 For releases, Windows builds of `bc`, `dc`, and `bcl` are available for download
51 `{BC,DC}_SIGINT_RESET=0`, `{BC,DC}_TTY_MODE=1`, `{BC,DC}_PROMPT=1`.
68 msbuild -property:Configuration=<config> vs/bc.sln
76 msbuild -property:Configuration=<config> vs/bcl.sln
81 ## POSIX-Compatible Systems
83 Building `bc`, `dc`, and `bcl` (the library) is more complex than on Windows
86 ### Out-of-Source Builds
88 Out-of-source builds are done by calling `configure.sh` from the directory where
105 To cross-compile this `bc`, an appropriate compiler must be present and assigned
168 Command-line flags that will be passed verbatim to `CC`.
174 Command-line flags that will be passed verbatim to `HOSTCC` or `HOST_CC`.
180 Command-line flags for the C preprocessor. These are also passed verbatim to
187 Command-line flags for the linker. These are also passed verbatim to both
204 Can be overridden by passing the `--prefix` option to `configure.sh`.
210 disable locales (NLS) completely.
226 Can be overridden by passing the `--bindir` option to `configure.sh`.
234 Can be overridden by passing the `--includedir` option to `configure.sh`.
242 Can be overridden by passing the `--libdir` option to `configure.sh`.
250 Can be overridden by passing the `--datarootdir` option to `configure.sh`.
258 Can be overridden by passing the `--datadir` option to `configure.sh`.
266 Can be overridden by passing the `--mandir` option to `configure.sh`.
272 The directory to install Section 1 manpages in. Because both `bc` and `dc` are
275 Can be overridden by passing the `--man1dir` option to `configure.sh`.
283 Can be overridden by passing the `--man3dir` option to `configure.sh`.
308 required to be 32 bits. For this reason, on 8-bit and 16-bit microcontrollers,
311 For most normal desktop systems, setting this is unnecessary, except that 32-bit
312 platforms with 64-bit longs may want to set it to `32`.
330 production-ready compilers, this limit probably is not enforced, but it could
335 or a non-existent value, will cause the build system to compile and run
358 --option arg
359 --option=arg
364 To quickly get a release build of a `bc` and `dc` that is (by default)
365 compatible with the BSD `bc` and `dc`, use the `-p` or `--predefined-build-type`
369 ./configure.sh -pBSD
370 ./configure.sh --predefined-build-type=BSD
375 To quickly get a release build of a `bc` and `dc` that is (by default)
376 compatible with the GNU `bc` and `dc`, use the `-p` or `--predefined-build-type`
380 ./configure.sh -pGNU
381 ./configure.sh --predefined-build-type=GNU
391 ./configure.sh -a
392 ./configure.sh --library
398 functionality for `bc` and `dc` are both enabled, though the executables are
411 To build `bc` only (no `dc`), use any one of the following commands for the
415 ./configure.sh -b
416 ./configure.sh --bc-only
417 ./configure.sh -D
418 ./configure.sh --disable-dc
426 #### `dc` Only
428 To build `dc` only (no `bc`), use either one of the following commands for the
432 ./configure.sh -d
433 ./configure.sh --dc-only
434 ./configure.sh -B
435 ./configure.sh --disable-bc
440 ***Warning***: It is an error to use those options if `dc` has also been
445 To disable hisory, pass either the `-H` flag or the `--disable-history` option
449 ./configure.sh -H
450 ./configure.sh --disable-history
463 History support can be provided by editline, in order to implement `vi`-like
466 To enable editline support, pass either the `-e` flag or the `--enable-editline`
470 ./configure.sh -e
471 ./configure.sh --enable-editline
478 This option is only used if it is after any other `-e`/`--enable-editline`
479 options, any `-r`/`--enable-readline` options, and any
480 `-i`/`--enable-internal-history` options.
484 History support can be provided by readline, in order to implement `vi`-like
487 To enable readline support, pass either the `-r` flag or the `--enable-readline`
491 ./configure.sh -r
492 ./configure.sh --enable-readline
499 This option is only used if it is after any other `-r`/`--enable-readline`
500 options, any `-e`/`--enable-editline` options, and any
501 `-i`/`--enable-internal-history` options.
508 However, if `-p` option is used, then this option can be useful for selecting
511 To enable the internal history, pass either the `-i` flag or the
512 `--enable-internal-history` option to `configure.sh` as follows:
515 ./configure.sh -i
516 ./configure.sh --enable-internal-history
520 `-i`/`--enable-internal-history` options, any `-e`/`--enable-editline` options,
521 and any `-r`/`--enable-readline` options.
525 To disable locale support (use only English), pass either the `-N` flag or the
526 `--disable-nls` option to `configure.sh`, as follows:
529 ./configure.sh -N
530 ./configure.sh --disable-nls
542 disable locales (NLS) completely.
558 The assignment versions of the above operators are not available in `dc`, but
563 notation. On top of that, it has a pseudo-random number generator. (See the
567 pseudo-random number generator can be disabled by passing either the `-E` flag
568 or the `--disable-extra-math` option to `configure.sh`, as follows:
571 ./configure.sh -E
572 ./configure.sh --disable-extra-math
578 the pseudo-random number generator are. More information about the functions can
585 The Karatsuba length is the point at which `bc` and `dc` switch from Karatsuba
587 the `-k` flag or the `--karatsuba-len` option to `configure.sh` as follows:
590 ./configure.sh -k32
591 ./configure.sh --karatsuba-len 32
604 This `bc` and `dc` have a few settings to override default behavior.
609 To set a default to **on**, use the `-s` or `--set-default-on` option to
613 ./configure.sh -s bc.banner
614 ./configure.sh --set-default-on=bc.banner
619 To set a default to **off**, use the `-S` or `--set-default-off` option to
623 ./configure.sh -S bc.banner
624 ./configure.sh --set-default-off=bc.banner
631 turned **on** for a non-zero integer, and **off** for zero.
643 | --------------- | -------------------- | ------------ | -------------------- |
648 | --------------- | -------------------- | ------------ | -------------------- |
649 | dc.sigint_reset | Whether SIGINT will | 1 | DC_SIGINT_RESET |
650 | | reset dc, instead of | | |
653 | --------------- | -------------------- | ------------ | -------------------- |
657 | --------------- | -------------------- | ------------ | -------------------- |
658 | dc.tty_mode | Whether TTY mode for | 0 | BC_TTY_MODE |
659 | | dc should be on when | | |
661 | --------------- | -------------------- | ------------ | -------------------- |
665 | --------------- | -------------------- | ------------ | -------------------- |
666 | dc.prompt | Whether the prompt | $DC_TTY_MODE | DC_PROMPT |
667 | | for dc should be on | | |
669 | --------------- | -------------------- | ------------ | -------------------- |
673 | | given with the -e or | | |
674 | | -f options. | | |
675 | --------------- | -------------------- | ------------ | -------------------- |
676 | dc.expr_exit | Whether to exit dc | 1 | DC_EXPR_EXIT |
679 | | given with the -e or | | |
680 | | -f options. | | |
681 | --------------- | -------------------- | ------------ | -------------------- |
688 | --------------- | -------------------- | ------------ | -------------------- |
689 | dc.digit_clamp | Whether to have dc | 0 | DC_DIGIT_CLAMP |
695 | --------------- | -------------------- | ------------ | -------------------- |
699 that this bc and dc will conform to the expectations of the user on each
704 The relevant `autotools`-style install options are supported in `configure.sh`:
706 * `--prefix`
707 * `--bindir`
708 * `--datarootdir`
709 * `--datadir`
710 * `--mandir`
711 * `--man1dir`
712 * `--man3dir`
717 ./configure.sh --prefix=/usr
727 disable locales (NLS) completely.
732 ***WARNING***: If any long command-line options are used, the long form of all
733 other command-line options must be used. Mixing long and short options is not
738 To disable installing manpages, pass either the `-M` flag or the
739 `--disable-man-pages` option to `configure.sh` as follows:
742 ./configure.sh -M
743 ./configure.sh --disable-man-pages
750 By default, `bc` and `dc` do not install all locales, but only the enabled
752 the locales that exist on the system. The `-l` flag or `--install-all-locales`
753 option skips all of that and just installs all of the locales that `bc` and `dc`
754 have, regardless. To enable that behavior, you can pass the `-l` flag or the
755 `--install-all-locales` option to `configure.sh`, as follows:
758 ./configure.sh -l
759 ./configure.sh --install-all-locales
766 disable locales (NLS) completely.
773 optimization level available in `CC` to `configure.sh` with the `-O` flag or
774 `--opt` option, as follows:
777 ./configure.sh -O3
778 ./configure.sh --opt 3
794 CFLAGS="-march=native -msse4" ./configure.sh -O3
799 Building with link-time optimization (`-flto` in clang) can further increase the
802 I do ***NOT*** recommend building with `-march=native`; doing so reduces this
805 Manual stripping is not necessary; non-debug builds are automatically stripped
810 Debug builds (which also disable optimization if no optimization level is given
811 and if no extra `CFLAGS` are given) can be enabled with either the `-g` flag or
812 the `--debug` option, as follows:
815 ./configure.sh -g
816 ./configure.sh --debug
830 By default, when `bc` and `dc` are not built in debug mode, the binaries are
831 stripped. Stripping can be disabled with either the `-T` or the
832 `--disable-strip` option, as follows:
835 ./configure.sh -T
836 ./configure.sh --disable-strip
850 `bc` and `dc` have 8 build types, affected by the [History][8], [NLS (Locale
865 `manuals/dc`.
869 When built with both calculators, all available features, and `-Os` using
874 The single largest user of space is the `bc` calculator. If just `dc` is needed,
880 There are several reasons that history is a bigger user of space than `dc`
883 * `dc`'s lexer and parser are *tiny* compared to `bc`'s because `dc` code is
887 * `dc` does not have much extra code in the interpreter.
888 * History has a lot of const data for supporting `UTF-8` terminals.
895 The reasons why extra math support is bigger than `dc`, besides the fact that
896 `dc` is small already, are:
900 * Extra math support includes support for a pseudo-random number generator,
901 including the code to convert a series of pseudo-random numbers into a number
905 The next biggest user is `dc`, so if just `bc` is needed, the size can be
912 `musl-clang` using `clang` `9.0.1`) as the compiler and using `-Os`
930 To test `dc` only, run the following command:
936 This `bc`, if built, assumes a working, GNU-compatible `bc`, installed on the
937 system and in the `PATH`, to generate some tests, unless the `-G` flag or
938 `--disable-generated-tests` option is given to `configure.sh`, as follows:
941 ./configure.sh -G
942 ./configure.sh --disable-generated-tests
952 This `dc` also assumes a working, GNU-compatible `dc`, installed on the system
956 To generate test coverage, pass the `-c` flag or the `--coverage` option to
960 ./configure.sh -c
961 ./configure.sh --coverage
966 ***WARNING***: Both `bc` and `dc` must be built for test coverage. Otherwise,
975 To disable problematic tests, pass the `-P` flag or the
976 `--disable-problematic-tests` option to `configure.sh` as follows:
979 ./configure.sh -P
980 ./configure.sh --disable-problematic-tests
987 [3]: https://www.musl-libc.org/
988 [4]: #build-environment-variables
989 [5]: #build-options
990 [6]: #cross-compiling
991 [7]: #build-type
993 [9]: #nls-locale-support
994 [10]: #extra-math