#!/bin/sh # # The contents of this file are subject to the Netscape Public License # Version 1.0 (the "NPL"); you may not use this file except in # compliance with the NPL. You may obtain a copy of the NPL at # http://www.mozilla.org/NPL/ # # Software distributed under the NPL is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL # for the specific language governing rights and limitations under the # NPL. # # The Initial Developer of this code under the NPL is Netscape # Communications Corporation. Portions created by Netscape are # Copyright (C) 1998 Netscape Communications Corporation. All Rights # Reserved. #----------------------------------------------------------------------------- # cxxlink-driver.sh # # Created: David Williams , 18-Jul-1996 # # C++ Link driver. This guy is a replacement for a broken C++ link # command. It will fix the options for the link so that no unwanted # shared libraries get linked in, and other stuff. It may use it's # pal cxxlink-filter.sh (for Cfront based loser linking) to do this. # #----------------------------------------------------------------------------- OS_NAME=OSF1 CC_NAME=cxx ARGS=$* OUT_ARGS= VERBOSE= while [ X$1 != X ] do case X$1 in # This must be stripped out first, because it would match 'X-O*' as well, # and that doesn't strip out the limit arg. X-Olimit) shift shift ;; # Include, define, undefine, optimize (also optimization level), ignore X-I*|X-D*|X-U*|X-O*) shift ;; # Verbose X-v) VERBOSE=TRUE shift ;; # HP-UX, OSF1, IRIX5.2..... X-cxx_platform) OS_NAME=$2 shift 2 ;; # CC, cxx, gcc, ..... X-cxx_command) CC_NAME=$2 shift 2 ;; # Pass through *) OUT_ARGS="$OUT_ARGS $1" shift ;; esac done case X${OS_NAME}Y${CC_NAME} in XOSF1Ycxx) # Dec cxx driver LD_DIR=/usr/lib/cmplrs/cc CXX_DIR=/usr/lib/cmplrs/cxx HEAD="$LD_DIR/ld -G 8 -g2 -call_shared -nocount $LD_DIR/crt0.o $CXX_DIR/_main.o -count -taso" TAIL="-nocount $CXX_DIR/libcxx.a $CXX_DIR/libexc.a -lc" ;; XHP-UXYCC) # HP CC driver HEAD=CC -tl,cxxlink-filter TAIL= ;; XIRIX5.2YCC) # IRIX 5.2 CC driver HEAD=CC -tl,cxxlink-filter TAIL= ;; *) # Unknown OS/Compiler echo "Unknown OS/Compiler: '$OS_NAME/$CC_NAME'" >$2 exit 2 ;; esac case X$VERBOSE in XTRUE) echo $HEAD $OUT_ARGS $TAIL ;; esac exec $HEAD $OUT_ARGS $TAIL