Re: [Oorexx-devel] rexx.exe manifest file and cmake.

2014-05-21 Thread Mark Miesfeld
Hi Rick,

I'm still traveling and only have good Internet once in  awhile.  So I've
put off answering this.  But thought I'd better do something about it.

The existing manifest was only needed for ooDialog.  The important part is
the part to load the  6.0 common controls library:

descriptionOpen Object Rexx Interpreter./description
dependency
dependentAssembly
assemblyIdentity
type=win32
name=Microsoft.Windows.Common-Controls
version=6.0.0.0
processorArchitecture=amd64
publicKeyToken=6595b64144ccf1df
language=*
/
/dependentAssembly
/dependency

Since that is needed by any Windows GUI application to use the 6.0, or
later, version of the library, it seems odd to me that CMake wouldn't have
a way to do it, if it is generating its own manifest.  Without it, the
pre-verison 6.0 is loaded automatically, which is essentially W2K controls.

It took me quite a bit of work to get it working originally.  It needs to
be the manifest of the executable that loads the ooDialog extension, which
I didn't understand when I first started with it.  I thought it was
sufficient to use it for ooDialog.dll.

So, if we can't get CMake to add the common controls part to the manifest
it generates, then I'll have to add the custom step.  I won't be back at
home until after Memorial day.  I'll work on it then if you haven't already
come up with something.

--
Mark Miesfeld



On Mon, May 5, 2014 at 4:17 AM, Rick McGuire object.r...@gmail.com wrote:

 This is mostly to get this question recorded for Mark for when he gets
 back from vacation.

 I'm currently running into some issues with the manifest file we're
 embedding in rexx.exe via an include within rexx.rc.  Building this via
 this method causes a duplicate resource error because the cmake build tools
 generate a default manifest which gets embedded via the /MANIFEST and
 /MANIFESTFILE linker options.  When the .rc file pulls in the second
 manifest, this creates the error.

 For now, I've commented out the link in rexx.rc that pulls in the manifest
 file, so the cmake build is using the one it generates.  For the existing
 build, I've switched to rexx.mak file to use /MANIFEST and /MANIFESTFILE
 link options.  We're going to run into this same issue with the oodialog
 executables when we get that portion working in cmake as well.  I really
 don't understand the manifests and what information needs to be in there.
  The cmake-generated manifests and the ones we are using are quite
 different.  Here is our version:

 ?xml version=1.0 encoding=UTF-8 standalone=yes?
 assembly xmlns=urn:schemas-microsoft-com:asm.v1 manifestVersion=1.0
 assemblyIdentity
 version=1.0.0.0
 processorArchitecture=amd64
 name=RexxLA.ooRexx.rexx
 type=win32
 /
 descriptionOpen Object Rexx Interpreter./description
 dependency
 dependentAssembly
 assemblyIdentity
 type=win32
 name=Microsoft.Windows.Common-Controls
 version=6.0.0.0
 processorArchitecture=amd64
 publicKeyToken=6595b64144ccf1df
 language=*
 /
 /dependentAssembly
 /dependency
 /assembly


 and here is the cmake version:


 ?xml version='1.0' encoding='UTF-8' standalone='yes'?
 assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'
   trustInfo xmlns=urn:schemas-microsoft-com:asm.v3
 security
   requestedPrivileges
 requestedExecutionLevel level='asInvoker' uiAccess='false' /
   /requestedPrivileges
 /security
   /trustInfo
 /assembly

 Note that cmake generates one of these for all of the dlls and exes.


 So, do we need to continue using our manifest version or can just allow the 
 cmake defaults?  Does the cmake version cause any problems with the other 
 files?  I've found information on how to use custom manifests, which involves 
 disabling the automatic generation and then adding a post-processing step 
 that uses a tool to add the custom manifest.  A bit of a pain, but doable.  I 
 think I'd prefer to let cmake do the heavy lifting if we can.


 Rick



 --
 Is your legacy SCM system holding you back? Join Perforce May 7 to find
 out:
 #149; 3 signs your SCM is hindering your productivity
 #149; Requirements for releasing software faster
 #149; Expert tips and advice for migrating your SCM now
 http://p.sf.net/sfu/perforce
 ___
 Oorexx-devel mailing list
 Oorexx-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/oorexx-devel


