Created the 32- and the 64-bit versions of Rick's rxapi sandbox.
It becomes possible to run the 32- and 64-bit ooRexx interpreters concurrently,
at the same time,
which is really *great*!
This allows among other things to run both interpreters in parallel on the same
machine, which
especially in the Windows case is really a *big* boon! One important reason for
still using the
32-bit ooRexx on a 64-bit Windows machine may be Microsoft Office (MSO), which
still gets installed
in 32-bit in many locations, such that one needs a 32-bit version of ooRexx to
interface with it
(driving Excel, Word, Outlook via OLE)! Then 64-bit Windows apps would need the
64-bit ooRexx
version which until now was not possible!
So this solution is *really* great for this feature alone!
If I understand the naming of the named pipe correctly, it may be even the case
in the future to run
different versions of ooRexx at the same time, which will help in testing and
comparing them runtime
wise.
The greatest thing with it is, that it has become possible to run ooRexx
without any administrative
rights! To test the coexistancy of 32- and 64-bit ooRexx interpreters I merely
added the
"bin"-directory, where the freshly generated ooRexx binaries get put by the
CMake based production,
in one terminal and the same with the other bitness version of ooRexx in
another terminal. Then I
started in both terminals "samples/rexxtry.rex" and issued the following
statement in both
terminals, one running 32-bit ooRexx, the other running 64-bit ooRexx:
out=.array~new; address "" "dir" with output using (out); say out~items;
say out
In both cases the output would be the same, showing the 46 items the "dir"
command would create,
followed by the output of the dir-command as stored in the "out" array.
This will allow among other things application providers to supply their
preferred version of ooRexx
in their application without interfering with a Rexx version that the user may
have system widely
installed.
---
Some remarks on the build process and running the interpreters initially:
* both, the 32- and 64-bit build process will pause at the point where the
img-file gets created;
it is necessary to kill the rxapi-process (this despite the fact, that no
rxapi was running when
starting the compilation process so assuming that it is actually the rxapi
that just got created)
* the first time launching "rexxtry.rex" caused a hang on start-up; pressing
ctl-c and then rerun
"rexxtry.rex" succeeds;
o the reason seems to be that the very first time "rxapi" gets started,
but causes that input
hang on "rexxtry.rex"; killing "rexxtry.rex" with ctl-c and running it
immediately
afterwards works ("rxapi" runs already in this case)
* when creating the NSIS-installer with
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RELWITHDEBUGINFO
-DDOC_SOURCE_DIR=..\..\..\oorexxDocs -DOS_DIST=windows
F:\work\svn\oorexx\sandbox\rick\rxapi
and then running
nmake nsis_template_installer
would not add the pdb-files to the installation package. Rather I had to do
a
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=DEBUG
F:\work\svn\oorexx\sandbox\rick\rxapi
and running
nmake nsis_template_installer
would add the pdb to the installation exe file.
---
Installing the nsis-package does not yet work without problems:
* rxapi needs to be killed by hand as the installer cannot identify which
rxapi is running (and
aborts),
* "Installing rxapi as a Windows service" hangs: remedy: kill the running
"rxapi" manually
Running "rexxtry.rex" the first time will not allow input, however ctl-c works
to kill it.
Afterwards it will work (see above; reason probably not being able to
communicate with "rxapi" when
starting for the first time).
Running the ooRexx tests works without an error (tested the 32-bit version):
ooTest Framework - Automated Test of the ooRexx Interpreter
Interpreter: REXX-ooRexx_5.0.0(MT)_32-bit 6.05 29 Nov 2018
OS Name: WindowsNT
SysWinVer: WindowsNT 6.01
Tests ran: 22657
Assertions: 363281
Failures: 0
Errors: 0
File search: 00:00:08.535000
Suite construction: 00:00:03.120000
Test execution: 00:06:04.430000
Total time: 00:06:16.304000
All BSF4ooRexx test units work without failures and errors as well.
---rony
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel