I'm thinking it might be better to use REXX_CURRRENT_INTERPRETER_VERSION rather than REXX_INTERPRETER_5_0_0 for these samples since they will always be associated with the current release level.
Rick On Mon, Nov 1, 2021 at 12:29 PM Rony G. Flatscher <rony.flatsc...@wu.ac.at> wrote: > Yesterday evening I checked in the concluding changes for the api samples, > after testing them on 32-bit Windows, 64-bit Linux and Apple. Today, > testing on Win64 was successful as well. So this project is done from my > perspective. Of course, if you find any omissions or errors please either > fix them :) or let us know about them. > > The sources (as well as the installed samples) are now consolidated under > "samples/api" with the classic SAA API samples organized under > "api/classic" and the new ooRexx C++ APIs under "api/c++" which also > contains new samples to demonstrate how easy it is to write external > routines and external methods in C++. > > ---rony > > P.S.: Sorry for the repeated posts of that single e-mail yesterday which I > only sent once. No idea, why that would happen. > > > > On 28.10.2021 19:33, Rony G. Flatscher wrote: > > Checked in the first part of the changes, cf. > <http://sourceforge.net/p/oorexx/code-0/12300> > <http://sourceforge.net/p/oorexx/code-0/12300>. > > The Linux API samples should work, however, the readme.txt files need > proof reading. Also, the callrexx.README relates to non-existing mak-files, > the Makefiles for Linux/Apple are missing. > > Todo: the C++ samples for external routines and external methods need yet > to be integrated. > > Todo: the Windows API samples need to be adjusted according to the Unix > ones. > > Should you have any remarks, then please come forward. > ---rony > > > On 18.10.2021 18:32, Rony G. Flatscher wrote: > > Thank you for your feedbacks: Jon for the kind words, Rick for the thumbs > up and hint about the licenses, and P.O. for offering help testing the > changes! > > It will take a little while though as I will be travelling the coming > weekend. So if there are any suggestions, advice please let me know. > > ---rony > > P.S.: After that is done I would proceed in attempting to create the > zip-versions after having learned more about CMake dealing with this little > "samples project". > > > On 18.10.2021 15:20, P.O. Jonsson wrote: > > Dear Rony, > > If you want I can try the changes out locally before you commit them, on > Mac and Windows at least, maybe also on some Unixes. I think Ricks remark > was aimed at me but it is not possible to try things out while working on a > machine (Marks) I have no personal connection to. > > I have one item on my ToDo list that Erich wanted done: to simplify and > merge the samples testcases into one or two files rather than having one > tfile for each testcase. This is what Erich wrote: > > Hi P.O., re your recently committed additional test groups for Samples: > > all testGroup files should have set these three SVN properties: > svn propset svn:eol-style native name.testGroup > svn propset svn:executable on name.testGroup > svn propset svn:keywords "Date Rev" name.testGroup > > Also testGroup files are expected to have proper headers - exactly like > below: > #!/usr/bin/env rexx > /* > SVN Revision: $Rev$ > Change Date: $Date$ > */ > > Your testGroup template defines global variables like shouldStop that > aren't actually used anywhere. > This includes a variable stopStop which is actually a typo. > > There's no need to special-case ADDRESS "" vs. ADDRESS COMMAND. > Cross-platform ADDRESS formats include ADDRESS SYSTEM or ADDRESS "" > > The main tests run the samples with an explicit REXX external command. > They should be run with execRexxPrg() instead. > > Your test groups typically run the tested sample twice, which shouldn't be > necessary. Once run, return code and output tests can be done at the same > time. There's also no need to test for a 9999 return code (this was just an > internal quirk that I've removed). > > Also to simplify maintenance you might check out the template that I just > committed: wmi.testGroup uses a single test per sample, making the tests > easier to understand and more concise. > > Once you are done I will start doing this, with Ricks remark in mind. I > have enclosed Erichs Template FYI. If you want to do the merger you are > more than welcome. > > > > Hälsningar/Regards/Grüsse, > P.O. Jonsson > oor...@jonases.se > > > > Anfang der weitergeleiteten Nachricht: > > *Von: *"Rony G. Flatscher" <rony.flatsc...@wu.ac.at> > *Betreff: **[Oorexx-devel] Regarding API samples, thoughts and suggested > changes* > *Datum: *18. Oktober 2021 um 13:09:28 MESZ > *An: *oorexx-devel@lists.sourceforge.net > *Antwort an: *Open Object Rexx Developer Mailing List < > oorexx-devel@lists.sourceforge.net> > > Sleeping over the current structure of the API samples these are the > things that are in place currently: > > 1. samples/Makefile.am (???) > 2. samples/native.api/call.example/ ... for all systems, > CMakeLists.txt, Makefile.linux, Makefile.windows, Makefile.am (???) > 3. samples/unix/api/callrexx/ ... callrexx1.cpp, callrexx2.c, > CMakeLists.txt, no Makefiles > 4. samples/unix/api/wpipe{1..3}/... rexxasp{1..3}.c, > aspitest{1..3}.rex, CMakeLists.txt, no Makefiles > 5. samples/windows/ ... api/ ... misc/ ... ole/ ... oodialog/ > ...rexutils/ > 6. samples/windows/api/ ... callrxnt/ ... callrxwn/ ... rexxexit/ > 7. samples/windows/api/wpipe{1..3}/ .. rexxapi{1..3}.c, > apitest{1..3}.rex, CMakeLists.rex, nmake make files named rexxapi{1..3}.mak > > Suggested changes: > > 1. It seems that the "Makefile.am" files are left-overs and can be safely > deleted? > > 2. create a new structure for the installed api samples, such that the > installation on all systems would look like: > > samples/api > samples/api/classic/ ... having all samples in their own directories that > exemplify the SAA API interface, rexxapi.pdf, "Chapter 2. Classic Rexx > Application Programming Interfaces" > samples/api/c++/ ... having all samples in their own directories that > exemplify the ooRexx native API interface, rexxapi.pdf, "Chapter 1. Rexx > C++ Application Programming Interfaces" > > 3. rename "wpipe{1..3}" directory names to "rexxapi{1..3]" to match the > names of the programs therein for all systems ("wpipe" is confusing) > > 4. Unix, rename "rexxsp{1..}.c" to "rexxapi{1..3}.c" and > "aspitest{1..3].rex" to "apitest{1..3].rex" to match the Windows names > ("asp" does not make any sense in this context); sample change done with > "wpipe1" > > 5. Add Makefiles where there are missing, such that interested programmers > can try compiling and running the samples on their own (e.g. missing for > the Unix wpipe samples > > 6. Add "readme.txt" files in each api directory to briefly describe its > content > > In addition I propose to add the c++ samples of the 2015 RexxLA > presentation of how to create external routines and external methods, cf. > <https://www.rexxla.info/events/2015/schedule.html> > <https://www.rexxla.info/events/2015/schedule.html>, the talk with the > code samples entitled "How to Develop a Native Library in C++ for ooRexx in > a Nutshell". > > The easier it becomes for programmers to understand how the APIs work the > better. > > Any comments? > > ---rony > > > _______________________________________________ > Oorexx-devel mailing list > Oorexx-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/oorexx-devel >
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel