ecpg glitches in Feb 23rd beta.
1. ecpg Makefiles have hard-coded gcc-only options hard coded.
2. ecpg/preproc/Makefile trashes CFLAGS instead of appending to it.
3. ecpg/preproc/preproc.y has duplicate S_SIGNED
Patch appended to fix #1-#3 for Michael's review. Don't appear to
break anything else, but I'm not the one working on this.
4. ecpg/preproc/preproc.y has an illegal assignment between "void*"
and "const char*". Log of the make error is...
gmake -C preproc all
gmake[3]: Entering directory `/ceo/darrenk/pgsql63d/src/interfaces/ecpg/preproc'
xlc -I../../../include -I../../../backend -I/gnu -qchars=signed -qmaxmem=8192 -qhalt=w -qsrcmsg -I../include -DMAJOR_VERSION=1 -DMINOR_VERSION=0 -DPATCHLEVEL=0 -c y.tab.c -o y.tab.o
289 | free(yyvsp[-2].type.name);
...........................a......
a - 1506-280 (E) Function argument assignment between types "void*" and "const char*" is not allowed.
gmake[3]: *** [y.tab.o] Error 1
This one I don't know how to fix. I just commented ecpg out of the
interfaces make and all else went a-ok.
darrenk
*** interfaces/ecpg/lib/Makefile.in.orig Mon Feb 23 09:00:20 1998
--- interfaces/ecpg/lib/Makefile.in Mon Feb 23 09:00:51 1998
***************
*** 61,66 ****
libecpg.a : libecpg.a(ecpglib.o) libecpg.a(typename.o)
ecpglib.o : ecpglib.c ../include/ecpglib.h ../include/ecpgtype.h
! $(CC) -O2 -g -Wall -I../include $(PQ_INCLUDE) -c ecpglib.c
typename.o : typename.c ../include/ecpgtype.h
! $(CC) -g -O2 -Wall -I../include $(PQ_INCLUDE) -c typename.c
--- 61,66 ----
libecpg.a : libecpg.a(ecpglib.o) libecpg.a(typename.o)
ecpglib.o : ecpglib.c ../include/ecpglib.h ../include/ecpgtype.h
! $(CC) -I../include $(PQ_INCLUDE) -c ecpglib.c
typename.o : typename.c ../include/ecpgtype.h
! $(CC) -I../include $(PQ_INCLUDE) -c typename.c
*** interfaces/ecpg/preproc/Makefile.orig Mon Feb 23 09:01:35 1998
--- interfaces/ecpg/preproc/Makefile Mon Feb 23 09:09:02 1998
***************
*** 6,12 ****
MINOR_VERSION=0
PATCHLEVEL=0
! CFLAGS=-I../include -O2 -g -Wall -DMAJOR_VERSION=$(MAJOR_VERSION) -DMINOR_VERSION=$(MINOR_VERSION) -DPATCHLEVEL=$(PATCHLEVEL)
all:: ecpg
--- 6,12 ----
MINOR_VERSION=0
PATCHLEVEL=0
! CFLAGS+=-I../include -DMAJOR_VERSION=$(MAJOR_VERSION) -DMINOR_VERSION=$(MINOR_VERSION) -DPATCHLEVEL=$(PATCHLEVEL)
all:: ecpg
***************
*** 21,27 ****
# Rule that really do something.
ecpg: y.tab.o pgc.o type.o ecpg.o ../lib/typename.o
! $(CC) -g -O2 -Wall -o ecpg y.tab.o pgc.o type.o ecpg.o ../lib/typename.o $(LEXLIB)
y.tab.h y.tab.c: preproc.y
$(YACC) $(YFLAGS) $<
--- 21,27 ----
# Rule that really do something.
ecpg: y.tab.o pgc.o type.o ecpg.o ../lib/typename.o
! $(CC) -o ecpg y.tab.o pgc.o type.o ecpg.o ../lib/typename.o $(LEXLIB)
y.tab.h y.tab.c: preproc.y
$(YACC) $(YFLAGS) $<
*** interfaces/ecpg/preproc/preproc.y.orig Mon Feb 23 08:38:33 1998
--- interfaces/ecpg/preproc/preproc.y Mon Feb 23 08:38:39 1998
***************
*** 231,237 ****
%token <tagname> S_SYMBOL S_LENGTH S_ANYTHING S_LABEL
%token <tagname> S_VARCHAR S_VARCHAR2
! %token <tagname> S_EXTERN S_STATIC S_AUTO S_CONST S_REGISTER S_STRUCT S_SIGNED
%token <tagname> S_UNSIGNED S_SIGNED
%token <tagname> S_LONG S_SHORT S_INT S_CHAR S_FLOAT S_DOUBLE S_BOOL
%token <tagname> '[' ']' ';' ',' '{' '}' '=' '*' '(' ')'
--- 231,237 ----
%token <tagname> S_SYMBOL S_LENGTH S_ANYTHING S_LABEL
%token <tagname> S_VARCHAR S_VARCHAR2
! %token <tagname> S_EXTERN S_STATIC S_AUTO S_CONST S_REGISTER S_STRUCT
%token <tagname> S_UNSIGNED S_SIGNED
%token <tagname> S_LONG S_SHORT S_INT S_CHAR S_FLOAT S_DOUBLE S_BOOL
%token <tagname> '[' ']' ';' ',' '{' '}' '=' '*' '(' ')'
Darren King writes:
1. ecpg Makefiles have hard-coded gcc-only options hard coded.
2. ecpg/preproc/Makefile trashes CFLAGS instead of appending to it.
3. ecpg/preproc/preproc.y has duplicate S_SIGNED
Patch appended to fix #1-#3 for Michael's review. Don't appear to
break anything else, but I'm not the one working on this.
Thanks. I've included them in my source tree and will submit them with my
next patch.
4. ecpg/preproc/preproc.y has an illegal assignment between "void*"
and "const char*". Log of the make error is...
Hopefully I've fixed this one, too.
Michael
--
Dr. Michael Meskes, Project-Manager | topsystem Systemhaus GmbH
meskes@topsystem.de | Europark A2, Adenauerstr. 20
meskes@debian.org | 52146 Wuerselen
Go SF49ers! Go Rhein Fire! | Tel: (+49) 2405/4670-44
Use Debian GNU/Linux! | Fax: (+49) 2405/4670-10