Hi,
Has anyone out there managed to build gpc-19990813 with gcc-2.95 on
solaris2.{6,7} and irix6.5 ?
I have managed to get past a few hurdles:
1) gpc/p/config-lang.in uses test unknown on solaris
[ -e $srcdir/p/Make-lang.in ]
must be replaced by
[ -r $srcdir/p/Make-lang.in ]
--- gpc.orig/p/config-lang.in Tue Aug 3 00:18:13 1999
+++ gpc/p/config-lang.in Wed Oct 27 15:32:44 1999
@@ -43,10 +43,10 @@
echo "#define EGCS" > gcc-version.h
echo "#define EGCS92" >> gcc-version.h
echo "#define EGCS95" >> gcc-version.h
- if [ -e $srcdir/p/Make-lang.in ] \
+ if [ -r $srcdir/p/Make-lang.in ] \
&& cmp -s $srcdir/p/Make-lang-2.95.in $srcdir/p/Make-lang.in; then true; else
cp $srcdir/p/Make-lang-2.95.in $srcdir/p/Make-lang.in; fi
- if [ -e $srcdir/p/Makefile.in ] \
+ if [ -r $srcdir/p/Makefile.in ] \
&& cmp -s $srcdir/p/Makefile-2.95.in $srcdir/p/Makefile.in; then true; else
cp $srcdir/p/Makefile-2.95.in $srcdir/p/Makefile.in; fi
else
@@ -58,10 +58,10 @@
else
echo "/* empty */" > gcc-version.h
fi
- if [ -e $srcdir/p/Make-lang.in ] \
+ if [ -r $srcdir/p/Make-lang.in ] \
&& cmp -s $srcdir/p/Make-lang-old.in $srcdir/p/Make-lang.in; then true; else
cp $srcdir/p/Make-lang-old.in $srcdir/p/Make-lang.in; fi
- if [ -e $srcdir/p/Makefile.in ] \
+ if [ -r $srcdir/p/Makefile.in ] \
&& cmp -s $srcdir/p/Makefile-old.in $srcdir/p/Makefile.in; then true; else
cp $srcdir/p/Makefile-old.in $srcdir/p/Makefile.in; fi
fi
2) gpc/p/gpc-decl.c needs declaration of nonlocal_goto_handler_slot
--- gpc.orig/p/gpc-decl.c Wed Jul 28 03:31:23 1999
+++ gpc/p/gpc-decl.c Wed Oct 27 15:35:49 1999
@@ -54,6 +54,7 @@
#include <ctype.h>
extern rtx tail_recursion_reentry; /* in function.c */
+extern rtx nonlocal_goto_handler_slot; /* in function.c */
/* for language specific parts of the tree_node */
extern struct obstack permanent_obstack;
3) An ugly hack to make two object files available
[reported by Alexander Sokolov <robocop(a)amur.rosnet.ru> Fri, 20 Aug 1999
20:02:51 +1100 (VLAST) - if there was an answer, I missed it.]
# An ugly hack ...
rm -f gcc/choose-temp.o; ln -s ../libiberty/choose-temp.o gcc
rm -f gcc/pexecute.o; ln -s ../libiberty/pexecute.o gcc
4) Comes to a grinding halt:
The hacks&patches above get the build going, until
gcc -c -DIN_GCC -DGPC -g -O2 -I. -I.. -I. -I./.. -I./../config -I./../..
/include gpc-lang.c
gpc-lang.c: In function `lang_decode_option':
gpc-lang.c:50: argument `p' doesn't match prototype
../tree.h:2078: prototype declaration
gpc-lang.c:50: number of arguments doesn't match prototype
../tree.h:2078: prototype declaration
where the symbol EGCS should be defined to get past this one, but if I do,
then the next hurdle is:
gcc -c -DIN_GCC -DGPC -DEGCS -I. -I.. -I. -I./.. -I./../config -I./../../include gpc-lex.c
In file included from gpc-lex.c:41:
gbe.h:79: conflicting types for `fatal'
../system.h:394: previous declaration of `fatal'
In file included from gpc-lex.c:46:
util.h:174: conflicting types for `concat'
../../include/libiberty.h:48: previous declaration of `concat'
gpc-lex.c: In function `yyerror':
gpc-lex.c:1158: argument `string' doesn't match prototype
../c-lex.h:84: prototype declaration
gmake[2]: *** [gpc-lex.o] Error 1
Anyone with some help & advice out there?
--- benedict