From: AITGW::"dsroberts@BECKMAN.COM" 4-FEB-1992 13:07:50.16 To: Multiple recipients of list ANU-NEWS CC: Subj: newsbuild.com for compile and link on seperate systems Received: by AITGW.DECnet (utk-mail11 v1.5) ; Tue, 4 Feb 92 13:06:40 EST Received: from vm1.NoDak.edu by aitgw.ge.com (5.65/GE Gateway 1.4) id AA02127; Sun, 2 Feb 92 09:24:53 -0500 Message-Id: <9202021424.AA02127@aitgw.ge.com> Received: from NDSUVM1.BITNET by VM1.NoDak.EDU (IBM VM SMTP V2R2) with BSMTP id 5681; Sun, 02 Feb 92 08:19:37 CST Received: from NDSUVM1.BITNET by NDSUVM1.BITNET (Mailer R2.07) with BSMTP id 0499; Sun, 02 Feb 92 08:19:34 CST Date: Fri, 31 Jan 1992 22:26:08 GMT Reply-To: dsroberts@BECKMAN.COM Sender: ANU-NEWS Discussion From: dsroberts@BECKMAN.COM Subject: newsbuild.com for compile and link on seperate systems To: Multiple recipients of list ANU-NEWS Earlier I had posted a hacked up newsbuild.com for compiling and linking on seperate systems. I've taken the V6.1 alpha newsbuild.com and altered it for this as well, and gotten rid of all those unnecessary set defaults. This is the version that includes the 31-jan-1992 change for newsrc. It follows my sig. I decided to post it since Geoff included my prior version in the alpha saveset, so he can replace it with this one. Again, this is not intended to replace newsbuild.com, though it can if you choose to. It does not do the time checking so it does everything (unless you choose the client only option). -- --------------------------------------------------------------------------- Don Roberts Internet: don@beckman.com Beckman Instruments, Inc. Phone: 714/961-3029 2500 Harbor Bl. Mailstop X-12 FAX: 714/961-3351 Fullerton, CA 92634 Disclaimer: Blame me, not Beckman. Commercial Unix - An oxymoron --------------------------------------------------------------------------- $!++ $! FACILITY: $! NEWSBUILD $! $! AUTHOR: $! Geoff Huston $! Copyright ) 1988,1989,1990 $! $! FUNCTIONALITY: $! This file can be used to rebuild the NEWS executables either from $! scratch, or can be used for an incremental build if one (or a number) $! of source files have been edited. Both the production and debug $! executables are constructed in this procedure. $! $! PRECONDITIONS: $! - All sources are in Dev:[NEWS.NEWS_SRC] $! - The default directory is set to DEV:[NEWS.NEWS_BUILD] $! - Execute by "$ @[-.news_src]newsbuild" $! $! Version: $! V5.5 7-Oct-1988 GIH $! - Included modifications for WIN TCP/IP V3.0 support by Jim Patterson $! (jimp@cognos.uucp). $! NOTE: I have NOT tested the WIN support modifications $! V5.6 11-Nov-1988 GIH $! - Version 5.6 configuration $! V5.8 2-Mar-1989 GIH $! - Add NEWSV58_UPGRADE, NEWSDIST, NEWSRTL modules $! V5.9 14-Jul-1989 GIH $! - Reduce the file activity to speed up the routine $! - now included in NEWS_SRC directory $! V6.0 13-Jun-1989 GIH $! - use parameter 1 to specify the TCP transport (or ask if not supplied ) $! V6.0-1 3-Nov-1990 (GIH added) - James Gerland: TWG changes $! V6.0-4 25-May-1991 volz@process.com $! - Added TCPware support $! V6.1 31-Jan-1991 ake@dayton.saic.com Earle Ake $! - Dont deassign newsrc logical if it isn't defined $! v6.1 31-Jan-1991 don@beckman.com Don Roberts $! - Allow compile only. Necessary because my site has the c compiler $! on a different node from TCP/IP. Also if you define the logical $! env_verify to 1, verification is set on $! $! Bugs $! Should reassign newsrc logical it it had to deassign it $! $! Usage: $! $ SET DEF [.NEWS_SRC] $! $ @NEWSBUILD [tcp-transport] [force] [debug] [client-only] $! $! tcp-transport: N [ONE] $! M [ULTINET] $! C [MU] $! W [IN] $! U [CXSOCKETS] $! UCXQ [IOS] $! E [XOS]] $! T [CPware] $! $! force: COMPILE $! LINK $! BOTH compile and link $! - default to both $! $! debug: DEBUG - compile and link with DEBUG option $! NODEBUG - compile and link with NODEBUG option $! - Do both $! $! client-only: CLIENT - build NEWS.EXE and NEWS.HLB only $! - build everything $! $!-- $! $! makehay_ver= f$verify(0) $ image_ver == f$environment ("verify_image") !store verification info $ proc_ver == 'f$verify (f$trnlnm("ENV_VERIFY"), image_ver) $ if f$trnlnm("newsrc") .nes. "" then $ deassign newsrc $ set default [-.news_build] $ on control_y THEN $ stop $ on error THEN $ goto done $ define lnk$library sys$library:vaxcrtl $ define vaxc$include sys$library $ define link_opt [-.news_src]options_c_link.opt $ defsw = "" $ use_multinet = 0 $ use_cmu = 0 $ use_twg = 0 $ use_ucxsockets = 0 $ use_ucxqios = 0 $ use_exos = 0 $ use_tcpware = 0 $ IF p1 .eqs. "" $ THEN $ write sys$output "TCP transport options:" $ write sys$output " NONE" $ write sys$output " MULTINET" $ write sys$output " CMU" $ write sys$output " WIN" $ write sys$output " UCXSOCKETS" $ write sys$output " UCXQIOS" $ write sys$output " EXOS" $ write sys$output " TCPware" $ inquire p1 "TCP Transport [NONE]" $ ENDIF $ tcptransport = f$extract(0,1,p1) $ IF tcptransport .EQS. "M" THEN $ use_multinet = 1 $ IF tcptransport .EQS. "C" THEN $ use_cmu = 1 $ IF tcptransport .EQS. "W" THEN $ use_twg = 1 $ IF tcptransport .EQS. "E" THEN $ use_exos = 1 $ IF tcptransport .EQS. "T" THEN $ use_tcpware = 1 $ IF tcptransport .EQS. "U" $ THEN $ tcptransport = f$extract(0,4,p1) $ IF tcptransport .EQS. "UCXQ" $ THEN $ use_ucxqios = 1 $ ELSE $ use_ucxsockets = 1 $ ENDIF $ ENDIF $! $! Call in CMUTCP support $! $ IF use_cmu $ THEN $ defsw = "/DEFINE=(CMU=1)" $ write sys$output "CMU IP support included" $ ENDIF $! $! Call in UCXSOCKETS support $! $ IF use_ucxsockets $ THEN $ IF f$search("sys$library:ucx$inetdef.h") .EQS. "" $ THEN $ write sys$output "UCX support cannot be loaded - no library file" $ exit $ ENDIF $ defsw = "/DEFINE=(UCXSOCKETS=1,UCX=1)" $ DEFINE link_opt [-.news_src]options_c_ucxlink.opt $ write sys$output "UCX IP support included (socket drivers)" $ ENDIF $! $! Call in UCXQIOS support $! $ IF use_ucxqios $ THEN $ IF f$search("sys$library:ucx$inetdef.h") .EQS. "" $ THEN $ write sys$output "UCX support cannot be loaded - no library file" $ exit $ ENDIF $ defsw = "/DEFINE=(UCXQIOS=1,UCX=1)" $ DEFINE link_opt [-.news_src]options_c_ucxlink.opt $ write sys$output "UCX IP support included (qio drivers)" $ ENDIF $! $! Call in Multinet support based on multinet include files $! $ IF use_multinet $ THEN $ IF f$search("multinet_root:[multinet.include]*.h") .EQS. "" $ THEN $ write sys$output "MULTINET support cannot be loaded - no library files" $ exit $ ENDIF $ defsw = "/DEFINE=(MULTINET=1)" $ DEFINE vaxc$include multinet_root:[multinet.include],- multinet_root:[multinet.include.sys],- multinet_root:[multinet.include.arpa],- multinet_root:[multinet.include.netinet],- multinet_root:[multinet.include.vms],- sys$library $ DEFINE link_opt [-.news_src]options_c_multinetlink.opt $ write sys$output "Multinet IP support included" $ ENDIF $! $! Call in TCPware support based on TCPware include files $! $ IF use_tcpware $ THEN $ IF f$search("TCPIP_INCLUDE:*.h") .EQS. "" $ THEN $ write sys$output "TCPware support cannot be loaded - no library files" $ exit $ ENDIF $ defsw = "/DEFINE=(TCPWARE=1)" $ DEFINE vaxc$include tcpip_include,- sys$library $ DEFINE link_opt [-.news_src]options_c_tcpwarelink.opt $ write sys$output "TCPware TCP/IP support included" $ ENDIF $! $! $! Call in TWG support based on TWG include files $! $ IF use_twg $ THEN $ IF f$search("TWG$TCP:[NETDIST.INCLUDE]*.H") .eqs. "" $ THEN $ write sys$output "WIN support cannot be loaded - no library files" $ exit $ ENDIF $ defsw = "/DEFINE=(TWG=1)" $ define vaxc$include sys$library,twg$tcp:[netdist.include],- twg$tcp:[netdist.include.sys],- twg$tcp:[netdist.include.vms],- twg$tcp:[netdist.include.netinet],- twg$tcp:[netdist.include.arpa],- sys$library $ define sys twg$tcp:[netdist.include.sys] $ define lnk$library twg$tcp:[netdist.lib]twglib $ define lnk$library_1 sys$library:vaxcrtl $ write sys$output "TWG IP support included" $ ENDIF $ IF use_exos $ THEN $ IF f$trnlnm("EXOS_ETC").eqs."" $ THEN $ write sys$output "EXOS not found!" $ exit $ ENDIF $ defsw = "/DEFINE=(EXOS=1)" $ define link_opt [-.news_src]options_c_link.opt $ ENDIF $! $! Examine parameter 2 (Compile | Link | Both | empty) $! $ force = f$extract(0,1,p2) $ if force .eqs. "" then force = "B" $! $! we default to time check only $! $ force_compile = 0 !no compile $ force_link = 0 !no link $ IF force .EQS. "C" .or. force .eqs. "B" - THEN $ force_compile = 1 !turn on compile $ IF force .EQS. "L" .or. force .eqs. "B" - THEN $ force_link = 1 !turn on link $! $! the following table describes the action: $! force_compile non-zero >>> perform the cc's $! force_link non-zero >>> perform the link's $! both non-zero >>> perform both the cc's and the link's $! both zero >>> can't happen $! $! Examine parameter 3 (DEBUG | NODEBUG | empty) $! $ dbgtype = f$extract(0,1,p3) $ make_debug = 1 $ make_nodebug = 1 $ IF dbgtype .EQS. "D" THEN $ make_nodebug = 0 $ IF dbgtype .EQS. "N" THEN $ make_debug = 0 $! $! Examine parameter 4 (Client-only | empty) $! $! client-only means build NEWS.EXE and NEWS.HLB only; ignore the rest $ client_only = ( f$edit(f$extract(0,1,p4),"UPCASE") .eqs. "C" ) $ ! $ ! $ cc :== "cc''defsw'" $ show symb cc $! $! INPATHS.EXE - done first as there is no tcp code required $! $ IF f$search("[-.NEWS_SRC]INPATHS.C") .nes. "" .and. .not. client_only $ THEN $ IF force_compile $ THEN $ write sys$output "$ cc inpaths" $ cc/nolis/object=inpaths [-.news_src]inpaths $ purge inpaths.obj $ ENDIF $ ENDIF $! $ IF f$search("INPATHS.OBJ") .nes. "" $ THEN $ IF force_link $ THEN $ write sys$output "$ link inpaths" $ link/notrace/nodebug/nomap/exe=[-.news_dist]inpaths.exe inpaths,link_opt/o pt $ purge [-.news_dist]inpaths.exe $ ENDIF $ ENDIF $! $! .OLB files $! $ IF f$search("NEWS_LIBRARY.OLB").eqs."" THEN $ library/create/obj news_library $ IF f$search("NEWS_LIBRARYD.OLB").eqs."" THEN $ library/create/obj news_library d $! $! get cre date time for include files $! $ vartime = f$cvtime(f$file_attributes("[-.NEWS_SRC]NEWSVARIABLES.H","rdt")) $ exttime = f$cvtime(f$file_attributes("[-.NEWS_SRC]NEWSEXTERN.H","rdt")) $ deftime = f$cvtime(f$file_attributes("[-.NEWS_SRC]NEWSDEFINE.H","rdt")) $ inctime = f$cvtime(f$file_attributes("[-.NEWS_SRC]NEWSINCLUDE.H","rdt")) $ sittime = f$cvtime(f$file_attributes("[-.NEWS_SRC]NEWSSITE.H","rdt")) $ call compile "NEWSADD" "DELOBJ" $ call compile "NEWSCALLEDIT" "DELOBJ" $ call compile "NEWSCLASSES" "DELOBJ" $ call compile "NEWSCONFIGS" "DELOBJ" $ call compile "NEWSCONTROL" "DELOBJ" $ call compile "NEWSDELETE" "DELOBJ" $ call compile "NEWSDIR" "DELOBJ" $ call compile "NEWSDISPLAY" "DELOBJ" $ call compile "NEWSDIST" "NODELOBJ" $ call compile "NEWSEXTRACT" "DELOBJ" $ call compile "NEWSFILES" "DELOBJ" $ call compile "NEWSFORWARD" "DELOBJ" $ call compile "NEWSHELP" "DELOBJ" $ call compile "NEWSKILL" "DELOBJ" $ call compile "NEWSLOCK" "NODELOBJ" $ call compile "NEWSVMSMAIL" "DELOBJ" $ call compile "NEWSMOD" "DELOBJ" $ call compile "NEWSMENU" "DELOBJ" $ call compile "NEWSMODE" "DELOBJ" $ call compile "NEWSPOST" "DELOBJ" $ call compile "NEWSPROFILE" "DELOBJ" $ call compile "NEWSRC" "DELOBJ" $ call compile "NEWSREAD" "DELOBJ" $ call compile "NEWSREGISTER" "DELOBJ" $ call compile "NEWSREMCLIENT" "DELOBJ" $ call compile "NEWSSEARCH" "DELOBJ" $ call compile "NEWSSELECT" "DELOBJ" $ call compile "NEWSSETSHOW" "DELOBJ" $ call compile "NEWSSKIM" "DELOBJ" $ call compile "NEWSSKIP" "DELOBJ" $ call compile "NEWSSITE" "DELOBJ" $ call compile "NEWSUTILITY" "DELOBJ" $ call compile "NEWSV58_UPGRADE" "DELOBJ" $ call compile "NEWSV60_UPGRADE" "DELOBJ" $ call compile "ADD_TRANSFORM" "NODELOBJ" $ call compile "NEWSRTL" "NODELOBJ" $! $! NEWSCMD.CLD $! $ IF f$search("[-.news_src]newscmd.cld") .nes. "" $ THEN $ IF force_compile $ THEN $ write sys$output "$ set command/obj newscmd.cld" $ set command/obj=newscmd.obj [-.news_src]newscmd.cld $ purge newscmd.obj $ IF make_nodebug THEN $ library/object news_library newscmd.obj $ IF make_debug THEN $ library/object news_libraryd newscmd.obj $ ENDIF $ ENDIF $! $! NEWS $! $ IF make_nodebug .and. f$search("[-.news_src]news.c") .nes. "" $ THEN $ IF force_compile $ THEN $ write sys$output "$ cc news" $ cc/nolis/object=news [-.news_src]news $ purge news.obj $ ENDIF $! $ IF (f$search("NEWS.OBJ") .nes. "") .and. (f$search("NEWS_LIBRARY.OLB") .nes. "") $ THEN $ IF force_link $ THEN $ write sys$output "$ link news,news_library/library" $ link/notrace/nodebug/nomap/exe=[-.news_dist]news.exe news,news_library/l ibrary,link_opt/opt $ purge [-.news_dist]news.exe $ ENDIF $ ENDIF $ ENDIF $! $! NEWSDBG $! $ IF make_debug .and. f$search("[-.news_src]news.c") .nes. "" $ THEN $ IF force_compile $ THEN $ write sys$output "$ cc/debug/noopt news" $ cc/nolis/object=newsdbg/debug/noopt [-.news_src]news $ purge newsdbg.obj $ ENDIF $ IF (f$search("NEWSDBG.OBJ") .nes. "") .and. (f$search("NEWS_LIBRARYD.OLB") . nes. "") $ THEN $ IF force_link $ THEN $ write sys$output "$ link/debug newsdbg,news_libraryd/library" $ link/debug/nomap newsdbg,news_libraryd/library,link_opt/opt $ purge newsdbg.exe $ ENDIF $ ENDIF $ ENDIF $! $! NNTP_SERVER $! $ IF f$search("[-.news_src]nntp_server.c") .nes. "" .and. .not. client_only $ THEN $ IF force_compile $ THEN $ write sys$output "$ cc nntp_server" $ cc/nolis/object=nntp_server [-.news_src]nntp_server $ purge nntp_server.obj $ ENDIF $ ENDIF $! $! NNTP_TTY $! $ IF f$search("[-.news_src]nntp_tty.c") .nes. "" .and. .not. client_only $ THEN $ IF force_compile $ THEN $ write sys$output "$ cc nntp_tty" $ cc/nolis/object=nntp_tty [-.news_src]nntp_tty $ purge nntp_tty.obj $ ENDIF $ ENDIF $! $ IF (f$search("NNTP_TTY.OBJ") .nes. "") .and. - (f$search("NNTP_SERVER.OBJ") .nes. "") $ THEN $ IF force_link $ THEN $ write sys$output "$ link nntp_tty,nntp_server" $ link/nomap/notrace/exe=[-.NEWS_DIST] nntp_tty,nntp_server,newsdist,add_tra nsform,- newsrtl,newslock,link_opt/opt $ purge [-.news_dist]nntp_tty.exe $ ENDIF $ ENDIF $! $! NNTP_DEC $! $ IF f$search("[-.news_src]nntp_dec.c") .nes. "" .and. .not. client_only $ THEN $ IF force_compile $ THEN $ write sys$output "$ cc nntp_dec" $ cc/nolis/object=nntp_dec [-.news_src]nntp_dec $ purge nntp_dec.obj $ ENDIF $ ENDIF $! $ IF (f$search("NNTP_DEC.OBJ") .nes. "") .and. - (f$search("NNTP_SERVER.OBJ") .nes. "") $ THEN $ IF force_link $ THEN $ write sys$output "$ link nntp_dec,nntp_server" $ link/nomap/notrace/exe=[-.news_dist]nntp_dec nntp_dec,nntp_server,newsdist ,- add_transform,newsrtl,newslock,link_opt/opt $ purge [-.news_dist]nntp_dec.exe $ ENDIF $ ENDIF $! $! NNTP_DECM $! $ IF f$search("[-.news_src]nntp_decm.c") .nes. "" .and. .not. client_only $ THEN $ IF force_compile $ THEN $ write sys$output "$ cc nntp_decm" $ cc/nolis/object=nntp_decm [-.news_src]nntp_decm $ purge nntp_decm.obj $ ENDIF $ ENDIF $! $ IF (f$search("NNTP_DECM.OBJ") .nes. "") .and. - (f$search("NNTP_SERVER.OBJ") .nes. "") $ THEN $ IF force_link $ THEN $ write sys$output "$ link nntp_decm,nntp_server" $ link/nomap/notrace/exe=[-.NEWS_DIST]nntp_decm nntp_decm,nntp_server,newsdi st,- add_transform,newsrtl,newslock,link_opt/opt $ purge [-.news_dist]nntp_decm.exe $ ENDIF $ ENDIF $! $! NNTP_CLIENT $! $ IF f$search("[-.news_src]nntp_client.c") .nes. "" .and. .not. client_only $ THEN $ IF force_compile $ THEN $ write sys$output "$ cc nntp_client" $ cc/nolis/object=nntp_client [-.news_src]nntp_client $ purge nntp_client.obj $ ENDIF $ ENDIF $! $ IF f$search("NNTP_CLIENT.OBJ") .nes. "" $ THEN $ IF force_link $ THEN $ write sys$output "$ link nntp_client" $ link/notrace/nomap/exe=[-.NEWS_DIST]nntp_client nntp_client,link_opt/opt $ purge [-.news_dist]nntp_client.exe $ ENDIF $ ENDIF $! $! NNTP_XMIT $! $ IF f$search("[-.news_src]nntpxmitcmd.cld") .nes. "" .and. .not. client_only $ THEN $ IF force_compile $ THEN $ write sys$output "$ set command/obj nntpxmitcmd.cld" $ set command/obj=nntpxmitcmd.obj [-.news_src]nntpxmitcmd.cld $ purge nntpxmitcmd.obj $ ENDIF $ ENDIF $ IF f$search("[-.news_src]nntp_xmit.c") .nes. "" .and. .not. client_only $ THEN $ IF force_compile $ THEN $ write sys$output "$ cc nntp_xmit" $ cc/nolis/object=nntp_xmit [-.news_src]nntp_xmit $ purge nntp_xmit.obj $ ENDIF $ ENDIF $! $ IF f$search("NNTP_XMIT.OBJ") .nes. "" $ THEN $ IF force_link $ THEN $ write sys$output "$ link nntp_xmit" $ link/notrace/nomap/exe=[-.NEWS_DIST]NNTP_XMIT nntp_xmit,nntpxmitcmd,newslo ck,link_opt/opt $ purge [-.news_dist]nntp_xmit.exe $ ENDIF $ ENDIF $! $! NNTP_XFER $! $ IF f$search("[-.news_src]nntpxfercmd.cld") .nes. "" .and. .not. client_only $ THEN $ IF force_compile $ THEN $ write sys$output "$ set command/obj nntpxfercmd.cld" $ set command/obj=nntpxfercmd.obj [-.news_src]nntpxfercmd.cld $ purge nntpxfercmd.obj $ ENDIF $ ENDIF $ IF f$search("[-.news_src]nntp_xfer.c") .nes. "" .and. .not. client_only $ THEN $ IF force_compile $ THEN $ write sys$output "$ cc nntp_xfer" $ cc/nolis/object=nntp_xfer [-.news_src]nntp_xfer $ purge nntp_xfer.obj $ ENDIF $ ENDIF $! $ IF f$search("NNTP_XFER.OBJ") .nes. "" $ THEN $ IF force_link $ THEN $ write sys$output "$ link nntp_xfer" $ link/notrace/nomap/exe=[-.NEWS_DIST]nntp_xfer nntp_xfer,nntpxfercmd,newslo ck,link_opt/opt $ purge [-.news_dist]nntp_xfer.exe $ ENDIF $ ENDIF $! $! NNTP_TCPCMU $! $ IF (use_cmu) .and. (f$search("[-.NEWS_SRC]NNTP_TCPCMU.C") .nes. "") - .and. .not. client_only $ THEN $ IF force_compile $ THEN $ write sys$output "$ cc nntp_tcpcmu" $ cc/nolis/object=nntp_tcpcmu [-.news_src]nntp_tcpcmu $ purge nntp_tcpcmu.obj $ ENDIF $! $ IF (f$search("NNTP_TCPCMU.OBJ") .nes. "") .and. - (f$search("NNTP_SERVER.OBJ") .nes. "") $ THEN $ IF force_link $ THEN $ write sys$output "$ link nntp_tcpcmu,nntp_server" $ link/nomap/notrace/exe=[-.NEWS_DIST]nntp_tcpcmu nntp_tcpcmu,nntp_server, newsdist,- add_transform,newsrtl,newslock,link_opt/opt $ purge [-.news_dist]nntp_tcpcmu.exe $ ENDIF $ ENDIF $ ENDIF $! $! NNTP_TCPWINMULTINET $! $ IF (use_twg .or. use_multinet .or. use_tcpware) .and. - (f$search("[-.NEWS_SRC]NNTP_TCPWINMULTINET.C") .nes. "") - .and. .not. client_only $ THEN $ IF force_compile $ THEN $ write sys$output "$ cc nntp_tcpwinmultinet" $ cc/nolis/object=nntp_tcpwinmultinet [-.news_src]nntp_tcpwinmultinet $ purge nntp_tcpwinmultinet.obj $ ENDIF $! $ IF (f$search("NNTP_TCPWINMULTINET.OBJ") .nes. "") .and. - (f$search("NNTP_SERVER.OBJ") .nes. "") $ THEN $ IF force_link $ THEN $ write sys$output "$ link nntp_tcpwinmultinet,nntp_server" $ link/nomap/notrace/exe=[-.news_dist]nntp_tcpwinmultinet - nntp_tcpwinmultinet,nntp_server,newsdist,- add_transform,newsrtl,newslock,link_opt/opt $ purge [-.news_dist]nntp_tcpwinmultinet.exe $ ENDIF $ ENDIF $ ENDIF $! $! NNTP_TCPUCXM $! $ IF (use_ucxqios) .and. (f$search("[-.NEWS_SRC]NNTP_TCPUCXM.C") .nes. "") .and. .not. client_only $ THEN $ IF force_compile $ THEN $ write sys$output "$ cc nntp_tcpucxm" $ cc/nolis/object=nntp_tcpucxm [-.news_src]nntp_tcpucxm $ purge nntp_tcpucxm.obj $ ENDIF $! $ IF (f$search("NNTP_TCPUCXM.OBJ") .nes. "") .and. - (f$search("NNTP_SERVER.OBJ") .nes. "") $ THEN $ IF force_link $ THEN $ write sys$output "$ link nntp_tcpucxm,nntp_server" $ link/nomap/notrace/exe=[-.news_dist]nntp_tcpucxm - nntp_tcpucxm,nntp_server,newsdist,- add_transform,newsrtl,newslock,link_opt/opt $ purge [-.news_dist]nntp_tcpucxm.exe $ ENDIF $ ENDIF $ ENDIF $! $! NEWS.HLP $! $ IF f$search("[-.NEWS_SRC]NEWS.HLP") .nes. "" $ THEN $ IF force_link $ THEN $ write sys$output "$ libr/help/create news news" $ libr/help/create [-.news_dist]news news $ purge [-.news_dist]news.hlb $ ENDIF $ ENDIF $! $! ARBITRON.EXE - same for arbitron $! $ IF f$search("[-.NEWS_SRC]ARBITRON.C") .nes. "" $ THEN $ IF force_compile $ THEN $ write sys$output "$ cc arbitron" $ cc/nolis/opt/object=arbitron [-.news_src]arbitron $ purge arbitron.obj $ ENDIF $ ENDIF $! $ IF f$search("ARBITRON.OBJ") .nes. "" $ THEN $ IF force_link $ THEN $ write sys$output "$ link arbitron" $ link/notrace/nodebug/nomap/exe=[-.news_dist]arbitron.exe arbitron,news_lib rary/lib,link_opt/opt $ purge [-.news_dist]arbitron.exe $ ENDIF $ ENDIF $! $! NEWITMFILE.EXE $! $ IF f$search("[-.NEWS_SRC]NEWITMFILE.C") .nes. "" .and. .not. client_only $ THEN $ IF force_compile $ THEN $ write sys$output "$ cc newitmfile" $ cc/nolis/object=NEWITMFILE [-.news_src]NEWITMFILE $ purge NEWITMFILE.obj $ ENDIF $ ENDIF $! $ IF f$search("NEWITMFILE.OBJ") .nes. "" $ THEN $ IF force_link $ THEN $ write sys$output "$ link newitmfile" $ link/notrace/nodebug/nomap/exe=[-.news_dist]NEWITMFILE.exe NEWITMFILE,link _opt/opt $ purge [-.news_dist]NEWITMFILE.exe $ ENDIF $ ENDIF $! $! NEWGRPFILE.EXE $! $ IF f$search("[-.NEWS_SRC]NEWGRPFILE.C") .nes. "" .and. .not. client_only $ THEN $ IF force_compile $ THEN $ write sys$output "$ cc newgrpfile" $ cc/nolis/object=NEWGRPFILE [-.news_src]NEWGRPFILE $ purge NEWGRPFILE.obj $ ENDIF $ ENDIF $! $ IF f$search("NEWGRPFILE.OBJ") .nes. "" $ THEN $ IF force_link $ THEN $ write sys$output "$ link newgrpfile" $ link/notrace/nodebug/nomap/exe=[-.news_dist]NEWGRPFILE.exe NEWGRPFILE,link _opt/opt $ purge [-.news_dist]NEWGRPFILE.exe $ ENDIF $ ENDIF $ write sys$output "NEWS FILES Built" $done: $ set def [-.news_src] $! makehay_ver=f$verify(makehay_ver) $ proc_ver = f$verify (proc_ver, image_ver) !reset verification $! $! COMPILE SUBROUTINE $! $compile: subroutine $ on control_y THEN $ exit $ srcname = "[-.news_src]" + p1 + ".c" $ objname = p1 + ".obj" $ purgename = p1 + "*.*, [-.news_src]" + p1 + "*.*" $ srctime = f$cvtime(f$file_attributes(srcname,"rdt")) $ IF p2 .eqs. "NODELOBJ" THEN $ goto testcomp $ IF make_nodebug THEN goto testcomp $ goto dbgcomp $ testcomp: $ IF force_compile THEN $ goto ccit $ goto dbgcomp $ ccit: $ write sys$output "$ cc/nodebug/opt ''p1'" $ cc/nolis/nodebug/opt/object='objname [-.news_src]'p1 $ library/object news_library 'objname $ IF p2 .eqs. "NODELOBJ" THEN $ goto purgeit $ create 'objname COMPILE MARKER $ purgeit: $ purge 'objname $ dbgcomp: $ IF make_debug THEN $ goto dbgchk $ goto compdun $ dbgchk: $ objname = p1 + "d.obj" $ objcomp = "[-.news_build]" + p1 + "d" $ IF force_compile THEN $ goto dbgccit $ goto compdun $ dbgccit: $ write sys$output "$ cc/debug/noopt ''p1'" $ cc/nolis/debug/noopt/object='objname [-.news_src]'p1 $ library/object news_libraryd 'objname $ create 'objname COMPILE MARKER $ purge 'objname $ compdun: $ exit $ endsubroutine