Browse Source

* merge everything in fpmkunit

git-svn-id: trunk@7531 -
peter 18 years ago
parent
commit
adf0cbe0ff

+ 0 - 2
.gitattributes

@@ -4312,8 +4312,6 @@ packages/fpmake/Makefile svneol=native#text/plain
 packages/fpmake/Makefile.fpc svneol=native#text/plain
 packages/fpmake/Makefile.fpc svneol=native#text/plain
 packages/fpmake/fpmake.inc svneol=native#text/plain
 packages/fpmake/fpmake.inc svneol=native#text/plain
 packages/fpmake/fpmake.pp svneol=native#text/plain
 packages/fpmake/fpmake.pp svneol=native#text/plain
-packages/fpmake/src/fpmkcnst.inc svneol=native#text/plain
-packages/fpmake/src/fpmktype.pp svneol=native#text/plain
 packages/fpmake/src/fpmkunit.pp svneol=native#text/plain
 packages/fpmake/src/fpmkunit.pp svneol=native#text/plain
 rtl/COPYING -text
 rtl/COPYING -text
 rtl/COPYING.FPC -text
 rtl/COPYING.FPC -text

+ 2 - 2
packages/fpmake/fpmake.inc

@@ -1,9 +1,9 @@
     StartPackage('fpmake');
     StartPackage('fpmake');
     Version:='2.0.0';
     Version:='2.0.0';
     Description:='Free Pascal Make Tool';
     Description:='Free Pascal Make Tool';
-		T:=Targets.AddUnit('fpmktype');
     T:=Targets.AddUnit('fpmkunit');
     T:=Targets.AddUnit('fpmkunit');
+    T.Directory:='src';
     S:=Sources.AddSrcFiles('src/*');
     S:=Sources.AddSrcFiles('src/*');
     S:=Sources.AddSrcFiles('fpmake.inc');
     S:=Sources.AddSrcFiles('fpmake.inc');
     S:=Sources.AddSrcFiles('fpmake.pp');
     S:=Sources.AddSrcFiles('fpmake.pp');
-		EndPackage;
+    EndPackage;

+ 1 - 1
packages/fpmake/fpmake.pp

@@ -1,7 +1,7 @@
 {$mode objfpc}{$H+}
 {$mode objfpc}{$H+}
 program fpmake;
 program fpmake;
 
 
-uses fpmktype,fpmkunit;
+uses fpmkunit;
 
 
 var
 var
   T : TTarget;
   T : TTarget;

+ 0 - 49
packages/fpmake/src/fpmkcnst.inc

@@ -1,49 +0,0 @@
-Const
-  // Aliases
-  Amd64   = X86_64;
-  PowerPC = PPC;
-  PowerPC64 = PPC64;
-  DOS = Go32v2;
-  MacOSX = Darwin;
-
-  AllOSs  = [Low(TOS)..High(TOS)];
-  AllCPUs = [Low(TCPU)..High(TCPU)];
-  
-  // Useful
-  UnitExt = '.ppu';
-  PPUExt  = UnitExt;
-  PasExt  = '.pas';
-  PPExt   = '.pp';
-  IncExt  = '.inc';
-  ObjExt  = '.o';
-  RstExt  = '.rst';
-  LibExt  = '.a';
-  SharedLibExt = '.so';
-  DLLExt  = '.dll';
-  ExeExt  = '.exe';
-  ZipExt  = '.zip';
-
-{
-  // Targets
-  i386_Linux = 'i386-linux';
-  i386_Win32 = 'i386-win32';
-  i386_Dos = 'i386-go32v2';
-  i386_OS2 = 'i386-os2';
-  i386_FreeBSD = 'i386-freebsd';
-  i386_NetBSD = 'i386-netsd';
-  i386_OpenBSD = 'i386-openbsd';
-  i386_netware = 'i386-netware';
-  i386_netwlibc = 'i386-netwlibc';
-  i386_go32v2 = 'i386-go32v2';
-  PPC_Linux = 'ppc-linux';
-  powerpc_linux = PPC_linux;
-  sparc_linux = 'sparc-linux';
-  arm_linux = 'arm-linux';
-  ppc_macos = 'ppc-macos';
-  ppc_darwin = 'ppc-darwin';
-}
-
-  UnitTargets = [ttUnit,ttExampleUnit];
-  ProgramTargets = [ttProgram,ttExampleProgram];
-
-  AllMessages = [vlError,vlWarning,vlInfo,vlCompare,vlCommand];

