mirror of
https://gitlab.com/freepascal.org/fpc/pas2js.git
synced 2025-09-30 12:09:25 +02:00
fpcmake: started using FPCDIR
This commit is contained in:
parent
a3b066e747
commit
20a957dcac
62
fpmake.pp
62
fpmake.pp
@ -106,13 +106,14 @@ begin
|
|||||||
Addln('# If you don''t want so much verbosity use');
|
Addln('# If you don''t want so much verbosity use');
|
||||||
Addln('#-vw');
|
Addln('#-vw');
|
||||||
Addln('');
|
Addln('');
|
||||||
|
Addln('# Allow C-operators');
|
||||||
|
Addln('-Sc');
|
||||||
|
Addln('');
|
||||||
Addln('#IFDEF FPC_SUBTARGET_NAMESPACED');
|
Addln('#IFDEF FPC_SUBTARGET_NAMESPACED');
|
||||||
AddPath('-Fu',BaseDir,'namespaced');
|
AddPath('-Fu',BaseDir,'*/namespaced');
|
||||||
AddPath('-Fi',BaseDir,'src');
|
AddPath('-Fi',BaseDir,'*/src');
|
||||||
// needed for system unit.
|
|
||||||
AddPath('-Fu',BaseDir+'rtl'+PathDelim+'src','');
|
|
||||||
AddLn('#else');
|
AddLn('#else');
|
||||||
AddPath('-Fu',BaseDir,'src');
|
AddPath('-Fu',BaseDir,'*/src');
|
||||||
AddLn('#endif');
|
AddLn('#endif');
|
||||||
if rtl_js_dir<>'' then
|
if rtl_js_dir<>'' then
|
||||||
AddPath('-Fu',rtl_js_dir,'');
|
AddPath('-Fu',rtl_js_dir,'');
|
||||||
@ -178,8 +179,15 @@ Var
|
|||||||
P : TPackage;
|
P : TPackage;
|
||||||
UnitDir,DemoDir,BD, TmpCfg, TmpCfg2: String;
|
UnitDir,DemoDir,BD, TmpCfg, TmpCfg2: String;
|
||||||
T: TTarget;
|
T: TTarget;
|
||||||
|
FPCSrcDir: String;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
FPCSrcDir:=GetEnvironmentVariable('FPCDIR');
|
||||||
|
if FPCSrcDir<>'' then
|
||||||
|
FPCSrcDir:=IncludeTrailingPathDelimiter(ExpandFileName(FPCSrcDir));
|
||||||
|
if FPCSrcDir='' then
|
||||||
|
FPCSrcDir:=IncludeTrailingPathDelimiter(GetCurrentDir)+'compiler'+PathDelim;
|
||||||
|
|
||||||
With Installer do
|
With Installer do
|
||||||
begin
|
begin
|
||||||
P:=AddPackage('pas2js');
|
P:=AddPackage('pas2js');
|
||||||
@ -190,26 +198,26 @@ begin
|
|||||||
P.Email := 'michael@freepascal.org';
|
P.Email := 'michael@freepascal.org';
|
||||||
P.NeedLibC:= false;
|
P.NeedLibC:= false;
|
||||||
P.Version:='3.3.1';
|
P.Version:='3.3.1';
|
||||||
P.SourcePath.Add('compiler/utils/pas2js');
|
P.SourcePath.Add(FPCSrcDir+'utils/pas2js');
|
||||||
P.UnitPath.Add('compiler/utils/pas2js');
|
P.UnitPath.Add(FPCSrcDir+'utils/pas2js');
|
||||||
P.UnitPath.Add('compiler/packages/pastojs/src');
|
P.UnitPath.Add(FPCSrcDir+'packages/pastojs/src');
|
||||||
P.UnitPath.Add('compiler/packages/fcl-passrc/src');
|
P.UnitPath.Add(FPCSrcDir+'packages/fcl-passrc/src');
|
||||||
P.UnitPath.Add('compiler/packages/fcl-js/src');
|
P.UnitPath.Add(FPCSrcDir+'packages/fcl-js/src');
|
||||||
P.UnitPath.Add('compiler/packages/fcl-json/src');
|
P.UnitPath.Add(FPCSrcDir+'packages/fcl-json/src');
|
||||||
{$IF FPC_FULLVERSION>=30301}
|
{$IF FPC_FULLVERSION>=30301}
|
||||||
P.UnitPath.Add('compiler/packages/fcl-base/src');
|
P.UnitPath.Add(FPCSrcDir+'packages/fcl-base/src');
|
||||||
P.UnitPath.Add('compiler/packages/fcl-web/src/base');
|
P.UnitPath.Add(FPCSrcDir+'packages/fcl-web/src/base');
|
||||||
P.UnitPath.Add('compiler/packages/fcl-net/src');
|
P.UnitPath.Add(FPCSrcDir+'packages/fcl-net/src');
|
||||||
P.IncludePath.Add('compiler/packages/fcl-net/src/unix',AllUnixOSes);
|
P.IncludePath.Add(FPCSrcDir+'packages/fcl-net/src/unix',AllUnixOSes);
|
||||||
P.IncludePath.Add('compiler/packages/fcl-net/src/win',AllWindowsOSes);
|
P.IncludePath.Add(FPCSrcDir+'packages/fcl-net/src/win',AllWindowsOSes);
|
||||||
P.IncludePath.Add('compiler/packages/fcl-net/src/os2',[EMX]);
|
P.IncludePath.Add(FPCSrcDir+'packages/fcl-net/src/os2',[EMX]);
|
||||||
P.IncludePath.Add('compiler/packages/fcl-net/src/amiga',[morphos]);
|
P.IncludePath.Add(FPCSrcDir+'packages/fcl-net/src/amiga',[morphos]);
|
||||||
P.IncludePath.Add('compiler/packages/fcl-net/src/$(OS)',AllOSes-AllWindowsOSes-AllUnixOSes-[EMX]);
|
P.IncludePath.Add(FPCSrcDir+'packages/fcl-net/src/$(OS)',AllOSes-AllWindowsOSes-AllUnixOSes-[EMX]);
|
||||||
P.UnitPath.Add('compiler/packages/fcl-base/src');
|
P.UnitPath.Add(FPCSrcDir+'packages/fcl-base/src');
|
||||||
P.IncludePath.Add('compiler/packages/fcl-base/src/dummy');
|
P.IncludePath.Add(FPCSrcDir+'packages/fcl-base/src/dummy');
|
||||||
P.UnitPath.Add('compiler/packages/webidl/src');
|
P.UnitPath.Add(FPCSrcDir+'packages/webidl/src');
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
P.IncludePath.Add('compiler/packages/pastojs/src');
|
P.IncludePath.Add(FPCSrcDir+'packages/pastojs/src');
|
||||||
P.Dependencies.Clear;
|
P.Dependencies.Clear;
|
||||||
Defaults.Options.Add('-Sc');
|
Defaults.Options.Add('-Sc');
|
||||||
P.Targets.AddProgram('pas2js.pp');
|
P.Targets.AddProgram('pas2js.pp');
|
||||||
@ -264,14 +272,14 @@ begin
|
|||||||
{$ELSE}
|
{$ELSE}
|
||||||
BD:=IncludeTrailingPathDelimiter(P.GetBinOutputDir(Defaults.BuildCPU,Defaults.BuildOS));
|
BD:=IncludeTrailingPathDelimiter(P.GetBinOutputDir(Defaults.BuildCPU,Defaults.BuildOS));
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
TmpCfg:='compiler/utils/pas2js/dist/pas2js.cfg';
|
TmpCfg:=FPCSrcDir+'utils/pas2js/dist/pas2js.cfg';
|
||||||
TmpCfg2:='compiler/utils/pas2js/dist/pas2js-namespaced.cfg';
|
TmpCfg2:=FPCSrcDir+'utils/pas2js/dist/pas2js-namespaced.cfg';
|
||||||
Case Installer.RunMode of
|
Case Installer.RunMode of
|
||||||
rmCompile,rmBuild:
|
rmCompile,rmBuild:
|
||||||
begin
|
begin
|
||||||
if not FileExists(BD+'pas2js.cfg') then
|
if not FileExists(BD+'pas2js.cfg') then
|
||||||
CreateConfigFile(BD+'pas2js.cfg',SetDirSeparators('../../packages'),
|
CreateConfigFile(BD+'pas2js.cfg',SetDirSeparators('../../packages'),
|
||||||
SetDirSeparators('../../compiler/utils/pas2js/dist/'));
|
SetDirSeparators(FPCSrcDir+'utils/pas2js/dist/'));
|
||||||
if not FileExists(BD+'pas2js-namespaced.cfg') then
|
if not FileExists(BD+'pas2js-namespaced.cfg') then
|
||||||
CreateNameSpacedConfigFile(BD+'pas2js-namespaced.cfg');
|
CreateNameSpacedConfigFile(BD+'pas2js-namespaced.cfg');
|
||||||
end;
|
end;
|
||||||
@ -289,7 +297,7 @@ begin
|
|||||||
CreateNamespacedConfigFile(TmpCfg2);
|
CreateNamespacedConfigFile(TmpCfg2);
|
||||||
P.InstallFiles.Add(TmpCfg,Defaults.BinInstallDir);
|
P.InstallFiles.Add(TmpCfg,Defaults.BinInstallDir);
|
||||||
P.InstallFiles.Add(TmpCfg2,Defaults.BinInstallDir);
|
P.InstallFiles.Add(TmpCfg2,Defaults.BinInstallDir);
|
||||||
P.InstallFiles.Add('compiler/utils/pas2js/dist/rtl.js',IncludeTrailingPathDelimiter(UnitDir)+'rtl');
|
P.InstallFiles.Add(FPCSrcDir+'utils/pas2js/dist/rtl.js',IncludeTrailingPathDelimiter(UnitDir)+'rtl');
|
||||||
AddPackageFiles(P.InstallFiles,'chartjs',UnitDir);
|
AddPackageFiles(P.InstallFiles,'chartjs',UnitDir);
|
||||||
AddPackageFiles(P.InstallFiles,'dataabstract',UnitDir);
|
AddPackageFiles(P.InstallFiles,'dataabstract',UnitDir);
|
||||||
AddPackageFiles(P.InstallFiles,'fcl-base',UnitDir);
|
AddPackageFiles(P.InstallFiles,'fcl-base',UnitDir);
|
||||||
|
@ -41,7 +41,7 @@ type
|
|||||||
Pas2jsVersion: string;
|
Pas2jsVersion: string;
|
||||||
Simulate: boolean;
|
Simulate: boolean;
|
||||||
SourceDir: string; // cloned git release
|
SourceDir: string; // cloned git release
|
||||||
FPCDir: string;
|
FPCSrcDir: string;
|
||||||
Verbosity: integer;
|
Verbosity: integer;
|
||||||
constructor Create(TheOwner: TComponent); override;
|
constructor Create(TheOwner: TComponent); override;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
@ -133,7 +133,7 @@ begin
|
|||||||
SourceDir:=GetOption_Directory('s','sourcedir',nil);
|
SourceDir:=GetOption_Directory('s','sourcedir',nil);
|
||||||
if SourceDir='' then
|
if SourceDir='' then
|
||||||
Err('missing source directory');
|
Err('missing source directory');
|
||||||
FPCDir:=GetOption_Directory(' ','fpcdir',nil);
|
FPCSrcDir:=GetOption_Directory(' ','fpcdir',nil);
|
||||||
FPCReleaseFilename:=GetOption_Executable(' ','fpcrelease',nil);
|
FPCReleaseFilename:=GetOption_Executable(' ','fpcrelease',nil);
|
||||||
FPCDevelFilename:=GetOption_Executable(' ','fpcdevel',nil);
|
FPCDevelFilename:=GetOption_Executable(' ','fpcdevel',nil);
|
||||||
FPC2Filename:=GetOption_Executable(' ','fpc2',nil);
|
FPC2Filename:=GetOption_Executable(' ','fpc2',nil);
|
||||||
@ -142,16 +142,16 @@ begin
|
|||||||
MakeFilename:=GetOption_Executable(' ','make',@GetDefaultMake);
|
MakeFilename:=GetOption_Executable(' ','make',@GetDefaultMake);
|
||||||
ZipFilename:=GetOption_Executable(' ','zip',@GetDefaultZip);
|
ZipFilename:=GetOption_Executable(' ','zip',@GetDefaultZip);
|
||||||
|
|
||||||
if FPCDir='' then
|
if FPCSrcDir='' then
|
||||||
FPCDir:=GetEnvironmentVariable('FPCDIR');
|
FPCSrcDir:=GetEnvironmentVariable('FPCDIR');
|
||||||
if FPCDir='' then
|
if FPCSrcDir='' then
|
||||||
FPCDir:=SourceDir+'compiler'+PathDelim;
|
FPCSrcDir:=SourceDir+'compiler'+PathDelim;
|
||||||
|
|
||||||
// write options
|
// write options
|
||||||
if Verbosity>=0 then begin
|
if Verbosity>=0 then begin
|
||||||
Log(etInfo,'SourceDir: "'+SourceDir+'"');
|
Log(etInfo,'SourceDir: "'+SourceDir+'"');
|
||||||
Log(etInfo,'BuildDir: "'+BuildDir+'"');
|
Log(etInfo,'BuildDir: "'+BuildDir+'"');
|
||||||
Log(etInfo,'FPCDir: "'+FPCDir+'"');
|
Log(etInfo,'FPCDir: "'+FPCSrcDir+'"');
|
||||||
Log(etInfo,'FPCRelease: "'+FPCReleaseFilename+'"');
|
Log(etInfo,'FPCRelease: "'+FPCReleaseFilename+'"');
|
||||||
Log(etInfo,'FPCDevel: "'+FPCDevelFilename+'"');
|
Log(etInfo,'FPCDevel: "'+FPCDevelFilename+'"');
|
||||||
Log(etInfo,'FPC2: "'+FPC2Filename+'"');
|
Log(etInfo,'FPC2: "'+FPC2Filename+'"');
|
||||||
@ -171,8 +171,8 @@ begin
|
|||||||
Err('BuildDir missing: "'+BuildDir+'"');
|
Err('BuildDir missing: "'+BuildDir+'"');
|
||||||
if not DirectoryExists(SourceDir) then
|
if not DirectoryExists(SourceDir) then
|
||||||
Err('SourceDir missing: "'+SourceDir+'"');
|
Err('SourceDir missing: "'+SourceDir+'"');
|
||||||
if not DirectoryExists(FPCDir) then
|
if not DirectoryExists(FPCSrcDir) then
|
||||||
Err('FPCDir missing: "'+FPCDir+'"');
|
Err('FPCDir missing: "'+FPCSrcDir+'"');
|
||||||
CheckExecutable(FPCReleaseFilename,'fpcrelease');
|
CheckExecutable(FPCReleaseFilename,'fpcrelease');
|
||||||
CheckExecutable(FPCDevelFilename,'fpcdevel');
|
CheckExecutable(FPCDevelFilename,'fpcdevel');
|
||||||
if FPC2Filename<>'' then
|
if FPC2Filename<>'' then
|
||||||
@ -305,7 +305,7 @@ begin
|
|||||||
sl:=TStringList.Create;
|
sl:=TStringList.Create;
|
||||||
try
|
try
|
||||||
// read pas2js version number from Pascal sources
|
// read pas2js version number from Pascal sources
|
||||||
Filename:=FPCDir+SetDirSeparators('packages/pastojs/src/pas2jscompiler.pp');
|
Filename:=FPCSrcDir+SetDirSeparators('packages/pastojs/src/pas2jscompiler.pp');
|
||||||
if Verbosity>0 then
|
if Verbosity>0 then
|
||||||
Log(etInfo,'Reading version from "'+Filename+'" ...');
|
Log(etInfo,'Reading version from "'+Filename+'" ...');
|
||||||
if not FileExists(Filename) then
|
if not FileExists(Filename) then
|
||||||
@ -338,7 +338,7 @@ begin
|
|||||||
Log(etInfo,'Pas2js version is '+Pas2jsVersion);
|
Log(etInfo,'Pas2js version is '+Pas2jsVersion);
|
||||||
|
|
||||||
// read version number from rtl.js
|
// read version number from rtl.js
|
||||||
Filename:=FPCDir+SetDirSeparators('utils/pas2js/dist/rtl.js');
|
Filename:=FPCSrcDir+SetDirSeparators('utils/pas2js/dist/rtl.js');
|
||||||
if Verbosity>0 then
|
if Verbosity>0 then
|
||||||
Log(etInfo,'Reading version from "'+Filename+'" ...');
|
Log(etInfo,'Reading version from "'+Filename+'" ...');
|
||||||
if not FileExists(Filename) then
|
if not FileExists(Filename) then
|
||||||
@ -372,11 +372,11 @@ procedure TPas2jsReleaseCreator.CheckForgottenWriteln;
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
Check(FPCDir+'packages'+PathDelim+'fcl-js'+PathDelim+'src');
|
Check(FPCSrcDir+'packages'+PathDelim+'fcl-js'+PathDelim+'src');
|
||||||
Check(FPCDir+'packages'+PathDelim+'fcl-json'+PathDelim+'src');
|
Check(FPCSrcDir+'packages'+PathDelim+'fcl-json'+PathDelim+'src');
|
||||||
Check(FPCDir+'packages'+PathDelim+'fcl-passrc'+PathDelim+'src');
|
Check(FPCSrcDir+'packages'+PathDelim+'fcl-passrc'+PathDelim+'src');
|
||||||
Check(FPCDir+'packages'+PathDelim+'pastojs'+PathDelim+'src');
|
Check(FPCSrcDir+'packages'+PathDelim+'pastojs'+PathDelim+'src');
|
||||||
Check(FPCDir+'utils'+PathDelim+'pas2js');
|
Check(FPCSrcDir+'utils'+PathDelim+'pas2js');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPas2jsReleaseCreator.ParseFPCTargetOption(const LongOpt: string; out
|
procedure TPas2jsReleaseCreator.ParseFPCTargetOption(const LongOpt: string; out
|
||||||
@ -480,9 +480,9 @@ begin
|
|||||||
SharedParams:=TStringList.Create;
|
SharedParams:=TStringList.Create;
|
||||||
TheParams:=TStringList.Create;
|
TheParams:=TStringList.Create;
|
||||||
try
|
try
|
||||||
WorkDir:=FPCDir+'utils'+PathDelim+'pas2js';
|
WorkDir:=FPCSrcDir+'utils'+PathDelim+'pas2js';
|
||||||
|
|
||||||
PkgSrcDir:=FPCDir+'packages'+PathDelim;
|
PkgSrcDir:=FPCSrcDir+'packages'+PathDelim;
|
||||||
SharedParams.Add('-Fu'+PkgSrcDir+'fcl-js'+PathDelim+'src');
|
SharedParams.Add('-Fu'+PkgSrcDir+'fcl-js'+PathDelim+'src');
|
||||||
SharedParams.Add('-Fu'+PkgSrcDir+'fcl-json'+PathDelim+'src');
|
SharedParams.Add('-Fu'+PkgSrcDir+'fcl-json'+PathDelim+'src');
|
||||||
SharedParams.Add('-Fu'+PkgSrcDir+'fcl-passrc'+PathDelim+'src');
|
SharedParams.Add('-Fu'+PkgSrcDir+'fcl-passrc'+PathDelim+'src');
|
||||||
@ -601,7 +601,7 @@ procedure TPas2jsReleaseCreator.CopyRTLjs;
|
|||||||
var
|
var
|
||||||
SrcFilename, DestFilename: String;
|
SrcFilename, DestFilename: String;
|
||||||
begin
|
begin
|
||||||
SrcFilename:=FPCDir+SetDirSeparators('utils/pas2js/dist/rtl.js');
|
SrcFilename:=FPCSrcDir+SetDirSeparators('utils/pas2js/dist/rtl.js');
|
||||||
DestFilename:=BuildDir_Sources+SetDirSeparators('packages/rtl/src/rtl.js');
|
DestFilename:=BuildDir_Sources+SetDirSeparators('packages/rtl/src/rtl.js');
|
||||||
if Simulate then begin
|
if Simulate then begin
|
||||||
Log(etInfo,'Simulate: Copying "'+SrcFilename+'" -> "'+DestFilename+'"');
|
Log(etInfo,'Simulate: Copying "'+SrcFilename+'" -> "'+DestFilename+'"');
|
||||||
|
Loading…
Reference in New Issue
Block a user