/***********************************************************************/ /* */ /* Front-end EXEC to set up linkage to the C runtime libraries */ /* before executing a MODULE generated from C code. */ /* */ /* Copy this file as an EXEC with a filename matching the C MODULE. */ /* */ /* Greg Hartwig (ghartwig@vnet.ibm.com) 7/31/97, 4/24/98. */ /* */ /***********************************************************************/ Address Command Parse Arg argstring Parse Source . . myname . /* Set output and input character translation so brackets show up */ 'SET OUTPUT AD' 'BA'x 'SET OUTPUT BD' 'BB'x 'SET INPUT BA AD' 'SET INPUT BB BD' Call CLIB If rc<>0 Then Do Say 'The required C runtime libraries don''t appear to be available.' Say myname 'can not run.' Exit 12 End /* Run the command */ myname argstring Exit rc /* Contents of the CLIB EXEC, modified for RC checking. */ /* Removed TXTLIB setting. Only LOADLIB needed for execution. */ CLIB: /***************************************************/ /* SET UP LIBRARIES FOR LE for MVS & VM */ /***************************************************/ Address COMMAND loadlib ='EDCLINK' /* C/370 runtime */ loadlib ='SCEERUN' /* LE runtime */ theirs=queued() /* old stack contentsM068*/ 'QUERY LOADLIB ( LIFO' /* old setting M068*/ LoadlibList='' /* init list M068*/ rc=0 Do while queued()^=theirs /* all lines from cmdM068*/ Parse upper pull 'LOADLIB' '=' Ltemp /* get one line M068*/ LoadlibList= Ltemp Loadliblist /* was stacked LIFO M068*/ End /*M068*/ If loadlibList='NONE' , Then Do 'GLOBAL LOADLIB' Loadlib /* enforce what we need */ End Else Do Do xx=1 to Words(loadlib) If Find(loadliblist,word(loadlib,xx)) = 0 , then loadliblist = loadliblist word(loadlib,xx) End 'GLOBAL LOADLIB' loadliblist /* enforce what we need */ End Return