Go to file
Lailouezzz 5b65055714
TODO : use the size parameter for use disp in read mode.
2020-01-06 17:57:32 +01:00
docs Oh yeah, I'm still working on that 2018-04-24 01:28:49 +02:00
include Adding casio_seven_set_disp to be able to change/setup display callback and cookie 2020-01-06 17:45:04 +01:00
lib TODO : use the size parameter for use disp in read mode. 2020-01-06 17:57:32 +01:00
man Fixed p7screen. 2018-04-27 15:32:44 +02:00
src FIX : Display setup 2020-01-06 17:50:23 +01:00
tools Adding osrecover.sh4 (simlo) tools for update the casiowin os 2020-01-01 21:33:15 +01:00
.editorconfig Corrected picture utilities and header, added editorconfig 2017-06-12 01:54:57 +02:00
.gitignore Adding add-ins to gitignore 2020-01-05 16:03:51 +01:00
AUTHORS.rst Integrated p7utils into this repository. 2018-04-25 02:52:34 +02:00
CONTRIBUTING.rst Corrected the contributing file (and should update on gitea) 2018-05-06 19:13:05 +02:00
GPL2.md Integrated p7utils into this repository. 2018-04-25 02:52:34 +02:00
LGPL3.md Integrated p7utils into this repository. 2018-04-25 02:52:34 +02:00
LICENSE.rst Integrated p7utils into this repository. 2018-04-25 02:52:34 +02:00
Makefile FIX : STATIC compilation work 2020-01-03 17:48:39 +01:00
Makefile.msg Added Protocol 7.00 MCS (unfinished), corrected Protocol 7.00 data streams, corrected MCS head correction/conversion, regrouped mem. alloc. 2017-06-21 02:57:08 +02:00
Makefile.vars Changing output importlib 2020-01-03 17:48:41 +01:00
README.md More information 2019-12-31 12:25:04 +01:00
README.rst Corrected the README (and that should be an update for the gitea instance). 2018-05-06 19:14:09 +02:00
configure Implement list function 2019-12-30 23:33:37 +01:00

README.md

libcasio - Library and utilities for using CASIO's protocols and file formats

This is the main repository for the P7 project, a project to free software surrounding CASIO calculators. It aims at being able to manage CASIO's proprietary protocols and file formats. It is basically a merge of three subprojects of the P7 project: the libp7, which managed protocols, the libg1m, which managed file formats, and the p7utils, which had the utilities now put in this repository.

Prerequisites

Side note : the library might work with older versions of these dependencies, I took these as a reference because these are the ones I work with.

Because of libusb, the library requires C99. Without it, it should compile using C89.

Build-only dependencies

  • make <https://www.gnu.org/software/make/>_ (>= 4.0).
  • gcc <https://gcc.gnu.org/>_ (>= 4.9).
  • binutils <https://www.gnu.org/software/binutils/>_ (>= 2.25).
  • asciidoc <http://asciidoc.org/>_ (>= 8.6.9).
  • gzip <https://www.gnu.org/software/gzip/>_ (1.6).
  • pkg-config <https://www.freedesktop.org/wiki/Software/pkg-config/>_.

Runtime dependencies

  • libusb <http://libusb.info/>_ (>= 1.0).
  • zlib <http://zlib.net/>_ (>= 1.2.8).
  • SDL <https://www.libsdl.org/>_ (>= 2.0).

Configuring

First of all, the configure script has a help message where all of the options are listed. The defaults should be appropriate for a native build, just ./configure if that's what you want to do, but you should read at least the next paragraph.

If you're installing on or packaging for a GNU/Linux distribution, you might want to install the udev rule to let the access to the direct calculator connexions to normal users. As calculators can be connected as serial devices, which are attributed to the uucp group (on Manjaro GNU/Linux), I chose to attribute the uucp group to calculators plugged directly as USB. If you agree with that, just add the --udev option to the configuration command line; otherwise, make your own, or make nothing, I don't really care.

Building for the MS-Windows platform is supported, just use a -mingw32 BFD target for GCC and Binutils.

Also, building a static library, for both PC and embedded systems, is supported : just use the --static option. If you want to build a static library so that a cross-compiler that uses Microsoft Windows static library formats, add the --windows option (notice that for a -mingw32 target and a dynamic library generation, this option is automatically added).

./configure --help for more information.

Building and installing

Once configuring is done (necessary step), just make.
To install, use make install. TODO : make uninstall ?

To build and install only the lib, use all-lib then install-lib. To build and install only the docs, use all-doc and install-doc.

If you ought to package this library, use the DESTDIR Makefile variable, e.g. make install DESTDIR=./package-root. Do not use the --root configure options for this, as configure tools (libcasio-config and the pkg-config configuration file) will add what's in the --root option value but not in the DESTDIR option.

Other useful targets:

  • clean: remove built files;
  • re: regenerate built files (clean and build) -- useful when configuration is changed.