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.
BSDBuild can generate Bourne configure
scripts, *-config
installation scripts, pkg-config .pc
files and platform-specific
application and library bundles.
BSDBuild-generated configure
scripts provide the same user interface
and accepts the same options as a typical GNU autotools script, but
BSDBuild uses a different configure.in
language and generated scripts
are simpler, helping security.
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.
All standard test modules allow an alternate installation prefix to be passed to
configure
(e.g., --with-mylib=/alternate/prefix
), facilitating
cross-compilation and library testing.
The 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: Frequently Asked Questions. Please direct any issues, comments or suggestions to GitHub Issues. You can chat with the developers over at the LibAgar Discord.
mkconfigure |
Generate portable Bourne/POSIX ./configure scripts.
|
<build.common.mk> | Common variables used by other modules. |
<build.man.mk> | Process manual page sources (in mandoc format) into ASCII, PostScript, PDF and HTML output. |
<build.lib.mk> | Compile static or shared libraries from sources in Ada, assembly, C, C++, Objective C, Lex or Yacc. |
<build.prog.mk> | Compile programs from sources in Ada, assembly, C, C++, Objective C, Lex or Yacc. |
<build.www.mk> | Compile HTML documents (and optionally language/character set variants) from sources using m4 and xsltproc. |
LibAgar uses BSDBuild
to compile its libraries and applications.
Its ./configure
script performs over a hundred tests and is
routintely tested on FreeBSD, Linux, OpenBSD, Windows, MacOS and others.
The
Agar Debugger (agardb
)
is a C++ project which uses BSDBuild.
Agar's bindings to the Ada language (both the bindings libraries and demos) are built from Ada sources using BSDBuild.
The port of Agar-Core to
the Commodore 64 uses cc65
and BSDBuild. Passing --host=c64
to
the ./configure
script is all that is needed to perform cross
compilation to this classic 8-bit platform.
The port of Agar-GUI to
the GameCube uses devkitPro and BSDBuild to compile a .dol
executable.
The
Edacious
circuit simulator uses BSDBuild to compile its suite of applications
and libraries. It's built on top of Agar so its ./configure
script
only needs about a dozen tests.
The CsoftMGI
server management suite uses BSDBuild to compile its libraries and
client programs. It also uses build.perl.mk
to install its perl
components.
The websites www.csoft.net,
www.libagar.org
and
www.vedge.org
are built using build.www.mk
.
03/01/2024 | Updated public KEYS file and PGP signatures of packages. |
02/25/2023 | The Manual Page Reader and documentation have been updated. |
11/17/2022 | You can now join the LibAgar Discord to discuss the project. |
07/14/2015 |
07/14/2015 Released bsdbuild v3.1 (ChangeLog) |
04/23/2020 |
04/23/2020 Updated developer's public KEYS file. |
08/10/2012 |
08/10/2012 Released bsdbuild v3.0 (ChangeLog) |