]> git.donarmstrong.com Git - lilypond.git/blobdiff - stepmake/aclocal.m4
Make distributed tarball from Git file list
[lilypond.git] / stepmake / aclocal.m4
index f7f457926aa209d4eda0e567a38740fa5b00a03d..682b6b1bd15e22504106c520493900346a541f34 100644 (file)
@@ -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 <<EOF | $PYTHON -  > $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 <<EOF | $PYTHON -  > $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