Reduce loc for Landley
12 files changed
tree: 334e4aeabbb0a250a8d8bece4f78e307411f9fa4
  1. include/
  2. lib/
  3. src/
  4. tests/
  5. toybox/
  6. .gitignore
  7. install.sh
  8. LICENSE.md
  9. Makefile
  10. NOTICE.md
  11. README.md
  12. RELEASE.md
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.

Git Workflow

This bc uses the git workflow described in this post. Developers who want to contribute are encouraged to read that post carefully.

For feature branches, it uses rebase + merge --no-ff (option 3). It also uses a develop/master split. (Main development is on develop, and master just points to the latest tagged release to make it easy for users to get the latest release.)

Commit Messages

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

Semantic Versioning

This bc uses semantic versioning.

Contents Listing

Every folder contains a README file which lists the purposes for the files and folders in that directory.

Contents

Files:

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

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.)