X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=stepmake%2Faclocal.m4;h=682b6b1bd15e22504106c520493900346a541f34;hb=c20fff645e325d392d2588721144f4204d0ef9da;hp=f7f457926aa209d4eda0e567a38740fa5b00a03d;hpb=4079fa56584085e01822132f968b47c71d7c932e;p=lilypond.git diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4 index f7f457926a..682b6b1bd1 100644 --- a/stepmake/aclocal.m4 +++ b/stepmake/aclocal.m4 @@ -287,12 +287,16 @@ AC_DEFUN(STEPMAKE_CXXTEMPLATE, [ ]) AC_DEFUN(STEPMAKE_GXXCODEGENBUG, [ - AC_MSG_CHECKING([options for known g++ tail call bug]) + AC_MSG_CHECKING([options for known g++ bugs]) case "$GXX:$CXX_VERSION" in - yes:400600?) - AC_MSG_RESULT([-fno-optimize-sibling-calls]) + yes:400600[[0-2]]) + AC_MSG_RESULT([-fno-optimize-sibling-calls (tail call bug)]) CXXFLAGS="$CXXFLAGS -fno-optimize-sibling-calls" ;; + yes:400700?) + AC_MSG_RESULT([-fno-tree-vrp (comparison bug)]) + CXXFLAGS="$CXXFLAGS -fno-tree-vrp" + ;; *) AC_MSG_RESULT([none]) esac AC_SUBST(CXXFLAGS) @@ -417,9 +421,22 @@ EOF exit 2 fi - for d in 2 3 4 ; do + abssrcdir="`cd $srcdir; pwd`" + absbuilddir="`pwd`" + for d in 2 3 4 5 ; do for mf in `cd $srcdir ; find . -maxdepth $d -mindepth $d -name GNUmakefile`; do - mkdir -p $(dirname $mf) + case "$abssrcdir" in + "$absbuilddir"/*) +# source is below build directory, always copy + ;; + *) + case "$abssrcdir/${mf#./}" in + "$absbuilddir"/*) +# find descended into build directory, don't copy + continue + esac + esac + mkdir -p ${mf%/*} cat < $mf print 'depth=' + ('../' * ( $d-1 ) ) print 'include \$(depth)/config\$(if \$(conf),-\$(conf),).make' @@ -428,7 +445,18 @@ print 'MODULE_INCLUDES += \$(src-dir)/\$(outbase)' EOF done for mf in `cd $srcdir ; find . -maxdepth $d -mindepth $d -name '*.make' | grep -v config.make `; do - mkdir -p $(dirname $mf) + case "$abssrcdir" in + "$absbuilddir"/*) +# source is below build directory, always copy + ;; + *) + case "$abssrcdir/${mf#./}" in + "$absbuilddir"/*) +# find descended into build directory, don't copy + continue + esac + esac + mkdir -p ${mf%/*} cat < $mf print 'include \$(depth)/config\$(if \$(conf),-\$(conf),).make' print 'include \$(configure-srcdir)/$mf' @@ -1007,7 +1035,11 @@ AC_DEFUN(STEPMAKE_PYTHON_DEVEL, [ # Clean out junk: http://bugs.python.org/issue3290 # Python headers may need some -f* flags, leave them in. # We want the sed commands to look like 's/-[WDOm][[:alnum:][:punct:]][[:alnum:][:punct:]]*//g' and 's/-arch [^[:space:]]*//g', but automake eats brackets. - PYTHON_CFLAGS=`$PYTHON_CONFIG --cflags | sed -e 's/-[[WDOm]][[[:alnum:][:punct:]]][[[:alnum:][:punct:]]]*//g' | sed -e 's/-arch @<:@^@<:@:space:@:>@@:>@*//g'` + #PYTHON_CFLAGS=`$PYTHON_CONFIG --cflags | sed -e 's/-[[WDOm]][[[:alnum:][:punct:]]][[[:alnum:][:punct:]]]*//g' | sed -e 's/-arch @<:@^@<:@:space:@:>@@:>@*//g'` + # The above sed BRE matches parts of legal options, stipping down part of that option, resulting in invalid gcc arguments. Gentoo Bug #415793 + # For instance, '-floop-stip-mime' becomes '-floop-strip', and '-fvect-cost-model' becomes '-fvect-cost'. + # Tentative fix to require a non alphanumeric character before the initial hyphen of the BRE or the hyphen being the first character in the string. + PYTHON_CFLAGS=`$PYTHON_CONFIG --cflags | sed -e 's/\(^\|[[^[:alnum:]]]\)-[[WDOm]][[[:alnum:][:punct:]]][[[:alnum:][:punct:]]]*//g' | sed -e 's/-arch @<:@^@<:@:space:@:>@@:>@*//g'` PYTHON_LDFLAGS=`$PYTHON_CONFIG --ldflags` fi