cURL / Mailing Lists / curl-library / Single Mail


cURL 7.19.7 v. VMS

From: Steven M. Schweda <>
Date: Mon, 14 Dec 2009 12:57:22 -0600 (CST)

      VMS Builder Complaints

   The VMS builders do not work well on an ODS5 (case-preserving) file
system. For example, on a freshly unpacked "tar" kit:

ALP $ show default

ALP $ @ [.packages.vms]
%DCL-W-PARMDEL, invalid parameter delimiter - check use of special characters
%DCL-W-PARMDEL, invalid parameter delimiter - check use of special characters
%DCL-W-PARMDEL, invalid parameter delimiter - check use of special characters
%CURL-I-BLDSSL, building with SSL support

#include "curl_config.h"
%CC-F-NOINCLFILEF, Cannot find file "curl_config.h" specified in #include direct
at line number 41 in file ALP$DKA100:[UTILITY.SOURCE.curl.curl-7^.19^.7.lib]setu

   There are several other things about these builders which cause
trouble, such as:

   Defining DECC$SYSTEM_INCLUDE silently, and then _leaving_ it defined,
to make trouble for everything else which the victim might wish to
compile after building cURL.

   Changing the default directory, and then failing to restore it if an
error occurs.

   Defining persistent logical names, so that running the builder twice
gives different results.

   "" includes hard-coded paths for some obsolete OpenSSL
source tree which the typical victim won't have, and especially won't
have where this thing looks for it.

      Non-Builder Complaints

   The VMS section of "docs/INSTALL" says approximately nothing about
how to build or install cURL on VMS.

   "packages/vms/config-vms.h" defines some "HAVE_xxx" macros
inaccurately, such as HAVE_STRICMP. Luckily, in "lib/ldap.c", which
uses stricmp(), this macro isn't tested, so it hardly matters.

   Adding a module, "lib/vms_misc.c", can allow cURL to preserve the
case of its command line on relatively modern non-VAX systems.

      Suggested Replacement Files

      Remove From the Kit

   Files "packages/vms/", "packages/vms/".

   Directories "packages/vms/axp", "packages/vms/ia64",

   I have not written a useful VMS section for INSTALL.

   I did approximately no testing, but the build seemed to work as
expected on VMS VAX V7.3 and Alpha V8.3.

      VMS Builder Changes

   Eliminated "packages/vms/" (with its persistent logical
name definitions, and its ODS5 problems).

   Stopped renaming and copying source files around.

   Builder will now create the architecture-specific product
directories, making their inclusion in the product kit unnecessary.

   Added builder command-line options: CLEAN, CLEAN_ALL, IEEE, LARGE,
orthogonal. Changed to allow multiple options.

   Added optional large-file support (LARGE) and LDAP support (LDAP),
and, for Alpha, IEEE floating-point selection.

      VMS Code Changes

   Added "lib/vms_misc.c" to enable some DEC C run-time features

   Miscellaneous changes to "packages/vms/config-vms.h" to improve the
accuracy of some "HAVE_xxx" macros, and to work around a problem where
HAVE_STRICMP is ignored in "lib/ldap.c".

   Most of these problems have been around for a long time, so I assume
that not everyone was annoyed by them so much as I was, and it's
possible that someone would prefer the existing stuff (but I can't
imagine why). I'm available if anyone has any questions. I could also
package the changes in some other way, if that would be useful.


   Steven M. Schweda sms_at_antinode-info
   382 South Warwick Street (+1) 651-699-9818
   Saint Paul MN 55105-2547
List admin:
Received on 2009-12-14