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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.