InstantFPC
From Lazarus wiki
Overview
This tool allows to run pascal program like scripts under unix like OS (Linux, BSD, OS X). For example:
<Delphi>
- !/usr/bin/env instantfpc
begin
writeln('Hello fpc user');
end. </Delphi>
Save the file as hello.pas, set the permission to execute and run it:
[]$ chmod a+x hello.pas []$ ./hello.pas Hello fpc user
Download
From svn
svn co https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/applications/instantfpc instantfpc
Installation
- Compile the instantfpc.lpi with Lazarus or lazbuild. Or compile directly with fpc instantfpc.lpr.
- Put the executable into PATH, for example /usr/bin:
sudo cp instantfpc /usr/bin/
How it works
It uses a cache directory to compile. Default is $HOME/.cache/instantfpc. If HOME is not set it gives an error. You can override the directory by setting the environment variable INSTANTFPCCACHE. It compares the source with the stored file in cache and if it differs compiles the source, given the parameters in the shebang line (the first line of the script after #!). After successful compile it executes the program.
Get current version
instantfpc -v
Get current cache directory
instantfpc --get-cache
Help
instantfpc -h