Build libudo
Dependencies
For better dependency version control underview builds all packages required from source.
Underview Build Depends
See ubuild-depends (dependencies) to get going. For this repo you only need the system dependencies.
$ git clone https://github.com/under-view/ubuild-depends.git
$ source setenvars.sh
Yocto Project SDK
Download SDK from ubuild-depends (releases)
$ ./x86_64-0.1.0-underview.sh
sdk # Folder to place libs
$ source environment-setup-zen1-underview-linux
Meson
Options
All options/features are disabled by default.
1c_std=c11
2buildtype=release
3default_library=shared
4tests=true # Default [false]
5docs=true # Default [false]
6file-offset-bits=32 # Default [64]
7file-ops=enabled # Default [disabled]
8jpool=enabled # Default [disabled]
9shm=enabled # Default [disabled]
10sock-tcp=enabled # Default [disabled]
11sock-udp=enabled # Default [disabled]
12csock-raw=enabled # Default [disabled]
13usock-tcp=enabled # Default [disabled]
14usock-udp=enabled # Default [disabled]
15vsock-tcp=enabled # Default [disabled]
16vsock-udp=enabled # Default [disabled]
Build/Install (Normal)
$ meson setup [options] build
$ ninja install -C build
$ meson setup \
-Dtests="true" \
-Ddocs="false" \
-Dfile-offset-bits=64 \
-Dfile-ops="enabled" \
-Djpool="enabled" \
-Dshm="enabled" \
-Dsock-tcp="enabled" \
-Dsock-udp="enabled" \
-Dcsock-raw="enabled" \
-Dusock-tcp="enabled" \
-Dusock-udp="enabled" \
-Dvsock-tcp="enabled" \
-Dvsock-udp="enabled" \
build
$ ninja install -C build
Build/Install (SDK)
# Yocto Project SDK Builds
$ meson setup \
--prefix="${SDKTARGETSYSROOT}/usr" \
--libdir="${SDKTARGETSYSROOT}/usr/${OECORE_BASELIB}" \
[options] \
build
$ ninja install -C build
$ meson setup \
--prefix="${SDKTARGETSYSROOT}/usr" \
--libdir="${SDKTARGETSYSROOT}/usr/${OECORE_BASELIB}" \
-Dtests="true" \
-Ddocs="false" \
-Dfile-offset-bits=64 \
-Dfile-ops="enabled" \
-Djpool="enabled" \
-Dshm="enabled" \
-Dsock-tcp="enabled" \
-Dsock-udp="enabled" \
-Dcsock-raw="enabled" \
-Dusock-tcp="enabled" \
-Dusock-udp="enabled" \
-Dvsock-tcp="enabled" \
-Dvsock-udp="enabled" \
build
$ ninja install -C build
Include
1# Clone libudo or create a udo.wrap under <source_root>/subprojects
2project('name', 'c')
3
4udo_dep = dependency('udo', required : true)
5
6executable('exe', 'src/main.c', dependencies : udo_dep)
1#include <udo/udo.h>
Documentation (Sphinx)
libudo uses sphinx framework for documentation. Primarily utilizing The C Domain.
https://www.sphinx-doc.org/en/master/man/sphinx-build.html
Dependencies
python3-pip
Build Docs
$ git clone https://github.com/under-view/libudo.git
$ cd libudo
$ sudo pip3 install -r docs/requirements.txt
# If no build directory exists
$ meson setup -Ddocs=true build
# If build directory exists
$ meson configure -Ddocs=true build
$ ninja docs -C build