]> git.saurik.com Git - bison.git/blame - djgpp/config.sed
Miscellaneous %define and %code cleanup.
[bison.git] / djgpp / config.sed
CommitLineData
db0dcbf3 1# DJGPP specific configuration file.
7c799348 2# Sed script for additional DJGPP specific editing
b36e835b 3# of the configure script generated by autoconf 2.60.
7c799348 4
db0dcbf3
PE
5
6# Copyright (C) 2005, 2006 Free Software Foundation, Inc.
7
8# This program is free software; you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by
10# the Free Software Foundation; either version 2 of the License, or
11# (at your option) any later version.
12
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU General Public License for more details.
17
18# You should have received a copy of the GNU General Public License
02650b7f
PE
19# along with this program; if not, write to the Free Software Foundation,
20# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
db0dcbf3 21
b36e835b 22
3768a1ae 23# Additional editing of Makefiles
b36e835b 24/^".*ac_file_inputs.*tmp\/out$/ a\
2c061cb0 25cat > "$tmp/subs-djgpp.sed" << eof_djgpp\
3768a1ae 26# DJGPP specific Makefile changes.\
b36e835b
JMG
27s,\\.deps,_deps,g\
28s,\\.libs,_libs,g\
29s,\\.new\\.,_new.,g\
30s,\\.old\\.,_old.,g\
31s,\\.tab\\.,_tab.,g\
32s,c++\\.at,cxx.at,g\
33s,c++\\.m4,cxx.m4,g\
34s,calc++,calcxx,g\
35s,scan-gram-c,c-scan-gram,g\
36s,scan-skel-c,c-scan-skel,g\
37s,Makefile\\.am\\.in,Makefile.am-in,g\
38s,Makefile\\.in\\.in,Makefile.in-in,g\
39/^\\.y\\.c:/,/^$/ {\
40 /\\\$(YACCCOMPILE)/ {\
41 a\\\\\
42 -@test -f y.tab.c && mv -f y.tab.c y_tab.c\\\\\
3768a1ae 43 -@test -f y.tab.h && mv -f y.tab.h y_tab.h\
3768a1ae 44 }\
b36e835b
JMG
45}\
46/^libbison.a:/ i\\\\\
47\\$(top_srcdir)/djgpp/subpipe.c: \\$(top_srcdir)/djgpp/subpipe.h\\\\\
48subpipe.o: \\$(top_srcdir)/djgpp/subpipe.c \\$(top_srcdir)/djgpp/subpipe.h\\\\\
3768a1ae 49 \\$(COMPILE) -c \\$<\
b36e835b
JMG
50/^yacc:/ i\\\\\
51yacc.bat:\\\\\
3768a1ae
JMG
52 echo "bison\\$(EXEEXT) -y %1 %2 %3 %4 %5 %6 %7 %8 %9" >\\$@\
53/^bin_SCRIPTS =/s/$/ yacc.bat/\
b36e835b
JMG
54/^MOSTLYCLEANFILES = yacc/s/$/ yacc.bat/\
55eof_djgpp\
2c061cb0 56sed -f "\$tmp/subs-djgpp.sed" \$tmp/out > \$tmp/out.djgpp\
b36e835b 57mv -f \$tmp/out.djgpp \$tmp/out
3768a1ae
JMG
58
59
60# Makefile.in.in is renamed to Makefile.in-in.
b36e835b
JMG
61/ac_config_files=/ {
62 /runtime-po/!s|po/Makefile\.in|&:po/Makefile.in-in|
63 s|runtime-po/Makefile\.in|&:runtime-po/Makefile.in-in|
64}
65
66/CONFIG_FILES=/ {
67 /runtime-po/!s|po/Makefile\.in|&:po/Makefile.in-in|2
68 s|runtime-po/Makefile\.in|&:runtime-po/Makefile.in-in|2
3768a1ae 69}
3768a1ae
JMG
70
71# We always use _deps and _libs instead of .deps and .libs, because
db0dcbf3 72# the latter is an invalid name on 8+3 MS-DOS file system. This makes
3768a1ae
JMG
73# the generated Makefiles good for every DJGPP installation, not only
74# the one where the package was configured (which could happen to be
75# a Windows box, where leading dots in file names are allowed).
02650b7f 76/^rmdir[ ]*\.tst/ i\
3768a1ae
JMG
77am__leading_dot=_
78
79# Replace (command) > /dev/null with `command > /dev/null`, since
80# parenthesized commands always return zero status in the ported Bash,
81# even if the named command doesn't exist
82/if ([^|;`]*null/{
83 s,(,`,
84 s,),,
02650b7f 85 /null[ ]*2>&1/ s,2>&1,&`,
3768a1ae
JMG
86 /null.*null/ s,null.*null,&`,
87 /null.*null/ !{
02650b7f 88 /null[ ]*2>&1/ !s,null,&`,
3768a1ae
JMG
89 }
90}
91
92# DOS-style absolute file names should be supported as well
93/\*) top_srcdir=/s,/\*,[\\\\/]* | ?:[\\\\/]*,
94
3768a1ae
JMG
95# The following two items are changes needed for configuring
96# and compiling across partitions.
97# 1) The given srcdir value is always translated from the
98# "x:" syntax into "/dev/x" syntax while we run configure.
02650b7f 99/^[ ]*-srcdir=\*.*$/ a\
3768a1ae
JMG
100 ac_optarg=`echo "$ac_optarg" | sed "s,^\\([A-Za-z]\\):,/dev/\\1,"`
101/set X `ls -Lt \$srcdir/ i\
102 if `echo $srcdir | grep "^/dev/" - > /dev/null`; then\
103 srcdir=`echo "$srcdir" | sed -e "s%^/dev/%%" -e "s%/%:/%"`\
104 fi
105
106# Autoconf 2.52e generated configure scripts
107# write absolute paths into Makefiles and bison.in
108# making them useless for DJGPP installations for
109# which the package has not been configured for.
110/MISSING=/,/^$/ {
111 /^fi$/ a\
b36e835b 112am_missing_run=`echo "$am_missing_run" | sed 's%/dev/.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%${top_srcdir}%;s%.:.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%${top_srcdir}%'`
3768a1ae
JMG
113}
114/^install_sh=/a\
b36e835b 115install_sh=`echo "$install_sh" | sed 's%/dev/.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%${top_srcdir}%;s%.:.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%${top_srcdir}%'`
3768a1ae
JMG
116
117# This will only work if the assumption that the
118# testsuite is ran from the following path:
119# ${top_srcdir}/tests/testsuite.dir
120# holds. The explicit names are of no importance.
121# ../../. == ${top_srcdir}
b36e835b
JMG
122#/^esac$/,/^ac_abs_srcdir=/ {
123/^ac_abs_srcdir=/ i\
124ac_abs_builddir=`echo "$ac_abs_builddir" | sed "s%/dev/.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%../../.%;s%.:.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%../../.%"`\
125ac_abs_top_builddir=`echo "$ac_abs_top_builddir" | sed "s%/dev/.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%../../..%;s%.:.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%../../..%"`\
126ac_abs_top_srcdir=`echo "$ac_abs_top_srcdir" | sed "s%/dev/.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%../../..%;s%.:.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%../../..%"`
127#ac_abs_srcdir=`echo "$ac_abs_srcdir" | sed "s%/dev/.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%../../.%;s%.:.*/bison[-_0-9]\\{1,1\\}[-.0-9A-Za-z+]*%../../.%"`
128/^ac_abs_srcdir=/ a\
129for dj_dir in $ac_abs_builddir $ac_abs_top_builddir $ac_abs_top_srcdir $ac_abs_srcdir\
130do\
131 ac_abs_builddir=`echo "$ac_abs_builddir" | sed "s%//%/%g"`\
132 ac_abs_top_builddir=`echo "$ac_abs_top_builddir" | sed "s%//%/%g"`\
133 ac_abs_top_srcdir=`echo "$ac_abs_top_srcdir" | sed "s%//%/%g"`\
134 ac_abs_srcdir=`echo "$ac_abs_srcdir" | sed "s%//%/%g"`\
135done
db0dcbf3 136
3768a1ae
JMG
137# Add DJGPP version information.
138/^#define VERSION/ s/\$VERSION/& (DJGPP port (r1))/
139
140# We need makeinfo to make the html formated docs.
02650b7f 141/\$am_missing_run[ ]*makeinfo/ s,\$am_missing_run,,
3768a1ae
JMG
142
143# The path to the FORTRAN compiler and libraries
144# shall contain no absolute path reference so it
145# will be good for all djgpp installations.
146/^FLIBS="\$ac_cv_flibs"/ i\
147ac_djgpp_path=`echo "$DJDIR" | sed 's%\\\\\\%/%g' | tr $as_cr_LETTERS $as_cr_letters`\
148ac_cv_flibs=`echo "$ac_cv_flibs" | sed "s%-L$ac_djgpp_path%-L/dev/env/DJDIR%g"`
149
2c061cb0
JMG
150# Autoconf generated configure scripts write absolute
151# paths of certain header files into Makefiles making
152# them useless for DJGPP installations for which the
153# package has not been configured for.
154/^.*echo "\$as_me:\$LINENO: result: \$gl_cv_absolute_.*$/ {
155h
156s,^.*\(gl_cv_absolute_\)\([a-z0-9_]*\)\(_h\).*$,\1\2\3=`echo $\1\2\3 | sed "s%[^:]:.*/include/%/dev/env/DJDIR/include/%"`,
157G
158}
159
3768a1ae 160# The following is not a valid DOS file name
db0dcbf3 161s/calc++/calcxx/g