]> git.donarmstrong.com Git - lilypond.git/blobdiff - lexer-gcc-3.1.sh
(count_factor_twos): oops. We want to
[lilypond.git] / lexer-gcc-3.1.sh
index 7d816302b853f5e61b73b1539129305a575c8fda..1898f27eb8b5f9cefc9ba97d3806cd8a5de0430e 100755 (executable)
@@ -2,7 +2,13 @@
 #
 # script documenting fixes for flex-2.5.4 and gcc-3.1
 
-includes="$HOME/usr/include /usr/local/include /usr/include"
+set -e
+
+FLEXLEXER=OK
+
+if [ -z "$FLEXLEXER" ]; then
+
+includes="$HOME/usr/include $PREFIX/include /usr/local/include /usr/include" 
 
 for i in $includes; do
     file=$i/FlexLexer.h
@@ -22,33 +28,39 @@ EOF
     exit 1
 fi
 
+fi # flexlexer
 
 if [ -n "$CONF" ]; then
     CONFIGSUFFIX=-$CONF
-    ENABLECONFIG="--enable-config=$CONF"
+    SETCONF="CONF=$CONF "
+    setconf="conf=$CONF "
+    ENABLECONFIG="--enable-config=$CONF "
 fi    
 outdir=out$CONFIGSUFFIX
 
+if [ -z "$FLEXLEXER" ]; then
+
 echo -n "Copying and fixing $file... "
 mkdir -p lily/$outdir
 rm -f lily/$outdir/FlexLexer.h
-sed -e 's/iostream.h/iostream/' \
-    -e 's/\<istream\>/std::istream/' \
-    -e 's/\<ostream\>/std::ostream/' \
+perl -p -e 's/iostream.h/iostream/g;' \
+    -e 's/\bistream\b/std::istream/g;' \
+    -e 's/\bostream\b/std::ostream/' \
     $file > lily/$outdir/FlexLexer.h
 echo "done"
 
-file=lily/$outdir/lexer.cc
-rm -f $file
-make conf=$CONF -C lily $outdir/lexer.cc || exit 0
+fi # flexlexer
 
-if [ -f "$file" ]; then
+if [ -f GNUmakefile ]; then
+    file=lily/$outdir/lexer.cc
     echo -n "Generating and fixing $file... "
+    rm -f $file
+    make conf=$CONF -C lily $outdir/lexer.cc > /dev/null 2>&1 || true
 
     mv $file $file.orig
-    sed -e 's/\<cin\>/std::cin/g' \
-       -e 's/\<cout\>/std::cout/g' \
-       -e 's/\<cerr\>/std::cerr/g' \
+    perl -p -e 's/\bcin\b/std::cin/g;' \
+       -e 's/\bcout\b/std::cout/g;' \
+       -e 's/\bcerr\b/std::cerr/g' \
        $file.orig > $file
     echo "done"
 fi
@@ -57,7 +69,10 @@ cat <<EOF
 
 Remove config.cache before rerunning ./configure
 
-Reconfigure doing something like:
+Reconfigure, refix, and make doing something like:
 
+    rm -f config.cache
     CPPFLAGS=-I$(pwd)/lily/$outdir ./configure $ENABLECONFIG
+    $SETCONF$0
+    make $setconf
 EOF