/opt/fil
My favorite way to install Fil-C is the /opt/fil distribution, which places a Fil-C slice into the /opt/filc prefix. This includes a memory-safe OpenSSH client and server as well as many other useful programs compiled with Fil-C. In this world:
The compiler is
/opt/fil/bin/filccand/opt/fil/bin/fil++. These are symlinks to/opt/fil/bin/filcc-clang-20.Fil-C system headers are in
/opt/fil/include.All of the compiler's headers are in
/opt/fil/lib/clang/20/include.Fil-C libraries are in
/opt/fil/lib.Fil-C programs use
/opt/fil/etcfor configuration files.Programs compiled with Fil-C are in
/opt/fil/binand/opt/fil/sbin. This includes:- GNU bash
- GNU coreutils
- GNU binutils
- Mg text editor
- Compression utilities
- OpenSSL library
- OpenSSH client and server.
Additionally, /opt/fil/bin/pkgconf knows about the packages available in /opt/fil.
This allows Fil-C libraries and programs to coexist with non-Fil-C libraries and programs on any modern Linux distribution. Segregating Fil-C libraries and binaries into a separate directory structure avoids ABI compatibility problems. The Fil-C compiler is smart enough to know that if it finds itself installed in /opt/fil/bin, then it should:
- Use
/opt/fil/includeand/opt/fil/lib/clang/20/includefor headers. - Use
/opt/fil/libfor libraries and CRT object files. - Use
/opt/fil/bin/ldas its linker.
The alternatives to /opt/fil are the pizfix slice and the Pizlix Linux distribution.