mars-libowfat
This repository is a mars-nwe special-purpose fork of libowfat.
The original Makefile/GNUmakefile build is kept intact. The additional
CMakeLists.txt is intended for mars-nwe consumers that need libowfat as a
standalone CMake dependency, either under the traditional libowfat name or
under the NetWare-oriented libnwowfat name.
CMake build
Out-of-tree builds are supported and recommended:
cmake -S . -B build -DMARS_LIBOWFAT_OUTPUT_NAME=nwowfat
cmake --build build
The output name can be selected with:
-DMARS_LIBOWFAT_OUTPUT_NAME=owfat
-DMARS_LIBOWFAT_OUTPUT_NAME=nwowfat
By default both static and shared libraries are built:
-DMARS_LIBOWFAT_BUILD_STATIC=ON
-DMARS_LIBOWFAT_BUILD_SHARED=ON
The version is read from the first line of CHANGES; currently that yields
0.35, so the shared library is produced as libowfat.so.0.35 or
libnwowfat.so.0.35 with the usual soname symlinks.
glibc compatibility
The CMake build uses the system C compiler and standard glibc-style feature
checks instead of the old dietlibc-oriented defaults. Generated compatibility
headers such as haveip6.h, havesendfile.h, iopause.h, select.h, and
entities.h are created in the build tree, so the source tree stays clean and
out-of-tree builds work.