This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Generate a valid config.h even if stdarg.h and varargs.h are both missing.
[metaconfig.git] / U / perl_patches / Makefile.SH.patch
1 This patch moves some ebcdic-specific code out of Configure and into
2 Makefile.SH.  It's not really "Configure" information, but I didn't
3 want to build a whole new .SH file to extract just to run this on a
4 very few systems.
5
6     Andy Dougherty              doughera@lafcol.lafayette.edu
7     Dept. of Physics
8     Lafayette College, Easton PA 18042
9
10 --- ../perl5.005-MAYBE/Makefile.SH      Sun Jul 19 03:06:35 1998
11 +++ Makefile.SH Wed Jul 22 11:35:36 1998
12 @@ -644,3 +644,59 @@
13      ;;
14  esac
15  $rm -f $firstmakefile
16 +
17 +# Now do any special processing required before building.
18 +
19 +case "$ebcdic" in
20 +$define)
21 +    xxx=''
22 +    echo "This is an EBCDIC system, checking if any parser files may need regenerating."
23 +    rm -f y.tab.c y.tab.h
24 +    yacc -d perly.y >/dev/null 2>&1
25 +    if cmp -s y.tab.c perly.c; then
26 +        rm -f y.tab.c
27 +    else
28 +        echo "perly.y -> perly.c" >&2
29 +        mv -f y.tab.c perly.c
30 +        chmod u+w perly.c
31 +        sed -e 's/fprintf *( *stderr *,/PerlIO_printf(Perl_debug_log,/g' \
32 +            -e 's/y\.tab/perly/g' perly.c >perly.tmp && mv perly.tmp perly.c
33 +        xxx="$xxx perly.c"
34 +    fi
35 +    if cmp -s y.tab.h perly.h; then
36 +        rm -f y.tab.h
37 +    else
38 +        echo "perly.y -> perly.h" >&2
39 +        mv -f y.tab.h perly.h
40 +        xxx="$xxx perly.h"
41 +    fi
42 +    echo "x2p/a2p.y" >&2
43 +    cd x2p
44 +    rm -f y.tab.c y.tab.h
45 +    yacc -d a2p.y >/dev/null 2>&1
46 +    if cmp -s y.tab.c a2p.c
47 +    then
48 +        rm -f y.tab.c
49 +    else
50 +        echo "a2p.y -> a2p.c" >&2
51 +        mv -f y.tab.c a2p.c
52 +        chmod u+w a2p.c
53 +        sed -e 's/fprintf *( *stderr *,/PerlIO_printf(Perl_debug_log,/g' \
54 +            -e 's/y\.tab/a2p/g' a2p.c >a2p.tmp && mv a2p.tmp a2p.c
55 +        xxx="$xxx a2p.c"
56 +    fi
57 +    if cmp -s y.tab.h a2p.h
58 +    then
59 +        rm -f y.tab.h
60 +    else
61 +        echo "a2p.h -> a2p.h" >&2
62 +        mv -f y.tab.h a2p.h
63 +        xxx="$xxx a2p.h"
64 +    fi
65 +    cd ..
66 +    case "$xxx" in
67 +    '') echo "No parser files were regenerated.  That's okay." >&2 ;;
68 +    esac
69 +    ;;
70 +esac
71 +