Go to file
Guillem Jover 27503a1066 build: Rework ABI selection logic
Add a new LIBBSD_SELECT_ABI m4 macro, and use it to setup the ABI
interfaces to expose and the various variables and conditionals
to be used by the build system.

Switch to set the initial values to unknown and then set every one
of the selections explicitly by supported target.

Update comments for rationale for things to DROP, or for why some
selections are enabled.
2024-02-25 03:49:15 +01:00
include build: Rename ABI selection variables from need_ to abi_ 2024-02-25 03:47:54 +01:00
m4 build: Rework ABI selection logic 2024-02-25 03:49:15 +01:00
man build: Rename ABI selection variables from need_ to abi_ 2024-02-25 03:47:54 +01:00
src build: Rename ABI selection variables from need_ to abi_ 2024-02-25 03:47:54 +01:00
test build: Rename ABI selection variables from need_ to abi_ 2024-02-25 03:47:54 +01:00
.gitignore build: Generate the map file from the configured ABI 2024-02-18 13:54:13 +01:00
.gitlab-ci.yml build: Check out-of-tree builds in CI 2024-01-07 20:21:08 +01:00
autogen build: Switch to autotools 2012-05-29 04:35:55 +02:00
configure.ac build: Rework ABI selection logic 2024-02-25 03:49:15 +01:00
COPYING man: Switch arc4random(3bsd) man page from OpenBSD to NetBSD 2023-03-29 02:48:53 +02:00
get-version build: Switch to autotools 2012-05-29 04:35:55 +02:00
Makefile.am build: Terminate lists in variables with «# EOL» 2022-11-23 23:44:09 +01:00
README doc: Add missing empty line to separate README sections 2022-10-04 04:29:37 +02:00
TODO man: Replace references to a.out(5) with elf(5) 2019-08-08 03:22:09 +02:00

libbsd - Utility functions from BSD systems

This library provides useful functions commonly found on BSD systems,
and lacking on others like GNU systems, thus making it easier to port
projects with strong BSD origins, without needing to embed the same
code over and over again on each project.

A BSD compatible message-digest library is required, on systems where
this is not provided by its libc or libmd libraries, the canonical
implementation to use is <https://www.hadrons.org/software/libmd/>.


Releases
--------

  <https://libbsd.freedesktop.org/releases/>


Mailing List
------------

The subscription interface and web archives can be found at:

  <https://lists.freedesktop.org/mailman/listinfo/libbsd>

The mail address is:

  libbsd@lists.freedesktop.org


Source Repository
-----------------

The primary repository can be browsed at:

  <https://cgit.freedesktop.org/libbsd>

and cloned from:

  <https://anongit.freedesktop.org/git/libbsd>


Building from git source
------------------------

To prepare the libbsd source tree from git before starting the build process
some required software needs to be installed:

  GNU autoconf >= 2.67
  GNU automake >= 1.9
  GNU libtool >= 2.0

After installing the needed software, and running the following command on
the git tree:

  $ ./autogen

the source should be roughly equivalent to the distributed tar source.


Building from tar source
------------------------

The minimum software required to configure and build dpkg from a tarball is:

  C89 compiler
  make

The following software might be required depending on the system:

  libmd (whenever the libc does not provide the needed digest functions)

The build process is done by running the usual «./configure; make». To
see all available configuration options please run «./configure --help».