1.6 KiB

OpenBSD ZIG_LIBC support

Simple shell script to build a ZIG_LIBC environment for Zig targeting OpenBSD.


$ ./
usage: ./ url output-dir
  • url : URL pointing to OpenBSD sets.

    Typical url to use:

    Please note that OpenBSD officially support only the two last released versions. Snapshots url is also valid for targeting -current, but be aware that it is a moving target.

    Refer to supported platforms list from OpenBSD site web for the name used.

  • output-dir : where to put the environment.

    Prefer absolute path: it will be used in generated libc.conf file.

    The directory will be created.

Examples of url

Use the environment

$ ZIG_LIBC=path/to/amd64/libc.conf zig build-exe -target x86_64-openbsd -o tests/helloz tests/hello.zig
$ ZIG_LIBC=path/to/amd64/libc.conf zig cc -target x86_64-openbsd -o tests/helloc tests/hello.c

Make shell wrapper

For easy use of crosscompilation, you could create a shell wrapper named x86_64-openbsd-cc:

exec env ZIG_LIBC=path/to/amd64/libc.conf zig cc -target x86_64-openbsd "$@"

And do the same for x86_64-openbsd-c++, x86_64-openbsd-ar, …