# HP/UX  version of liblist
#
# @(#)liblist.hpia.app	7.2
# Specification for linking to executable
#	Make sure linker flags passed to C++ compiler are prefixed by '-Wl,':
*:*:C:handoff_prfx(-Wl,)
#	Initial command:
x:*:s:${LD:-/usr/ccs/bin/ld}
x:*:C:${CCOO:-aCC}
x:*:a:-o
x:*:a:outfile
#	Strip output file (if no debugging options specified):
x:2:i:-s
#	Emulation of cc:
x:*:s:-u__sin_core__
x:*:s:-u__sin_init
x:*:s:-h__sin_core__
x:*:s:-h__sin_lookup_ibt
x:*:s:-umain
#	Allow unresolved symbols in first link:
x:1:a:-b
#	Allow shared objects at run-time, as per cc:
x:2:a:-dynamic
#	Ensure C++ compiler uses correct mode:
x:*:C:+DD32
#	Pass through flags when using C++ compiler:
x:*:Cp:-p
x:*:Cg:-g0
x:*:CP:-G
#	Remove file if error
x:2:s:+k
x:2:C:-Wl,+k
#	Make sure shared objects look down LD_LIBRARY_PATH
x:*:s:+s
x:*:C:-Wl,+s
#       Enable MPAS memory model
x:2:s:+as
x:2:s:mpas
#	Make sure null addresses are trapped
x:*:a:-z
#	Export all symbols but hide symbols that don't want to be
#	exported - eg. -d stubs:
x:2:s:-E
x:2:s:-c
x:2:s:hidefile(-h %s)
x:2:C:-Wl,-E,-c,hidefile(-h %s)
#	Declare and hide initialization routine
x:2:s:+init
x:2:s:_mFexeinit
x:2:s:-h
x:2:s:_mFexeinit
x:2:C:-Wl,+init,_mFexeinit,-h,_mFexeinit
#	Declare and hide finalization routine
x:2:s:+fini
x:2:s:_mFexefini
x:2:s:-h
x:2:s:_mFexefini
x:2:C:-Wl,+fini,_mFexefini,-h,_mFexefini
#	Add user (non-plus) options here:
x:*:a:useropt
#	Link in results from first link in the second link:
x:2:a:$TMPDIR/ldtab.o
#	Cobol libraries:
x:*:a:-L%COBDIR/lib
x:*:!t:-lcobrts
x:*:t:-lcobrts_t
x:*:a:-lcobcrtn
x:*:!t:-lcobmisc
x:*:t:-lcobmisc_t
x:*:a:-lcobstat
#	Add user plus options here:
x:*:a:plusopt
#	Ensure there is something to link
x:1:a:&COBDIR/lib/libcobstat.a
#	More emulation of cc (MUST be after MF/user libraries):
x:*:s:-L/usr/lib/hpux32
x:*:s(p|P):-L/usr/lib/hpux32/libp
x:*:sp:-lprof
x:*:sP:-lgprof
#	OS libraries, as per cc:
x:*:t:-lpthread
x:*:s:-lunwind
x:*:a:-lsin
x:*:s:-lc
# Specification for linking to shared object (shared library, CSO and scCSO)
#	Initial command:
z:*:s:${LD:-/usr/ccs/bin/ld}
z:*:C:${CCOO:-aCC}
z:*:a:-o
z:*:a:outfile
#	Link to shared object (and allow unresolved symbols in first link):
z:*:a:-b
#	Emulation of cc:
z:*:s:-u__sin_core__
z:*:s:-u__sin_init
z:*:s:-h__sin_core__
z:*:s:-h__sin_lookup_ibt
#	Ensure C++ compiler uses correct mode:
z:*:C:+DD32
#	Pass through flags when using C++ compiler:
z:*:Cp:-p
z:*:Cg:-g0
z:*:CP:-G
#	Make sure null addresses are trapped
z:*:a:-z
#	Allow version numbering (for shared libraries only):
z:*:sh:+h
z:*:sh:outfile
z:*:Ch:-Wl,+h,outfile
#	Export all symbols but hide symbols that don't want to be
#	exported - eg. -d stubs:
z:2:s:-E
z:2:s:-c
z:2:s:hidefile(-h %s)
z:2:C:-Wl,-E,-c,hidefile(-h %s)
#	Declare and hide initialization routine
z:2:s:+init
z:2:s:_mFsoinit
z:2:s:-h
z:2:s:_mFsoinit
z:2:C:-Wl,+init,_mFsoinit,-h,_mFsoinit
#	Declare and hide finalization routine
z:2:s:+fini
z:2:s:_mFsofini
z:2:s:-h
z:2:s:_mFsofini
z:2:C:-Wl,+fini,_mFsofini,-h,_mFsofini
#	Bind all global references to symbols defined in the shared object:
z:2:s:-Bsymbolic
z:2:s:-Bimmediate
z:2:C:-Wl,-Bsymbolic
z:2:C:-Wl,-Bimmediate
#	Add user (non-plus) options here:
z:*:a:useropt
#	Link in results from first link in the second link:
z:2:a:$TMPDIR/ldtab.o
#	Cobol libraries required for self contained callable shared objects:
z:*:y:-L%COBDIR/lib
z:*:y!t:-lcobrts
z:*:yt:-lcobrts_t
z:*:y:-lcobcrtn
z:*:y!t:-lcobmisc
z:*:yt:-lcobmisc_t
#	Add user plus options here:
z:*:a:plusopt
#	More emulation of cc (MUST be after MF/user libraries):
#	Link standard C++ libraries into C++ shared objects as exe may not be
#       C++ linked.
z:2:(y|C)(p|P):-L/usr/lib/hpux32/libp
z:2:y|C:-L/usr/lib/hpux32
z:2:C:-lstd_v2
z:2:C:-lCsup
z:2:yp:-lprof
z:2:yP:-lgprof
#	OS libraries, as per cc:
z:2:yt:-lpthread
z:2:y|C:-lunwind
z:2:C:-lm
z:2:y:-lsin
z:2:y:-lc
