View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0006209 | JEDI VCL | 02 Installation | public | 2013-10-08 16:45 | 2015-09-14 13:20 |
| Reporter | Arioch | Assigned To | obones | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | resolved | Resolution | fixed | ||
| Product Version | |||||
| Target Version | Fixed in Version | 3.48 | |||
| Summary | 0006209: Package Generator (and JVCL Installer) treats win64 as win32 | ||||
| Description | http://newsportal.delphi-jedi.org/article.php?id=1210&group=jedi.jvcl win64-incompatible unit is included into targets like XE2/Win64 | ||||
| Tags | No tags attached. | ||||
| child of | 0006160 | confirmed | JvNTEventLog shows wrong properties |
|
2013-10-08 16:45
|
0001-Win64-platform-needs-Win64-conditional-not-win32.patch (4,442 bytes)
From 489d10768985e7715cd22e6ecf68062c0a2f0222 Mon Sep 17 00:00:00 2001
From: the-Arioch <the_Arioch@nm.ru>
Date: Tue, 8 Oct 2013 18:37:25 +0400
Subject: [PATCH] * Win64 platform needs Win64 conditional, not win32 *
all_win32 targetted files are incompatible with Win64 and should not be
included in Win64 packages
---
.../devtools/PackagesGenerator/GenerateTargets.pas | 24 ++++++++++++++++++----
.../PackagesGenerator/PackageGenerator.pas | 2 +-
jvcl/packages/d16_x64/JvSystem.dpk | 3 +--
3 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/jvcl/devtools/PackagesGenerator/GenerateTargets.pas b/jvcl/devtools/PackagesGenerator/GenerateTargets.pas
index 0fda159..36f4517 100644
--- a/jvcl/devtools/PackagesGenerator/GenerateTargets.pas
+++ b/jvcl/devtools/PackagesGenerator/GenerateTargets.pas
@@ -60,6 +60,7 @@ implementation
uses
SysUtils,
+ StrUtils,
{$IFNDEF COMPILER12_UP}
JvJCLUtils,
{$ENDIF ~COMPILER12_UP}
@@ -73,7 +74,7 @@ type
end;
const
- TargetDefines: array [0..7] of TTargetDefine =
+ TargetDefines: array [0..12] of TTargetDefine =
(
(TargetName: 'c6'; Define: 'VER140'),
(TargetName: 'd6'; Define: 'VER140'),
@@ -82,7 +83,12 @@ const
(TargetName: 'd10'; Define: 'VER180'),
(TargetName: 'd11'; Define: 'VER180,VER185'),
(TargetName: 'd12'; Define: 'VER200'),
- (TargetName: 'd14'; Define: 'VER210')
+ (TargetName: 'd14'; Define: 'VER210'),
+ (TargetName: 'd15'; Define: 'VER220'),
+ (TargetName: 'd16'; Define: 'VER230'),
+ (TargetName: 'd17'; Define: 'VER240'),
+ (TargetName: 'd18'; Define: 'VER250'),
+ (TargetName: 'd19'; Define: 'VER260')
);
{ TTarget }
@@ -91,6 +97,7 @@ constructor TTarget.Create(Node: TJclSimpleXmlElem);
var
I: Integer;
Tmp: TStringList;
+ DelphiName: string;
begin
inherited Create;
FName := AnsiLowerCase(Node.Properties.ItemNamed['name'].Value);
@@ -125,11 +132,20 @@ begin
if Assigned(Node.Properties.ItemNamed['IsDotNet']) then
FIsDotNet := Node.Properties.ItemNamed['IsDotNet'].BoolValue;
- FDefines.Add('WIN32');
+ DelphiName := FName;
+ if EndsText('_x64', FName) then begin
+ FDefines.Add('WIN64');
+ SetLength(DelphiName, Length(DelphiName) - Length('_x64') );
+ end else begin
+ FDefines.Add('WIN32');
+ end;
+// Potential gotcha if new platforms would ever be added
+// Like with Delphi/LLVM or Lazarus
+
FDefines.Add('CONDITIONALEXPRESSIONS');
for I := Low(TargetDefines) to High(TargetDefines) do
- if SameText(TargetDefines[I].TargetName, Name) then
+ if SameText(TargetDefines[I].TargetName, DelphiName) then
begin
Tmp := TStringList.Create;
try
diff --git a/jvcl/devtools/PackagesGenerator/PackageGenerator.pas b/jvcl/devtools/PackagesGenerator/PackageGenerator.pas
index ac3595c..229527f 100644
--- a/jvcl/devtools/PackagesGenerator/PackageGenerator.pas
+++ b/jvcl/devtools/PackagesGenerator/PackageGenerator.pas
@@ -1112,7 +1112,7 @@ begin
outFile.SaveToFile(OutFileName)
else
begin
- CopyFile(PChar(templateName), PChar(OutFileName), False);
+ Win32Check( CopyFile(PChar(templateName), PChar(OutFileName), False) );
FileSetDate(OutFileName, DateTimeToFileDate(Now)); // adjust file time
end;
end
diff --git a/jvcl/packages/d16_x64/JvSystem.dpk b/jvcl/packages/d16_x64/JvSystem.dpk
index 7cdb013..5f5b23e 100644
--- a/jvcl/packages/d16_x64/JvSystem.dpk
+++ b/jvcl/packages/d16_x64/JvSystem.dpk
@@ -4,7 +4,7 @@ package JvSystem;
DO NOT EDIT THIS FILE, IT IS GENERATED BY THE PACKAGE GENERATOR
ALWAYS EDIT THE RELATED XML FILE (JvSystem-R.xml)
- Last generated: 13-06-2012 13:45:58 UTC
+ Last generated: 08-10-2013 14:34:19 UTC
-----------------------------------------------------------------------------
}
@@ -69,7 +69,6 @@ contains
JvJoystick in '..\..\run\JvJoystick.pas' ,
JvMRUList in '..\..\run\JvMRUList.pas' ,
JvMRUManager in '..\..\run\JvMRUManager.pas' ,
- JvNTEventLog in '..\..\run\JvNTEventLog.pas' ,
JvPerfMon95 in '..\..\run\JvPerfMon95.pas' ,
JvRas32 in '..\..\run\JvRas32.pas' ,
JvScreenResolution in '..\..\run\JvScreenResolution.pas' ,
--
1.8.3.msysgit.0
|
|
|
Using the current GIT content, JvNTEventLog is not included in JvSystem.dpk if its target is set to "all_win32". |
|
|
yes, you wrote in http://newsportal.delphi-jedi.org/article.php?id=1223&group=jedi.jvcl then clsoe |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2013-10-08 16:45 | Arioch | New Issue | |
| 2013-10-08 16:45 | Arioch | File Added: 0001-Win64-platform-needs-Win64-conditional-not-win32.patch | |
| 2013-10-08 16:45 | Arioch | Relationship added | child of 0006160 |
| 2013-12-13 11:07 | obones | Status | new => acknowledged |
| 2013-12-16 11:09 | obones | Note Added: 0020847 | |
| 2013-12-16 11:09 | obones | Status | acknowledged => feedback |
| 2014-01-10 12:07 | Arioch | Note Added: 0020895 | |
| 2014-01-29 09:57 | obones | Status | feedback => resolved |
| 2014-01-29 09:57 | obones | Fixed in Version | => Daily / GIT |
| 2014-01-29 09:57 | obones | Resolution | open => fixed |
| 2014-01-29 09:57 | obones | Assigned To | => obones |
| 2015-09-14 13:20 | obones | Fixed in Version | Daily / GIT => 3.48 |