+ 0 - 171
packages/fpmake/src/fpmktype.pp

@@ -1,171 +0,0 @@
-{$mode objfpc}
-{$h+}
-unit fpmktype;
-
-interface
-
-uses sysutils;
-
-Type
-  TFileType = (ftSource,ftUnit,ftObject,ftResource,ftExecutable,ftStaticLibrary,
-               ftSharedLibrary);
-  TFileTypes = set of TFileType;
-
-  TOS = (osNone,Amiga,Atari,Darwin,FreeBSD,Go32v2,Linux,MacOS,MorphOS,NetBSD,
-         Netware,NetwLibc,OpenBSD,OS2,PalmOS,Solaris,Win32,Win64,WinCE,Emx);
-  TOSes = Set of TOS;
-
-  TCPU = (cpuNone,Arm,I386,PPC,SPARC,X86_64,M68K,PPC64);
-  TCPUS = Set of TCPU;
-
-  TCompilerMode = (cmFPC,cmTP,cmObjFPC,cmDelphi,cmMacPas);
-  TCompilerModes = Set of TCompilerMode;
-
-  TTargetType = (ttUnit,ttProgram,ttExampleUnit,ttExampleProgram);
-  TTargetTypes = set of TTargetType;
-
-  TTargetState = (tsNeutral,tsCompiling,tsCompiled,tsInstalled);
-  TTargetStates = Set of TTargetState;
-
-  TSourceType = (stDoc,stSrc,stExample,stTest);
-  TSourceTypes = set of TSourceType;
-
-  TVerboseLevel = (vlError,vlWarning,vlInfo,vlCompare,vlCommand,vldebug);
-  TVerboseLevels = Set of TVerboseLevel;
-
-  TCommandAt = (caBeforeCompile,caAfterCompile,
-                caBeforeInstall,caAfterInstall,
-                caBeforeArchive,caAfterArchive,
-                caBeforeClean,caAfterClean,
-                caBeforeDownload,caAfterDownload);
-
-  TLogEvent = Procedure (Level : TVerboseLevel; Const Msg : String) of Object;
-
-  EInstallerError = Class(Exception);
-
-{$i fpmkcnst.inc}
-
-Function OSToString(OS: TOS) : String;
-Function OSesToString(OSes: TOSes) : String;
-Function CPUToString(CPU: TCPU) : String;
-Function CPUSToString(CPUS: TCPUS) : String;
-Function StringToOS(S : String) : TOS;
-Function OSesToString(S : String) : TOSes;
-Function StringToCPU(S : String) : TCPU;
-Function StringToCPUS(S : String) : TCPUS;
-Function ModeToString(Mode: TCompilerMode) : String;
-Function StringToMode(S : String) : TCompilerMode;
-Function MakeTargetString(CPU : TCPU;OS: TOS) : String;
-Procedure StringToCPUOS(S : String; Var CPU : TCPU; Var OS: TOS);
-
-implementation
-
-uses typinfo;
-
-resourcestring
-  SErrInvalidCPU        = 'Invalid CPU name : "%s"';
-  SErrInvalidOS         = 'Invalid OS name : "%s"';
-  SErrInvalidMode       = 'Invalid compiler mode : "%s"';
-  SErrInvalidTarget     = 'Invalid compiler target: %s';
-
-
-Function OSToString(OS: TOS) : String;
-
-begin
-  Result:=LowerCase(GetenumName(TypeInfo(TOS),Ord(OS)));
-end;
-
-Function OSesToString(OSes: TOSes) : String;
-
-begin
-  Result:=LowerCase(SetToString(PtypeInfo(TypeInfo(TOSes)),Integer(OSes),False));
-end;
-
-Function CPUToString(CPU: TCPU) : String;
-
-begin
-  Result:=LowerCase(GetenumName(TypeInfo(TCPU),Ord(CPU)));
-end;
-
-Function CPUSToString(CPUS: TCPUS) : String;
-
-begin
-  Result:=LowerCase(SetToString(PTypeInfo(TypeInfo(TCPUS)),Integer(CPUS),False));
-end;
-
-Function StringToOS(S : String) : TOS;
-
-Var
-  I : Integer;
-
-begin
-  I:=GetEnumValue(TypeInfo(TOS),S);
-  if (I=-1) then
-    Raise EInstallerError.CreateFmt(SErrInvalidOS,[S]);
-  Result:=TOS(I);
-end;
-
-
-Function OSesToString(S : String) : TOSes;
-
-begin
-  Result:=TOSes(StringToSet(PTypeInfo(TypeInfo(TOSes)),S));
-end;
-
-Function StringToCPU(S : String) : TCPU;
-
-Var
-  I : Integer;
-
-begin
-  I:=GetEnumValue(TypeInfo(TCPU),S);
-  if (I=-1) then
-    Raise EInstallerError.CreateFmt(SErrInvalidCPU,[S]);
-  Result:=TCPU(I);
-end;
-
-Function StringToCPUS(S : String) : TCPUS;
-
-begin
-  Result:=TCPUS(StringToSet(PTypeInfo(TypeInfo(TCPUS)),S));
-end;
-
-Function ModeToString(Mode: TCompilerMode) : String;
-
-begin
-  Result:=LowerCase(GetenumName(TypeInfo(TCompilerMode),Ord(Mode)));
-end;
-
-Function StringToMode(S : String) : TCompilerMode;
-
-Var
-  I : Integer;
-
-begin
-  I:=GetEnumValue(TypeInfo(TCompilerMode),S);
-  if (I=-1) then
-    Raise EInstallerError.CreateFmt(SErrInvalidMode,[S]);
-  Result:=TCompilerMode(I);
-end;
-
-
-Function MakeTargetString(CPU : TCPU;OS: TOS) : String;
-
-begin
-  Result:=CPUToString(CPU)+'-'+OSToString(OS);
-end;
-
-Procedure StringToCPUOS(S : String; Var CPU : TCPU; Var OS: TOS);
-
-Var
-  P : integer;
-
-begin
-  P:=Pos('-',S);
-  If (P=0) then
-    Raise EInstallerError.CreateFmt(SErrInvalidTarget,[S]);
-  CPU:=StringToCPU(Copy(S,1,P-1));
-  OS:=StringToOs(Copy(S,P+1,Length(S)-P));
-end;
-
-end.