--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get 

Re: [Oorexx-devel] rexx.exe manifest file and cmake.

2014-05-21 Thread Rick McGuire
Mark,

Thanks for the answer.  I did find a solution for this.  It turns out to
possible to replace or merge additional manifest information into the
executables as a post-processing step.  I wasn't really sure which .exe
files needed this, so I end up merging it into them all.  If only ooDialog
needs this, then that can simplify things in the cmake file considerably
since I had to add a lot of WIN32 conditional stuff to do this.

Rick


On Wed, May 21, 2014 at 5:17 PM, Mark Miesfeld miesf...@gmail.com wrote:

 Hi Rick,

 I'm still traveling and only have good Internet once in  awhile.  So I've
 put off answering this.  But thought I'd better do something about it.

 The existing manifest was only needed for ooDialog.  The important part is
 the part to load the  6.0 common controls library:

 descriptionOpen Object Rexx Interpreter./description
 dependency
 dependentAssembly
 assemblyIdentity
 type=win32
 name=Microsoft.Windows.Common-Controls
 version=6.0.0.0
 processorArchitecture=amd64
 publicKeyToken=6595b64144ccf1df
 language=*
 /
 /dependentAssembly
 /dependency

 Since that is needed by any Windows GUI application to use the 6.0, or
 later, version of the library, it seems odd to me that CMake wouldn't have
 a way to do it, if it is generating its own manifest.  Without it, the
 pre-verison 6.0 is loaded automatically, which is essentially W2K controls.

 It took me quite a bit of work to get it working originally.  It needs to
 be the manifest of the executable that loads the ooDialog extension, which
 I didn't understand when I first started with it.  I thought it was
 sufficient to use it for ooDialog.dll.

 So, if we can't get CMake to add the common controls part to the manifest
 it generates, then I'll have to add the custom step.  I won't be back at
 home until after Memorial day.  I'll work on it then if you haven't already
 come up with something.

 --
 Mark Miesfeld



 On Mon, May 5, 2014 at 4:17 AM, Rick McGuire object.r...@gmail.comwrote:

 This is mostly to get this question recorded for Mark for when he gets
 back from vacation.

 I'm currently running into some issues with the manifest file we're
 embedding in rexx.exe via an include within rexx.rc.  Building this via
 this method causes a duplicate resource error because the cmake build tools
 generate a default manifest which gets embedded via the /MANIFEST and
 /MANIFESTFILE linker options.  When the .rc file pulls in the second
 manifest, this creates the error.

 For now, I've commented out the link in rexx.rc that pulls in the
 manifest file, so the cmake build is using the one it generates.  For the
 existing build, I've switched to rexx.mak file to use /MANIFEST and
 /MANIFESTFILE link options.  We're going to run into this same issue with
 the oodialog executables when we get that portion working in cmake as well.
  I really don't understand the manifests and what information needs to be
 in there.  The cmake-generated manifests and the ones we are using are
 quite different.  Here is our version:

 ?xml version=1.0 encoding=UTF-8 standalone=yes?
 assembly xmlns=urn:schemas-microsoft-com:asm.v1 manifestVersion=1.0
 assemblyIdentity
 version=1.0.0.0
 processorArchitecture=amd64
 name=RexxLA.ooRexx.rexx
 type=win32
 /
 descriptionOpen Object Rexx Interpreter./description
 dependency
 dependentAssembly
 assemblyIdentity
 type=win32
 name=Microsoft.Windows.Common-Controls
 version=6.0.0.0
 processorArchitecture=amd64
 publicKeyToken=6595b64144ccf1df
 language=*
 /
 /dependentAssembly
 /dependency
 /assembly


 and here is the cmake version:


 ?xml version='1.0' encoding='UTF-8' standalone='yes'?
 assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'
   trustInfo xmlns=urn:schemas-microsoft-com:asm.v3
 security
   requestedPrivileges
 requestedExecutionLevel level='asInvoker' uiAccess='false' /
   /requestedPrivileges
 /security
   /trustInfo
 /assembly

 Note that cmake generates one of these for all of the dlls and exes.


 So, do we need to continue using our manifest version or can just allow the 
 cmake defaults?  Does the cmake version cause any problems with the other 
 files?  I've found information on how to use custom manifests, which 
 involves disabling the automatic generation and then adding a 
 post-processing step that uses a tool to add the custom manifest.  A bit of 
 a pain, but doable.  I think I'd prefer to let cmake do the heavy lifting if 
 we can.


 Rick



 --
 Is your legacy SCM system holding you back? Join Perforce May 7 to find
 out:
 #149; 3 signs your SCM is hindering your productivity
 #149; Requirements for releasing software faster
 #149; Expert tips and advice for 

