Skip to content

1.1 Note on compilation

Claude Roux edited this page Dec 16, 2021 · 38 revisions

Note on compiling

If you want to compile the whole project, you need to execute:

python configure.py
make all libs

The script: configure.py will check your configuration and adjust your compiling environment accordingly.

The compilation process requires two files: Makefile and Makefile.in.

  • Makefile should not be changed. It contains the instructions to compile both the interpreter and the libraries. It imports Makefile.in.

  • Makefile.in is the file that is updated by configure.py. It contains the specific paths to the different libraries that might be required to compile the whole project.

LispE is quite small and the whole project compiles in about a minute on most platforms.

Linux Specifics

IMPORTANT: if the internal editor shows some weird behavior with mouse tracking, opens Makefile.in and de-comment the line:

# If mouse does not work, decomment next line and recompile
VTERM_MOUSE=-DXTERM_MOUSE_VT100

Then recompiles the all code: make clean all libs, you don't need to relaunch python config.py again... Actually you should not launch it again, as it will overwrite this modification.

LISPEPATH

The second step is to initialise the environment variable: LISPEPATH to the directory that contains the libraries that you have just compiled:

export LISPEPATH=/home/myname/lispe/bin

If you decide to move them to another directory, then you will need to update LISPEPATH accordingly.

Mac OS

We already provide binaries for Mac OS Intel and M1.

Windows

We provide specific makefiles for Windows, for Visual 2017.

Note: We expect Python 3.7 to be installed on C:\Python37, however, you can use any version 3.x of Python as long as you modify the include path and the library path in python.vcxproj, which is part of the lispe.vcxproj global Makefile.

Please note that precompiled versions are available here

Compiling the Graphic Library

LispE provides its own graphic library, which is based on FLTK. The code is here: gui

Windows and Mac OS Libraries

For legal reasons, we cannot provide these libraries with this archive. However, we have made these libraries available on a different GitHub repository: https://github.com/clauderouxster/lispegui.

All you need is to copy the include and libs content to your local gui directory.

This repository includes specific libraries of FLTK that have been precompiled for Windows, Mac OS intel and Mac OS Apple Silicon. Note that the Windows version has been slightly modified to correct a problem with the timer.

Finally, this repository also includes the Linux include files that you might need to compile the LispE gui on your machine.

Linux

configure.py looks for the presence of this library on your system, which is usually provided with most versions of Linux.

If fltk is not installed on your machine, you can install it either by recompiling the source code provided on https://www.fltk.org, or by installing it with the standard install procedure on your machine.

Note that we use the 1.3 version on most platforms except for Mac OS Apple Silicon where we use the 1.4 version.

Compile gui

Note that make libs does not compile the gui library.

You need to go into the gui directory yourself and execute: make all.

Clone this wiki locally