📄 configure.in
字号:
donefi# Produce a warning message for the subdirs we can't configure.# This isn't especially interesting in the Cygnus tree, but in the individual# FSF releases, it's important to let people know when their machine isn't# supported by the one or two programs in a package.if [ -n "${notsupp}" ] && [ -z "${norecursion}" ]; then # If $appdirs is non-empty, at least one of those directories must still # be configured, or we error out. (E.g., if the gas release supports a # specified target in some subdirs but not the gas subdir, we shouldn't # pretend that all is well.) if [ -n "$appdirs" ]; then for dir in $appdirs ; do if [ -r $dir/Makefile.in ]; then if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then appdirs="" break fi if echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then appdirs="" break fi fi done if [ -n "$appdirs" ]; then echo "*** This configuration is not supported by this package." 1>&2 exit 1 fi fi # Okay, some application will build, or we don't care to check. Still # notify of subdirs not getting built. echo "*** This configuration is not supported in the following subdirectories:" 1>&2 echo " ${notsupp}" 1>&2 echo " (Any other directories should still work fine.)" 1>&2fi# Set with_gnu_as and with_gnu_ld as appropriate.## This is done by determining whether or not the appropriate directory# is available, and by checking whether or not specific configurations# have requested that this magic not happen.# # The command line options always override the explicit settings in # configure.in, and the settings in configure.in override this magic.## If the default for a toolchain is to use GNU as and ld, and you don't # want to do that, then you should use the --without-gnu-as and# --without-gnu-ld options for the configure script.if [ x${use_gnu_as} = x ] ; then if [ x${with_gnu_as} != xno ] && echo " ${configdirs} " | grep " ${gasdir} " > /dev/null 2>&1 && [ -d ${srcdir}/${gasdir} ] ; then with_gnu_as=yes withoptions="$withoptions --with-gnu-as" fifiif [ x${use_gnu_ld} = x ] ; then if [ x${with_gnu_ld} != xno ] && echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 && [ -d ${srcdir}/ld ] ; then with_gnu_ld=yes withoptions="$withoptions --with-gnu-ld" fifi# If using newlib, add --with-newlib to the withoptions so that gcc/configure# can detect this case.if [ x${with_newlib} != xno ] && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 && [ -d ${srcdir}/newlib ] ; then with_newlib=yes withoptions="$withoptions --with-newlib"fiif [ x${shared} = xyes ]; then case "${target}" in hppa*) target_makefile_frag="${target_makefile_frag} config/mt-papic" ;; i[3456]86-*) target_makefile_frag="${target_makefile_frag} config/mt-x86pic" ;; ia64-*) target_makefile_frag="${target_makefile_frag} config/mt-ia64pic" ;; powerpc*-*-aix*) # We don't want -fPIC on AIX. ;; powerpc*-*) target_makefile_frag="${target_makefile_frag} config/mt-ppcpic" ;; alpha*-*-linux*) target_makefile_frag="${target_makefile_frag} config/mt-elfalphapic" ;; *) if test -f ${srcdir}/config/mt-${target_cpu}pic; then target_makefile_frag="${target_makefile_frag} config/mt-${target_cpu}pic" fi ;; esacfirm -f mt-fragif [ -n "${target_makefile_frag}" ] ; then for f in ${target_makefile_frag} do cat ${srcdir}/$f >> mt-frag done target_makefile_frag=mt-fragfi# post-target:# Make sure that the compiler is able to generate an executable. If it# can't, we are probably in trouble. We don't care whether we can run the# executable--we might be using a cross compiler--we only care whether it# can be created. At this point the main configure script has set CC.echo "int main () { return 0; }" > conftest.c${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.cif [ $? = 0 ] && [ -s conftest -o -s conftest.exe ]; then :else echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed." echo 1>&2 "*** You must set the environment variable CC to a working compiler." rm -f conftest* exit 1firm -f conftest*# The Solaris /usr/ucb/cc compiler does not appear to work.case "${host}" in sparc-sun-solaris2*) CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`" if [ "`/usr/bin/which $CCBASE`" = "/usr/ucb/cc" ] ; then could_use= [ -d /opt/SUNWspro/bin ] && could_use="/opt/SUNWspro/bin" if [ -d /opt/cygnus/bin ] ; then if [ "$could_use" = "" ] ; then could_use="/opt/cygnus/bin" else could_use="$could_use or /opt/cygnus/bin" fi fi if [ "$could_use" = "" ] ; then echo "Warning: compilation may fail because you're using" echo "/usr/ucb/cc. You should change your PATH or CC " echo "variable and rerun configure." else echo "Warning: compilation may fail because you're using" echo "/usr/ucb/cc, when you should use the C compiler from" echo "$could_use. You should change your" echo "PATH or CC variable and rerun configure." fi fi ;;esac# If --enable-shared was set, we must set LD_LIBRARY_PATH so that the# binutils tools will find libbfd.so.if [ "${shared}" = "yes" ]; then sed -e 's/^SET_LIB_PATH[ ]*=.*$/SET_LIB_PATH = $(REALLY_SET_LIB_PATH)/' \ Makefile > Makefile.tem rm -f Makefile mv -f Makefile.tem Makefile case "${host}" in *-*-hpux*) sed -e 's/^RPATH_ENVVAR[ ]*=.*$/RPATH_ENVVAR = SHLIB_PATH/' \ Makefile > Makefile.tem rm -f Makefile mv -f Makefile.tem Makefile ;; esacfi# Record target_configdirs and the configure arguments in Makefile.target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`targargs=`echo "${arguments}" | \ sed -e 's/--no[^ ]*//' \ -e 's/--cache[a-z-]*=[^ ]*//' \ -e 's/--ho[a-z-]*=[^ ]*//' \ -e 's/--bu[a-z-]*=[^ ]*//' \ -e 's/--ta[a-z-]*=[^ ]*//'`# Passing a --with-cross-host argument lets the target libraries know# whether they are being built with a cross-compiler or being built# native. However, it would be better to use other mechanisms to make the# sorts of decisions they want to make on this basis. Please consider# this option to be deprecated. FIXME.if [ x${is_cross_compiler} = xyes ]; then targargs="--with-cross-host=${host_alias} ${targargs}"fi# Default to --enable-multilib.if [ x${enable_multilib} = x ]; then targargs="--enable-multilib ${targargs}"fi# Pass --with-newlib if appropriate. Note that target_configdirs has# changed from the earlier setting of with_newlib.if [ x${with_newlib} != xno ] && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && [ -d ${srcdir}/newlib ] ; then targargs="--with-newlib ${targargs}"fi# provide a proper gxx_include_dir.# Note, if you change the default, make sure to fix both here and in# the gcc, libio, and libstdc++ subdirectories.# Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.gxx_include_dir=if test -n "${with_gxx_include_dir}"; then case "${with_gxx_include_dir}" in yes ) echo "configure.in: error: bad value ${withval} given for g++ include directory" 1>&2 exit 1 ;; no ) ;; * ) gxx_include_dir=${with_gxx_include_dir} ;; esacfiif test x${gxx_include_dir} = x; then if test x${enable_version_specific_runtime_libs} = xyes; then gxx_include_dir='${libsubdir}/include/g++' else . ${topsrcdir}/config.if gxx_include_dir='${prefix}/include/g++'-${libstdcxx_interface} fielse gxx_include_dir=${gxx_include_dir}fiFLAGS_FOR_TARGET=case " $skipdirs " in*" target-newlib "*) ;;*) case "$target" in *-cygwin*) FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/include -isystem $$s/winsup/cygwin/include -isystem $$s/winsup/w32api/include -isystem $$s/newlib/libc/sys/cygwin -isystem $$s/newlib/libc/sys/cygwin32' ;; esac # If we're not building GCC, don't discard standard headers. if test -d ${topsrcdir}/gcc; then FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc' if test "${build}" != "${host}"; then # On Canadian crosses, CC_FOR_TARGET will have already been set # by `configure', so we won't have an opportunity to add -Bgcc/ # to it. This is right: we don't want to search that directory # for binaries, but we want the header files in there, so add # them explicitly. FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/gcc/include' # Someone might think of using the pre-installed headers on # Canadian crosses, in case the installed compiler is not fully # compatible with the compiler being built. In this case, it # would be better to flag an error than risking having # incompatible object files being constructed. We can't # guarantee that an error will be flagged, but let's hope the # compiler will do it, when presented with incompatible header # files. fi fi # If we're building newlib, use its generic headers last, but search # for any libc-related directories first (so make it the last -B # switch). FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include' ;;esac# On Canadian crosses, we'll be searching the right directories for# the previously-installed cross compiler, so don't bother to add# flags for directories within the install tree of the compiler# being built; programs in there won't even run.if test "${build}" = "${host}" && test -d ${topsrcdir}/gcc; then # Search for pre-installed headers if nothing else fits. FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include'fiif test "x${use_gnu_ld}" = x && test "x${with_gnu_ld}" != xno && echo " ${configdirs} " | grep " ld " > /dev/null && test -d ${srcdir}/ld; then # Arrange for us to find uninstalled linker scripts. FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/ld'fiif test "x${CC_FOR_TARGET+set}" = xset; then :elif test -d ${topsrcdir}/gcc; then CC_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/'elif test "$host" = "$target"; then CC_FOR_TARGET='$(CC)'else CC_FOR_TARGET=`echo gcc | sed -e 's/x/x/' ${program_transform_name}`fi# On Canadian crosses, configure reads CC_FOR_TARGET from Makefile,# if Makefile exists. Prevent $(FLAGS_FOR_TARGET) from being duplicated.case $CC_FOR_TARGET in*' $(FLAGS_FOR_TARGET)') ;;*) CC_FOR_TARGET=$CC_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;esacif test "x${CHILL_FOR_TARGET+set}" = xset; then :elif test -d ${topsrcdir}/gcc; then CHILL_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/ -L$$r/gcc/ch/runtime/'elif test "$host" = "$target"; then CHILL_FOR_TARGET='$(CC)'else CHILL_FOR_TARGET=`echo gcc | sed -e 's/x/x/' ${program_transform_name}`ficase $CHILL_FOR_TARGET in*' $(FLAGS_FOR_TARGET)') ;;*) CHILL_FOR_TARGET=$CHILL_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;esacif test "x${CXX_FOR_TARGET+set}" = xset; then :elif test -d ${topsrcdir}/gcc; then CXX_FOR_TARGET='$$r/gcc/g++ -B$$r/gcc/ -nostdinc++ '$libstdcxx_flagselif test "$host" = "$target"; then CXX_FOR_TARGET='$(CXX)'else CXX_FOR_TARGET=`echo c++ | sed -e 's/x/x/' ${program_transform_name}`ficase $CXX_FOR_TARGET in*' $(FLAGS_FOR_TARGET)') ;;*) CXX_FOR_TARGET=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;esacqCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,&,\\\&,g'`targargs="--cache-file=../config.cache --host=${target_alias} --build=${build_alias} ${targargs}"sed -e "s:^TARGET_CONFIGDIRS[ ]*=.*$:TARGET_CONFIGDIRS = ${target_configdirs}:" \ -e "s%^CONFIG_ARGUMENTS[ ]*=.*$%CONFIG_ARGUMENTS = ${targargs}%" \ -e "s%^FLAGS_FOR_TARGET[ ]*=.*$%FLAGS_FOR_TARGET = ${FLAGS_FOR_TARGET}%" \ -e "s%^CC_FOR_TARGET[ ]*=.*$%CC_FOR_TARGET = ${CC_FOR_TARGET}%" \ -e "s%^CHILL_FOR_TARGET[ ]*=.*$%CHILL_FOR_TARGET = ${CHILL_FOR_TARGET}%" \ -e "s%^CXX_FOR_TARGET[ ]*=.*$%CXX_FOR_TARGET = ${qCXX_FOR_TARGET}%" \ -e "s%^TARGET_SUBDIR[ ]*=.*$%TARGET_SUBDIR = ${target_subdir}%" \ -e "s%^gxx_include_dir[ ]*=.*$%gxx_include_dir=${gxx_include_dir}%" \ Makefile > Makefile.temrm -f Makefilemv -f Makefile.tem Makefile## Local Variables:# fill-column: 131# End:#
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -