ping: [PATCH] VMS build update
"Craig A. Berry" <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <[email protected]> |
I know folks are busy, but if it's not too inconvenient to apply this, I'd appreciate it. If there's something I should be doing differently (such as using the SourceForge patch queue?) please let me know. cheers, Craig Begin forwarded message: > From: "Craig A. Berry" <[email protected]> > Date: March 26, 2009 2:14:38 PM CDT > To: FreeTDS Development Group <[email protected]> > Subject: [freetds] [PATCH] VMS build update > Reply-To: FreeTDS Development Group <[email protected]> > > The attached patch gets the development build going again on VMS. > There were a few files we weren't building, a few nits with the way > we were handling include files, and some special help needed for > stripping the file extension in src/dblib/unittests/common.c. > > After this, all tests that we currently build pass for me when > building with > > $ cc/vers > HP C V7.2-022 on OpenVMS IA64 V8.3 > > and running against a MS SQL Express 2005 database. There are > probably some newer tests we aren't running, so I'll look into > adding those later. > > ________________________________________ > Craig A. Berry > mailto:[email protected] > > "... getting out of a sonnet is much more > difficult than getting in." > Brad Leithauser > > > > _______________________________________________ > FreeTDS mailing list > [email protected] > http://lists.ibiblio.org/mailman/listinfo/freetds ________________________________________ Craig A. Berry mailto:[email protected] "... getting out of a sonnet is much more difficult than getting in." Brad Leithauser _______________________________________________ FreeTDS mailing list [email protected] http://lists.ibiblio.org/mailman/listinfo/freetds
vmsbuild_20090326.patch
(application/octet-stream, 4 KB)
--- vms/config_h.vms;-0 2008-07-17 06:52:35 -0500
+++ vms/config_h.vms 2009-03-26 11:28:20 -0500
@@ -279,8 +279,6 @@
/* Additions below not originally from config.h.in */
-#define _FREETDS_LIBRARY_SOURCE
-
/* This really just needs to be the current working directory for the tests */
#define FREETDS_SRCDIR "."
--- vms/descrip_mms.template;-0 2008-05-21 22:53:18 -0500
+++ vms/descrip_mms.template 2009-03-26 12:32:14 -0500
@@ -71,17 +71,17 @@ CC = CC/DECC
.SUFFIXES : $(E) $(OLB) $(OBJ) .C .H
.IFDEF ODBC
-CDEFINE = "$(TDSVER)","HAVE_CONFIG_H"=1,"UNIXODBC"
+CDEFINE = "$(TDSVER)","HAVE_CONFIG_H"=1,_FREETDS_LIBRARY_SOURCE=1,"UNIXODBC"
CODBCFLAGS = /NAMES=(AS_IS,SHORTENED)
.ELSE
-CDEFINE = $(TDSVER),HAVE_CONFIG_H=1
+CDEFINE = $(TDSVER),HAVE_CONFIG_H=1,_FREETDS_LIBRARY_SOURCE=1
CODBCFLAGS = /NAMES=SHORTENED
.ENDIF
CPREFIX = ALL
-CINCLUDE = "./","./include","./src/tds"$(ODBC_INC)
+CINCLUDE = "./","./include"$(ODBC_INC)
.IFDEF __DEBUG__
-CDBGFLAGS = /DEBUG/NOOPTIMIZE/LIST=$(MMS$TARGET_NAME)/SHOW=ALL
+CDBGFLAGS = /DEBUG/NOOPTIMIZE/LIST=$(MMS$TARGET_NAME)/SHOW=(EXPANSION,INCLUDE)
LDBGFLAGS = /DEBUG/MAP
.ELSE
CDBGFLAGS =
@@ -106,10 +106,10 @@ STRTOK_ROBJ = @STRTOK_ROBJ@
LIBICONVOBJ = @LIBICONVOBJ@
SNPRINTFOBJ = @SNPRINTFOBJ@
-TDSOBJS = [.src.tds]challenge$(OBJ), [.src.tds]config$(OBJ), [.src.tds]convert$(OBJ), \
- [.src.tds]data$(OBJ), [.src.tds]des$(OBJ), [.src.tds]getmac$(OBJ), \
- [.src.tds]iconv$(OBJ), [.src.tds]locale$(OBJ), [.src.tds]login$(OBJ), \
- [.src.tds]md4$(OBJ), [.src.tds]mem$(OBJ), [.src.tds]numeric$(OBJ), \
+TDSOBJS = [.src.tds]bulk$(OBJ), [.src.tds]challenge$(OBJ), [.src.tds]config$(OBJ), \
+ [.src.tds]convert$(OBJ), [.src.tds]data$(OBJ), [.src.tds]des$(OBJ), [.src.tds]getmac$(OBJ), \
+ [.src.tds]gssapi$(OBJ), [.src.tds]hmac_md5$(OBJ), [.src.tds]iconv$(OBJ), [.src.tds]locale$(OBJ), \
+ [.src.tds]login$(OBJ), [.src.tds]md4$(OBJ), [.src.tds]mem$(OBJ), [.src.tds]numeric$(OBJ), \
[.src.tds]query$(OBJ), [.src.tds]read$(OBJ), [.src.tds]tdsstring$(OBJ), \
[.src.tds]threadsafe$(OBJ), [.src.tds]token$(OBJ), [.src.tds]util$(OBJ), \
[.src.tds]vstrbuild$(OBJ), [.src.tds]write$(OBJ), [.src.tds]md5$(OBJ), \
@@ -573,7 +573,7 @@ odbctests : [.src.odbc.unittests]t0001$(
link$(LINKFLAGS)/exe=$(MMS$TARGET) $(MMS$SOURCE_LIST),[]libtds$(OLB)/library
[.src.tds.unittests]convert$(OBJ) : [.src.tds.unittests]convert.c
- $(CC) $(CFLAGS)/NOWARN/INCLUDE=([.src.tds.unittests],$(CINCLUDE)) $(CDBGFLAGS) $(MMS$SOURCE)
+ $(CC) $(CFLAGS)/NOWARN/INCLUDE=([.src.tds.unittests],$(CINCLUDE),[.src.tds]) $(CDBGFLAGS) $(MMS$SOURCE)
[.src.tds.unittests]dataread$(E) : [.src.tds.unittests]dataread$(OBJ) [.src.tds.unittests]common$(OBJ)
link$(LINKFLAGS)/exe=$(MMS$TARGET) $(MMS$SOURCE_LIST),[]libtds$(OLB)/library
--- src/dblib/unittests/common.c;-0 2009-03-19 10:09:56 -0500
+++ src/dblib/unittests/common.c 2009-03-26 11:52:43 -0500
@@ -110,12 +110,25 @@ read_login_info(int argc, char **argv)
static const char *PWD = "../../../PWD";
struct { char *username, *password, *servername, *database; char fverbose; } options;
- BASENAME = tds_basename((char *)argv[0]);
-#ifdef WIN32
+#ifdef __VMS
+ {
+ /* basename expects unix format */
+ strncpy(filename, argv[0], PATH_MAX);
+ s1 = strrchr(filename, ';'); /* trim version; extension trimmed later */
+ if (s1) *s1 = 0;
+ const char *unixspec = decc$translate_vms(filename);
+ strncpy(filename, unixspec, PATH_MAX);
+ }
+#else
+ strncpy(filename, argv[0], PATH_MAX);
+#endif
+
+ BASENAME = tds_basename(filename);
+#if defined(WIN32) || defined(__VMS)
s1 = strrchr(BASENAME, '.');
if (s1) *s1 = 0;
#endif
- DIRNAME = dirname((char *)argv[0]);
+ DIRNAME = dirname(filename);
memset(&options, 0, sizeof(options));
--- include/fakepoll.h;-0 2009-01-06 20:58:32 -0600
+++ include/fakepoll.h 2009-03-17 23:03:52 -0500
@@ -19,6 +19,10 @@
#include <winsock2.h>
#endif
+#if defined(__VMS)
+#include <time.h> /* FD_SETSIZE is in here */
+#endif
+
#if !defined(FD_SETSIZE)
# if !defined(OPEN_MAX)
# error cannot establish FD_SETSIZE