Re: [Oorexx-devel] rexx.exe manifest file and cmake.

2014-05-21 Thread Mark Miesfeld
On Wed, May 21, 2014 at 2:29 PM, Rick McGuire object.r...@gmail.com wrote:

 Mark,

 Thanks for the answer.  I did find a solution for this.  It turns out to
 possible to replace or merge additional manifest information into the
 executables as a post-processing step.  I wasn't really sure which .exe
 files needed this, so I end up merging it into them all.  If only ooDialog
 needs this, then that can simplify things in the cmake file considerably
 since I had to add a lot of WIN32 conditional stuff to do this.


It is actually all the executables that would run an ooDialog program.  So,
rexx.exe, rexxhide.exe, rexxpaws.exe and oodialog.exe need the manifest.
 With the common controls dependency part I posted.

--
Mark Miesfeld




 Rick


 On Wed, May 21, 2014 at 5:17 PM, Mark Miesfeld miesf...@gmail.com wrote:

 Hi Rick,

 I'm still traveling and only have good Internet once in  awhile.  So I've
 put off answering this.  But thought I'd better do something about it.

 The existing manifest was only needed for ooDialog.  The important part
 is the part to load the  6.0 common controls library:

 descriptionOpen Object Rexx Interpreter./description
 dependency
 dependentAssembly
 assemblyIdentity
 type=win32
 name=Microsoft.Windows.Common-Controls
 version=6.0.0.0
 processorArchitecture=amd64
 publicKeyToken=6595b64144ccf1df
 language=*
 /
 /dependentAssembly
 /dependency

 Since that is needed by any Windows GUI application to use the 6.0, or
 later, version of the library, it seems odd to me that CMake wouldn't have
 a way to do it, if it is generating its own manifest.  Without it, the
 pre-verison 6.0 is loaded automatically, which is essentially W2K controls.

 It took me quite a bit of work to get it working originally.  It needs to
 be the manifest of the executable that loads the ooDialog extension, which
 I didn't understand when I first started with it.  I thought it was
 sufficient to use it for ooDialog.dll.

 So, if we can't get CMake to add the common controls part to the manifest
 it generates, then I'll have to add the custom step.  I won't be back at
 home until after Memorial day.  I'll work on it then if you haven't already
 come up with something.

 --
 Mark Miesfeld



 On Mon, May 5, 2014 at 4:17 AM, Rick McGuire object.r...@gmail.comwrote:

 This is mostly to get this question recorded for Mark for when he gets
 back from vacation.

 I'm currently running into some issues with the manifest file we're
 embedding in rexx.exe via an include within rexx.rc.  Building this via
 this method causes a duplicate resource error because the cmake build tools
 generate a default manifest which gets embedded via the /MANIFEST and
 /MANIFESTFILE linker options.  When the .rc file pulls in the second
 manifest, this creates the error.

 For now, I've commented out the link in rexx.rc that pulls in the
 manifest file, so the cmake build is using the one it generates.  For the
 existing build, I've switched to rexx.mak file to use /MANIFEST and
 /MANIFESTFILE link options.  We're going to run into this same issue with
 the oodialog executables when we get that portion working in cmake as well.
  I really don't understand the manifests and what information needs to be
 in there.  The cmake-generated manifests and the ones we are using are
 quite different.  Here is our version:

 ?xml version=1.0 encoding=UTF-8 standalone=yes?
 assembly xmlns=urn:schemas-microsoft-com:asm.v1 manifestVersion=1.0
 assemblyIdentity
 version=1.0.0.0
 processorArchitecture=amd64
 name=RexxLA.ooRexx.rexx
 type=win32
 /
 descriptionOpen Object Rexx Interpreter./description
 dependency
 dependentAssembly
 assemblyIdentity
 type=win32
 name=Microsoft.Windows.Common-Controls
 version=6.0.0.0
 processorArchitecture=amd64
 publicKeyToken=6595b64144ccf1df
 language=*
 /
 /dependentAssembly
 /dependency
 /assembly


 and here is the cmake version:


 ?xml version='1.0' encoding='UTF-8' standalone='yes'?
 assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'
   trustInfo xmlns=urn:schemas-microsoft-com:asm.v3
 security
   requestedPrivileges
 requestedExecutionLevel level='asInvoker' uiAccess='false' /
   /requestedPrivileges
 /security
   /trustInfo
 /assembly

 Note that cmake generates one of these for all of the dlls and exes.


 So, do we need to continue using our manifest version or can just allow the 
 cmake defaults?  Does the cmake version cause any problems with the other 
 files?  I've found information on how to use custom manifests, which 
 involves disabling the automatic generation and then adding a 
 post-processing step that uses a tool to add the custom manifest.  A bit of 
 a pain, but doable.  I think I'd prefer to let cmake do the heavy lifting 
 if we can.


 Rick

