From: Pascal Packaging Team Date: Sun, 24 Dec 2023 10:36:38 +0000 (+0000) Subject: rename-instantfpc-to-ifpc X-Git-Tag: archive/raspbian/3.2.2+dfsg-32+rpi1~37 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=b3f1d84aa1025a3a5760e505c9b37f1b5d87f202;p=fpc.git rename-instantfpc-to-ifpc This patch renames instantfpc to ifpc (Instant Free Pascal Compiler) and adds man files for it. Gbp-Pq: Name rename-instantfpc-to-ifpc.patch --- diff --git a/fpcsrc/utils/instantfpc/Makefile.fpc b/fpcsrc/utils/instantfpc/Makefile.fpc index 1804f531..ce6b4f27 100644 --- a/fpcsrc/utils/instantfpc/Makefile.fpc +++ b/fpcsrc/utils/instantfpc/Makefile.fpc @@ -3,7 +3,7 @@ # [package] -name=instantfpc +name=ifpc version=3.2.2 [require] diff --git a/fpcsrc/utils/instantfpc/fpmake.pp b/fpcsrc/utils/instantfpc/fpmake.pp index 5f6af4ce..c2aa5f91 100644 --- a/fpcsrc/utils/instantfpc/fpmake.pp +++ b/fpcsrc/utils/instantfpc/fpmake.pp @@ -35,7 +35,7 @@ begin P.OSes := [win32,win64,wince,haiku,linux,freebsd,openbsd,netbsd,darwin,iphonesim,ios,solaris,aix]; - T:=P.Targets.AddProgram('instantfpc.pas'); + T:=P.Targets.AddProgram('ifpc.pas'); T.Dependencies.AddUnit('instantfptools'); P.Targets.AddUnit('instantfptools.pas').Install:=False; diff --git a/fpcsrc/utils/instantfpc/ifpc.pas b/fpcsrc/utils/instantfpc/ifpc.pas new file mode 100644 index 00000000..c15c9ae1 --- /dev/null +++ b/fpcsrc/utils/instantfpc/ifpc.pas @@ -0,0 +1 @@ +{$INCLUDE instantfpc.pas} diff --git a/fpcsrc/utils/instantfpc/instantfpc.pas b/fpcsrc/utils/instantfpc/instantfpc.pas index fc4c6feb..dde29f49 100644 --- a/fpcsrc/utils/instantfpc/instantfpc.pas +++ b/fpcsrc/utils/instantfpc/instantfpc.pas @@ -28,39 +28,40 @@ const Version = '1.3'; // 1.3 compile in a separate directory, so that parallel invocations do not overwrite link.res files +var + BinPath, BinName: string; Procedure Usage(Err : string); - begin if (Err<>'') then Writeln('Error : ',Err); - writeln('instantfpc '+Version); + writeln(BinName, ' ', Version); writeln; writeln('Run pascal source files as scripts.'); writeln('Normal usage is to add to a program source file a first line'); - writeln('("shebang") "#!/usr/bin/instantfpc".'); + writeln('("shebang") "#!', BinPath, BinName, '".'); writeln('Then you can execute the source directly in the terminal/console.'); writeln; - writeln('instantfpc -h'); + writeln(BinName, ' -h'); writeln(' Print this help message and exit.'); writeln; - writeln('instantfpc -v'); + writeln(BinName, ' -v'); writeln(' Print version and exit.'); writeln; - writeln('instantfpc [compiler options] [program parameters]'); + writeln(BinName, ' [compiler options] [program parameters]'); writeln(' Compiles source and runs program.'); writeln(' Source is compared with the cache. If cache is not valid then'); writeln(' source is copied to cache with the shebang line commented and'); writeln(' cached source is compiled.'); writeln(' If compilation fails the fpc output is written to stdout and'); - writeln(' instantfpc exits with error code 1.'); + writeln(' ', BinName, ' exits with error code 1.'); writeln(' If compilation was successful the program is executed.'); writeln(' If the compiler options contains -B the program is always'); writeln(' compiled.'); writeln(' If the environment option INSTANTFPCOPTIONS is set it is'); writeln(' passed to the compiler as first parameters.'); writeln; - writeln('instantfpc --get-cache'); + writeln(BinName, ' --get-cache'); writeln(' Prints current cache directory and exit.'); writeln; writeln('Options:'); @@ -109,7 +110,7 @@ begin if (P='') then exit; if p='-v' then begin - writeln('instantfpc '+Version); + writeln(BinName, ' ', Version); Halt(1); end else if p='-h' then @@ -147,6 +148,8 @@ begin { For example: /usr/bin/instantfpc -MObjFpc -Sh ./envvars.pas param1 } + BinPath := ExtractFilePath(ParamStr(0)); + BinName := 'ifpc'; for i:=1 to Paramcount do begin p:=ParamStr(i); diff --git a/install/man/man1/ifpc.1 b/install/man/man1/ifpc.1 new file mode 100644 index 00000000..0e12e0b0 --- /dev/null +++ b/install/man/man1/ifpc.1 @@ -0,0 +1,54 @@ +.TH ifpc 1 "18 May 2013" "Free Pascal" "Instant pascal code interpreter" +.SH NAME +ifpc \- The Free Pascal Interpreter. + +.SH SYNOPSIS + +.B ifpc +[\fI\-h\fR] [\fI\-v\fR] [\fIcompiler options\fR] <\fIsource file\fR> +[\fIprogram parameters\fR] + +.SH DESCRIPTION + +.B ifpc +This is a pascal code interpreter program. It compiles source and runs the + generated program. + +Source is compared with the cache. If cache is not valid then then source is +copied to cache with the shebang line commented and cached source is compiled. +If compilation fails the fpc output is written to stdout and and exit code 1 +is returned +If compilation was successful the program is executed. +If the compiler options contains \-B the program is always recompiled. +If the environment option INSTANTFPCOPTIONS is set it is passed to compiler as +the first parameters. + +.SH USAGE + +.B ifpc +takes the following arguments: +.TP +.B \-h +Prints this help message and exit. +.TP +.B \-v +Prints version and exit. +.TP +.B \-\-get\-cache +Prints current cache directory and exit. +.TP +.B \-\-set\-cache= +Set the cache to be used. Otherwise using environment variable INSTANTFPCCACHE. +.TP +.B \-\-compiler= +Normally fpc is searched in PATH and used as compiler. +.TP +.B \-\-skip\-run +Do not execute the program. Useful to test if script compiles +.TP +.B \-B +Always recompile. + +.SH SEE ALSO +.IP +.BR fpc (1)