|Yatis f76757ecd2||6 months ago|
|include/fxlibc||6 months ago|
|make||6 months ago|
|src||6 months ago|
|.gitignore||7 months ago|
|LICENSE||7 months ago|
|README.md||7 months ago|
|configure||6 months ago|
This directory contains the sources of the FxLibc Library.
make version command to see for what release version you have.
The Fx C Library is the standard system C library implementation for all Casio Fx calculator, and is an important part of what makes up programs on these devices. It provides the system API for all programs written in C and C-compatible languages such as C++ and Objective-C; the runtime facilities of other programming languages use the C library to access the underlying operating system.
Fx C library depends on a suitable GCC toolchain in the PATH. You can absolutely
fxlibc with your system compiler!
sh3eb-elfis strongly advised.
-m4-nofpu) is slightly better but
sh3eb-elfis completely fine.
You can choose to build
fxlibc standalone or with the support of the fx-9860G
II (monochrome calculators, aka Graph 85 family) Casio ABI, fx-CG 50 (color
calculators, aka Prizm or Graph 90 family), Vhex kernel ABI or all of them (this
will generate 3 distinct libraries).
Each ABI support add many functionalities provided by the operating system, like I/O abstraction (open, close, fcntl, stat, ...). (see "supported features" on the wiki)
The Fx C library supports these ABI:
fx9860gfor the support of Casio ABI used by fx9860g-like devices.
fxcg50for the support of Casio ABI used by the fxcg50 device.
vhexfor the support of Vhex kernel ABI.
The Fx C library support these format:
staticgenerate static libraries.
dynamicgenerate dynamic libraries (Only for the Vhex kernel).
Note that the shared feature is not currently implemented because of non-support of the shared library generation by the GCC compiler for SuperH architecture. A workaround can be used but it requires a static library to do the dynamic symbols resolving (Thanks Kristaba).
For more information about library build configuration, you can use the
./configure --help command.
Create a build directory and configure in it:
% mkdir build && cd build % ../configure --static --support=vhex,fx9860g,fxcg50
Then build the source and install the library files to the selected directory.
You might need root access if you selected a target directory owned by root with
--prefix, or if you built your compiler as root.
% make % make install
Bug reports, feature suggestions and especially code contributions are most welcome.
If you are interested in doing a port, or want to contribute to this project, please, try to respect these constraints:
indent -linuxutility to help to format).
To use Fx C library as your runtime environment, the bare minimum is:
fxlibc/instead of each include file (for example, if you want to include
stdio.hyou mush use
-lfxlibc-fx9860gfor Casio ABI support for monochrome devices
-lfxlibc-fxcg50for Casio ABI support for primz devices
-lfxlibc-vhexfor Vhex kernel support.
-lfxlibcfor standalone features
This work is licensed under a CC0 1.0 Universal License. To view a copy of this license, visit: https://creativecommons.org/publicdomain/zero/1.0/legalcode.txt Or see the LICENSE file.