Building cvs-1_11_19.1 on OpenVMS V7.3-2 on node 1D2 Using Compaq C V6.5-001 on OpenVMS Alpha V7.3-2
building order as in the build_com script [.zlib] [.diff] <== this e-mail session Update on building the [.diff] [.vms] [.lib] [.src]
By removing the build directive /STANDARD=VAXC in the build_diff.com script we can
benefit from the compiler features. The [.Zlib] is already build without the "VAXC" flag
USERS.PS.TOOLS.CVS.CCVS.DIFF>diff build_diff.com
************
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]BUILD_DIFF.COM;2
2 $ CC :== CC/DEBUG/NOOPTIMIZE/DEFINE=HAVE_CONFIG_H-
3 /INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/ PREFIX_LIBRARY_ENTRIES=
******
File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]BUILD_DIFF.COM;1
2 $ CC :== CC/DEBUG/NOOPTIMIZE/STANDARD=VAXC/DEFINE=HAVE_CONFIG_H-
3 /INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/ PREFIX_LIBRARY_ENTRIES=
************
Use the script to build
USERS.PS.TOOLS.CVS.CCVS.DIFF>@build_diff
$ CC :== CC/DEBUG/NOOPTIMIZE/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/ PREFIX_LIBRARY_ENTRIES=ALL_ENTS
$ CC diff.c
#if HAVE_STDLIB_H || defined(STDC_HEADERS)
..................^
%CC-W-BADCONSTEXPR, Syntax error in constant expression.
at line number 173 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;1
stat_result = stat (inf[i].name, &inf[i].stat);
..........................^
%CC-I-IMPLICITFUNC, In this statement, the identifier "wrapped_stat" is implici.
at line number 1017 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]DIFF.C;1
$ CC analyze.c
#if HAVE_STDLIB_H || defined(STDC_HEADERS)
..................^
%CC-W-BADCONSTEXPR, Syntax error in constant expression.
at line number 173 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;1
$ CC cmpbuf.c
#if HAVE_STDLIB_H || defined(STDC_HEADERS)
..................^
%CC-W-BADCONSTEXPR, Syntax error in constant expression.
at line number 173 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;1
$ CC dir.c
#if HAVE_STDLIB_H || defined(STDC_HEADERS)
..................^
%CC-W-BADCONSTEXPR, Syntax error in constant expression.
at line number 173 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;1
$ CC io.c
#if HAVE_STDLIB_H || defined(STDC_HEADERS)
..................^
%CC-W-BADCONSTEXPR, Syntax error in constant expression.
at line number 173 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;1
$ CC util.c
#if HAVE_STDLIB_H || defined(STDC_HEADERS)
..................^
%CC-W-BADCONSTEXPR, Syntax error in constant expression.
at line number 173 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;1
extern char *strerror ();
.............^
%CC-W-FUNCREDECL, In this declaration, function types differ because one has no.
at line number 27 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]UTIL.C;1
$ CC context.c
#if HAVE_STDLIB_H || defined(STDC_HEADERS)
..................^
%CC-W-BADCONSTEXPR, Syntax error in constant expression.
at line number 173 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;1
$ CC ed.c
#if HAVE_STDLIB_H || defined(STDC_HEADERS)
..................^
%CC-W-BADCONSTEXPR, Syntax error in constant expression.
at line number 173 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;1
$ CC ifdef.c
#if HAVE_STDLIB_H || defined(STDC_HEADERS)
..................^
%CC-W-BADCONSTEXPR, Syntax error in constant expression.
at line number 173 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;1
$ CC normal.c
#if HAVE_STDLIB_H || defined(STDC_HEADERS)
..................^
%CC-W-BADCONSTEXPR, Syntax error in constant expression.
at line number 173 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;1
$ CC side.c
#if HAVE_STDLIB_H || defined(STDC_HEADERS)
..................^
%CC-W-BADCONSTEXPR, Syntax error in constant expression.
at line number 173 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;1
$ CC version.c
$ CC diff3.c
#if HAVE_STDLIB_H || defined(STDC_HEADERS)
..................^
%CC-W-BADCONSTEXPR, Syntax error in constant expression.
at line number 173 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;1
if (stat (file[i], &statb) < 0)
............^
%CC-I-IMPLICITFUNC, In this statement, the identifier "wrapped_stat" is implici.
at line number 418 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]DIFF3.C;1
$ library/create diff.olb diff.obj,analyze.obj,cmpbuf.obj,-
dir.obj,io.obj,util.obj,context.obj,ed.obj,ifdef.obj,normal.obj,-
side.obj,version.obj,diff3.obj
%LIBRAR-W-COMCOD, compilation warnings in module DIFF file TOOLS$DISK:[USERS.PS4
%LIBRAR-W-COMCOD, compilation warnings in module ANALYZE file TOOLS$DISK:[USERS4
%LIBRAR-W-COMCOD, compilation warnings in module CMPBUF file TOOLS$DISK:[USERS.4
%LIBRAR-W-COMCOD, compilation warnings in module DIR file TOOLS$DISK:[USERS.PS.4
%LIBRAR-W-COMCOD, compilation warnings in module IO file TOOLS$DISK:[USERS.PS.T4
%LIBRAR-W-COMCOD, compilation warnings in module UTIL file TOOLS$DISK:[USERS.PS4
%LIBRAR-W-COMCOD, compilation warnings in module CONTEXT file TOOLS$DISK:[USERS4
%LIBRAR-W-COMCOD, compilation warnings in module ED file TOOLS$DISK:[USERS.PS.T4
%LIBRAR-W-COMCOD, compilation warnings in module IFDEF file TOOLS$DISK:[USERS.P4
%LIBRAR-W-COMCOD, compilation warnings in module NORMAL file TOOLS$DISK:[USERS.4
%LIBRAR-W-COMCOD, compilation warnings in module SIDE file TOOLS$DISK:[USERS.PS4
%LIBRAR-W-COMCOD, compilation warnings in module DIFF3 file TOOLS$DISK:[USERS.P4
$ set noverify
USERS.PS.TOOLS.CVS.CCVS.DIFF>
Result several warnings, no real errors. New compiler features have their own habits
The %CC-W-BADCONSTEXPR can be fixed by two chnages in the [.diff]system.h
USERS.PS.TOOLS.CVS.CCVS.DIFF>diff system.h ************ File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;2 173 #if defined(HAVE_STDLIB_H) || defined(STDC_HEADERS) 174 #include <stdlib.h> ****** File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;1 173 #if HAVE_STDLIB_H || defined(STDC_HEADERS) 174 #include <stdlib.h> ************ ************ File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;2 191 #if defined (STDC_HEADERS) || defined (HAVE_STRING_H) 192 # include <string.h> ****** File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;1 191 #if STDC_HEADERS || HAVE_STRING_H 192 # include <string.h> ************
Number of difference sections found: 2 Number of difference records found: 2
DIFFERENCES /IGNORE=()/MERGED=1-
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;2-
TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]SYSTEM.H;1
USERS.PS.TOOLS.CVS.CCVS.DIFF>Used the /warnig=verbose switch to get more info on the other warnings. USERS.PS.TOOLS.CVS.CCVS.DIFF>cc /warning=verbose diff.c
stat_result = stat (inf[i].name, &inf[i].stat);
..........................^
%CC-I-IMPLICITFUNC, In this statement, the identifier "wrapped_stat" is implicit
ly declared as a function.
at line number 1017 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]DIFF.C;1
Description: A expression contained a reference to a function that has not been
declared. The C99 standard requires that all referenced functions must be decla
red before they are referenced.
User Action: Declare the function before it is referenced.
USERS.PS.TOOLS.CVS.CCVS.DIFF>cc /warning=verbose util.c
extern char *strerror ();
.............^
%CC-W-FUNCREDECL, In this declaration, function types differ because one has no
argument information and the other has an ellipsis.
at line number 27 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]UTIL.C;1
Description: Two function types, used in an operation or a redeclaration of a fu
nction, are different because one uses ellipses and the other does not. Older co
mpilers will accept this, but it is not valid standard C.
User Action: If used in an operation, a cast should be inserted. If used in a r
edeclaration, the redeclaration should be removed or modified.
USERS.PS.TOOLS.CVS.CCVS.DIFF>cc /warning=verbose diff3.c
if (stat (file[i], &statb) < 0)
............^
%CC-I-IMPLICITFUNC, In this statement, the identifier "wrapped_stat" is implicit
ly declared as a function.
at line number 418 in file TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]DIFF3.C;1
Description: A expression contained a reference to a function that has not been
declared. The C99 standard requires that all referenced functions must be decla
red before they are referenced.
User Action: Declare the function before it is referenced.
USERS.PS.TOOLS.CVS.CCVS.DIFF>
CHANGES:
The %CC-I-IMPLICITFUNC informational can be fixed by added in [.vms]vms.h
the missing declaration line just after the two #define stat and lstat
#define stat(a, b) wrapped_stat(a, b)
#define lstat stat
int wrapped_stat (const char *path, struct stat *buffer); <=== Added.
The %CC-W-FUNCREDECL can be fixed in several ways but or system has the function strerror
defined and the compiler can handle it. So I adjusted the [.diff]UTIL.C
and added defined HAVE_STRERROR in the [.vms]config.h file. (needs to be in the config.h.in)
USERS.PS.TOOLS.CVS.CCVS.DIFF>diff util.c ************ File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]UTIL.C;2 26 #ifndef HAVE_STRERROR 27 extern char *strerror (); ****** File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.DIFF]UTIL.C;1 26 #ifndef strerror 27 extern char *strerror (); ************
and added the line #define HAVE_STRERROR in [.vms]config.h USERS.PS.TOOLS.CVS.CCVS.VMS>diff config.h ************ File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.VMS]CONFIG.H;3 18 #define HAVE_STRERROR ****** File TOOLS$DISK:[USERS.PS.TOOLS.CVS.CCVS.VMS]CONFIG.H;2 18 ************
Rebuilding the whole set results in no errors/warnings.
USERS.PS.TOOLS.CVS.CCVS.DIFF>@build_diff
$ CC :== CC/DEBUG/NOOPTIMIZE/DEFINE=HAVE_CONFIG_H-
/INCLUDE_DIRECTORY=([-],[-.LIB],[-.SRC],[-.VMS])/ PREFIX_LIBRARY_ENTRIES=ALL_ENTRIES
$ CC diff.c
$ CC analyze.c
$ CC cmpbuf.c
$ CC dir.c
$ CC io.c
$ CC util.c
$ CC context.c
$ CC ed.c
$ CC ifdef.c
$ CC normal.c
$ CC side.c
$ CC version.c
$ CC diff3.c
$ library/create diff.olb diff.obj,analyze.obj,cmpbuf.obj,-
dir.obj,io.obj,util.obj,context.obj,ed.obj,ifdef.obj,normal.obj,-
side.obj,version.obj,diff3.obj
$ set noverify
USERS.PS.TOOLS.CVS.CCVS.DIFF>
Still three directory to handle [.vms] [.lib] [.src]
A first quick compile session resulted in many compiler error warning and informational
messages in compiling sources in [.VMS] and a few in the [.lib] and [.src]
_______________________________________________ Bug-cvs mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-cvs
