Browse Source

* Command to show version-number added (fpcmkcfg)

git-svn-id: trunk@41742 -
joost 6 years ago
parent
commit
3969c87bd5
2 changed files with 51 additions and 0 deletions
  1. 40 0
      utils/fpcmkcfg/fpcmkcfg.pp
  2. 11 0
      utils/fpcmkcfg/fpmake.pp

+ 40 - 0
utils/fpcmkcfg/fpcmkcfg.pp

@@ -1,5 +1,6 @@
 {$mode objfpc}
 {$mode objfpc}
 {$H+}
 {$H+}
+{$macro on}
 {
 {
     This file is part of Free Pascal Build tools
     This file is part of Free Pascal Build tools
     Copyright (c) 2005 by Michael Van Canneyt
     Copyright (c) 2005 by Michael Van Canneyt
@@ -41,6 +42,19 @@ uses
 {$i fppkg.inc}
 {$i fppkg.inc}
 {$i default.inc}
 {$i default.inc}
 
 
+{$ifndef package_version_major}
+  {$define package_version_major:=0}
+{$endif}
+{$ifndef package_version_minor}
+  {$define package_version_minor:=0}
+{$endif}
+{$ifndef package_version_micro}
+  {$define package_version_micro:=0}
+{$endif}
+{$ifndef package_version_build}
+  {$define package_version_build:=0}
+{$endif}
+
 Const
 Const
   BuildVersion={$I %FPCVERSION%};
   BuildVersion={$I %FPCVERSION%};
   BuildTarget={$I %FPCTARGET%};
   BuildTarget={$I %FPCTARGET%};
@@ -51,6 +65,10 @@ Const
   ExeExt = '.exe';
   ExeExt = '.exe';
 {$endif unix}
 {$endif unix}
 
 
+  version_major = package_version_major;
+  version_minor = package_version_minor;
+  version_micro = package_version_micro;
+  version_build = package_version_build;
 
 
 Resourcestring
 Resourcestring
   SUsage00  = 'Usage: %s [options]';
   SUsage00  = 'Usage: %s [options]';
@@ -71,6 +89,9 @@ Resourcestring
   Susage120 = '  -2            use built in fp.ini template';
   Susage120 = '  -2            use built in fp.ini template';
   Susage130 = '  -3            use built in fppkg.cfg template';
   Susage130 = '  -3            use built in fppkg.cfg template';
   Susage140 = '  -4            use built in fppkg default compiler template';
   Susage140 = '  -4            use built in fppkg default compiler template';
+
+  SVersion  = 'Version: %s';
+
   SErrUnknownOption   = 'Error: Unknown option.';
   SErrUnknownOption   = 'Error: Unknown option.';
   SErrArgExpected     = 'Error: Option "%s" requires an argument.';
   SErrArgExpected     = 'Error: Option "%s" requires an argument.';
   SErrIncompletePair  = 'Error: Incomplete name-value pair "%s".';
   SErrIncompletePair  = 'Error: Incomplete name-value pair "%s".';
@@ -320,6 +341,24 @@ begin
   Halt(1);
   Halt(1);
 end;
 end;
 
 
+Procedure Version;
+var
+  Version: string;
+begin
+  Version := '';
+  if version_major <> -1 then
+    Version := Version + IntToStr(version_major);
+  if version_minor <> -1 then
+    Version := Version + '.' + IntToStr(version_minor);
+  if version_micro <> -1 then
+    Version := Version + '.' + IntToStr(version_micro);
+  if version_build <> -1 then
+    Version := Version + '-'  + IntToStr(version_build);
+
+  Writeln(Format(SVersion,[Version]));
+  Halt(0);
+end;
+
 Procedure UnknownOption(Const S : String);
 Procedure UnknownOption(Const S : String);
 
 
 begin
 begin
@@ -398,6 +437,7 @@ begin
     else
     else
       case S[2] of
       case S[2] of
         'v' : Verbose:=True;
         'v' : Verbose:=True;
+        'V' : Version;
         'h' : Usage;
         'h' : Usage;
         'b' : ShowBuiltinCommand := true;
         'b' : ShowBuiltinCommand := true;
         'm' : begin
         'm' : begin

+ 11 - 0
utils/fpcmkcfg/fpmake.pp

@@ -11,6 +11,7 @@ Var
   P : TPackage;
   P : TPackage;
   T : TTarget;
   T : TTarget;
   Data2IncBin : string;
   Data2IncBin : string;
+  VS: string;
 
 
 begin
 begin
   With Installer do
   With Installer do
@@ -31,6 +32,16 @@ begin
     P.Directory:=ADirectory;
     P.Directory:=ADirectory;
     P.Version:='3.3.1';
     P.Version:='3.3.1';
 
 
+    P.Options.Add('-Sm');
+    Str(P.PackageVersion.Major, VS);
+    P.Options.Add('-dpackage_version_major:='+VS);
+    Str(P.PackageVersion.Minor, VS);
+    P.Options.Add('-dpackage_version_minor:='+VS);
+    Str(P.PackageVersion.Micro, VS);
+    P.Options.Add('-dpackage_version_micro:='+VS);
+    Str(P.PackageVersion.Build, VS);
+    P.Options.Add('-dpackage_version_build:='+VS);
+
     P.Dependencies.Add('fcl-base');
     P.Dependencies.Add('fcl-base');
     P.Dependencies.Add('fpmkunit');
     P.Dependencies.Add('fpmkunit');