1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
|
{$ifndef ALLPACKAGES}
{$define allpackages}
{$define no_parent}
{$mode objfpc}{$H+}
program fpmake;
{$IFDEF MORPHOS}
{$DEFINE NO_UNIT_PROCESS}
{$DEFINE NO_THREADING}
{$ENDIF}
{$IFDEF OS2}
{$DEFINE NO_UNIT_PROCESS}
{$ENDIF OS2}
{$IFDEF GO32V2}
{$DEFINE NO_UNIT_PROCESS}
{$ENDIF GO32V2}
{$ifndef NO_UNIT_PROCESS}
{$define HAS_UNIT_PROCESS}
{$endif NO_UNIT_PROCESS}
uses
fpmkunit,
{$IFDEF HAS_UNIT_PROCESS}
process,
{$ENDIF HAS_UNIT_PROCESS}
sysutils;
{$endif ALLPACKAGES}
(*
The include files are generated with the following commands:
rm fpmake_proc.inc fpmake_add.inc ; /bin/ls -1 */fpmake.pp| while read file; do cleanedname=`dirname $file | sed -e 's+-+_+g'` ; if ! `grep -i "^procedure add_$cleanedname" $file >/dev/null` ; then printf 'procedure add_%s(const ADirectory: string);\nbegin\n with Installer do\n{$include %s}\nend;\n\n' $cleanedname $file >> fpmake_proc.inc; else printf '{$include %s}\n\n' $file >> fpmake_proc.inc; fi; echo " add_$cleanedname(ADirectory+IncludeTrailingPathDelimiter('$cleanedname'));" >> fpmake_add.inc; done
*)
{$include fpmake_proc.inc}
procedure add_utils(const ADirectory: string);
Var
P : TPackage;
T : TTarget;
begin
With Installer do
begin
P:=AddPackage('utils');
P.OSes:=AllOSes-[embedded,msdos,win16,macos,palmos];
P.OSes:=AllOSes-[embedded,msdos,win16,macos,palmos];
if Defaults.CPU=jvm then
P.OSes := P.OSes - [java,android];
P.Author := '<various>';
P.License := 'LGPL with modification';
P.HomepageURL := 'www.freepascal.org';
P.Email := '';
P.Description := 'Various Free Pascal utilities.';
P.NeedLibC:= false;
{$ifndef NO_PARENT}
P.Directory:=ADirectory;
{$endif ALLPACKAGES}
P.Dependencies.Add('fcl-base');
P.Dependencies.Add('paszlib');
P.Dependencies.Add('hash');
P.Dependencies.Add('univint',[darwin,iphonesim]);
P.Dependencies.Add('fcl-json');
P.Dependencies.Add('rtl-extra');
P.Dependencies.Add('rtl-objpas');
P.Version:='3.2.0';
T:=P.Targets.AddProgram('ptop.pp');
T.Dependencies.AddUnit('ptopu');
T.ResourceStrings:=true;
P.Targets.AddProgram('ppdep.pp');
T:=P.Targets.AddProgram('rstconv.pp');
T.ResourceStrings:=true;
P.Targets.AddProgram('data2inc.pp');
P.Targets.AddProgram('delp.pp');
P.Targets.AddProgram('bin2obj.pp');
P.Targets.AddProgram('mkinsadd.pp');
P.Targets.AddProgram('postw32.pp');
P.Targets.AddProgram('rmcvsdir.pp');
P.Targets.AddProgram('relpath.pas');
P.Targets.AddProgram('grab_vcsa.pp',[linux]);
T:=P.Targets.AddProgram('fpcsubst.pp');
T.Dependencies.AddUnit('usubst');
T.ResourceStrings:=true;
P.Targets.AddUnit('usubst.pp').install:=false;
P.Targets.AddUnit('ptopu.pp').install:=false;
end;
{$include fpmake_add.inc}
end;
{$ifdef NO_PARENT}
begin
add_utils('');
Installer.Run;
end.
{$endif NO_PARENT}
|