Skip to content

JulNadeauCA/BSDBuild

Repository files navigation

BSDBuild

What is it?

BSDBuild is a compact, cross-platform build system which follows the Principle of Least Astonishment. Derived from the traditional 4.4BSD make libraries, BSDBuild allows programs and libraries to be built portably using simple BSD-style Makefiles (without BSD make extensions). BSDBuild works on most operating systems and make flavors.

It can generate Bourne configure scripts, foo-config installation scripts, pkg-config .pc files and platform-specific application/framework bundles. BSDBuild-generated configure scripts look and function similar to a GNU autotools generated script, although BSDBuild uses a different configure.in language.

The base distribution currently includes over 100 built-in Test Modules for detecting and testing the compatibility of various software. New test modules can be written quickly. BSDBuild tests can also be used from CMake. The configure script generator outputs a CMake macro package that contains all BSDBuild tests available as CMake macros.

For an introductory tutorial, see the FAQ. Please direct any issues, comments or suggestions to GitHub Issues. You can chat with the developers over at the LibAgar Discord.

Components

  • mkconfigure: Generate portable Bourne configure scripts.
  • build.common.mk: Common definitions (filesystem paths, etc).
  • build.man.mk: Process mdoc sources into ASCII, PostScript, PDF and HTML.
  • build.lib.mk: Compile (or cross-compile) static or shared libraries from sources (Ada, assembly, C, C++, Objective C, Lex, Yacc).
  • build.prog.mk: Compile (or cross-compile) programs from sources (Ada, assembly, C, C++, Objective C, Lex, Yacc).
  • build.www.mk: Compile HTML documents (and optionally language/character set variants) from sources using m4 and xsltproc.

Availability

Latest Stable Release

Latest Development Sources

License

Contributing

Support on Patreon

You can support the BSDBuild project through the LibAgar Patreon.