↑ Software ↑

GEONius.com
9-Sep-2022
 E-mail 

CSOFT/LIBGPL Downloads & Instructions

General Purpose Library (LIBGPL) and Programs

MicroEMACS

JASSPA MicroEMACS

 

General Purpose Library (csoft.tgz, 1226K  -  csoft.zip, 1501K)

Last Update: Sun Aug 14 14:57:32 2022

Licensing

Directory Structure

Here is the main directory structure of the CSOFT software. The top directory, "csoft-yyyy-mm-dd", includes the date I created the TAR and ZIP files, thus preventing a TAR bomb (Wikipedia) when the files are extracted.

    csoft-yyyy-mm-dd/
    |   (csoft.sln solution file for Microsoft Visual Studio)
    |-> bsd-xdr/
    |   |-> lib/
    |   |       (source, Makefiles, libxdr.vcxproj)
    |   `-> rpc/
    |           ("rpc/*.h" header files)
    |-> include/
    |       (libgpl header files)
    |-> libgpl/
    |       (source, Makefiles, libgpl.vcxproj)
    |-> tools/
    |       (multiple programs: source, Makefiles, *.vcxproj files)
    `-> anise/
            (source, Makefiles, anise.vcxproj)

Building the Software

See CSOFT README - Overview & Build.txt for more detailed information.

Windows (Visual Studio):

  1. Open "csoft.sln" in Visual Studio.
  2. Choose your configuration type, "DebugWin32" or "ReleaseWin32".
  3. Build the solution.

Note:

Linux/Unix/Cygwin (GCC):

The software can be built in-place in the source directories if desired. I always use the lndir(1) command to create a shadow directory tree with links to the source files back in the source tree. The object files, library archives, and executables are then generated in the shadow tree. For example, I have 4 shadow directories on my Linux PC, all of which link back to the source files in the source tree:

    ~				(Home Directory)
    |-> csoft-yyyy-mm-dd/	(Source Tree)
    `-> obj/			(Object Tree)
        |-> android-arm64/	(Android)
        |-> nds45/		(Nintendo DS)
        |-> palm68k/		(Palm Pilot)
        `-> x86_64linux/	(Linux)

To build the software, cd into the root of the build directory (the source directory if building in place or the platform's object directory) and do the following:

  1. cd libgpl; make -f make.<platform> - builds the LIBGPL library.
  2. cd ../tools; make -f make.<platform> - builds the single-file programs.
  3. cd ../anise; make -f make.<platform> - builds the ANISE web server.

(As I go through a specific platform's directories, building the software, I usually do an "ln -s Makefile.<platform> Makefile", which allows me to just type "make" to build the directory.)

Android/Nintendo DS/Palm Pilot (GCC-Based Cross-Platform Toolchains):

The build steps using these toolchains is almost identical to that for Linux, the only difference being that the BSD-XDR library is now needed:

  1. cd bsd-xdr/lib; make -f make.<platform> - builds the BSD-XDR library.
  2. cd ../../libgpl; make -f make.<platform> - builds the LIBGPL library.
  3. cd ../tools; make -f make.<platform> - builds the single-file programs.
  4. cd ../anise; make -f make.<platform> - builds the ANISE web server.

Note (Android):

To be written, but in the meantime:

Note (PalmOS):

To be written, but in the meantime:

 

MicroEMACS (uemacs-2021.tgz, 640K  -  uemacs-2021.zip, 713K)

Last Update: Sun Mar 20 23:01:30 2022


Alex Measday  /  E-mail