1195595Smp#! /bin/sh 2195595Smp# Output a system dependent set of variables, describing how to set the 3195595Smp# run time search path of shared libraries in an executable. 4195595Smp# 5195595Smp# Copyright 1996-2005 Free Software Foundation, Inc. 6195595Smp# Taken from GNU libtool, 2001 7195595Smp# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 8195595Smp# 9195595Smp# This file is free software; the Free Software Foundation gives 10195595Smp# unlimited permission to copy and/or distribute it, with or without 11195595Smp# modifications, as long as this notice is preserved. 12195595Smp# 13195595Smp# The first argument passed to this file is the canonical host specification, 14195595Smp# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 15195595Smp# or 16195595Smp# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 17195595Smp# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld 18195595Smp# should be set by the caller. 19195595Smp# 20195595Smp# The set of defined variables is at the end of this script. 21195595Smp 22195595Smp# Known limitations: 23195595Smp# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer 24195595Smp# than 256 bytes, otherwise the compiler driver will dump core. The only 25195595Smp# known workaround is to choose shorter directory names for the build 26195595Smp# directory and/or the installation directory. 27195595Smp 28195595Smp# All known linkers require a `.a' archive for static linking (except M$VC, 29195595Smp# which needs '.lib'). 30195595Smplibext=a 31195595Smpshrext=.so 32195595Smp 33195595Smphost="$1" 34195595Smphost_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` 35195595Smphost_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` 36195595Smphost_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` 37195595Smp 38195595Smpcc_basename=`echo "$CC" | sed -e 's%^.*/%%'` 39195595Smp 40195595Smp# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. 41195595Smp 42195595Smpwl= 43195595Smpif test "$GCC" = yes; then 44195595Smp wl='-Wl,' 45195595Smpelse 46195595Smp case "$host_os" in 47195595Smp aix*) 48195595Smp wl='-Wl,' 49195595Smp ;; 50195595Smp darwin*) 51195595Smp case "$cc_basename" in 52195595Smp xlc*) 53195595Smp wl='-Wl,' 54195595Smp ;; 55195595Smp esac 56195595Smp ;; 57195595Smp mingw* | pw32* | os2*) 58195595Smp ;; 59195595Smp hpux9* | hpux10* | hpux11*) 60195595Smp wl='-Wl,' 61195595Smp ;; 62195595Smp irix5* | irix6* | nonstopux*) 63195595Smp wl='-Wl,' 64195595Smp ;; 65195595Smp newsos6) 66195595Smp ;; 67195595Smp linux*) 68195595Smp case $cc_basename in 69195595Smp icc* | ecc*) 70195595Smp wl='-Wl,' 71195595Smp ;; 72195595Smp pgcc | pgf77 | pgf90) 73195595Smp wl='-Wl,' 74195595Smp ;; 75195595Smp ccc*) 76195595Smp wl='-Wl,' 77195595Smp ;; 78195595Smp como) 79195595Smp wl='-lopt=' 80195595Smp ;; 81195595Smp esac 82195595Smp ;; 83195595Smp osf3* | osf4* | osf5*) 84195595Smp wl='-Wl,' 85195595Smp ;; 86195595Smp sco3.2v5*) 87195595Smp ;; 88195595Smp solaris*) 89195595Smp wl='-Wl,' 90195595Smp ;; 91195595Smp sunos4*) 92195595Smp wl='-Qoption ld ' 93195595Smp ;; 94195595Smp sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 95195595Smp wl='-Wl,' 96195595Smp ;; 97195595Smp sysv4*MP*) 98195595Smp ;; 99195595Smp unicos*) 100195595Smp wl='-Wl,' 101195595Smp ;; 102195595Smp uts4*) 103195595Smp ;; 104195595Smp esac 105195595Smpfi 106195595Smp 107195595Smp# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. 108195595Smp 109195595Smphardcode_libdir_flag_spec= 110195595Smphardcode_libdir_separator= 111195595Smphardcode_direct=no 112195595Smphardcode_minus_L=no 113195595Smp 114195595Smpcase "$host_os" in 115195595Smp cygwin* | mingw* | pw32*) 116195595Smp # FIXME: the MSVC++ port hasn't been tested in a loooong time 117195595Smp # When not using gcc, we currently assume that we are using 118195595Smp # Microsoft Visual C++. 119195595Smp if test "$GCC" != yes; then 120195595Smp with_gnu_ld=no 121195595Smp fi 122195595Smp ;; 123195595Smp openbsd*) 124195595Smp with_gnu_ld=no 125195595Smp ;; 126195595Smpesac 127195595Smp 128195595Smpld_shlibs=yes 129195595Smpif test "$with_gnu_ld" = yes; then 130195595Smp case "$host_os" in 131195595Smp aix3* | aix4* | aix5*) 132195595Smp # On AIX/PPC, the GNU linker is very broken 133195595Smp if test "$host_cpu" != ia64; then 134195595Smp ld_shlibs=no 135195595Smp fi 136195595Smp ;; 137195595Smp amigaos*) 138195595Smp hardcode_libdir_flag_spec='-L$libdir' 139195595Smp hardcode_minus_L=yes 140195595Smp # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports 141195595Smp # that the semantics of dynamic libraries on AmigaOS, at least up 142195595Smp # to version 4, is to share data among multiple programs linked 143195595Smp # with the same dynamic library. Since this doesn't match the 144195595Smp # behavior of shared libraries on other platforms, we cannot use 145195595Smp # them. 146195595Smp ld_shlibs=no 147195595Smp ;; 148195595Smp beos*) 149195595Smp if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then 150195595Smp : 151195595Smp else 152195595Smp ld_shlibs=no 153195595Smp fi 154195595Smp ;; 155195595Smp cygwin* | mingw* | pw32*) 156195595Smp # hardcode_libdir_flag_spec is actually meaningless, as there is 157195595Smp # no search path for DLLs. 158195595Smp hardcode_libdir_flag_spec='-L$libdir' 159195595Smp if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then 160195595Smp : 161195595Smp else 162195595Smp ld_shlibs=no 163195595Smp fi 164195595Smp ;; 165195595Smp netbsd*) 166195595Smp ;; 167195595Smp solaris* | sysv5*) 168195595Smp if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then 169195595Smp ld_shlibs=no 170195595Smp elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then 171195595Smp : 172195595Smp else 173195595Smp ld_shlibs=no 174195595Smp fi 175195595Smp ;; 176195595Smp sunos4*) 177195595Smp hardcode_direct=yes 178195595Smp ;; 179195595Smp linux*) 180195595Smp if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then 181195595Smp : 182195595Smp else 183195595Smp ld_shlibs=no 184195595Smp fi 185195595Smp ;; 186195595Smp *) 187195595Smp if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then 188195595Smp : 189195595Smp else 190195595Smp ld_shlibs=no 191195595Smp fi 192195595Smp ;; 193195595Smp esac 194195595Smp if test "$ld_shlibs" = yes; then 195195595Smp # Unlike libtool, we use -rpath here, not --rpath, since the documented 196195595Smp # option of GNU ld is called -rpath, not --rpath. 197195595Smp hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' 198195595Smp fi 199195595Smpelse 200195595Smp case "$host_os" in 201195595Smp aix3*) 202195595Smp # Note: this linker hardcodes the directories in LIBPATH if there 203195595Smp # are no directories specified by -L. 204195595Smp hardcode_minus_L=yes 205195595Smp if test "$GCC" = yes; then 206195595Smp # Neither direct hardcoding nor static linking is supported with a 207195595Smp # broken collect2. 208195595Smp hardcode_direct=unsupported 209195595Smp fi 210195595Smp ;; 211195595Smp aix4* | aix5*) 212195595Smp if test "$host_cpu" = ia64; then 213195595Smp # On IA64, the linker does run time linking by default, so we don't 214195595Smp # have to do anything special. 215195595Smp aix_use_runtimelinking=no 216195595Smp else 217195595Smp aix_use_runtimelinking=no 218195595Smp # Test if we are trying to use run time linking or normal 219195595Smp # AIX style linking. If -brtl is somewhere in LDFLAGS, we 220195595Smp # need to do runtime linking. 221195595Smp case $host_os in aix4.[23]|aix4.[23].*|aix5*) 222195595Smp for ld_flag in $LDFLAGS; do 223195595Smp if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then 224195595Smp aix_use_runtimelinking=yes 225195595Smp break 226195595Smp fi 227195595Smp done 228195595Smp esac 229195595Smp fi 230195595Smp hardcode_direct=yes 231195595Smp hardcode_libdir_separator=':' 232195595Smp if test "$GCC" = yes; then 233195595Smp case $host_os in aix4.[012]|aix4.[012].*) 234195595Smp collect2name=`${CC} -print-prog-name=collect2` 235195595Smp if test -f "$collect2name" && \ 236195595Smp strings "$collect2name" | grep resolve_lib_name >/dev/null 237195595Smp then 238195595Smp # We have reworked collect2 239195595Smp hardcode_direct=yes 240195595Smp else 241195595Smp # We have old collect2 242195595Smp hardcode_direct=unsupported 243195595Smp hardcode_minus_L=yes 244195595Smp hardcode_libdir_flag_spec='-L$libdir' 245195595Smp hardcode_libdir_separator= 246195595Smp fi 247195595Smp esac 248195595Smp fi 249195595Smp # Begin _LT_AC_SYS_LIBPATH_AIX. 250195595Smp echo 'int main () { return 0; }' > conftest.c 251195595Smp ${CC} ${LDFLAGS} conftest.c -o conftest 252195595Smp aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } 253195595Smp}'` 254195595Smp if test -z "$aix_libpath"; then 255195595Smp aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } 256195595Smp}'` 257195595Smp fi 258195595Smp if test -z "$aix_libpath"; then 259195595Smp aix_libpath="/usr/lib:/lib" 260195595Smp fi 261195595Smp rm -f conftest.c conftest 262195595Smp # End _LT_AC_SYS_LIBPATH_AIX. 263195595Smp if test "$aix_use_runtimelinking" = yes; then 264195595Smp hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" 265195595Smp else 266195595Smp if test "$host_cpu" = ia64; then 267195595Smp hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' 268195595Smp else 269195595Smp hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" 270195595Smp fi 271195595Smp fi 272195595Smp ;; 273195595Smp amigaos*) 274195595Smp hardcode_libdir_flag_spec='-L$libdir' 275195595Smp hardcode_minus_L=yes 276195595Smp # see comment about different semantics on the GNU ld section 277195595Smp ld_shlibs=no 278195595Smp ;; 279195595Smp bsdi[45]*) 280195595Smp ;; 281195595Smp cygwin* | mingw* | pw32*) 282195595Smp # When not using gcc, we currently assume that we are using 283195595Smp # Microsoft Visual C++. 284195595Smp # hardcode_libdir_flag_spec is actually meaningless, as there is 285195595Smp # no search path for DLLs. 286195595Smp hardcode_libdir_flag_spec=' ' 287195595Smp libext=lib 288195595Smp ;; 289195595Smp darwin* | rhapsody*) 290195595Smp hardcode_direct=no 291195595Smp if test "$GCC" = yes ; then 292195595Smp : 293195595Smp else 294195595Smp case "$cc_basename" in 295195595Smp xlc*) 296195595Smp ;; 297195595Smp *) 298195595Smp ld_shlibs=no 299195595Smp ;; 300195595Smp esac 301195595Smp fi 302195595Smp ;; 303195595Smp dgux*) 304195595Smp hardcode_libdir_flag_spec='-L$libdir' 305195595Smp ;; 306195595Smp freebsd1*) 307195595Smp ld_shlibs=no 308195595Smp ;; 309195595Smp freebsd2.2*) 310195595Smp hardcode_libdir_flag_spec='-R$libdir' 311195595Smp hardcode_direct=yes 312195595Smp ;; 313195595Smp freebsd2*) 314195595Smp hardcode_direct=yes 315195595Smp hardcode_minus_L=yes 316195595Smp ;; 317195595Smp freebsd* | kfreebsd*-gnu | dragonfly*) 318195595Smp hardcode_libdir_flag_spec='-R$libdir' 319195595Smp hardcode_direct=yes 320195595Smp ;; 321195595Smp hpux9*) 322195595Smp hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' 323195595Smp hardcode_libdir_separator=: 324195595Smp hardcode_direct=yes 325195595Smp # hardcode_minus_L: Not really in the search PATH, 326195595Smp # but as the default location of the library. 327195595Smp hardcode_minus_L=yes 328195595Smp ;; 329195595Smp hpux10* | hpux11*) 330195595Smp if test "$with_gnu_ld" = no; then 331195595Smp case "$host_cpu" in 332195595Smp hppa*64*) 333195595Smp hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' 334195595Smp hardcode_libdir_separator=: 335195595Smp hardcode_direct=no 336195595Smp ;; 337195595Smp ia64*) 338195595Smp hardcode_libdir_flag_spec='-L$libdir' 339195595Smp hardcode_direct=no 340195595Smp # hardcode_minus_L: Not really in the search PATH, 341195595Smp # but as the default location of the library. 342195595Smp hardcode_minus_L=yes 343195595Smp ;; 344195595Smp *) 345195595Smp hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' 346195595Smp hardcode_libdir_separator=: 347195595Smp hardcode_direct=yes 348195595Smp # hardcode_minus_L: Not really in the search PATH, 349195595Smp # but as the default location of the library. 350195595Smp hardcode_minus_L=yes 351195595Smp ;; 352195595Smp esac 353195595Smp fi 354195595Smp ;; 355195595Smp irix5* | irix6* | nonstopux*) 356195595Smp hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' 357195595Smp hardcode_libdir_separator=: 358195595Smp ;; 359195595Smp netbsd*) 360195595Smp hardcode_libdir_flag_spec='-R$libdir' 361195595Smp hardcode_direct=yes 362195595Smp ;; 363195595Smp newsos6) 364195595Smp hardcode_direct=yes 365195595Smp hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' 366195595Smp hardcode_libdir_separator=: 367195595Smp ;; 368195595Smp openbsd*) 369195595Smp hardcode_direct=yes 370195595Smp if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 371195595Smp hardcode_libdir_flag_spec='${wl}-rpath,$libdir' 372195595Smp else 373195595Smp case "$host_os" in 374195595Smp openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) 375195595Smp hardcode_libdir_flag_spec='-R$libdir' 376195595Smp ;; 377195595Smp *) 378195595Smp hardcode_libdir_flag_spec='${wl}-rpath,$libdir' 379195595Smp ;; 380195595Smp esac 381195595Smp fi 382195595Smp ;; 383195595Smp os2*) 384195595Smp hardcode_libdir_flag_spec='-L$libdir' 385195595Smp hardcode_minus_L=yes 386195595Smp ;; 387195595Smp osf3*) 388195595Smp hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' 389195595Smp hardcode_libdir_separator=: 390195595Smp ;; 391195595Smp osf4* | osf5*) 392195595Smp if test "$GCC" = yes; then 393195595Smp hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' 394195595Smp else 395195595Smp # Both cc and cxx compiler support -rpath directly 396195595Smp hardcode_libdir_flag_spec='-rpath $libdir' 397195595Smp fi 398195595Smp hardcode_libdir_separator=: 399195595Smp ;; 400195595Smp sco3.2v5*) 401195595Smp ;; 402195595Smp solaris*) 403195595Smp hardcode_libdir_flag_spec='-R$libdir' 404195595Smp ;; 405195595Smp sunos4*) 406195595Smp hardcode_libdir_flag_spec='-L$libdir' 407195595Smp hardcode_direct=yes 408195595Smp hardcode_minus_L=yes 409195595Smp ;; 410195595Smp sysv4) 411195595Smp case $host_vendor in 412195595Smp sni) 413195595Smp hardcode_direct=yes # is this really true??? 414195595Smp ;; 415195595Smp siemens) 416195595Smp hardcode_direct=no 417195595Smp ;; 418195595Smp motorola) 419195595Smp hardcode_direct=no #Motorola manual says yes, but my tests say they lie 420195595Smp ;; 421195595Smp esac 422195595Smp ;; 423195595Smp sysv4.3*) 424195595Smp ;; 425195595Smp sysv4*MP*) 426195595Smp if test -d /usr/nec; then 427195595Smp ld_shlibs=yes 428195595Smp fi 429195595Smp ;; 430195595Smp sysv4.2uw2*) 431195595Smp hardcode_direct=yes 432195595Smp hardcode_minus_L=no 433195595Smp ;; 434195595Smp sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) 435195595Smp ;; 436195595Smp sysv5*) 437195595Smp hardcode_libdir_flag_spec= 438195595Smp ;; 439195595Smp uts4*) 440195595Smp hardcode_libdir_flag_spec='-L$libdir' 441195595Smp ;; 442195595Smp *) 443195595Smp ld_shlibs=no 444195595Smp ;; 445195595Smp esac 446195595Smpfi 447195595Smp 448195595Smp# Check dynamic linker characteristics 449195595Smp# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. 450195595Smplibname_spec='lib$name' 451195595Smpcase "$host_os" in 452195595Smp aix3*) 453195595Smp ;; 454195595Smp aix4* | aix5*) 455195595Smp ;; 456195595Smp amigaos*) 457195595Smp ;; 458195595Smp beos*) 459195595Smp ;; 460195595Smp bsdi[45]*) 461195595Smp ;; 462195595Smp cygwin* | mingw* | pw32*) 463195595Smp shrext=.dll 464195595Smp ;; 465195595Smp darwin* | rhapsody*) 466195595Smp shrext=.dylib 467195595Smp ;; 468195595Smp dgux*) 469195595Smp ;; 470195595Smp freebsd1*) 471195595Smp ;; 472195595Smp kfreebsd*-gnu) 473195595Smp ;; 474195595Smp freebsd*) 475195595Smp ;; 476195595Smp gnu*) 477195595Smp ;; 478195595Smp hpux9* | hpux10* | hpux11*) 479195595Smp case "$host_cpu" in 480195595Smp ia64*) 481195595Smp shrext=.so 482195595Smp ;; 483195595Smp hppa*64*) 484195595Smp shrext=.sl 485195595Smp ;; 486195595Smp *) 487195595Smp shrext=.sl 488195595Smp ;; 489195595Smp esac 490195595Smp ;; 491195595Smp irix5* | irix6* | nonstopux*) 492195595Smp case "$host_os" in 493195595Smp irix5* | nonstopux*) 494195595Smp libsuff= shlibsuff= 495195595Smp ;; 496195595Smp *) 497195595Smp case $LD in 498195595Smp *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; 499195595Smp *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; 500195595Smp *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; 501195595Smp *) libsuff= shlibsuff= ;; 502195595Smp esac 503195595Smp ;; 504195595Smp esac 505195595Smp ;; 506195595Smp linux*oldld* | linux*aout* | linux*coff*) 507195595Smp ;; 508195595Smp linux*) 509195595Smp ;; 510195595Smp knetbsd*-gnu) 511195595Smp ;; 512195595Smp netbsd*) 513195595Smp ;; 514195595Smp newsos6) 515195595Smp ;; 516195595Smp nto-qnx*) 517195595Smp ;; 518195595Smp openbsd*) 519195595Smp ;; 520195595Smp os2*) 521195595Smp libname_spec='$name' 522195595Smp shrext=.dll 523195595Smp ;; 524195595Smp osf3* | osf4* | osf5*) 525195595Smp ;; 526195595Smp sco3.2v5*) 527195595Smp ;; 528195595Smp solaris*) 529195595Smp ;; 530195595Smp sunos4*) 531195595Smp ;; 532195595Smp sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 533195595Smp ;; 534195595Smp sysv4*MP*) 535195595Smp ;; 536195595Smp uts4*) 537195595Smp ;; 538195595Smpesac 539195595Smp 540195595Smpsed_quote_subst='s/\(["`$\\]\)/\\\1/g' 541195595Smpescaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` 542195595Smpshlibext=`echo "$shrext" | sed -e 's,^\.,,'` 543195595Smpescaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` 544195595Smp 545195595SmpLC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF 546195595Smp 547195595Smp# How to pass a linker flag through the compiler. 548195595Smpwl="$escaped_wl" 549195595Smp 550195595Smp# Static library suffix (normally "a"). 551195595Smplibext="$libext" 552195595Smp 553195595Smp# Shared library suffix (normally "so"). 554195595Smpshlibext="$shlibext" 555195595Smp 556195595Smp# Flag to hardcode \$libdir into a binary during linking. 557195595Smp# This must work even if \$libdir does not exist. 558195595Smphardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec" 559195595Smp 560195595Smp# Whether we need a single -rpath flag with a separated argument. 561195595Smphardcode_libdir_separator="$hardcode_libdir_separator" 562195595Smp 563195595Smp# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the 564195595Smp# resulting binary. 565195595Smphardcode_direct="$hardcode_direct" 566195595Smp 567195595Smp# Set to yes if using the -LDIR flag during linking hardcodes DIR into the 568195595Smp# resulting binary. 569195595Smphardcode_minus_L="$hardcode_minus_L" 570195595Smp 571195595SmpEOF 572