+ 109 - 19
packages/fpmake/src/fpmkunit.pp

@@ -8,8 +8,73 @@ Interface
 uses SysUtils,Classes,fpmktype;
 uses SysUtils,Classes,fpmktype;
 
 
 Type
 Type
+  TFileType = (ftSource,ftUnit,ftObject,ftResource,ftExecutable,ftStaticLibrary,
+               ftSharedLibrary);
+  TFileTypes = set of TFileType;
+
+  TOS = (osNone,Amiga,Atari,Darwin,FreeBSD,Go32v2,Linux,MacOS,MorphOS,NetBSD,
+         Netware,NetwLibc,OpenBSD,OS2,PalmOS,Solaris,Win32,Win64,WinCE,Emx);
+  TOSes = Set of TOS;
+
+  TCPU = (cpuNone,Arm,I386,PPC,SPARC,X86_64,M68K,PPC64);
+  TCPUS = Set of TCPU;
+
+  TCompilerMode = (cmFPC,cmTP,cmObjFPC,cmDelphi,cmMacPas);
+  TCompilerModes = Set of TCompilerMode;
+
+  TTargetType = (ttUnit,ttProgram,ttExampleUnit,ttExampleProgram);
+  TTargetTypes = set of TTargetType;
+
+  TTargetState = (tsNeutral,tsCompiling,tsCompiled,tsInstalled);
+  TTargetStates = Set of TTargetState;
+
+  TSourceType = (stDoc,stSrc,stExample,stTest);
+  TSourceTypes = set of TSourceType;
+
+  TVerboseLevel = (vlError,vlWarning,vlInfo,vlCompare,vlCommand,vldebug);
+  TVerboseLevels = Set of TVerboseLevel;
+
+  TCommandAt = (caBeforeCompile,caAfterCompile,
+                caBeforeInstall,caAfterInstall,
+                caBeforeArchive,caAfterArchive,
+                caBeforeClean,caAfterClean,
+                caBeforeDownload,caAfterDownload);
+
+  TLogEvent = Procedure (Level : TVerboseLevel; Const Msg : String) of Object;
+
   TRunMode = (rmCompile,rmBuild,rmInstall,rmArchive,rmClean,rmManifest,rmListSources);
   TRunMode = (rmCompile,rmBuild,rmInstall,rmArchive,rmClean,rmManifest,rmListSources);
 
 
