1# This shell script fragment should set a bunch of variables: 2# 3# CC_LINK_STATIC: How to link a program if we're only building static 4# libraries for krb5 (but may use other shared libs, and there may 5# be a shared krb5 lib already installed that we shouldn't use). 6# CC_LINK_SHARED: How to link a program if we're building shared 7# libraries. 8# CXX_LINK_STATIC, CXX_LINK_SHARED: Variants for C++. 9# STLIBEXT: Static library extension. 10# SHLIBEXT: Shared library extension. 11# SHLIBVEXT: Shared library extension, with major version. 12# SHLIBSEXT: Shared library extension, with full version. 13# (... finish documenting these ...) 14 15# 16# Set up some defaults. 17# 18STLIBEXT=.a 19# Default to being unable to build shared libraries. 20SHLIBEXT=.so-nobuild 21SHLIBVEXT=.so.v-nobuild 22SHLIBSEXT=.so.s-nobuild 23# Most systems support profiled libraries. 24PFLIBEXT=_p.a 25# Install libraries executable. Some systems (e.g., RPM-based ones) require 26# this for package dependency generation, while others are ambivalent or will 27# strip it during packaging. 28INSTALL_SHLIB='$(INSTALL)' 29# Most systems use the same objects for shared libraries and dynamically 30# loadable objects. 31DYNOBJEXT='$(SHLIBEXT)' 32MAKE_DYNOBJ_COMMAND='$(MAKE_SHLIB_COMMAND)' 33DYNOBJ_EXPDEPS='$(SHLIB_EXPDEPS)' 34DYNOBJ_EXPFLAGS='$(SHLIB_EXPFLAGS)' 35# On some platforms we will instruct the linker to run named functions 36# (specified by LIBINITFUNC and LIBFINIFUNC in each library's Makefile.in) as 37# initializers or finalizers. 38use_linker_init_option=no 39use_linker_fini_option=no 40# Where possible we will prevent unloading of the libraries we build, in which 41# case we can skip running finalizers. Do not set use_linker_fini_option if 42# setting lib_unload_prevented. 43lib_unload_prevented=no 44 45STOBJEXT=.o 46SHOBJEXT=.so 47PFOBJEXT=.po 48# Default for systems w/o shared libraries 49CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)' 50CXX_LINK_STATIC='$(CXX) $(PROG_LIBPATH) $(CXXFLAGS) $(LDFLAGS)' 51# 52SHLIB_EXPORT_FILE_DEP='$(SHLIB_EXPORT_FILE)' 53# This will do for most platforms, and we'll substitute for 54# LDCOMBINE, SHLIB_EXPFLAGS, and LDCOMBINE_TAIL below. 55MAKE_SHLIB_COMMAND=x 56INIT_FINI_PREP=: 57 58# Default to static or shared libraries? 59default_static=no 60default_shared=yes 61 62# Set up architecture-specific variables. 63case $krb5_cv_host in 64# Note: "-Wl,+s" when building executables enables the use of the 65# SHLIB_PATH environment variable for finding shared libraries 66# in non-standard directories. If a non-standard search-path for 67# shared libraries is compiled into the executable (using 68# -Wl,+b,$KRB5_SHLIBDIR), then the order of "-Wl,+b,..." and "-Wl,+s" 69# on the commandline of the linker will determine which path 70# (compiled-in or SHLIB_PATH) will be searched first. 71# 72# +I initproc routine gets called at load and unload time for 73# shl_load calls, but appears to never be called for link-time 74# specified libraries. 75# +e sym exports symbol and supposedly prevents other symbols 76# from being exported, according to the man page, but the 77# latter bit doesn't actually seem to work 78# -O +dpv should display any routines eliminated as unused, but -b 79# apparently turns that off 80*-*-hpux*) 81 case $host_cpu in 82 hppa*) 83 SHLIBEXT=.sl 84 ;; 85 ia64*) 86 SHLIBEXT=.so 87 ;; 88 esac 89 SHLIBVEXT='.$(LIBMAJOR).$(LIBMINOR)' 90 SHLIBSEXT='.$(LIBMAJOR)' 91 RPATH_FLAG='-Wl,+b,' 92 if test "$ac_cv_c_compiler_gnu" = yes; then 93 PICFLAGS=-fPIC 94 SHLIB_RPATH_FLAGS='-Wl,+b,$(SHLIB_RDIRS)' 95 SHLIB_EXPFLAGS='-Wl,+s $(SHLIB_RPATH_FLAGS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)' 96 LDCOMBINE='gcc -fPIC -shared -Wl,+h,$(LIBPREFIX)$(LIBBASE)$(SHLIBSEXT) -Wl,-c,hpux.exports' 97 else 98 PICFLAGS=+z 99 SHLIB_RPATH_FLAGS='+b $(SHLIB_RDIRS)' 100 SHLIB_EXPFLAGS='$(SHLIB_RPATH_FLAGS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)' 101 LDCOMBINE='ld -b +h $(LIBPREFIX)$(LIBBASE)$(SHLIBSEXT) -c hpux.exports' 102 fi 103 MAKE_SHLIB_COMMAND="${LDCOMBINE} -o \$@ \$\$objlist \$(LDFLAGS) \$(SHLIB_EXPFLAGS) ${LDCOMBINE_TAIL}" 104 PROG_RPATH_FLAGS='$(RPATH_FLAG)$(PROG_RPATH)' 105 CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CFLAGS) $(LDFLAGS)' 106 CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)' 107 CXX_LINK_SHARED='$(CXX) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CXXFLAGS) $(LDFLAGS)' 108 CXX_LINK_STATIC='$(CXX) $(PROG_LIBPATH) $(CXXFLAGS) $(LDFLAGS)' 109 RUN_ENV='SHLIB_PATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`' 110 RUN_VARS='SHLIB_PATH' 111 SHLIB_EXPORT_FILE_DEP=hpux.exports 112 # Do *not* set use_linker_init_option=yes here, because in the 113 # case where the library is specified at program link time, the 114 # initialization function appears not to get called, only for 115 # shl_load. But for finalization functions, the shl_load case 116 # is the one we care about. 117 # 118 # Not setting use_linker_init_option here should cause compilation 119 # failures if the user tries to disable delayed initialization. 120 use_linker_fini_option=yes 121 ;; 122 123mips-*-netbsd*) 124 PICFLAGS=-fPIC 125 SHLIBVEXT='.so.$(LIBMAJOR).$(LIBMINOR)' 126 SHLIBSEXT='.so.$(LIBMAJOR)' 127 SHLIBEXT=.so 128 LDCOMBINE='ld -shared -soname $(LIBPREFIX)$(LIBBASE)$(SHLIBSEXT) -z nodelete' 129 SHLIB_RPATH_FLAGS='-R$(SHLIB_RDIRS)' 130 SHLIB_EXPFLAGS='$(SHLIB_RPATH_FLAGS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)' 131 RPATH_FLAG='-Wl,-rpath -Wl,' 132 PROG_RPATH_FLAGS='$(RPATH_FLAG)$(PROG_RPATH)' 133 CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CFLAGS) $(LDFLAGS)' 134 CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)' 135 CXX_LINK_SHARED='$(CXX) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CXXFLAGS) $(LDFLAGS)' 136 CXX_LINK_STATIC='$(CXX) $(PROG_LIBPATH) $(CXXFLAGS) $(LDFLAGS)' 137 RUN_ENV='LD_LIBRARY_PATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`' 138 RUN_VARS='LD_LIBRARY_PATH' 139 PROFFLAGS=-pg 140 lib_unload_prevented=yes 141 ;; 142 143*-*-netbsd*) 144 PICFLAGS=-fPIC 145 SHLIBVEXT='.so.$(LIBMAJOR).$(LIBMINOR)' 146 SHLIBEXT=.so 147 LDCOMBINE='$(CC) -shared -Wl,-z,nodelete' 148 SHLIB_RPATH_FLAGS='-R$(SHLIB_RDIRS)' 149 SHLIB_EXPFLAGS='$(SHLIB_RPATH_FLAGS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)' 150 RPATH_FLAG=-R 151 PROG_RPATH_FLAGS='$(RPATH_FLAG)$(PROG_RPATH)' 152 CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CFLAGS) $(LDFLAGS)' 153 CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)' 154 CXX_LINK_SHARED='$(CXX) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CXXFLAGS) $(LDFLAGS)' 155 CXX_LINK_STATIC='$(CXX) $(PROG_LIBPATH) $(CXXFLAGS) $(LDFLAGS)' 156 RUN_ENV='LD_LIBRARY_PATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`' 157 RUN_VARS='LD_LIBRARY_PATH' 158 PROFFLAGS=-pg 159 lib_unload_prevented=yes 160 ;; 161 162*-*-freebsd*) 163 case $krb5_cv_host in 164 sparc64-*) 165 PICFLAGS=-fPIC 166 ;; 167 *) 168 PICFLAGS=-fpic 169 ;; 170 esac 171 SHLIBVEXT='.so.$(LIBMAJOR)' 172 RPATH_FLAG='-Wl,--enable-new-dtags -Wl,-rpath -Wl,' 173 PROG_RPATH_FLAGS='$(RPATH_FLAG)$(PROG_RPATH)' 174 CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CFLAGS) $(LDFLAGS)' 175 CXX_LINK_SHARED='$(CXX) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CXXFLAGS) $(LDFLAGS)' 176 SHLIBEXT=.so 177 LDCOMBINE='ld -Bshareable -z nodelete' 178 SHLIB_RPATH_FLAGS='--enable-new-dtags -rpath $(SHLIB_RDIRS)' 179 SHLIB_EXPFLAGS='$(SHLIB_RPATH_FLAGS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)' 180 CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)' 181 CXX_LINK_STATIC='$(CXX) $(PROG_LIBPATH) $(CXXFLAGS) $(LDFLAGS)' 182 RUN_ENV='LD_LIBRARY_PATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`' 183 RUN_VARS='LD_LIBRARY_PATH' 184 PROFFLAGS=-pg 185 lib_unload_prevented=yes 186 ;; 187 188*-*-openbsd*) 189 PICFLAGS=-fpic 190 SHLIBVEXT='.so.$(LIBMAJOR).$(LIBMINOR)' 191 SHLIBEXT=.so 192 LDCOMBINE='ld -Bshareable -z nodelete' 193 SHLIB_RPATH_FLAGS='-R$(SHLIB_RDIRS)' 194 SHLIB_EXPFLAGS='$(SHLIB_RPATH_FLAGS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)' 195 RPATH_FLAG=-R 196 PROG_RPATH_FLAGS='$(RPATH_FLAG)$(PROG_RPATH)' 197 CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CFLAGS) $(LDFLAGS)' 198 CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)' 199 CXX_LINK_SHARED='$(CXX) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CXXFLAGS) $(LDFLAGS)' 200 CXX_LINK_STATIC='$(CXX) $(PROG_LIBPATH) $(CXXFLAGS) $(LDFLAGS)' 201 RUN_ENV='LD_LIBRARY_PATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`' 202 RUN_VARS='LD_LIBRARY_PATH' 203 PROFFLAGS=-pg 204 lib_unload_prevented=yes 205 ;; 206 207*-*-darwin* | *-*-rhapsody*) 208 SHLIBVEXT='.$(LIBMAJOR).$(LIBMINOR).dylib' 209 SHLIBSEXT='.$(LIBMAJOR).dylib' 210 SHLIB_EXPFLAGS='$(SHLIB_DIRS) $(SHLIB_EXPLIBS)' 211 SHLIBEXT=.dylib 212 DYNOBJEXT=.so 213 SHLIB_EXPORT_FILE_DEP=darwin.exports 214 LDCOMBINE='$(CC) -undefined error -dead_strip -dynamiclib -compatibility_version $(LIBMAJOR) -current_version $(LIBMAJOR).$(LIBMINOR) -install_name "$(KRB5_LIBDIR)/$(LIBPREFIX)$(LIBBASE)$(SHLIBVEXT)" -exported_symbols_list darwin.exports $(CFLAGS)' 215 # The -dylib_file option tells the linker where to find indirect dependent 216 # libraries, without adding them to the dependency list. We need this because 217 # the direct dependent libraries contain the pathname where the indirect 218 # dependent libraries will be installed (but haven't been yet). 219 LDCOMBINE_TAIL="" 220 for lib in libkrb5support.1.1.dylib libkadm5srv.5.1.dylib libkdb5.4.0.dylib; do 221 LDCOMBINE_TAIL="$LDCOMBINE_TAIL -dylib_file \"\$(KRB5_LIBDIR)/$lib\":\$(TOPLIBD)/$lib" 222 done 223 MAKE_DYNOBJ_COMMAND='$(CC) -bundle $(CFLAGS) $(LDFLAGS) -o $@ $$objlist $(DYNOBJ_EXPFLAGS) $(LDFLAGS) -exported_symbols_list darwin.exports'" ${LDCOMBINE_TAIL}" 224 CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) -dynamic $(CFLAGS) $(LDFLAGS)' 225 CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)' 226 CXX_LINK_SHARED='$(CXX) $(PROG_LIBPATH) -dynamic $(CXXFLAGS) $(LDFLAGS)' 227 CXX_LINK_STATIC='$(CXX) $(PROG_LIBPATH) $(CXXFLAGS) $(LDFLAGS)' 228 RUN_ENV='DYLD_LIBRARY_PATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`' 229 RUN_VARS='DYLD_LIBRARY_PATH' 230 ;; 231 232*-*-solaris*) 233 if test "$ac_cv_c_compiler_gnu" = yes; then 234 PICFLAGS=-fPIC 235 LDCOMBINE='$(CC) $(CFLAGS) -shared -Wl,-z,nodelete -h $(LIBPREFIX)$(LIBBASE)$(SHLIBSEXT)' 236 else 237 PICFLAGS=-KPIC 238 # Solaris cc doesn't default to stuffing the SONAME field... 239 LDCOMBINE='$(CC) $(CFLAGS) -dy -G -z text -z nodelete -h $(LIBPREFIX)$(LIBBASE)$(SHLIBSEXT) $$initfini' 240 # 241 case $krb5_cv_host in 242 *-*-solaris2.[1-7] | *-*-solaris2.[1-7].*) 243 # Did Solaris 7 and earlier have a linker option for this? 244 ;; 245 *) 246 INIT_FINI_PREP='initfini=; for f in . $(LIBINITFUNC); do if test $$f = .; then :; else initfini="$$initfini -Wl,-z,initarray=$${f}__auxinit"; fi; done;' 247 use_linker_init_option=yes 248 ;; 249 esac 250 fi 251 SHLIBVEXT='.so.$(LIBMAJOR).$(LIBMINOR)' 252 SHLIBSEXT='.so.$(LIBMAJOR)' 253 SHLIBEXT=.so 254 SHLIB_RPATH_FLAGS='-R$(SHLIB_RDIRS)' 255 SHLIB_EXPFLAGS='$(SHLIB_RPATH_FLAGS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)' 256 PROFFLAGS=-pg 257 RPATH_FLAG=-R 258 PROG_RPATH_FLAGS='$(RPATH_FLAG)$(PROG_RPATH)' 259 CC_LINK_SHARED='$(PURE) $(CC) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CFLAGS) $(LDFLAGS)' 260 CC_LINK_STATIC='$(PURE) $(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)' 261 CXX_LINK_SHARED='$(PURE) $(CXX) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CXXFLAGS) $(LDFLAGS)' 262 CXX_LINK_STATIC='$(PURE) $(CXX) $(PROG_LIBPATH) $(CXXFLAGS) $(LDFLAGS)' 263 RUN_ENV='LD_LIBRARY_PATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`' 264 RUN_VARS='LD_LIBRARY_PATH' 265 lib_unload_prevented=yes 266 ;; 267 268*-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu) 269 PICFLAGS=-fPIC 270 SHLIBVEXT='.so.$(LIBMAJOR).$(LIBMINOR)' 271 SHLIBSEXT='.so.$(LIBMAJOR)' 272 SHLIBEXT=.so 273 # Linux ld doesn't default to stuffing the SONAME field... 274 # Use objdump -x to examine the fields of the library 275 # UNDEF_CHECK is suppressed by --enable-asan 276 LDCOMBINE='$(CC) -shared -fPIC -Wl,-z,nodelete -Wl,-h,$(LIBPREFIX)$(LIBBASE)$(SHLIBSEXT) $(UNDEF_CHECK)' 277 UNDEF_CHECK='-Wl,--no-undefined' 278 # $(EXPORT_CHECK) runs export-check.pl when in maintainer mode. 279 LDCOMBINE_TAIL='-Wl,--version-script binutils.versions $(EXPORT_CHECK)' 280 SHLIB_EXPORT_FILE_DEP=binutils.versions 281 RPATH_FLAG='-Wl,--enable-new-dtags -Wl,-rpath -Wl,' 282 # For cases where we do have dependencies on other libraries 283 # built in this tree... 284 SHLIB_RPATH_FLAGS='$(RPATH_FLAG)$(SHLIB_RDIRS)' 285 SHLIB_EXPFLAGS='$(SHLIB_RPATH_FLAGS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)' 286 PROFFLAGS=-pg 287 PROG_RPATH_FLAGS='$(RPATH_FLAG)$(PROG_RPATH)' 288 CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CFLAGS) $(LDFLAGS)' 289 CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)' 290 CXX_LINK_SHARED='$(CXX) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CXXFLAGS) $(LDFLAGS)' 291 CXX_LINK_STATIC='$(CXX) $(PROG_LIBPATH) $(CXXFLAGS) $(LDFLAGS)' 292 RUN_ENV='LD_LIBRARY_PATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`' 293 RUN_VARS='LD_LIBRARY_PATH' 294 lib_unload_prevented=yes 295 296 ## old version: 297 # Linux libc does weird stuff at shlib link time, must be 298 # explicitly listed here. This also makes it get used even 299 # for the libraries marked as not having any dependencies; while 300 # that's not strictly correct, the resulting behavior -- not adding 301 # extra -R directories -- is still what we want. 302 #LDCOMBINE='ld -shared -h $(LIBPREFIX)$(LIBBASE)$(SHLIBSEXT)' 303 #LDCOMBINE_TAIL="-lc" 304 #SHLIB_EXPFLAGS='-R$(SHLIB_RDIRS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)' 305 306 ;; 307 308*-*-aix*) 309 SHLIBVEXT='.so.$(LIBMAJOR).$(LIBMINOR)' 310 SHLIBEXT=.so 311 # AIX doesn't need separate PIC objects 312 SHOBJEXT=.o 313 SHLIB_EXPFLAGS=' $(SHLIB_DIRS) $(SHLIB_EXPLIBS)' 314 PROFFLAGS=-pg 315 if test "$ac_cv_c_compiler_gnu" = "yes" ; then 316 wl_prefix=-Wl, 317 RPATH_FLAG='-Wl,-blibpath:' 318 LDCOMBINE='$(CC) -shared -v -o $@ $$objlist -nostartfiles -Xlinker -bgcbypass:1 -Xlinker -bfilelist -Xlinker -bM:SRE -Xlinker -bE:$(SHLIB_EXPORT_FILE) -Xlinker -bernotok -Xlinker -brtl $(SHLIB_EXPFLAGS) $(LDFLAGS) -lc $$initfini' 319 else 320 wl_prefix= 321 RPATH_FLAG=-blibpath: 322 LDCOMBINE='/bin/ld -o $@ $$objlist -H512 -T512 -bnoentry -bgcbypass:1 -bnodelcsect -bfilelist -bM:SRE -bE:$(SHLIB_EXPORT_FILE) -bernotok -brtl $(SHLIB_EXPFLAGS) $(LDFLAGS) -lc $$initfini' 323 fi 324 # Assume initialization always delayed. 325 INIT_FINI_PREP="wl=${wl_prefix}; "'i=1; initfini=; for f in . $(LIBFINIFUNC); do if test $$f != .; then initfini="$$initfini $${wl}-binitfini::$$f:$$i"; else :; fi; i=`expr $$i + 1`; done' 326 use_linker_fini_option=yes 327 MAKE_SHLIB_COMMAND="${INIT_FINI_PREP} && ${LDCOMBINE}" 328 RPATH_TAIL=:/usr/lib:/lib 329 PROG_RPATH_FLAGS='$(RPATH_FLAG)$(PROG_RPATH):'"$RPATH_TAIL" 330 CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CFLAGS) $(LDFLAGS)' 331 CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)' 332 CXX_LINK_SHARED='$(CXX) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CXXFLAGS) $(LDFLAGS)' 333 CXX_LINK_STATIC='$(CXX) $(PROG_LIBPATH) $(CXXFLAGS) $(LDFLAGS)' 334 # $(PROG_RPATH) is here to handle things like a shared tcl library 335 RUN_ENV='LIBPATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`:$(PROG_RPATH):/usr/lib:/usr/local/lib' 336 RUN_VARS='LIBPATH' 337 ;; 338esac 339 340if test "${MAKE_SHLIB_COMMAND}" = "x" ; then 341 if test "${INIT_FINI_PREP}" != ":"; then 342 MAKE_SHLIB_COMMAND="${INIT_FINI_PREP} && ${LDCOMBINE} -o \$@ \$\$objlist \$(SHLIB_EXPFLAGS) \$(LDFLAGS) ${LDCOMBINE_TAIL}" 343 else 344 MAKE_SHLIB_COMMAND="${LDCOMBINE} -o \$@ \$\$objlist \$(SHLIB_EXPFLAGS) \$(LDFLAGS) ${LDCOMBINE_TAIL}" 345 fi 346fi 347