Difference between revisions of "InstantFPC"

From Free Pascal wiki
Jump to navigationJump to search
(New page: =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'); e...)
 
Line 26: Line 26:
 
#Put the executable into PATH, for example /usr/bin:
 
#Put the executable into PATH, for example /usr/bin:
 
  sudo cp instantfpc /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.

Revision as of 20:24, 25 March 2011

Overview

This tool allows to run pascal program like scripts under unix like OS (Linux, BSD, OS X). For example:

<Delphi>

  1. !/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

  1. Compile the instantfpc.lpi with Lazarus or lazbuild. Or compile directly with fpc instantfpc.lpr.
  2. 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.