When I need the ability to compile two different versions of something, I use 
compile time logic. The macro languages for both PL/I and HLASM are 
sophisticated enough to do fancy tailoring.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Phil Smith III [li...@akphs.com]
Sent: Monday, March 21, 2022 6:15 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: PL/I question

I have a function that can be statically or dynamically linked. Currently
the function definition in an include file is [something like]:

   Declare SOMEFN External('SOMEFN') Entry(

            Char(*) byaddr,

           )

           returns( byvalue Fixed Bin(31) )

           options ( nodescriptor, linkage(system) );



User wants to link dynamically, says this doesn't work. It appears I could
add FETCHABLE to the OPTIONS and then it would be dynamic, but reading also
suggests (without AFAICT making it clear) that then it can ONLY be linked
dynamically. Do I need two include files, one for dynamic link and one for
static? Or is there some more elegant way?



Ironically, PL/I was my first official programming language*, almost 47
years ago when I sat in on my dad's class at University of Waterloo the
summer after 8th grade, but it's been a minute! Plus that was on a Xerox
530**, which might not have had the same linkage editor rules as z/OS. I'd
ask him but he died in 2006.



Thanks for any suggestions.



...phsiii



*First unofficial language was BASIC, a year or two earlier. There was a
game on the UofW system called SUMER, where you were king of Mesopotamia and
had to manage the grain harvest: so many bushels for food, so many bushels
for seed, so many bushels to bribe the barbarians, etc. You could buy and
sell land for grain, too. It only went for a cycle of 2 or 3 harvests, and I
wanted more; I discovered that it was this semi-readable language and hacked
it into asking for a number of harvests to play for. Years later, I realized
it was actually BASIC.



**My dad ran the Arts Computing Office (ACO) at UofW, which he created to
bring computing to the Arts faculty. UofW had a 360/75 (3MB, 1 of real core
and 2 solid state-a huge system!) and a /44 and a 370/158, but those were
for Math and CS use. Xerox was pushing the 530 at the time, what we'd now
call a midrange, with a slogan along the lines of "We're Xerox. We'll always
be there for you." A year after he bought the system for the ACO, Xerox
abandoned that market. A decade later, they started selling PC
compatibles-with the same slogan. He laughed. Later when I was working in
Computer Services at UofW as a 19- to 24-year-old, I used to help him with
lab hours for his "Intro to computing for Arts students" classes. Not
because I was altruistic-it was a good way to meet female Arts students, who
had no idea what they were doing with computers and were a LOT better
looking than the average female CS student!


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to