Path: utzoo!telly!attcan!dptcdc!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!geneseo.bitnet!SUE From: SUE@geneseo.bitnet (Sue Chichester) Newsgroups: gnu.gcc Subject: Easier way to Link GCC Message-ID: <8904101437.AA11953@life.ai.mit.edu> Date: 10 Apr 89 15:26:00 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 167 I thought it would be nice for my users not to have to think about linking with the GCCLIB and the VAXC libraries when they linked their GCC programs. So what I wanted to have them do is say GLINK fn when linking. The first GLINK was just suppose to be a quick and dirty way of doing this. I made up a little command procedure GLINK.COM. $ ! GLINK.COM - LINK for GCC $! $ IF P1 .NES. "" THEN GOTO LINK $ INQUIRE P1 "File" $LINK: $LINK 'P1',GNU_CC:[000000]GCCLIB/LIB,VAXC/OPTIONS $EXIT This is okay but what I really want is something that you can also use the options available on the LINK command. I used VERB to extract LINK.CLD and thought I'd modify it. (By the way, I don't know too much about writing .CLD files) To be quick honest, I really didn't know what I was doing with this GLINK.CLD but I tried the following and I get an error when I say GLINK my.obj LINK-F-FIRSTMOD first input file being a library requires module extraction. My question: Does anyone know how LINK.CLD should be modified to always link with the GCCLIB and VAXC libraries? Is it even possible? -OR- Can my DCL command procedure be modified to allow for options on the LINK command? Thanks in advance. Sue Chichester SUNY Geneseo SUE@GENESEO.BITNET !*************************************GLINK************************************** define type CHECK_KEY keyword SYSTEM default keyword TASK define type SHARE_KEY keyword TASK default keyword COMMON keyword LIBRARY define syntax LINK_USING_TKB image BACKTRANS parameter P1 , prompt="File" value (required,impcat,list,type=$infile) qualifier BRIEF default qualifier CHECKPOINT value (type=CHECK_KEY) qualifier COMPATIBLE default qualifier CONCATENATED placement=local qualifier CROSS_REFERENCE qualifier DEBUG value (type=$infile) qualifier DEFAULT_LIBRARY value (required,type=$infile) qualifier ERROR_LIMIT value (default="1") qualifier EXECUTABLE default value (type=$outfile) placement=positional qualifier EXIT value (default="1") qualifier FULL qualifier HEADER default qualifier INCLUDE value (required,list) placement=local qualifier LIBRARY placement=local qualifier LONG qualifier MAP batch value (type=$outfile) placement=positional qualifier OPTIONS value (type=$infile) qualifier OVERLAY_DESCRIPTION qualifier POSITION_INDEPENDENT qualifier POST_MORTEM qualifier RECEIVE default qualifier RESIDENT_OVERLAY default qualifier RSX11 qualifier SEGREGATE qualifier SELECTIVE_SEARCH placement=local qualifier SEQUENTIAL qualifier SHAREABLE value (type=SHARE_KEY) qualifier SLOW qualifier SYMBOL_TABLE value (type=$outfile) placement=positional qualifier TKB_OPTIONS value (type=$infile) qualifier TRACE disallow ((LONG or FULL or BRIEF or CROSS_REFERENCE) and not MAP) disallow (EXIT and ERROR_LIMIT) disallow any2(BRIEF,LONG,FULL) disallow (OPTIONS and TKB_OPTIONS) define verb GLINK image LINK parameter P1 , prompt="File" value (required,impcat,list,type=$infile) qualifier BRIEF qualifier CROSS_REFERENCE qualifier DEBUG value (type=$infile) qualifier EXECUTABLE default value (type=$outfile) placement=positional qualifier INCLUDE value (required,list) placement=local qualifier LIBRARY default value(default="gnu_cc:[000000]gcclib,sys$library:vaxcrtl") placement=local qualifier SHAREABLE value (type=$outfile) qualifier CONTIGUOUS qualifier MAP batch value (type=$outfile) placement=positional qualifier OPTIONS placement=local qualifier SELECTIVE_SEARCH placement=local qualifier SYMBOL_TABLE value (type=$outfile) placement=positional qualifier SYSLIB default qualifier SYSTEM value qualifier SUPRESS default value (default="SYSLIB,DEBUG,WEAK") qualifier RSX11 , syntax=LINK_USING_TKB qualifier FULL qualifier HEADER qualifier TRACE default qualifier SYSSHR default qualifier USERLIBRARY default value (list) qualifier P0IMAGE qualifier PROTECT disallow ((FULL or BRIEF or CROSS_REFERENCE) and not MAP) disallow (SYSTEM and DEBUG) disallow (PROTECT and SYSTEM) disallow (P0IMAGE and (SHAREABLE or SYSTEM)) disallow (HEADER and SHAREABLE) disallow (BRIEF and (CROSS_REFERENCE or FULL))