+Const
+  // Aliases
+  Amd64   = X86_64;
+  PowerPC = PPC;
+  PowerPC64 = PPC64;
+  DOS = Go32v2;
+  MacOSX = Darwin;
+
+  AllOSs  = [Low(TOS)..High(TOS)];
+  AllCPUs = [Low(TCPU)..High(TCPU)];
+
+  // Useful
+  UnitExt = '.ppu';
+  PPUExt  = UnitExt;
+  PasExt  = '.pas';
+  PPExt   = '.pp';
+  IncExt  = '.inc';
+  ObjExt  = '.o';
+  RstExt  = '.rst';
+  LibExt  = '.a';
+  SharedLibExt = '.so';
+  DLLExt  = '.dll';
+  ExeExt  = '.exe';
+  ZipExt  = '.zip';
+
+  UnitTargets = [ttUnit,ttExampleUnit];
+  ProgramTargets = [ttProgram,ttExampleProgram];
+
+  AllMessages = [vlError,vlWarning,vlInfo,vlCompare,vlCommand];
+
+Type
   { TNamedItem }
   { TNamedItem }
 
 
   TNamedItem = Class(TCollectionItem)
   TNamedItem = Class(TCollectionItem)
@@ -43,8 +108,6 @@ Type
     Property NamedItems[Index : Integer] : TNamedItem Read GetNamedItem Write SetNamedItem; default;
     Property NamedItems[Index : Integer] : TNamedItem Read GetNamedItem Write SetNamedItem; default;
   end;
   end;
 
 
-  TCommandAt = fpmktype.TCommandAt;
-
   { TCommand }
   { TCommand }
   TCommand = Class(TNamedItem)
   TCommand = Class(TNamedItem)
   private
   private
@@ -612,16 +675,12 @@ Type
   end;
   end;
 
 
   ECollectionError = Class(Exception);
   ECollectionError = Class(Exception);
-  EInstallerError = fpmktype.EInstallerError;
   EDictionaryError = Class(Exception);
   EDictionaryError = Class(Exception);
+  EInstallerError = Class(Exception);
 
 
   TInstallerClass = Class of TInstaller;
   TInstallerClass = Class of TInstaller;
   TDictionaryClass = Class of TDictionary;
   TDictionaryClass = Class of TDictionary;
 
 
-// Constants are in the file as for fpmktype.
-
-{$i fpmkcnst.inc}
-
 
 
 Type
 Type
   TArchiveEvent = Procedure (Const AFileName : String; List : TStrings) of Object;
   TArchiveEvent = Procedure (Const AFileName : String; List : TStrings) of Object;
@@ -666,6 +725,10 @@ Implementation
 uses typinfo;
 uses typinfo;
 
 
 ResourceString
 ResourceString
+  SErrInvalidCPU        = 'Invalid CPU name : "%s"';
+  SErrInvalidOS         = 'Invalid OS name : "%s"';
+  SErrInvalidMode       = 'Invalid compiler mode : "%s"';
+  SErrInvalidTarget     = 'Invalid compiler target: %s';
   SErrNameExists        = 'Name "%s" already exists in the collection.';
   SErrNameExists        = 'Name "%s" already exists in the collection.';
   SErrNoSuchName        = 'Could not find item with name "%s" in the collection.';
   SErrNoSuchName        = 'Could not find item with name "%s" in the collection.';
   SErrNoPackage         = 'No package available. Add package with StartPackage Call';
   SErrNoPackage         = 'No package available. Add package with StartPackage Call';
@@ -772,76 +835,103 @@ end;
 Function OSToString(OS: TOS) : String;
 Function OSToString(OS: TOS) : String;
 
 
 begin
 begin
-  Result:=fpmktype.OsToString(OS);
+  Result:=LowerCase(GetenumName(TypeInfo(TOS),Ord(OS)));
 end;
 end;
 
 
 Function OSesToString(OSes: TOSes) : String;
 Function OSesToString(OSes: TOSes) : String;
 
 
 begin
 begin
-  Result:=fpmktype.OSesToString(OSes);
+  Result:=LowerCase(SetToString(PtypeInfo(TypeInfo(TOSes)),Integer(OSes),False));
 end;
 end;
 
 
 Function CPUToString(CPU: TCPU) : String;
 Function CPUToString(CPU: TCPU) : String;
 
 
 begin
 begin
