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 Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel