sys/blibc: fix vaarg usage
README: Fix GCC configure options
README: fix typo
A simple monolithic Unix-like operating system.
A GNU toolchain configured for an x86_64-bunnix target is required to compile Bunnix. Fetch the binutils and gcc trees from here:
You must configure these with the Bunnix sysroot you will be using for your build. The build system places this at $srcdir/target/root/ by default.
First run "make bootstrap" to initialize the sysroot. This will print the path to the configured sysroot. Assuming $sysroot refers to this path, an example binutils configuration could be:
./configure \
--target=x86_64-bunnix \
--prefix=/usr/local \
--with-sysroot=$sysroot \
--disable-werror \
--disable-nls
make
make install
And GCC:
./configure \
--target=x86_64-bunnix \
--prefix=/usr/local \
--with-sysroot=$sysroot \
--enable-languages=c,c++ \
--disable-gcov \
--disable-nls
make all-gcc all-target-libgcc
make install-gcc install-target-libgcc
make all-target-libstdc++-v3
make install-target-libstdc++-v3
You need the following:
To build with EFI support:
To build with legacy boot support:
Copy conf/x86_64.mk to config.mk and to taste before moving on.
Use make
to compile Bunnix. The following targets are available:
Important directories:
Bunnix includes (often patched versions of) the following third-party software:
* sbase is good software written by questionable people. I do not endorse suckless.