mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-05 13:18:25 +02:00
152 lines
5.0 KiB
ObjectPascal
152 lines
5.0 KiB
ObjectPascal
{$ifndef ALLPACKAGES}
|
|
{$mode objfpc}{$H+}
|
|
program fpmake;
|
|
|
|
uses {$ifdef unix}cthreads,{$endif} fpmkunit;
|
|
|
|
Var
|
|
P : TPackage;
|
|
T : TTarget;
|
|
begin
|
|
With Installer do
|
|
begin
|
|
{$endif ALLPACKAGES}
|
|
|
|
P:=AddPackage('graph');
|
|
P.ShortName:='grph';
|
|
{$ifdef ALLPACKAGES}
|
|
P.Directory:=ADirectory;
|
|
{$endif ALLPACKAGES}
|
|
P.Version:='3.3.1';
|
|
P.Author := 'FPC team';
|
|
P.License := 'LGPL with modification, ';
|
|
P.HomepageURL := 'www.freepascal.org';
|
|
P.Email := '';
|
|
P.Description := 'A portable, yet usable substitute for the Turbo Pascal Graph unit.';
|
|
P.NeedLibC:= false; // true for headers that indirectly link to libc? OS specific?
|
|
|
|
P.CPUs:=[i386,x86_64,powerpc,i8086,aarch64];
|
|
P.OSes:=[go32v2,win32,win64,linux,freebsd,openbsd,darwin,msdos,netbsd];
|
|
|
|
P.Dependencies.Add('sdl',[i386,powerpc],[win32,linux,freebsd,darwin]);
|
|
P.Dependencies.Add('ptc',[win32,win64,linux,darwin,openbsd,freebsd,netbsd]);
|
|
|
|
// Dependencies for ptc, due to fpcmake bug:
|
|
P.Dependencies.Add('fcl-base',[win32,win64,linux,openbsd,freebsd,darwin,netbsd]);
|
|
P.Dependencies.Add('x11',[freebsd,openbsd,linux,netbsd]); // ptc only depends on bsd and linux on x11
|
|
P.Dependencies.Add('hermes',[win32,win64,linux,openbsd,freebsd,darwin,netbsd]);
|
|
P.Dependencies.Add('opengl',[win32,win64,linux,openbsd,freebsd,netbsd]);
|
|
|
|
P.SourcePath.Add('src');
|
|
P.SourcePath.Add('src/ptcgraph');
|
|
P.SourcePath.Add('src/macosx',[darwin]);
|
|
P.SourcePath.Add('src/amiga',[amiga]);
|
|
P.SourcePath.Add('src/go32v2',[go32v2]);
|
|
P.SourcePath.Add('src/msdos',[msdos]);
|
|
P.SourcePath.Add('src/win32',[win32,win64]);
|
|
P.SourcePath.Add('src/unix',[freebsd,linux,openbsd,netbsd]); // Darwin has own.
|
|
|
|
P.IncludePath.Add('src/inc');
|
|
P.IncludePath.Add('src/go32v2',[go32v2]);
|
|
P.IncludePath.Add('src/msdos',[msdos]);
|
|
P.IncludePath.Add('src/unix',[freebsd,linux,openbsd,netbsd]); // Darwin has own.
|
|
P.IncludePath.Add('src/go32v2',[go32v2]);
|
|
|
|
T:=P.Targets.AddUnit('ggigraph.pp',[linux,freebsd]);
|
|
with T.Dependencies do
|
|
begin
|
|
AddInclude('graphh.inc');
|
|
AddInclude('graph.inc');
|
|
AddInclude('fontdata.inc');
|
|
AddInclude('clip.inc');
|
|
AddInclude('palette.inc');
|
|
AddInclude('modes.inc');
|
|
AddInclude('fills.inc');
|
|
AddInclude('gtext.inc');
|
|
end;
|
|
// Graph unit, restricted to i8086, i386 and x86_64 CPUs
|
|
T:=P.Targets.AddUnit('graph.pp',[i8086,i386,x86_64],[go32v2,freebsd,linux,msdos]);
|
|
with T.Dependencies do
|
|
begin
|
|
AddInclude('graphh.inc');
|
|
AddInclude('graph.inc');
|
|
AddInclude('fontdata.inc');
|
|
AddInclude('clip.inc');
|
|
AddInclude('palette.inc');
|
|
AddInclude('modes.inc');
|
|
AddInclude('fills.inc');
|
|
AddInclude('gtext.inc');
|
|
AddInclude('graph16.inc',[freebsd,linux]);
|
|
AddInclude('vesa.inc',[go32v2,msdos]);
|
|
AddInclude('vesah.inc',[go32v2,msdos]);
|
|
end;
|
|
|
|
// Graph unit, for win32 and win64 target
|
|
T:=P.Targets.AddUnit('graph.pp',[win32,win64]);
|
|
with T.Dependencies do
|
|
begin
|
|
AddInclude('graphh.inc');
|
|
AddInclude('graph.inc');
|
|
AddInclude('fontdata.inc');
|
|
AddInclude('clip.inc');
|
|
AddInclude('palette.inc');
|
|
AddInclude('modes.inc');
|
|
AddInclude('fills.inc');
|
|
AddInclude('gtext.inc');
|
|
end;
|
|
|
|
T:=P.Targets.AddUnit('src/sdlgraph/sdlgraph.pp',[i386,powerpc],[win32,linux,freebsd,darwin]);
|
|
with T.Dependencies do
|
|
begin
|
|
AddInclude('graphh.inc');
|
|
AddInclude('graph.inc');
|
|
AddInclude('fontdata.inc');
|
|
AddInclude('clip.inc');
|
|
AddInclude('palette.inc');
|
|
AddInclude('modes.inc');
|
|
AddInclude('fills.inc');
|
|
AddInclude('gtext.inc');
|
|
end;
|
|
T:=P.Targets.AddUnit('wincrt.pp',[win32, win64]);
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('graph');
|
|
end;
|
|
T:=P.Targets.AddUnit('winmouse.pp',[win32, win64]);
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('graph');
|
|
end;
|
|
T:=P.Targets.AddUnit('ptcgraph.pp',[win32,win64,linux,openbsd,freebsd,darwin,netbsd]);
|
|
with T.Dependencies do
|
|
begin
|
|
AddInclude('graphh.inc');
|
|
AddInclude('graph.inc');
|
|
AddInclude('fontdata.inc');
|
|
AddInclude('clip.inc');
|
|
AddInclude('palette.inc');
|
|
AddInclude('modes.inc');
|
|
AddInclude('fills.inc');
|
|
AddInclude('gtext.inc');
|
|
end;
|
|
T:=P.Targets.AddUnit('ptccrt.pp',[win32,win64,linux,openbsd,freebsd,darwin,netbsd]);
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('ptcgraph');
|
|
end;
|
|
T:=P.Targets.AddUnit('ptcmouse.pp',[win32,win64,linux,openbsd,freebsd,darwin,netbsd]);
|
|
with T.Dependencies do
|
|
begin
|
|
AddUnit('ptcgraph');
|
|
end;
|
|
|
|
|
|
|
|
P.NamespaceMap:='namespaces.lst';
|
|
|
|
{$ifndef ALLPACKAGES}
|
|
Run;
|
|
end;
|
|
end.
|
|
{$endif ALLPACKAGES}
|