-  Result:=fpmkType.CPUToString(CPU);
+  Result:=LowerCase(GetenumName(TypeInfo(TCPU),Ord(CPU)));
 end;
 end;
 
 
 Function CPUSToString(CPUS: TCPUS) : String;
 Function CPUSToString(CPUS: TCPUS) : String;
 
 
 begin
 begin
-  Result:=fpmktype.CPUSToString(CPUS);
+  Result:=LowerCase(SetToString(PTypeInfo(TypeInfo(TCPUS)),Integer(CPUS),False));
 end;
 end;
 
 
 Function StringToOS(S : String) : TOS;
 Function StringToOS(S : String) : TOS;
 
 
+Var
+  I : Integer;
+
 begin
 begin
-  Result:=fpmktype.StringToOS(S);
+  I:=GetEnumValue(TypeInfo(TOS),S);
+  if (I=-1) then
+    Raise EInstallerError.CreateFmt(SErrInvalidOS,[S]);
+  Result:=TOS(I);
 end;
 end;
 
 
+
 Function OSesToString(S : String) : TOSes;
 Function OSesToString(S : String) : TOSes;
 
 
 begin
 begin
-  Result:=fpmktype.OSesToString(S);
+  Result:=TOSes(StringToSet(PTypeInfo(TypeInfo(TOSes)),S));
 end;
 end;
 
 
 Function StringToCPU(S : String) : TCPU;
 Function StringToCPU(S : String) : TCPU;
 
 
+Var
+  I : Integer;
+
 begin
 begin
-  Result:=fpmktype.StringToCPU(S);
+  I:=GetEnumValue(TypeInfo(TCPU),S);
+  if (I=-1) then
+    Raise EInstallerError.CreateFmt(SErrInvalidCPU,[S]);
+  Result:=TCPU(I);
 end;
 end;
 
 
 Function StringToCPUS(S : String) : TCPUS;
 Function StringToCPUS(S : String) : TCPUS;
 
 
 begin
 begin
-  Result:=fpmktype.StringToCPUS(S);
+  Result:=TCPUS(StringToSet(PTypeInfo(TypeInfo(TCPUS)),S));
 end;
 end;
 
 
 Function ModeToString(Mode: TCompilerMode) : String;
 Function ModeToString(Mode: TCompilerMode) : String;
 
 
 begin
 begin
-  Result:=fpmktype.ModeToString(Mode);
+  Result:=LowerCase(GetenumName(TypeInfo(TCompilerMode),Ord(Mode)));
 end;
 end;
 
 
 Function StringToMode(S : String) : TCompilerMode;
 Function StringToMode(S : String) : TCompilerMode;
 
 
+Var
+  I : Integer;
+
 begin
 begin
-  Result:=fpmktype.StringToMode(S);
+  I:=GetEnumValue(TypeInfo(TCompilerMode),S);
+  if (I=-1) then
+    Raise EInstallerError.CreateFmt(SErrInvalidMode,[S]);
+  Result:=TCompilerMode(I);
 end;
 end;
 
 
 
 
 Function MakeTargetString(CPU : TCPU;OS: TOS) : String;
 Function MakeTargetString(CPU : TCPU;OS: TOS) : String;
 
 
 begin
 begin
-  Result:=fpmktype.MakeTargetString(CPU,OS);
+  Result:=CPUToString(CPU)+'-'+OSToString(OS);
 end;
 end;
 
 
 Procedure StringToCPUOS(S : String; Var CPU : TCPU; Var OS: TOS);
 Procedure StringToCPUOS(S : String; Var CPU : TCPU; Var OS: TOS);
 
 
+Var
+  P : integer;
+
 begin
 begin
- fpmktype.StringToCPUOS(S,CPU,OS);
+  P:=Pos('-',S);
+  If (P=0) then
+    Raise EInstallerError.CreateFmt(SErrInvalidTarget,[S]);
+  CPU:=StringToCPU(Copy(S,1,P-1));
+  OS:=StringToOs(Copy(S,P+1,Length(S)-P));
 end;
 end;
 
 
+
 Procedure ResolveDependencies(L : TStrings; P : TNamedCollection);
 Procedure ResolveDependencies(L : TStrings; P : TNamedCollection);
 
 
 Var
 Var