From b566b06130c61725830ee4fe0888d7a7658f54e2 Mon Sep 17 00:00:00 2001 From: joost Date: Fri, 1 Apr 2011 09:50:05 +0000 Subject: * If a found package seems to contain the source of the package, check if the package is compiled earlier and when that's the case include it's unit output directory. Usefull if more packages are being compiled manually, without installing each package. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@17213 3ad0048d-3df7-0310-abae-a5850022a9f2 --- packages/fpmkunit/src/fpmkunit.pp | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'packages/fpmkunit') diff --git a/packages/fpmkunit/src/fpmkunit.pp b/packages/fpmkunit/src/fpmkunit.pp index 6586444eeb..d3610255a5 100644 --- a/packages/fpmkunit/src/fpmkunit.pp +++ b/packages/fpmkunit/src/fpmkunit.pp @@ -4462,6 +4462,7 @@ end; function TBuildEngine.CheckExternalPackage(Const APackageName : String):TPackage; var S : String; + F : String; I : Integer; begin // Already checked? @@ -4481,11 +4482,25 @@ begin Log(vldebug, SDbgExternalDependency, [APackageName,S]); Result.FTargetState:=tsInstalled; // Load unit config if it exists - S:=IncludeTrailingPathDelimiter(S)+UnitConfigFile; - if FileExists(S) then + F:=IncludeTrailingPathDelimiter(S)+UnitConfigFile; + if FileExists(F) then begin - Log(vlDebug, Format(SDbgLoading, [S])); - Result.LoadUnitConfigFromFile(S); + Log(vlDebug, Format(SDbgLoading, [F])); + Result.LoadUnitConfigFromFile(F); + end + else if FileExists(IncludeTrailingPathDelimiter(S)+FPMakePPFile) then + begin + // The package is not installed, but the source-path is given. + // It is an external package so it is impossible to compile it, so + // assume that it has been compiled earlier. + F := IncludeTrailingPathDelimiter(Result.UnitDir) + Result.GetUnitsOutputDir(Defaults.CPU,Defaults.OS); + // If the unit-directory does not exist, you know for sure that + // the package is not compiled + if DirectoryExists(F) then + begin + Result.UnitDir := F; + Result.FTargetState:=tsCompiled; + end; end; // Check recursive implicit dependencies CompileDependencies(Result); -- cgit v1.2.1 From 66cd4606ac80cff6cc86f0441da33d404b0d6eb9 Mon Sep 17 00:00:00 2001 From: michael Date: Sun, 3 Apr 2011 09:27:06 +0000 Subject: * Fixed 19068 git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@17235 3ad0048d-3df7-0310-abae-a5850022a9f2 --- packages/fpmkunit/src/fpmkunit.pp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'packages/fpmkunit') diff --git a/packages/fpmkunit/src/fpmkunit.pp b/packages/fpmkunit/src/fpmkunit.pp index d3610255a5..78ac12c3b3 100644 --- a/packages/fpmkunit/src/fpmkunit.pp +++ b/packages/fpmkunit/src/fpmkunit.pp @@ -69,7 +69,7 @@ Type linux,go32v2,win32,os2,freebsd,beos,netbsd, amiga,atari, solaris, qnx, netware, openbsd,wdosx, palmos,macos,darwin,emx,watcom,morphos,netwlibc, - win64,wince,gba,nds,embedded,symbian + win64,wince,gba,nds,embedded,symbian,haiku ); TOSes = Set of TOS; @@ -114,7 +114,7 @@ Const AllOSes = [Low(TOS)..High(TOS)]; AllCPUs = [Low(TCPU)..High(TCPU)]; - AllUnixOSes = [Linux,FreeBSD,NetBSD,OpenBSD,Darwin,QNX,BeOS,Solaris]; + AllUnixOSes = [Linux,FreeBSD,NetBSD,OpenBSD,Darwin,QNX,BeOS,Solaris,Haiku]; AllBSDOSes = [FreeBSD,NetBSD,OpenBSD,Darwin]; AllWindowsOSes = [Win32,Win64,WinCE]; @@ -148,7 +148,8 @@ Const { gba } ( false, false, false, false, false, false, true, false, false, false), { nds } ( false, false, false, false, false, false, true, false, false, false), { embedded }( false, true, true, true, true, true, true, true, true, true ), - { symbian } ( false, true, false, false, false, false, true, false, false, false) + { symbian } ( false, true, false, false, false, false, true, false, false, false), + { haiku } ( false, true, false, false, false, false, false, false, false, false) ); // Useful -- cgit v1.2.1