📄 config-ml.in
字号:
# Configure fragment invoked in the post-target section for subdirs# wanting multilib support.## It is advisable to support a few --enable/--disable options to let the# user select which libraries s/he really wants.## Subdirectories wishing to use multilib should put the following lines# in the "post-target" section of configure.in.## if [ "${srcdir}" = "." ] ; then# if [ "${with_target_subdir}" != "." ] ; then# . ${with_multisrctop}../../config-ml.in# else# . ${with_multisrctop}../config-ml.in# fi# else# . ${srcdir}/../config-ml.in# fi## See librx/configure.in in the libg++ distribution for an example of how# to handle autoconf'd libraries.## Things are complicated because 6 separate cases must be handled:# 2 (native, cross) x 3 (absolute-path, relative-not-dot, dot) = 6.## srcdir=. is special. It must handle make programs that don't handle VPATH.# To implement this, a symlink tree is built for each library and for each# multilib subdir.## The build tree is layed out as## ./# libg++# newlib# m68020/# libg++# newlib# m68881/# libg++# newlib## The nice feature about this arrangement is that inter-library references# in the build tree work without having to care where you are. Note that# inter-library references also work in the source tree because symlink trees# are built when srcdir=.## Unfortunately, trying to access the libraries in the build tree requires# the user to manually choose which library to use as GCC won't be able to# find the right one. This is viewed as the lesser of two evils.## Configure variables:# ${with_target_subdir} = "." for native, or ${target_alias} for cross.# Set by top level Makefile.# ${with_multisrctop} = how many levels of multilibs there are in the source# tree. It exists to handle the case of configuring in the source tree:# ${srcdir} is not constant.# ${with_multisubdir} = name of multilib subdirectory (eg: m68020/m68881).## Makefile variables:# MULTISRCTOP = number of multilib levels in source tree (+1 if cross)# (FIXME: note that this is different than ${with_multisrctop}. Check out.).# MULTIBUILDTOP = number of multilib levels in build tree# MULTIDIRS = list of multilib subdirs (eg: m68000 m68020 ...)# (only defined in each library's main Makefile).# MULTISUBDIR = installed subdirectory name with leading '/' (eg: /m68000)# (only defined in each multilib subdir).# FIXME: Multilib is currently disabled by default for everything other than# newlib. It is up to each target to turn on multilib support for the other# libraries as desired.# We have to handle being invoked by both Cygnus configure and Autoconf.## Cygnus configure incoming variables:# srcdir, subdir, host, arguments## Autoconf incoming variables:# srcdir, host, ac_configure_args## We *could* figure srcdir and host out, but we'd have to do work that# our caller has already done to figure them out and requiring these two# seems reasonable.# Note that `host' in this case is GCC's `target'. Target libraries are# configured for a particular host.if [ -n "${ac_configure_args}" ]; then Makefile=${ac_file-Makefile} ml_config_shell=${CONFIG_SHELL-/bin/sh} ml_arguments="${ac_configure_args}" ml_realsrcdir=${srcdir}else Makefile=${Makefile-Makefile} ml_config_shell=${config_shell-/bin/sh} ml_arguments="${arguments}" if [ -n "${subdir}" -a "${subdir}" != "." ] ; then ml_realsrcdir=${srcdir}/${subdir} else ml_realsrcdir=${srcdir} fifi# Scan all the arguments and set all the ones we need.ml_verbose=--verbosefor option in ${ml_arguments}do case $option in --*) ;; -*) option=-$option ;; esac case $option in --*=*) optarg=`echo $option | sed -e 's/^[^=]*=//'` ;; esac case $option in --disable-*) enableopt=`echo ${option} | sed 's:^--disable-:enable_:;s:-:_:g'` eval $enableopt=no ;; --enable-*) case "$option" in *=*) ;; *) optarg=yes ;; esac enableopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'` eval $enableopt="$optarg" ;; --norecursion | --no*) ml_norecursion=yes ;; --silent | --sil* | --quiet | --q*) ml_verbose=--silent ;; --verbose | --v | --verb*) ml_verbose=--verbose ;; --with-*) case "$option" in *=*) ;; *) optarg=yes ;; esac withopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'` eval $withopt="$optarg" ;; --without-*) withopt=`echo ${option} | sed 's:^--::;s:out::;s:-:_:g'` eval $withopt=no ;; esacdone# Only do this if --enable-multilib.if [ "${enable_multilib}" = yes ]; then# Compute whether this is the library's top level directory# (ie: not a multilib subdirectory, and not a subdirectory like libg++/src).# ${with_multisubdir} tells us we're in the right branch, but we could be# in a subdir of that.# ??? The previous version could void this test by separating the process into# two files: one that only the library's toplevel configure.in ran (to# configure the multilib subdirs), and another that all configure.in's ran to# update the Makefile. It seemed reasonable to collapse all multilib support# into one file, but it does leave us with having to perform this test.ml_toplevel_p=noif [ -z "${with_multisubdir}" ]; then if [ "${srcdir}" = "." ]; then # Use ${ml_realsrcdir} instead of ${srcdir} here to account for ${subdir}. # ${with_target_subdir} = "." for native, otherwise target alias. if [ "${with_target_subdir}" = "." ]; then if [ -f ${ml_realsrcdir}/../config-ml.in ]; then ml_toplevel_p=yes fi else if [ -f ${ml_realsrcdir}/../../config-ml.in ]; then ml_toplevel_p=yes fi fi else # Use ${ml_realsrcdir} instead of ${srcdir} here to account for ${subdir}. if [ -f ${ml_realsrcdir}/../config-ml.in ]; then ml_toplevel_p=yes fi fifi# If this is the library's top level directory, set multidirs to the# multilib subdirs to support. This lives at the top because we need# `multidirs' set right away.if [ "${ml_toplevel_p}" = yes ]; thenmultidirs=for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do dir=`echo $i | sed -e 's/;.*$//'` if [ "${dir}" = "." ]; then true else if [ -z "${multidirs}" ]; then multidirs="${dir}" else multidirs="${multidirs} ${dir}" fi fidone# Target libraries are configured for the host they run on, so we check# $host here, not $target.case "${host}" inarc-*-elf*) if [ x$enable_biendian != xyes ] then old_multidirs=${multidirs} multidirs="" for x in ${old_multidirs}; do case "${x}" in *be*) : ;; *) multidirs="${multidirs} ${x}" ;; esac done fi ;;arm-*-*) if [ x"$enable_fpu" = xno ] then old_multidirs=${multidirs} multidirs="" for x in ${old_multidirs}; do case "${x}" in *fpu*) : ;; *) multidirs="${multidirs} ${x}" ;; esac done fi if [ x"$enable_26bit" = xno ] then old_multidirs=${multidirs} multidirs="" for x in ${old_multidirs}; do case "${x}" in *26bit*) : ;; *) multidirs="${multidirs} ${x}" ;; esac done fi if [ x"$enable_underscore" = xno ] then old_multidirs=${multidirs} multidirs="" for x in ${old_multidirs}; do case "${x}" in *under*) : ;; *) multidirs="${multidirs} ${x}" ;; esac done fi if [ x"$enable_interwork" = xno ] then old_multidirs=${multidirs} multidirs="" for x in ${old_multidirs}; do case "${x}" in *interwork*) : ;; *) multidirs="${multidirs} ${x}" ;; esac done fi if [ x$enable_biendian = xno ] then old_multidirs="${multidirs}" multidirs="" for x in ${old_multidirs}; do case "$x" in *le* ) : ;; *be* ) : ;; *) multidirs="${multidirs} ${x}" ;; esac done fi if [ x"$enable_nofmult" = xno ] then old_multidirs="${multidirs}" multidirs="" for x in ${old_multidirs}; do case "$x" in *nofmult* ) : ;; *) multidirs="${multidirs} ${x}" ;; esac done fi ;;m68*-*-*) if [ x$enable_softfloat = xno ] then old_multidirs="${multidirs}" multidirs="" for x in ${old_multidirs}; do case "$x" in *soft-float* ) : ;; *) multidirs="${multidirs} ${x}" ;; esac done fi if [ x$enable_m68881 = xno ] then old_multidirs="${multidirs}" multidirs="" for x in ${old_multidirs}; do case "$x" in *m68881* ) : ;; *) multidirs="${multidirs} ${x}" ;; esac done fi if [ x$enable_m68000 = xno ] then old_multidirs="${multidirs}" multidirs="" for x in ${old_multidirs}; do case "$x" in *m68000* ) : ;; *) multidirs="${multidirs} ${x}" ;; esac done fi if [ x$enable_m68020 = xno ] then old_multidirs="${multidirs}" multidirs="" for x in ${old_multidirs}; do case "$x" in *m68020* ) : ;; *) multidirs="${multidirs} ${x}" ;; esac done fi ;;mips*-*-*) if [ x$enable_single_float = xno ] then old_multidirs="${multidirs}" multidirs="" for x in ${old_multidirs}; do case "$x" in *single* ) : ;; *) multidirs="${multidirs} ${x}" ;; esac done fi if [ x$enable_biendian = xno ] then old_multidirs="${multidirs}" multidirs="" for x in ${old_multidirs}; do case "$x" in *el* ) : ;; *eb* ) : ;; *) multidirs="${multidirs} ${x}" ;; esac done fi if [ x$enable_softfloat = xno ] then old_multidirs="${multidirs}" multidirs="" for x in ${old_multidirs}; do case "$x" in *soft-float* ) : ;; *) multidirs="${multidirs} ${x}" ;; esac done fi case " $multidirs " in *" mabi=64 "*) # We will not be able to create libraries with -mabi=64 if # we cannot even link a trivial program. It usually # indicates the 64bit libraries are missing. if echo 'main() {}' > conftest.c && ${CC-gcc} -mabi=64 conftest.c -o conftest; then : else echo Could not link program with -mabi=64, disabling it. old_multidirs="${multidirs}" multidirs="" for x in ${old_multidirs}; do case "$x" in *mabi=64* ) : ;; *) multidirs="${multidirs} ${x}" ;; esac done fi rm -f conftest.c conftest ;; esac ;;powerpc*-*-* | rs6000*-*-*) if [ x$enable_softfloat = xno ] then old_multidirs="${multidirs}" multidirs="" for x in ${old_multidirs}; do case "$x" in *soft-float* ) : ;; *) multidirs="${multidirs} ${x}" ;; esac done fi if [ x$enable_powercpu = xno ] then old_multidirs="${multidirs}" multidirs="" for x in ${old_multidirs}; do case "$x" in power | */power | */power/* ) : ;; *) multidirs="${multidirs} ${x}" ;; esac done fi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -