mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-09 06:08:55 +02:00
184 lines
5.0 KiB
ObjectPascal
184 lines
5.0 KiB
ObjectPascal
{$ifndef ALLPACKAGES}
|
|
{$mode objfpc}{$H+}
|
|
program fpmake;
|
|
|
|
uses {$ifdef unix}cthreads,{$endif} fpmkunit;
|
|
{$endif ALLPACKAGES}
|
|
|
|
procedure add_fcl_fpterm(const ADirectory: string);
|
|
|
|
Const
|
|
{copied from ../rtl-console/fpmake.pp}
|
|
// All Unices have full set of KVM+Crt in unix/ except QNX which is not
|
|
// in workable state atm.
|
|
UnixLikes = AllUnixOSes -[QNX];
|
|
|
|
WinEventOSes = [win32,win64];
|
|
KVMAll = [emx,go32v2,msdos,netware,netwlibc,os2,win32,win64,win16]+UnixLikes+AllAmigaLikeOSes-[macosx];
|
|
|
|
// all full KVMers have crt too
|
|
CrtOSes = KVMALL+[WatCom];
|
|
KbdOSes = KVMALL;
|
|
VideoOSes = KVMALL;
|
|
MouseOSes = KVMALL;
|
|
TerminfoOSes = UnixLikes-[beos,haiku];
|
|
|
|
rtl_consoleOSes =KVMALL+CrtOSes+TermInfoOSes;
|
|
{end of copied code}
|
|
|
|
KVMAny = KbdOSes+VideoOSes+MouseOSes;
|
|
PtcKvmOSes = [linux,win32,win64,go32v2,openbsd,freebsd,netbsd];
|
|
|
|
// OSes that have unix98pty and termio units
|
|
UnixPtyOSes = [linux,openbsd,freebsd,netbsd];
|
|
|
|
Var
|
|
P : TPackage;
|
|
T : TTarget;
|
|
|
|
begin
|
|
with Installer do
|
|
begin
|
|
P:=AddPackage('fcl-fpterm');
|
|
P.Directory:=ADirectory;
|
|
P.Version:='3.3.1';
|
|
|
|
P.Author := 'Nikolay Nikolov';
|
|
P.License := 'LGPL with modification, ';
|
|
P.HomepageURL := 'https://sourceforge.net/projects/fpterm/';
|
|
P.Description := 'Terminal emulator library, written in Free Pascal.';
|
|
P.OSes := P.OSes - [embedded,nativent,msdos,win16,macosclassic,palmos,zxspectrum,msxdos,amstradcpc,sinclairql,ps1,wasip2];
|
|
if Defaults.CPU=jvm then
|
|
P.OSes := P.OSes - [java,android];
|
|
|
|
P.SourcePath.Add('src');
|
|
|
|
p.Dependencies.Add('rtl-console', KVMAny);
|
|
p.Dependencies.Add('ptckvm', PtcKvmOSes);
|
|
|
|
T:=P.Targets.AddUnit('fpterm.base.pas');
|
|
|
|
T:=P.Targets.AddUnit('fpterm.view.pas');
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('fpterm.base');
|
|
end;
|
|
|
|
T:=P.Targets.AddUnit('fpterm.model.pas');
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('fpterm.base');
|
|
AddUnit('fpterm.view');
|
|
end;
|
|
|
|
T:=P.Targets.AddUnit('fpterm.inputoutputconnection.pas');
|
|
|
|
T:=P.Targets.AddUnit('fpterm.pointingdeviceinput.pas');
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('fpterm.base');
|
|
end;
|
|
|
|
T:=P.Targets.AddUnit('fpterm.logger.pas');
|
|
|
|
T:=P.Targets.AddUnit('fpterm.controller.pas');
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('fpterm.base');
|
|
AddUnit('fpterm.model');
|
|
AddUnit('fpterm.logger');
|
|
end;
|
|
|
|
T:=P.Targets.AddUnit('fpterm.keyboardinput.pas');
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('fpterm.base');
|
|
end;
|
|
|
|
T:=P.Targets.AddUnit('fpterm.pas');
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('fpterm.base');
|
|
AddUnit('fpterm.view');
|
|
AddUnit('fpterm.model');
|
|
AddUnit('fpterm.controller');
|
|
AddUnit('fpterm.inputoutputconnection');
|
|
AddUnit('fpterm.pointingdeviceinput');
|
|
AddUnit('fpterm.keyboardinput');
|
|
end;
|
|
|
|
T:=P.Targets.AddUnit('fpterm.keyboardinput.keyboard.pas', KbdOSes);
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('fpterm.base');
|
|
AddUnit('fpterm.keyboardinput');
|
|
end;
|
|
|
|
T:=P.Targets.AddUnit('fpterm.pointingdeviceinput.mouse.pas', MouseOSes);
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('fpterm.base');
|
|
AddUnit('fpterm.pointingdeviceinput');
|
|
end;
|
|
|
|
T:=P.Targets.AddUnit('fpterm.view.video.base.pas', VideoOSes);
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('fpterm.base');
|
|
AddUnit('fpterm.view');
|
|
end;
|
|
|
|
T:=P.Targets.AddUnit('fpterm.view.video.pas', VideoOSes);
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('fpterm.view.video.base');
|
|
end;
|
|
|
|
T:=P.Targets.AddUnit('fpterm.kvm.pas', KVMALL);
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('fpterm');
|
|
AddUnit('fpterm.view');
|
|
AddUnit('fpterm.keyboardinput');
|
|
AddUnit('fpterm.pointingdeviceinput');
|
|
AddUnit('fpterm.view.video');
|
|
AddUnit('fpterm.keyboardinput.keyboard');
|
|
AddUnit('fpterm.pointingdeviceinput.mouse');
|
|
end;
|
|
|
|
T:=P.Targets.AddUnit('fpterm.view.video.ptc.kvm.pas', PtcKvmOSes);
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('fpterm.view.video.base');
|
|
end;
|
|
|
|
T:=P.Targets.AddUnit('fpterm.ptc.kvm.pas', PtcKvmOSes);
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('fpterm');
|
|
AddUnit('fpterm.view');
|
|
AddUnit('fpterm.keyboardinput');
|
|
AddUnit('fpterm.pointingdeviceinput');
|
|
AddUnit('fpterm.view.video.ptc.kvm');
|
|
AddUnit('fpterm.keyboardinput.keyboard');
|
|
AddUnit('fpterm.pointingdeviceinput.mouse');
|
|
end;
|
|
|
|
T:=P.Targets.AddUnit('fpterm.pseudoterminal.unix.pas', UnixPtyOSes);
|
|
|
|
T:=P.Targets.AddUnit('fpterm.inputoutputconnection.unixpty.pas', UnixPtyOSes);
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('fpterm.inputoutputconnection');
|
|
AddUnit('fpterm.pseudoterminal.unix');
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
{$ifndef ALLPACKAGES}
|
|
begin
|
|
add_fcl_fpterm('');
|
|
Installer.Run;
|
|
end.
|
|
{$endif ALLPACKAGES}
|