An implementation of Unix dc and POSIX bc with GNU and BSD extensions
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Gavin Howard c494b57d81
Make install work for just dc
4 years ago
dist Start making things ready for busybox 4 years ago
gen Start adding the dc 4 years ago
include Style fix 4 years ago
src Style fixes 4 years ago
tests Change a test for a recent change 4 years ago
.gitignore Start adding the dc 4 years ago
LICENSE.md Change the license 4 years ago
Makefile Make install work for just dc 4 years ago
NOTICE.md Add Thalheim's email 4 years ago
README.md Fix a grammatical error in the README 4 years ago
RELEASE.md Update the RELEASE.md list 4 years ago
TODO.md Remove TODO's that are done 4 years ago
install.sh Make install work for just dc 4 years ago
safe-install.sh Make install work for just dc 4 years ago

README.md

bc

This is an implementation of POSIX bc that implements GNU bc extensions, as well as the period (.) extension for the BSD bc.

This bc is Free and Open Source Software (FOSS). It is licensed under the BSD 0-clause License.

Build

To build, use the following commands:

make
make install

This bc supports CC, CFLAGS, CPPFLAGS, LDFLAGS, LDLIBS, PREFIX, and DESTDIR make variables. Users can also create a file named config.mak in the root directory to control make.

There is also a make help command to list all targets and options.

Status

This bc is in beta stage. It has been well-tested and fuzzed, but has not yet been proven in the wild.

Language

This bc is written in pure ISO C99.

Commit Messages

This bc uses the commit message guidelines laid out in this blog post.

Semantic Versioning

This bc uses semantic versioning.

Contents

Files:

install.sh      Install script from musl libc.
LICENSE.md      A Markdown form of the BSD 0-clause License.
Makefile        The Makefile.
NOTICE.md       List of contributors and copyright owners.
RELEASE.md      A checklist for making a release.
TODO.md         A TODO list.

Folders:

include     All header files.
lib         The bc math library and code to generate C source for it.
src         All source code.
tests       All tests.
toybox      Files to cut a release into toybox. (Maintainer use only.)