Re: [Oorexx-devel] rexx.exe manifest file and cmake.

2014-05-21 Thread Rick McGuire
Yep, I caught that.  I had also added it to rexxc.exe because I didn't
understand what it was for.  That one can be removed.

Btw, I see ooDialog has a .exe file and a .com file.  I think I've got
those building correctly, but I'm not sure I understand what the .com file
is for.  I'm also adding the manifest to that one.

Rick


On Wed, May 21, 2014 at 5:35 PM, Mark Miesfeld miesf...@gmail.com wrote:

 On Wed, May 21, 2014 at 2:29 PM, Rick McGuire object.r...@gmail.comwrote:

 Mark,

 Thanks for the answer.  I did find a solution for this.  It turns out to
 possible to replace or merge additional manifest information into the
 executables as a post-processing step.  I wasn't really sure which .exe
 files needed this, so I end up merging it into them all.  If only ooDialog
 needs this, then that can simplify things in the cmake file considerably
 since I had to add a lot of WIN32 conditional stuff to do this.


 It is actually all the executables that would run an ooDialog program.
  So, rexx.exe, rexxhide.exe, rexxpaws.exe and oodialog.exe need the
 manifest.  With the common controls dependency part I posted.

 --
 Mark Miesfeld




 Rick


 On Wed, May 21, 2014 at 5:17 PM, Mark Miesfeld miesf...@gmail.comwrote:

 Hi Rick,

 I'm still traveling and only have good Internet once in  awhile.  So
 I've put off answering this.  But thought I'd better do something about it.

 The existing manifest was only needed for ooDialog.  The important part
 is the part to load the  6.0 common controls library:

 descriptionOpen Object Rexx Interpreter./description
 dependency
 dependentAssembly
 assemblyIdentity
 type=win32
 name=Microsoft.Windows.Common-Controls
 version=6.0.0.0
 processorArchitecture=amd64
 publicKeyToken=6595b64144ccf1df
 language=*
 /
 /dependentAssembly
 /dependency

 Since that is needed by any Windows GUI application to use the 6.0, or
 later, version of the library, it seems odd to me that CMake wouldn't have
 a way to do it, if it is generating its own manifest.  Without it, the
 pre-verison 6.0 is loaded automatically, which is essentially W2K controls.

 It took me quite a bit of work to get it working originally.  It needs
 to be the manifest of the executable that loads the ooDialog extension,
 which I didn't understand when I first started with it.  I thought it was
 sufficient to use it for ooDialog.dll.

 So, if we can't get CMake to add the common controls part to the
 manifest it generates, then I'll have to add the custom step.  I won't be
 back at home until after Memorial day.  I'll work on it then if you haven't
 already come up with something.

 --
 Mark Miesfeld



 On Mon, May 5, 2014 at 4:17 AM, Rick McGuire object.r...@gmail.comwrote:

 This is mostly to get this question recorded for Mark for when he gets
 back from vacation.

 I'm currently running into some issues with the manifest file we're
 embedding in rexx.exe via an include within rexx.rc.  Building this via
 this method causes a duplicate resource error because the cmake build tools
 generate a default manifest which gets embedded via the /MANIFEST and
 /MANIFESTFILE linker options.  When the .rc file pulls in the second
 manifest, this creates the error.

 For now, I've commented out the link in rexx.rc that pulls in the
 manifest file, so the cmake build is using the one it generates.  For the
 existing build, I've switched to rexx.mak file to use /MANIFEST and
 /MANIFESTFILE link options.  We're going to run into this same issue with
 the oodialog executables when we get that portion working in cmake as well.
  I really don't understand the manifests and what information needs to be
 in there.  The cmake-generated manifests and the ones we are using are
 quite different.  Here is our version:

 ?xml version=1.0 encoding=UTF-8 standalone=yes?
 assembly xmlns=urn:schemas-microsoft-com:asm.v1 manifestVersion=1.0
 assemblyIdentity
 version=1.0.0.0
 processorArchitecture=amd64
 name=RexxLA.ooRexx.rexx
 type=win32
 /
 descriptionOpen Object Rexx Interpreter./description
 dependency
 dependentAssembly
 assemblyIdentity
 type=win32
 name=Microsoft.Windows.Common-Controls
 version=6.0.0.0
 processorArchitecture=amd64
 publicKeyToken=6595b64144ccf1df
 language=*
 /
 /dependentAssembly
 /dependency
 /assembly


 and here is the cmake version:


 ?xml version='1.0' encoding='UTF-8' standalone='yes'?
 assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'
   trustInfo xmlns=urn:schemas-microsoft-com:asm.v3
 security
   requestedPrivileges
 requestedExecutionLevel level='asInvoker' uiAccess='false' /
   /requestedPrivileges
 /security
   /trustInfo
 /assembly

 Note that cmake generates one of these for all of the dlls and exes.


 So, do we need to continue using our manifest 

Re: [Oorexx-devel] rexx.exe manifest file and cmake.

2014-05-21 Thread Mark Miesfeld
On Wed, May 21, 2014 at 2:39 PM, Rick McGuire object.r...@gmail.com wrote:

 Yep, I caught that.  I had also added it to rexxc.exe because I didn't
 understand what it was for.  That one can be removed.

 Btw, I see ooDialog has a .exe file and a .com file.  I think I've got
 those building correctly, but I'm not sure I understand what the .com file
 is for.  I'm also adding the manifest to that one.


The .com file is essentially to allow:

C:\work.ooRexxoodialog -v
ooDialog 4.2.4.10010

C:\work.ooRexx

The .com file runs first and parses the command line.  If the command line
indicates a GUI application is needed, it restarts itself as oodialog.exe.

oodialog.exe is linked as subsystem:windows, while oodialog.com is linked
as subsystem:Console

So, I don't think oodialog.com needs the manifest, but I don't remember for
sure.  It would depend on if oodialog.exe is started as a separate process
or created as a child process.  Which I don't remember off the top of my
head.

--
Mark Miesfeld
--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel