📄 ltcf-cxx.sh
字号:
ac_cv_prog_cc_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_cv_prog_cc_static='-Bstatic' else lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. ac_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; cygwin* | mingw* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). ac_cv_prog_cc_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_cv_prog_cc_pic='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all ac_cv_prog_cc_pic= ;; sysv4*MP*) if test -d /usr/nec; then ac_cv_prog_cc_pic=-Kconform_pic fi ;; *) ac_cv_prog_cc_pic='-fPIC' ;; esacelse case $host_os in aix4* | aix5*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_cv_prog_cc_static='-Bstatic' else lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68) # Green Hills C++ Compiler # ac_cv_prog_cc_static="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; dgux*) case $cc_basename in ec++) ac_cv_prog_cc_pic='-KPIC' ;; ghcx) # Green Hills C++ Compiler ac_cv_prog_cc_pic='-pic' ;; *) ;; esac ;; freebsd*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC) ac_cv_prog_cc_wl='-Wl,' ac_cv_prog_cc_static="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" ac_cv_prog_cc_pic='+Z' ;; aCC) ac_cv_prog_cc_wl='-Wl,' ac_cv_prog_cc_static="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" ac_cv_prog_cc_pic='+Z' ;; *) ;; esac ;; irix5* | irix6*) case $cc_basename in CC) ac_cv_prog_cc_wl='-Wl,' ac_cv_prog_cc_static='-non_shared' ac_cv_prog_cc_pic='-KPIC' ;; *) ;; esac ;; linux*) case $cc_basename in KCC) # KAI C++ Compiler ac_cv_prog_cc_wl='--backend -Wl,' ac_cv_prog_cc_pic='-fPIC' ;; cxx) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. ac_cv_prog_cc_pic= ac_cv_prog_cc_static='-non_shared' ;; *) ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx) ac_cv_prog_cc_pic='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; osf3* | osf4* | osf5*) case $cc_basename in KCC) ac_cv_prog_cc_wl='--backend -Wl,' ;; RCC) # Rational C++ 2.4.1 ac_cv_prog_cc_pic='-pic' ;; cxx) # Digital/Compaq C++ ac_cv_prog_cc_wl='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. ac_cv_prog_cc_pic= ac_cv_prog_cc_static='-non_shared' ;; *) ;; esac ;; psos*) ;; sco*) case $cc_basename in CC) ac_cv_prog_cc_pic='-fPIC' ;; *) ;; esac ;; solaris*) case $cc_basename in CC) # Sun C++ 4.2, 5.x and Centerline C++ ac_cv_prog_cc_pic='-KPIC' ac_cv_prog_cc_static='-Bstatic' ac_cv_prog_cc_wl='-Qoption ld ' ;; gcx) # Green Hills C++ Compiler ac_cv_prog_cc_pic='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC) # Sun C++ 4.x ac_cv_prog_cc_pic='-pic' ac_cv_prog_cc_static='-Bstatic' ;; lcc) # Lucid ac_cv_prog_cc_pic='-pic' ;; *) ;; esac ;; tandem*) case $cc_basename in NCC) # NonStop-UX NCC 3.20 ac_cv_prog_cc_pic='-KPIC' ;; *) ;; esac ;; unixware*) ;; vxworks*) ;; *) ac_cv_prog_cc_can_build_shared=no ;; esacficase "$host_os" in # Platforms which do not suport PIC and -DPIC is meaningless # on them: *djgpp*) ac_cv_prog_cc_pic= ;; *) ac_cv_prog_cc_pic="$ac_cv_prog_cc_pic -DPIC" ;;esac# Figure out "hidden" C++ library dependencies from verbose# compiler output whening linking a shared library.cat > conftest.$ac_ext <<EOFclass Foo{public: Foo (void) { a = 0; }private: int a;};EOFif (eval $ac_compile) 2>&5; then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval $output_verbose_link_cmds`; do case $p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" \ || test $p = "-R"; then prev=$p continue else prev= fi if test "$pre_test_object_deps_done" = no; then case $p in -L* | -R*) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$compiler_lib_search_path"; then compiler_lib_search_path="${prev}${p}" else compiler_lib_search_path="${compiler_lib_search_path} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else add="${prev}${p}" if test "x$remove_lgcc" = "xyes" ; then case "$add" in -lgcc ) add="" ;; esac fi if test -n "$add" ; then if test -z "$postdeps"; then postdeps="$add" else postdeps="${postdeps} ${add}" fi fi fi ;; *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$predep_objects"; then predep_objects="$p" else predep_objects="$predep_objects $p" fi else if test -z "$postdep_objects"; then postdep_objects="$p" else postdep_objects="$postdep_objects $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.outelse echo "ltcf-cxx.sh: error: problem compiling test program"fi$rm -f confest.$objextif test "x$skip_need_lc_check" = "xyes" ; then need_lc=noelse case " $postdeps " in *" -lc "*) need_lc=no ;; *) need_lc=yes ;; esacfi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -