Add Music Manager's curl 7.21.2 source.

Change-Id: I259a43fa52d581524a5ce8ae1711467acb1d9d50
diff --git a/packages/vms/Makefile.am b/packages/vms/Makefile.am
new file mode 100644
index 0000000..b6f0939
--- /dev/null
+++ b/packages/vms/Makefile.am
@@ -0,0 +1,17 @@
+EXTRA_DIST = build_vms.com \
+ config-vms.h \
+ curlmsg.h \
+ curlmsg.msg \
+ curlmsg.sdl \
+ curlmsg_vms.h \
+ hpssl_alpha.opt \
+ hpssl_ia64.opt \
+ hpssl_vax.opt \
+ ldap.opt \
+ openssl_alpha.opt \
+ openssl_ia64.opt \
+ openssl_vax.opt \
+ openssl_ssl_alpha.opt \
+ openssl_ssl_ia64.opt \
+ openssl_ssl_vax.opt \
+ readme
diff --git a/packages/vms/Makefile.in b/packages/vms/Makefile.in
new file mode 100644
index 0000000..3e83ae5
--- /dev/null
+++ b/packages/vms/Makefile.in
@@ -0,0 +1,422 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = packages/vms
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.m4 \
+	$(top_srcdir)/m4/curl-confopts.m4 \
+	$(top_srcdir)/m4/curl-functions.m4 \
+	$(top_srcdir)/m4/curl-override.m4 \
+	$(top_srcdir)/m4/curl-reentrant.m4 \
+	$(top_srcdir)/m4/curl-system.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \
+	$(top_builddir)/src/curl_config.h \
+	$(top_builddir)/include/curl/curlbuild.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILD_LIBHOSTNAME_FALSE = @BUILD_LIBHOSTNAME_FALSE@
+BUILD_LIBHOSTNAME_TRUE = @BUILD_LIBHOSTNAME_TRUE@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@
+CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@
+CURLDEBUG_FALSE = @CURLDEBUG_FALSE@
+CURLDEBUG_TRUE = @CURLDEBUG_TRUE@
+CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
+CURL_CFLAG_EXTRAS = @CURL_CFLAG_EXTRAS@
+CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
+CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
+CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
+CURL_DISABLE_GOPHER = @CURL_DISABLE_GOPHER@
+CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
+CURL_DISABLE_IMAP = @CURL_DISABLE_IMAP@
+CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
+CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
+CURL_DISABLE_POP3 = @CURL_DISABLE_POP3@
+CURL_DISABLE_PROXY = @CURL_DISABLE_PROXY@
+CURL_DISABLE_RTSP = @CURL_DISABLE_RTSP@
+CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
+CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
+CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
+CURL_LIBS = @CURL_LIBS@
+CURL_NETWORK_LIBS = @CURL_NETWORK_LIBS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_SHARED = @ENABLE_SHARED@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
+HAVE_LIBZ = @HAVE_LIBZ@
+HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@
+HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@
+HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@
+IDN_ENABLED = @IDN_ENABLED@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPV6_ENABLED = @IPV6_ENABLED@
+KRB4_ENABLED = @KRB4_ENABLED@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBCURL_LIBS = @LIBCURL_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+MANOPT = @MANOPT@
+MIMPURE_FALSE = @MIMPURE_FALSE@
+MIMPURE_TRUE = @MIMPURE_TRUE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@
+NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@
+NROFF = @NROFF@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH = @PATH@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKGADD_NAME = @PKGADD_NAME@
+PKGADD_PKG = @PKGADD_PKG@
+PKGADD_VENDOR = @PKGADD_VENDOR@
+PKGCONFIG = @PKGCONFIG@
+RANDOM_FILE = @RANDOM_FILE@
+RANLIB = @RANLIB@
+REQUIRE_LIB_DEPS = @REQUIRE_LIB_DEPS@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@
+SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@
+SSL_ENABLED = @SSL_ENABLED@
+STATICLIB_FALSE = @STATICLIB_FALSE@
+STATICLIB_TRUE = @STATICLIB_TRUE@
+STRIP = @STRIP@
+SUPPORT_FEATURES = @SUPPORT_FEATURES@
+SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
+TEST_SERVER_LIBS = @TEST_SERVER_LIBS@
+USE_ARES = @USE_ARES@
+USE_EMBEDDED_ARES_FALSE = @USE_EMBEDDED_ARES_FALSE@
+USE_EMBEDDED_ARES_TRUE = @USE_EMBEDDED_ARES_TRUE@
+USE_GNUTLS = @USE_GNUTLS@
+USE_LIBRTMP = @USE_LIBRTMP@
+USE_LIBSSH2 = @USE_LIBSSH2@
+USE_MANUAL_FALSE = @USE_MANUAL_FALSE@
+USE_MANUAL_TRUE = @USE_MANUAL_TRUE@
+USE_NSS = @USE_NSS@
+USE_OPENLDAP = @USE_OPENLDAP@
+USE_POLARSSL = @USE_POLARSSL@
+USE_SSLEAY = @USE_SSLEAY@
+USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
+VERSION = @VERSION@
+VERSIONNUM = @VERSIONNUM@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+libext = @libext@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+EXTRA_DIST = build_vms.com \
+ config-vms.h \
+ curlmsg.h \
+ curlmsg.msg \
+ curlmsg.sdl \
+ curlmsg_vms.h \
+ hpssl_alpha.opt \
+ hpssl_ia64.opt \
+ hpssl_vax.opt \
+ ldap.opt \
+ openssl_alpha.opt \
+ openssl_ia64.opt \
+ openssl_vax.opt \
+ openssl_ssl_alpha.opt \
+ openssl_ssl_ia64.opt \
+ openssl_ssl_vax.opt \
+ readme
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  packages/vms/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  packages/vms/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/packages/vms/build_vms.com b/packages/vms/build_vms.com
new file mode 100644
index 0000000..68d9f00
--- /dev/null
+++ b/packages/vms/build_vms.com
@@ -0,0 +1,583 @@
+$! BUILD_VMS.COM
+$!
+$! I've taken the original build_vms.com, supplied by Nico Baggus, if
+$! memory serves me correctly, and made some modifications.
+$!
+$! SSL support is controlled by logical names.  If SSL$INCLUDE is
+$! defined, then it is assumed that HP's SSL product has been installed.
+$! If OPENSSL is defined, but SSL$INCLUDE is not, then OpenSSL will be
+$! used.  If neither logical name is defined, then SSL support will not
+$! be compiled/linked in.  Command-line options NOHPSSL and NOSSL can be
+$! specified to override the automatic SSL selection.
+$!
+$! Command-line Options:
+$!
+$!    CLEAN     Delete product files for this host architecture.  (No
+$!              build done.)
+$!    CLEAN_ALL Delete product files for all host architectures.  (No
+$!              build done.)
+$!
+$!    64        Compile with 64-bit pointers.
+$!    CCQUAL=x  Add "x" to the C compiler qualifiers.
+$!    DEBUG     Compile and link with debug.
+$!    IEEE      Use IEEE floating point.  (Alpha.)
+$!    LARGE     Enable large-file support.  (Non-VAX, VMS >= V7.2.)
+$!    LDAP      Enable LDAP support.
+$!    LIST      Create C compiler listings and linker maps.
+$!    NOHPSSL   Don't use HP SSL, even if available.
+$!    NOSSL     Don't use any SSL, even if available.
+$!    OSSLOLB   Use OpenSSL object libraries (.OLB), even if shared
+$!              images (.EXE) are available.
+$!
+$! DCL Symbols:
+$!
+$!    CURL_CCDEFS="c_macro_1=value1 [, c_macro_2=value2 [...]]"
+$!              Compile with these additional C macros defined.
+$!
+$! Revisions:
+$!
+$!  2-DEC-2003, MSK, the "original" version.
+$!                   It works for me.  Your mileage may vary.
+$! 13-JAN-2004, MSK, moved this procedure to the [.packages.vms] directory
+$!                   and updated it to do hardware dependent builds.
+$! 29-JAN-2004, MSK, moved logical defines into defines.com
+$!  6-FEB-2004, MSK, put in various SSL support bits
+$!  9-MAR-2004, MSK, the config-vms.h* files are now copied to the lib and
+$!                   src directories as curl_config.h.
+$! 15-MAR-2004, MSK, All of the curlmsg*.* files have also been moved to
+$!                   this build directory.  They will be copied to the src
+$!                   directory before build.  The .msg file will be compiled
+$!                   to get the .obj for messages, but the .h and .sdl files
+$!                   are not automatically created since they partly rely on
+$!                   the freeware SDL tool.
+$!  8-FEB-2005, MSK, merged the two config-vms.h* files into one that uses
+$!                   USE_SSLEAY to define if the target has SSL support built
+$!                   in.  Changed the cc/define parameter accordingly.
+$! 11-FEB-2005, MSK, If [--.LIB]AMIGAOS.C and NWLIB.C are there, rename them
+$! 23-MAR-2005, MSK, relocated cc_qual define so that DEBUG option would work
+$! 25-APR-2007, STL, allow compilation in 64-bit mode.
+$! 13-DEC-2009. SMS, Changed to skip unwanted source files without
+$!                   renaming the original files.
+$!                   Eliminated needless, persistent logical names.
+$!                   Added CURL_CCDEFS DCL symbol for user-specified C
+$!                   macro definitions.
+$!                   Added CLEAN and CLEAN_ALL options.
+$!                   Added CCQUAL option for user-specified C compiler
+$!                   qualifiers.
+$!                   Added IEEE option for IEEE floating point (Alpha).
+$!                   Added LARGE option for large-file support.
+$!                   Added OSSLOLB option, and support for OpenSSL
+$!                   shared images.
+$!                   Changed to put listing and map files into lisdir:.
+$!                   Changed to avoid case confusion on ODS5 disks.
+$!                   Added more default dev:[dir] save+restore.
+$!                   Moved remaining "defines.com" code (back) into
+$!                   here, eliminating the hard-coded OpenSSL nonsense.
+$!                   Changed to use F$GETSYI( "ARCH_NAME") (or
+$!                   equivalent) to name architecture-specific product
+$!                   file destination directory, and to create the
+$!                   directory if needed (obviating inclusion of these
+$!                   directories and dummy files in the distribution
+$!                   kit).
+$!                   Changed the "compile" subroutine to break the CC
+$!                   command across multiple lines to avoid DCL
+$!                   line-too-long problems.
+$!                   Changed "vo_c" messages to show the CC qualifiers
+$!                   once, not with every compile command.
+$!
+$!
+$! Save the original default dev:[dir], and arrange for its restoration
+$! at exit.
+$!
+$ curl = ""
+$ orig_def = f$environment( "DEFAULT")
+$ on error then goto Common_Exit
+$ on control_y then goto Common_Exit
+$!
+$ ctrl_y  = 1556
+$ proc = f$environment( "PROCEDURE")
+$ proc_dev_dir = -
+   f$parse( proc, , , "DEVICE")+ f$parse( proc, , , "DIRECTORY")
+$!
+$! Verbose output message stuff.  Define symbol to "write sys$output" or "!".
+$! vo_c - verbose output for compile
+$! vo_l - link
+$! vo_o - object check
+$!
+$ vo_c = "write sys$output"
+$ vo_l = "write sys$output"
+$ vo_o = "!"
+$!
+$! Determine the main distribution directory ("[--]") in an
+$! ODS5-tolerant (case-insensitive) way.  (We do assume that the only
+$! "]" is the one at the end.)
+$!
+$ set default 'proc_dev_dir'
+$ set default [--]
+$ top_dev_dir = f$environment( "DEFAULT")- "]"
+$!
+$! Define the architecture-specific product file destination directory
+$! name(s).
+$!
+$ if (f$getsyi( "HW_MODEL") .lt. 1024)
+$ then
+$    arch_name = "VAX"
+$ else
+$    arch_name = ""
+$    arch_name = arch_name+ f$edit( f$getsyi( "ARCH_NAME"), "UPCASE")
+$    if (arch_name .eqs. "") then arch_name = "UNK"
+$ endif
+$!
+$ exedir = proc_dev_dir- "]"+ ".''arch_name']"
+$ lisdir = exedir
+$ objdir = exedir
+$!
+$! Interpret command-line options.
+$!
+$ hpssl = 0
+$ ldap = 0
+$ list = 0
+$ nohpssl = 0
+$ nossl = 0
+$ openssl = 0
+$ osslolb = 0
+$ cc_qual1 = ""
+$ cc_qual2 = ""
+$ cc_defs = "HAVE_CONFIG_H=1"
+$ if (f$type( CURL_CCDEFS) .nes. "")
+$ then
+$    CURL_CCDEFS = f$edit( CURL_CCDEFS, "TRIM")
+$    cc_defs = cc_defs+ ", "+ CURL_CCDEFS
+$ endif
+$ link_qual = ""
+$ msg_qual = "/object = ''objdir'"
+$ ssl_opt = ""
+$!
+$ arg = 1
+$arg_loop:
+$    p = "p''arg'"
+$    arg_val = 'p'
+$    if (arg_val .eqs. "") then goto arg_loop_out
+$    arg_val = f$edit( arg_val, "upcase")
+$!
+$    if (arg_val .eqs. "CLEAN")
+$    then
+$       prods = "''exedir'*.*;*"
+$       if (f$search( prods) .nes. "") then delete /log 'prods'
+$       prods = proc_dev_dir+ arch_name+ ".DIR;1"
+$       if (f$search( prods) .nes. "") then delete /log 'prods'
+$       goto Common_Exit
+$    endif
+$!
+$    if (arg_val .eqs. "CLEAN_ALL")
+$    then
+$       prods = proc_dev_dir- "]"+ ".ALPHA]*.*;*"
+$       if (f$search( prods) .nes. "") then delete /log 'prods'
+$       prods = proc_dev_dir+ "ALPHA"+ ".DIR;1"
+$       if (f$search( prods) .nes. "") then delete /log 'prods'
+$       prods = proc_dev_dir- "]"+ ".IA64]*.*;*"
+$       if (f$search( prods) .nes. "") then delete /log 'prods'
+$       prods = proc_dev_dir+ "IA64"+ ".DIR;1"
+$       if (f$search( prods) .nes. "") then delete /log 'prods'
+$       prods = proc_dev_dir- "]"+ ".VAX]*.*;*"
+$       if (f$search( prods) .nes. "") then delete /log 'prods'
+$       prods = proc_dev_dir+ "VAX"+ ".DIR;1"
+$       if (f$search( prods) .nes. "") then delete /log 'prods'
+$       goto Common_Exit
+$    endif
+$!
+$    if (arg_val .eqs. "64")
+$    then
+$       cc_qual1 = cc_qual1+ " /POINTER = 64"
+$       goto arg_loop_end
+$    endif
+$!
+$    if (f$extract( 0, 6, arg_val) .eqs. "CCQUAL")
+$    then
+$       opts = f$edit( arg_val, "COLLAPSE")
+$       eq = f$locate( "=", opts)
+$       cc_qual2 = f$extract( (eq+ 1), 1000, opts)
+$       goto arg_loop_end
+$    endif
+$!
+$    if (arg_val .eqs. "DEBUG")
+$    then
+$       cc_qual1 = cc_qual1+ " /debug /nooptimize"
+$       link_qual = link_qual+ " /debug"
+$       goto arg_loop_end
+$    endif
+$!
+$    if (arg_val .eqs. "IEEE")
+$    then
+$       cc_qual1 = cc_qual1+ " /FLOAT = IEEE_FLOAT"
+$       goto arg_loop_end
+$    endif
+$!
+$    if (arg_val .eqs. "LARGE")
+$    then
+$       if (arch_name .eqs. "VAX")
+$       then
+$          write sys$output """LARGE"" is ignored on VAX."
+$       else
+$          cc_defs = cc_defs+ ", _LARGEFILE=1"
+$       endif
+$       goto arg_loop_end
+$    endif
+$!
+$    if (arg_val .eqs. "LDAP")
+$    then
+$       ldap = 1
+$       goto arg_loop_end
+$    endif
+$!
+$    if (f$extract( 0, 4, arg_val) .eqs. "LIST")
+$    then
+$       list = 1
+$       cc_qual1 = cc_qual1+ " /list = ''lisdir' /show = (all, nomessages)"
+$       link_qual = link_qual+ " /map = ''lisdir'"
+$       msg_qual = msg_qual+ " /list = ''lisdir'"
+$       goto arg_loop_end
+$    endif
+$!
+$    if (arg_val .eqs. "NOHPSSL")
+$    then
+$       nohpssl = 1
+$       goto arg_loop_end
+$    endif
+$!
+$    if (arg_val .eqs. "NOSSL")
+$    then
+$       nossl = 1
+$       goto arg_loop_end
+$    endif
+$!
+$    if (arg_val .eqs. "OSSLOLB")
+$    then
+$       osslolb = 1
+$       goto arg_loop_end
+$    endif
+$!
+$    write sys$output "Unrecognized command-line option: ''arg_val'"
+$    goto Common_Exit
+$!
+$arg_loop_end:
+$ arg = arg+ 1
+$ goto arg_loop
+$arg_loop_out:
+$!
+$! CC /LIST, LINK /MAP, and MESSAGE /LIST are defaults in batch mode,
+$! so be explicit when they're not desired.
+$!
+$ if (list .eq. 0)
+$ then
+$    cc_qual1 = cc_qual1+ " /nolist"
+$    link_qual = link_qual+ " /nomap"
+$    msg_qual = msg_qual+ " /nolist"
+$ endif
+$!
+$! Create product directory, if needed.
+$!
+$ if (f$search( proc_dev_dir+ arch_name+ ".DIR;1") .eqs. "")
+$ then
+$    create /directory 'exedir'
+$ endif
+$!
+$! Detect available (but not prohibited) SSL software.
+$!
+$ if (.not. nossl)
+$ then
+$    if (f$trnlnm( "OPENSSL") .nes. "")
+$    then
+$       cc_defs = cc_defs+ ", USE_SSLEAY=1"
+$       if ((f$trnlnm( "SSL$INCLUDE") .nes. "") .and. (.not. nohpssl))
+$       then
+$!         Use HP SSL.
+$          hpssl = 1
+$          ssl_opt = ", ''proc_dev_dir'hpssl_"+ -
+            f$getsyi("ARCH_NAME")+ ".opt /options"
+$       else
+$!         Use OpenSSL.  Assume object libraries, unless shared images
+$!         are found (and not prohibited).
+$          openssl = 1
+$          ssl_opt = ", ssllib:libssl.olb /library"+ -
+            ", ssllib:libcrypto.olb /library"
+$          if (osslolb .eq. 0)
+$          then
+              if ((f$search( "ssllib:ssl_libcrypto.exe") .nes. "") .and. -
+               (f$search( "ssllib:ssl_libssl.exe") .nes. ""))
+$             then
+$!               OpenSSL shared images with "SSL_xxx.EXE names.
+$                openssl = 2
+$                ssl_opt = ", ''proc_dev_dir'openssl_ssl_"+ -
+                  f$getsyi("ARCH_NAME")+ ".opt /options"
+$             else
+$                if ((f$search( "ssllib:libcrypto.exe") .nes. "") .and. -
+                  (f$search( "ssllib:libssl.exe") .nes. ""))
+$                then
+$!                  OpenSSL shared images with "xxx.EXE names.
+$                   openssl = 3
+$                   ssl_opt = ", ''proc_dev_dir'openssl_"+ -
+                     f$getsyi("ARCH_NAME")+ ".opt /options"
+$                endif
+$             endif
+$          endif
+$       endif
+$    endif
+$ endif
+$!
+$! LDAP.
+$!
+$ if (ldap .eq. 0)
+$ then
+$    cc_defs = cc_defs+ ", CURL_DISABLE_LDAP=1"
+$ endif
+$!
+$! Form CC qualifiers.
+$!
+$ cc_defs = "/define = (''cc_defs')"
+$ cc_qual2 = cc_qual2+ " /object = ''objdir'"+ -
+   " /include = ([-.lib], [-.src],"+ -
+   " [-.packages.vms], [-.packages.vms.''arch_name'])"
+$!
+$ 'vo_c' "CC opts:", -
+  " ''cc_defs'", -
+  " ''cc_qual1'", -
+  " ''cc_qual2'"
+$!
+$! Inform the victim of our plans.
+$!
+$ if (hpssl)
+$ then
+$    'vo_c' "%CURL-I-BLDHPSSL, building with HP SSL support"
+$ else
+$    if (openssl .ne. 0)
+$    then
+$       if (openssl .eq. 1)
+$       then
+$          'vo_c' -
+ "%CURL-I-BLDOSSL_OLB, building with OpenSSL (object library) support"
+$       else
+$          'vo_c' -
+ "%CURL-I-BLDOSSL_EXE, building with OpenSSL (shared image) support"
+$       endif
+$    else
+$       'vo_c' "%CURL-I-BLDNOSSL, building with NO SSL support"
+$    endif
+$ endif
+$!
+$! Announce destination and SSL directories.
+$!
+$ 'vo_c' "   OBJDIR = ''objdir'"
+$ 'vo_c' "   EXEDIR = ''exedir'"
+$!
+$ if (openssl .ne. 0)
+$ then
+$    ssllib = f$trnlnm( "ssllib")
+$    if (ssllib .eqs. "")
+$    then
+$        ssllib = "(undefined)"
+$    endif
+$    'vo_c' "   SSLLIB = ''ssllib'"
+$!
+$    if (openssl .eq. 1)
+$    then
+$       ossl_lib1 = f$trnlnm( "ssllib")+ "LIBSSL.OLB"
+$       ossl_lib2 = f$trnlnm( "ssllib")+ "LIBCRYPTO.OLB"
+$       msg = "object libraries"
+$    else
+$       if (openssl .eq. 2)
+$       then
+$          ossl_lib1 = f$trnlnm( "ssllib")+ "SSL_LIBSSL.EXE"
+$          ossl_lib2 = f$trnlnm( "ssllib")+ "SSL_LIBCRYPTO.EXE"
+$       else
+$          ossl_lib1 = f$trnlnm( "ssllib")+ "LIBSSL.EXE"
+$          ossl_lib2 = f$trnlnm( "ssllib")+ "LIBCRYPTO.EXE"
+$       endif
+$       msg = "shared images"
+$    endif
+$    if ((f$search( ossl_lib1) .eqs. "") .or. -
+      (f$search( ossl_lib2) .eqs. ""))
+$    then
+$       write sys$output "Can't find OpenSSL ''msg':"
+$       write sys$output "   ''ossl_lib1'"
+$       write sys$output "   ''ossl_lib2'"
+$       goto Common_Exit
+$    endif
+$ endif
+$!
+$! Define the "curl" (process) logical name for "#include <curl/xxx.h>".
+$!
+$ curl = f$trnlnm( "curl", "LNM$PROCESS")
+$ if (curl .nes. "")
+$ then
+$    write sys$output ""
+$    write sys$output -
+ "Process logical name ""curl"" is already defined, but this procedure"
+$    write sys$output -
+ "would override that definition.  Use a command like"
+$    write sys$output -
+ "      deassign /process curl"
+$    write sys$output -
+ "to cancel that logical name definition, and then and re-run this procedure."
+$    write sys$output ""
+$    goto Common_Exit
+$ endif
+$ define curl 'top_dev_dir'.include.curl]
+$!
+$! Copy the VMS-specific config file into the product directory.
+$!
+$ call MoveIfDiff 'proc_dev_dir'config-vms.h 'objdir'curl_config.h
+$!
+$ on control_y then goto Common_Exit
+$!
+$ set default 'proc_dev_dir'
+$ call build "[--.lib]" "*.c" "''objdir'CURLLIB.OLB" "amigaos, nwlib, nwos"
+$ if ($status .eq. ctrl_y) then goto Common_Exit
+$ call build "[--.src]" "*.c" "''objdir'CURLSRC.OLB"
+$ if ($status .eq. ctrl_y) then goto Common_Exit
+$ call build "[]" "*.msg" "''objdir'CURLSRC.OLB"
+$ if ($status .eq. ctrl_y) then goto Common_Exit
+$!
+$ ldap_opt = ""
+$ if (ldap .ne. 0) then ldap_opt = ", ''proc_dev_dir'ldap.opt /options"
+$!
+$ if (openssl .ne. 0)
+$ then
+$    if (openssl .eq. 1)
+$    then
+$       'vo_l' "%CURL-I-LINK_OSSL, linking with OpenSSL (object library)"
+$    else
+$       'vo_l' "%CURL-I-LINK_HPSSL, linking with OpenSSL (shared image)"
+$    endif
+$ else
+$    if (hpssl)
+$    then
+$       'vo_l' "%CURL-I-LINK_HPSSL, linking with HP SSL"
+$    else
+$       'vo_l' "%CURL-I-LINK_NOSSL, linking with NO SSL support"
+$    endif
+$ endif
+$!
+$ link 'link_qual' /executable = 'exedir'CURL.EXE -
+   'objdir'curlsrc.olb /library /include = (main, curlmsg), -
+   'objdir'curllib.olb /library -
+   'ssl_opt' -
+   'ldap_opt'
+$!
+$ goto Common_Exit
+$!
+$! Subroutine to build everything with a filetype passed in via P2 in
+$! the directory passed in via P1 and put it in the object library named
+$! via P3.  Exclude items in P4.
+$!
+$build:   subroutine
+$    build_def = f$environment( "default")
+$    on control_y then goto EndLoop ! SS$_CONTROLY
+$    sts = 1 ! SS$_NORMAL.
+$!    set noon
+$    set default 'p1'
+$    search = p2
+$    reset = f$search("reset")
+$    if f$search( p3) .eqs. ""
+$    then
+$       librarian /create /object 'p3'
+$    endif
+$    reject_list__ = ","+ f$edit( p4, "COLLAPSE, UPCASE")+ ","
+$    reject_list___len = f$length( reject_list__)
+$    reset = f$search( "reset", 1)
+$Loop:
+$    file = f$search( search, 1)
+$    if file .eqs. "" then goto EndLoop
+$!      Skip a name if it's in the P4 exclusion list.
+$       if (p4 .nes. "")
+$       then
+$          name__ = ","+ -
+            f$edit( f$parse( file, , , "NAME", "SYNTAX_ONLY"), "UPCASE")+ -
+            ","
+$          if (f$locate( name__, reject_list__) .lt. reject_list___len)
+$          then
+$             goto Loop
+$          endif
+$       endif
+$       objfile = f$parse( "''objdir'.OBJ;", file)
+$       obj = f$search( objfile, 2)
+$       if (obj .nes. "")
+$       then
+$          if (f$cvtime(f$file(file,"rdt")) .gts. f$cvtime(f$file(obj,"rdt")))
+$          then
+$             call compile 'file'
+$             sts = $status
+$             if .not. sts
+$             then
+$                goto EndLoop
+$             endif
+$             librarian /object 'p3' 'objfile'
+$          else
+$             'vo_o' "%CURL-I-OBJUTD, ", objfile, " is up to date"
+$          endif
+$       else
+$          'vo_o' "%CURL-I-OBJDNE, ", file, " does not exist"
+$          call compile 'file'
+$          sts = $status
+$          if .not. sts
+$          then
+$             goto EndLoop
+$          endif
+$          librarian /object 'p3' 'objfile'
+$       endif
+$    goto Loop
+$EndLoop:
+$!!!    purge
+$    set default 'build_def'
+$    exit 'sts'
+$ endsubroutine   ! Build
+$!
+$! Based on the file TYPE, do the right compile command.
+$! Only C and MSG supported.
+$!
+$compile:   subroutine
+$    on control_y then return ctrl_y ! SS$_CONTROLY
+$!    set noon
+$    file = p1
+$    qual = p2+ p3+ p4+ p5+ p6+ p7+ p8
+$    typ = f$edit( f$parse( file, , , "TYPE"), "UPCASE") - "."
+$    if (typ .eqs. "C")
+$    then
+$       'vo_c' "CC (opts) ", file
+$       CC 'cc_defs' -
+         'cc_qual1' -
+         'cc_qual2' -
+         'file'
+$    else
+$       cmd_msg = "MESSAGE "+ msg_qual
+$       x = cmd_'typ'
+$       'vo_c' x," ",file
+$       'x' 'file'
+$    endif
+$ ENDSUBROUTINE   ! Compile
+$!
+$! Do a diff of the file specified in P1 with that in P2.  If different
+$! copy P1 to P2.  This also covers if P2 doesn't exist, but not if P2
+$! is an invalid filespec.
+$!
+$MoveIfDiff:  subroutine
+$    set NoOn
+$    define /user_mode sys$error nl:
+$    define /user_mode sys$output nl:
+$    differences 'p1' 'p2'
+$    status = $status
+$    if ( status .ne. %X006C8009) ! if status is not "no diff"
+$    then
+$       copy 'p1' 'p2'
+$       purge /nolog 'p2'
+$    endif
+$    on control_y then return ctrl_y ! SS$_CONTROLY
+$ ENDSUBROUTINE   ! MoveIfDiff
+$!
+$Common_Exit:
+$ set default 'orig_def'
+$ if ((curl .eqs. "") .and. (f$trnlnm( "curl", "LNM$PROCESS") .nes. ""))
+$ then
+$    deassign curl
+$ endif
+$ exit
diff --git a/packages/vms/config-vms.h b/packages/vms/config-vms.h
new file mode 100644
index 0000000..461001c
--- /dev/null
+++ b/packages/vms/config-vms.h
@@ -0,0 +1,371 @@
+#ifndef HEADER_CONFIG_VMS_H
+#define HEADER_CONFIG_VMS_H
+
+/*                                                                         */
+/* MSK, 02/05/04, Hand edited for trail build on Alpha V7.3, DEC C 6.5-003 */
+/* MSK, 03/09/04, Seems to work for all platforms I've built on so far.    */
+/*      Added HAVE_SYS_IOCTL_H define                                      */
+/* TES, 10/06/04, Added MAX_INITIAL_POST_SIZE, HAVE_BASENAME               */
+/* MSK, 02/02/05, Changed HAVE_TERMIOS_H to an undef since the change in   */
+/*                getpass.c no longer undef'd it during compile.           */
+/* MSK, 02/08/05, turned two config-vms files into one by using USE_SSLEAY */
+/* MPZ, 12/28/05, changed HAVE_STRTOK_R define to use CRTL_VER             */
+/* MSK, 01/27/07, needed to add HAVE_STRUCT_TIMEVAL define                 */
+
+/* Define cpu-machine-OS */
+#if defined(__alpha)
+#  define OS "ALPHA-HP-VMS"
+#elif defined(__vax)
+#  define OS "VAX-HP-VMS"
+#elif defined(__ia64)
+#  define OS "IA64-HP-VMS"
+#else
+#  define OS "UNKNOWN-HP-VMS"
+#endif
+
+/* Define if you have the ANSI C header files.  */
+#define STDC_HEADERS 1
+
+/* Define if you can safely include both <sys/time.h> and <time.h>.  */
+#define TIME_WITH_SYS_TIME 1
+
+/* The size of `int', as computed by sizeof. */
+#define SIZEOF_INT 4
+
+/* The size of `long double', as computed by sizeof. */
+#define SIZEOF_LONG_DOUBLE 8
+
+/* The size of `long long', as computed by sizeof. */
+#define SIZEOF_LONG_LONG 8
+
+/* The size of `short', as computed by sizeof. */
+#define SIZEOF_SHORT 2
+
+/* Define if you have the alarm function.  */
+#define HAVE_ALARM 1
+
+/* Define if you have the geteuid function.  */
+#define HAVE_GETEUID 1
+
+/* Define if you have the basename function. */
+#define HAVE_BASENAME 1
+
+/* Define if you have the gethostbyaddr function.  */
+#define HAVE_GETHOSTBYADDR 1
+
+/* Define if you have the gethostname function.  */
+#define HAVE_GETHOSTNAME 1
+
+/* Define if you have the getpwuid function.  */
+#define HAVE_GETPWUID 1
+
+/* Define if you have the getservbyname function.  */
+#define HAVE_GETSERVBYNAME 1
+
+/* Define if you have the gettimeofday function.  */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define if you have the inet_addr function.  */
+#define HAVE_INET_ADDR 1
+
+/* Define if you have the ioctl function. */
+#define HAVE_IOCTL 1
+
+/* Define if you have a working ioctl FIONBIO function. */
+#define HAVE_IOCTL_FIONBIO 1
+
+/* Define if you have a working ioctl SIOCGIFADDR function. */
+#define HAVE_IOCTL_SIOCGIFADDR 1
+
+/* Define if you have the perror function.  */
+#define HAVE_PERROR 1
+
+/* Define if you have the select function.  */
+#define HAVE_SELECT 1
+
+/* Define if you have the setvbuf function.  */
+#define HAVE_SETVBUF 1
+
+/* Define if you have the sigaction function.  */
+#define HAVE_SIGACTION 1
+
+/* Define if you have the signal function.  */
+#define HAVE_SIGNAL 1
+
+/* Define if you have the socket function.  */
+#define HAVE_SOCKET 1
+
+/* Define if you have the strcasecmp function.  */
+#define HAVE_STRCASECMP 1
+
+/* Define if you have the strcmpi function.  */
+/* #define HAVE_STRCMPI 1 */
+
+/* Define if you have the strdup function.  */
+#define HAVE_STRDUP 1
+
+/* Define if you have the strftime function.  */
+#define HAVE_STRFTIME 1
+
+/* Define if you have the stricmp function.  */
+/* #define HAVE_STRICMP 1 */
+
+/* Define if you have the strstr function.  */
+#define HAVE_STRSTR 1
+
+/* Define if you have the ftruncate function. */
+#define HAVE_FTRUNCATE 1
+
+/* Define if you have the uname function.  */
+#define HAVE_UNAME 1
+
+/* Define if you have the <err.h> header file.  */
+#define HAVE_ERR_H 1
+
+/* Define if you have the <fcntl.h> header file.  */
+#define HAVE_FCNTL_H 1
+
+/* Define if you have the <getopt.h> header file.  */
+#define HAVE_GETOPT_H 1
+
+/* Define if you have the <malloc.h> header file.  */
+#define HAVE_MALLOC_H 1
+
+/* Define if you need the malloc.h header header file even with stdlib.h  */
+/* #define NEED_MALLOC_H 1 */
+
+/* Define if you have the <net/if.h> header file.  */
+#define HAVE_NET_IF_H 1
+
+/* Define if you have the <netdb.h> header file.  */
+#define HAVE_NETDB_H 1
+
+/* Define if you have the <netinet/if_ether.h> header file.  */
+#define HAVE_NETINET_IF_ETHER_H 1
+
+/* Define if you have the <netinet/in.h> header file.  */
+#define HAVE_NETINET_IN_H 1
+
+/* OpenSSL section starts here */
+
+/* Define if you have a working OpenSSL installation */
+#ifdef USE_SSLEAY
+
+/* if OpenSSL is in use */
+#define USE_OPENSSL 1
+
+/* Define if you have the crypto library (-lcrypto).  */
+#define HAVE_LIBCRYPTO 1
+
+/* Define if you have the ssl library (-lssl).  */
+#define HAVE_LIBSSL 1
+
+/* Define if you have the <openssl/crypto.h> header file.  */
+#define HAVE_OPENSSL_CRYPTO_H 1
+
+/* Define if you have the <openssl/err.h> header file.  */
+#define HAVE_OPENSSL_ERR_H 1
+
+/* Define if you have the <openssl/pem.h> header file.  */
+#define HAVE_OPENSSL_PEM_H 1
+
+/* Define if you have the <openssl/rsa.h> header file.  */
+#define HAVE_OPENSSL_RSA_H 1
+
+/* Define if you have the <openssl/ssl.h> header file.  */
+#define HAVE_OPENSSL_SSL_H 1
+
+/* Define if you have the <openssl/x509.h> header file.  */
+#define HAVE_OPENSSL_X509_H 1
+
+/*
+ * This needs to be defined for OpenSSL 0.9.7 and other versions that have the
+ * ENGINE stuff supported. If an include of "openssl/engine.h" fails, then
+ * undefine the define below.
+*/
+#define HAVE_OPENSSL_ENGINE_H 1
+
+#endif /* USE_SSLEAY */
+/* OpenSSL section ends here */
+
+/* Define if you have the <pwd.h> header file.  */
+#define HAVE_PWD_H 1
+
+/* Define if you have the <sgtty.h> header file.  */
+#define HAVE_SGTTY_H 1
+
+/* Define if you have the <stdlib.h> header file.  */
+#define HAVE_STDLIB_H 1
+
+/* Define if you have the <sys/socket.h> header file.  */
+#define HAVE_SYS_SOCKET_H 1
+
+/* Define if you have the <sys/stat.h> header file.  */
+#define HAVE_SYS_STAT_H 1
+
+/* Define if you have the <sys/time.h> header file.  */
+#define HAVE_SYS_TIME_H 1
+
+/* Define if you have the <sys/types.h> header file.  */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define if you have the <termios.h> header file.  */
+#undef HAVE_TERMIOS_H
+
+/* Define if you have the <time.h> header file.  */
+#define HAVE_TIME_H 1
+
+/* Define if you have the <unistd.h> header file.  */
+#define HAVE_UNISTD_H 1
+
+/* Define if you have the resolv library (-lresolv).  */
+#define HAVE_LIBRESOLV 1
+
+/* Define if you have the socket library (-lsocket).  */
+#define HAVE_LIBSOCKET 1
+
+/* Define if getaddrinfo exists and works */
+#define HAVE_GETADDRINFO 1
+
+/* Define if you have the <timeval.h> header file.  */
+#define HAVE_TIMEVAL_H 1
+
+/* Define if you have the timeval struct.  */
+#define HAVE_STRUCT_TIMEVAL 1
+
+/* Name of this package! */
+#define PACKAGE "not-used"
+
+/* Version number of this archive. */
+#define VERSION "not-used"
+
+/* Define if you have the getpass function.  */
+#undef HAVE_GETPASS
+
+/* Define if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define if you have the `strtok_r' function.  */
+/* Condition lifted from <string.h>             */
+#if __CRTL_VER >= 70301000
+#  define HAVE_STRTOK_R 1
+#endif
+
+/* Define if you have the `strtoll' function. */
+#define HAVE_STRTOLL 1
+
+/* Define if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you need the memory.h header file even with stdlib.h */
+#define NEED_MEMORY_H 1
+
+/* Define if you have the `sigsetjmp' function. */
+#define HAVE_SIGSETJMP 1
+
+/* Define to 1 if you have the <setjmp.h> header file. */
+#define HAVE_SETJMP_H 1
+
+/* Define to 1 if you have the <limits.h> header file. */
+#define HAVE_LIMITS_H 1
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#define HAVE_SYS_IOCTL_H 1
+
+/* Define to 1 if you have the <stropts.h> header file. */
+#define HAVE_STROPTS_H 1
+
+/* Define if you have the getnameinfo function. */
+#define HAVE_GETNAMEINFO 1
+
+/* Define to the type qualifier of arg 1 for getnameinfo. */
+#define GETNAMEINFO_QUAL_ARG1 const
+
+/* Define to the type of arg 1 for getnameinfo. */
+#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
+
+/* Define to the type of arg 2 for getnameinfo. */
+#define GETNAMEINFO_TYPE_ARG2 size_t
+
+/* Define to the type of args 4 and 6 for getnameinfo. */
+#define GETNAMEINFO_TYPE_ARG46 size_t
+
+/* Define to the type of arg 7 for getnameinfo. */
+#define GETNAMEINFO_TYPE_ARG7 int
+
+/* Define if you have the recv function. */
+#define HAVE_RECV 1
+
+/* Define to the type of arg 1 for recv. */
+#define RECV_TYPE_ARG1 int
+
+/* Define to the type of arg 2 for recv. */
+#define RECV_TYPE_ARG2 void *
+
+/* Define to the type of arg 3 for recv. */
+#define RECV_TYPE_ARG3 int
+
+/* Define to the type of arg 4 for recv. */
+#define RECV_TYPE_ARG4 int
+
+/* Define to the function return type for recv. */
+#define RECV_TYPE_RETV int
+
+/* Define if you have the recvfrom function. */
+#define HAVE_RECVFROM 1
+
+/* Define to the type of arg 1 for recvfrom. */
+#define RECVFROM_TYPE_ARG1 int
+
+/* Define to the type pointed by arg 2 for recvfrom. */
+#define RECVFROM_TYPE_ARG2 void
+
+/* Define if the type pointed by arg 2 for recvfrom is void. */
+#define RECVFROM_TYPE_ARG2_IS_VOID 1
+
+/* Define to the type of arg 3 for recvfrom. */
+#define RECVFROM_TYPE_ARG3 int
+
+/* Define to the type of arg 4 for recvfrom. */
+#define RECVFROM_TYPE_ARG4 int
+
+/* Define to the type pointed by arg 5 for recvfrom. */
+#define RECVFROM_TYPE_ARG5 struct sockaddr
+
+/* Define to the type pointed by arg 6 for recvfrom. */
+#define RECVFROM_TYPE_ARG6 int
+
+/* Define to the function return type for recvfrom. */
+#define RECVFROM_TYPE_RETV int
+
+/* Define if you have the send function. */
+#define HAVE_SEND 1
+
+/* Define to the type of arg 1 for send. */
+#define SEND_TYPE_ARG1 int
+
+/* Define to the type qualifier of arg 2 for send. */
+#define SEND_QUAL_ARG2 const
+
+/* Define to the type of arg 2 for send. */
+#define SEND_TYPE_ARG2 void *
+
+/* Define to the type of arg 3 for send. */
+#define SEND_TYPE_ARG3 int
+
+/* Define to the type of arg 4 for send. */
+#define SEND_TYPE_ARG4 int
+
+/* Define to the function return type for send. */
+#define SEND_TYPE_RETV int
+
+/* Define to hide dollar sign from compilers in strict ansi mode. */
+#define decc_translate_vms(__s) decc$translate_vms(__s)
+
+#endif /* HEADER_CONFIG_VMS_H */
diff --git a/packages/vms/curlmsg.h b/packages/vms/curlmsg.h
new file mode 100644
index 0000000..32f335f
--- /dev/null
+++ b/packages/vms/curlmsg.h
@@ -0,0 +1,119 @@
+#ifndef HEADER_CURLMSG_H
+#define HEADER_CURLMSG_H
+
+#pragma __member_alignment __save
+#pragma __nomember_alignment
+
+/*                                                                          */
+/* CURLMSG.H                                                                */
+/*                                                                          */
+/* SDL File Generated by VAX-11 Message V04-00 on 3-SEP-2008 13:33:54.09    */
+/*                                                                          */
+/* THESE VMS ERROR CODES ARE GENERATED BY TAKING APART THE CURL.H           */
+/* FILE AND PUTTING ALL THE CURLE_* ENUM STUFF INTO THIS FILE,              */
+/* CURLMSG.MSG.  AN .SDL FILE IS CREATED FROM THIS FILE WITH                */
+/* MESSAGE/SDL.  THE .H FILE IS CREATED USING THE FREEWARE SDL TOOL         */
+/* AGAINST THE .SDL FILE WITH SDL/ALPHA/LANG=CC COMMAND.                    */
+/*                                                                          */
+/* WITH THE EXCEPTION OF CURLE_OK, ALL OF THE MESSAGES ARE AT               */
+/* THE ERROR SEVERITY LEVEL.  WITH THE EXCEPTION OF                         */
+/* PEER_FAILED_VERIF, WHICH IS A SHORTENED FORM OF                          */
+/* PEER_FAILED_VERIFICATION, THESE ARE THE SAME NAMES AS THE                */
+/* CURLE_ ONES IN INCLUDE/CURL.H.  THE MESSAGE UTILITY MANUAL STATES        */
+/* "THE COMBINED LENGTH OF THE PREFIX AND THE MESSAGE SYMBOL NAME CANNOT    */
+/* EXCEED 31 CHARACTERS."  WITH A PREFIX OF FIVE THAT LEAVES US WITH 26     */
+/* FOR THE MESSAGE NAME.                                                    */
+/*                                                                          */
+/* IF YOU UPDATE THIS FILE, UPDATE CURLMSG_VMS.H SO THAT THEY ARE IN SYNC   */
+/*                                                                          */
+
+#define CURL_FACILITY 3841
+#define CURL_OK 251756553
+#define CURL_UNSUPPORTED_PROTOCOL 251756562
+#define CURL_FAILED_INIT 251756570
+#define CURL_URL_MALFORMAT 251756578
+#define CURL_OBSOLETE4 251756586
+#define CURL_COULDNT_RESOLVE_PROXY 251756594
+#define CURL_COULDNT_RESOLVE_HOST 251756602
+#define CURL_COULDNT_CONNECT 251756610
+#define CURL_FTP_WEIRD_SERVER_REPLY 251756618
+#define CURL_FTP_ACCESS_DENIED 251756626
+#define CURL_OBSOLETE10 251756634
+#define CURL_FTP_WEIRD_PASS_REPLY 251756642
+#define CURL_OBSOLETE12 251756650
+#define CURL_FTP_WEIRD_PASV_REPLY 251756658
+#define CURL_FTP_WEIRD_227_FORMAT 251756666
+#define CURL_FTP_CANT_GET_HOST 251756674
+#define CURL_OBSOLETE16 251756682
+#define CURL_FTP_COULDNT_SET_TYPE 251756690
+#define CURL_PARTIAL_FILE 251756698
+#define CURL_FTP_COULDNT_RETR_FILE 251756706
+#define CURL_OBSOLETE20 251756714
+#define CURL_QUOTE_ERROR 251756722
+#define CURL_HTTP_RETURNED_ERROR 251756730
+#define CURL_WRITE_ERROR 251756738
+#define CURL_OBSOLETE24 251756746
+#define CURL_UPLOAD_FAILED 251756754
+#define CURL_READ_ERROR 251756762
+#define CURL_OUT_OF_MEMORY 251756770
+#define CURL_OPERATION_TIMEOUTED 251756778
+#define CURL_OBSOLETE29 251756786
+#define CURL_FTP_PORT_FAILED 251756794
+#define CURL_FTP_COULDNT_USE_REST 251756802
+#define CURL_OBSOLETE32 251756810
+#define CURL_RANGE_ERROR 251756818
+#define CURL_HTTP_POST_ERROR 251756826
+#define CURL_SSL_CONNECT_ERROR 251756834
+#define CURL_BAD_DOWNLOAD_RESUME 251756842
+#define CURL_FILE_COULDNT_READ_FILE 251756850
+#define CURL_LDAP_CANNOT_BIND 251756858
+#define CURL_LDAP_SEARCH_FAILED 251756866
+#define CURL_OBSOLETE40 251756874
+#define CURL_FUNCTION_NOT_FOUND 251756882
+#define CURL_ABORTED_BY_CALLBACK 251756890
+#define CURL_BAD_FUNCTION_ARGUMENT 251756898
+#define CURL_OBSOLETE44 251756906
+#define CURL_INTERFACE_FAILED 251756914
+#define CURL_OBSOLETE46 251756922
+#define CURL_TOO_MANY_REDIRECTS 251756930
+#define CURL_UNKNOWN_TELNET_OPTION 251756938
+#define CURL_TELNET_OPTION_SYNTAX 251756946
+#define CURL_OBSOLETE50 251756954
+#define CURL_PEER_FAILED_VERIF 251756962
+#define CURL_GOT_NOTHING 251756970
+#define CURL_SSL_ENGINE_NOTFOUND 251756978
+#define CURL_SSL_ENGINE_SETFAILED 251756986
+#define CURL_SEND_ERROR 251756994
+#define CURL_RECV_ERROR 251757002
+#define CURL_OBSOLETE57 251757010
+#define CURL_SSL_CERTPROBLEM 251757018
+#define CURL_SSL_CIPHER 251757026
+#define CURL_SSL_CACERT 251757034
+#define CURL_BAD_CONTENT_ENCODING 251757042
+#define CURL_LDAP_INVALID_URL 251757050
+#define CURL_FILESIZE_EXCEEDED 251757058
+#define CURL_USE_SSL_FAILED 251757066
+#define CURL_SEND_FAIL_REWIND 251757074
+#define CURL_SSL_ENGINE_INITFAILED 251757082
+#define CURL_LOGIN_DENIED 251757090
+#define CURL_TFTP_NOTFOUND 251757098
+#define CURL_TFTP_PERM 251757106
+#define CURL_REMOTE_DISK_FULL 251757114
+#define CURL_TFTP_ILLEGAL 251757122
+#define CURL_TFTP_UNKNOWNID 251757130
+#define CURL_REMOTE_FILE_EXISTS 251757138
+#define CURL_TFTP_NOSUCHUSER 251757146
+#define CURL_CONV_FAILED 251757154
+#define CURL_CONV_REQD 251757162
+#define CURL_SSL_CACERT_BADFILE 251757170
+#define CURL_REMOTE_FILE_NOT_FOUND 251757178
+#define CURL_SSH 251757186
+#define CURL_SSL_SHUTDOWN_FAILED 251757194
+#define CURL_AGAIN 251757202
+#define CURL_SSL_CRL_BADFILE 251757210
+#define CURL_SSL_ISSUER_ERROR 251757218
+#define CURL_CURL_LAST 251757226
+
+#pragma __member_alignment __restore
+
+#endif /* HEADER_CURLMSG_H */
diff --git a/packages/vms/curlmsg.msg b/packages/vms/curlmsg.msg
new file mode 100644
index 0000000..7fd4483
--- /dev/null
+++ b/packages/vms/curlmsg.msg
@@ -0,0 +1,111 @@
+!
+! These VMS error codes are generated by taking apart the curl.h
+! file and putting all the CURLE_* enum stuff into this file,
+! CURLMSG.MSG.  An .SDL file is created from this file with
+! MESSAGE/SDL.  The .H file is created using the freeware SDL tool
+! against the .SDL file with SDL/ALPHA/LANG=CC command.
+!
+! With the exception of CURLE_OK, all of the messages are at
+! the error severity level.  With the exception of
+! PEER_FAILED_VERIF, which is a shortened form of
+! PEER_FAILED_VERIFICATION, these are the same names as the
+! CURLE_ ones in include/curl.h.  The Message Utility manual states
+! "The combined length of the prefix and the message symbol name cannot
+! exceed 31 characters."  With a prefix of five that leaves us with 26
+! for the message name.
+!
+! If you update this file also update curlmsg_vms.h so that they are in sync
+!
+.TITLE		CURLMSG Message files
+.FACILITY	CURL,1793	/PREFIX=CURL_
+.BASE		1
+.SEVERITY	SUCCESS
+OK		<normal successful completion>
+
+.SEVERITY	ERROR
+UNSUPPORTED_PROTOCOL	<unsupported protocol>
+FAILED_INIT		<failed init>
+URL_MALFORMAT		<URL malformat>
+OBSOLETE4		<obsolete error code>
+COULDNT_RESOLVE_PROXY	<could not resolve proxy>
+COULDNT_RESOLVE_HOST	<could not resolve host>
+COULDNT_CONNECT		<could not connect>
+FTP_WEIRD_SERVER_REPLY	<FTP weird server reply>
+FTP_ACCESS_DENIED	<FTP access denied>
+OBSOLETE10		<obsolete error code>
+FTP_WEIRD_PASS_REPLY	<FTP weird PASS reply>
+OBSOLETE12		<obsolete error code>
+FTP_WEIRD_PASV_REPLY	<FTP weird PASV reply>
+FTP_WEIRD_227_FORMAT	<FTP weird 227 format>
+FTP_CANT_GET_HOST	<FTP can not get host>
+OBSOLETE16		<obsolete error code>
+FTP_COULDNT_SET_TYPE	<FTP could not set type>
+PARTIAL_FILE		<partial file>
+FTP_COULDNT_RETR_FILE	<FTP could not RETR file>
+OBSOLETE20		<obsolete error code>
+QUOTE_ERROR		<quote command error>
+HTTP_RETURNED_ERROR	<HTTP returned error>
+WRITE_ERROR		<write error>
+OBSOLETE24    		<obsolete error code>
+UPLOAD_FAILED		<failed upload command>
+READ_ERROR		<read error, could not open/read file>
+OUT_OF_MEMORY		<out of memory>
+OPERATION_TIMEOUTED	<operation timed out, timeout time was reached>
+OBSOLETE29		<obsolete error code>
+FTP_PORT_FAILED		<FTP PORT operation failed>
+FTP_COULDNT_USE_REST	<FTP REST command failed>
+OBSOLETE32		<obsolete error code>
+RANGE_ERROR		<RANGE command error>
+HTTP_POST_ERROR		<HTTP POST error>
+SSL_CONNECT_ERROR	<SSL connect error>
+BAD_DOWNLOAD_RESUME	<bad download resume>
+FILE_COULDNT_READ_FILE	<FILE could not read file>
+LDAP_CANNOT_BIND	<LDAP cannot bind>
+LDAP_SEARCH_FAILED	<LDAP search failed>
+OBSOLETE40		<obsolete error code>
+FUNCTION_NOT_FOUND	<function not found>
+ABORTED_BY_CALLBACK	<aborted by callback>
+BAD_FUNCTION_ARGUMENT	<bad function argument>
+OBSOLETE44		<obsolete error code>
+INTERFACE_FAILED	<CURLOPT_INTERFACE failed>
+OBSOLETE46		<obsolete error code>
+TOO_MANY_REDIRECTS	<too many redirects>
+UNKNOWN_TELNET_OPTION	<unknown TELNET option>
+TELNET_OPTION_SYNTAX	<malformed TELNET option syntax>
+OBSOLETE50		<obsolete error code>
+PEER_FAILED_VERIF	<peer certificate or fingerprint failed>
+GOT_NOTHING		<got nothing>
+SSL_ENGINE_NOTFOUND	<SSL crypto engine not found>
+SSL_ENGINE_SETFAILED	<SSL can not set SSL crypto engine as default>
+SEND_ERROR		<SEND error, failure sending network data>
+RECV_ERROR		<RECV error, failure receiving network data>
+OBSOLETE57  		<obsolete error code>
+SSL_CERTPROBLEM		<SSL problem with the local certificate>
+SSL_CIPHER              <SSL CIPHER, could not use specified cipher>
+SSL_CACERT		<SSL CACERT, problem with the CA cert (path?)>
+BAD_CONTENT_ENCODING	<unrecognized transfer encoding>
+LDAP_INVALID_URL	<LDAP invalid url>
+FILESIZE_EXCEEDED	<maximum file size exceeded>
+USE_SSL_FAILED		<requested FTP SSL level failed>
+SEND_FAIL_REWIND	<sending data requires a rewind that failed>
+SSL_ENGINE_INITFAILED	<failed to initialise ENGINE>
+LOGIN_DENIED		<user or password not accepted. failed to login>
+TFTP_NOTFOUND		<file not found on server>
+TFTP_PERM		<permission problem on server>
+REMOTE_DISK_FULL	<out of disk space on server>
+TFTP_ILLEGAL		<illegal TFTP operation>
+TFTP_UNKNOWNID		<unknown transfer ID>
+REMOTE_FILE_EXISTS	<file already exists>
+TFTP_NOSUCHUSER		<no such user>
+CONV_FAILED		<conversion failed>
+CONV_REQD		<caller must register conversion callbacks>
+SSL_CACERT_BADFILE	<could not load CACERT file>
+REMOTE_FILE_NOT_FOUND	<remote file not found>
+SSH			<unspecified error from the SSH layer>
+SSL_SHUTDOWN_FAILED	<failed to shut down the SSL connection>
+AGAIN			<socket not ready, wait and try again>
+SSL_CRL_BADFILE		<could not load CRL file, missing or wrong format>
+SSL_ISSUER_ERROR	<issuer check failed>
+CURL_LAST		<CURLMSG.MSG is out of sync with the source code>
+
+.END
diff --git a/packages/vms/curlmsg.sdl b/packages/vms/curlmsg.sdl
new file mode 100644
index 0000000..e192c07
--- /dev/null
+++ b/packages/vms/curlmsg.sdl
@@ -0,0 +1,115 @@
+
+
+ MODULE $CURDEF;
+
+/*
+/* This SDL File Generated by VAX-11 Message V04-00 on  3-SEP-2008 13:33:54.09
+/*
+/* $ID: CURLMSG.MSG,V 1.7 2008-05-30 23:51:09 CURLVMS EXP $
+/*
+/* THESE VMS ERROR CODES ARE GENERATED BY TAKING APART THE CURL.H
+/* FILE AND PUTTING ALL THE CURLE_* ENUM STUFF INTO THIS FILE,
+/* CURLMSG.MSG.  AN .SDL FILE IS CREATED FROM THIS FILE WITH
+/* MESSAGE/SDL.  THE .H FILE IS CREATED USING THE FREEWARE SDL TOOL
+/* AGAINST THE .SDL FILE WITH SDL/ALPHA/LANG=CC COMMAND.
+/*
+/* WITH THE EXCEPTION OF CURLE_OK, ALL OF THE MESSAGES ARE AT
+/* THE ERROR SEVERITY LEVEL.  WITH THE EXCEPTION OF
+/* PEER_FAILED_VERIF, WHICH IS A SHORTENED FORM OF
+/* PEER_FAILED_VERIFICATION, THESE ARE THE SAME NAMES AS THE
+/* CURLE_ ONES IN INCLUDE/CURL.H.  THE MESSAGE UTILITY MANUAL STATES
+/* "THE COMBINED LENGTH OF THE PREFIX AND THE MESSAGE SYMBOL NAME CANNOT
+/* EXCEED 31 CHARACTERS."  WITH A PREFIX OF FIVE THAT LEAVES US WITH 26
+/* FOR THE MESSAGE NAME.
+/*
+/* IF YOU UPDATE THIS FILE ALSO UPDATE CURLMSG_VMS.H SO THAT THEY ARE IN SYNC
+/*
+    CONSTANT
+        "FACILITY"     EQUALS 3841       PREFIX "CURL" TAG ""
+       ,"OK"           EQUALS %X0F018009     PREFIX "CURL" TAG ""
+       ,"UNSUPPORTED_PROTOCOL" EQUALS %X0F018012 PREFIX "CURL" TAG ""
+       ,"FAILED_INIT"  EQUALS %X0F01801A     PREFIX "CURL" TAG ""
+       ,"URL_MALFORMAT" EQUALS %X0F018022    PREFIX "CURL" TAG ""
+       ,"OBSOLETE4"    EQUALS %X0F01802A     PREFIX "CURL" TAG ""
+       ,"COULDNT_RESOLVE_PROXY" EQUALS %X0F018032 PREFIX "CURL" TAG ""
+       ,"COULDNT_RESOLVE_HOST" EQUALS %X0F01803A PREFIX "CURL" TAG ""
+       ,"COULDNT_CONNECT" EQUALS %X0F018042  PREFIX "CURL" TAG ""
+       ,"FTP_WEIRD_SERVER_REPLY" EQUALS %X0F01804A PREFIX "CURL" TAG ""
+       ,"FTP_ACCESS_DENIED" EQUALS %X0F018052 PREFIX "CURL" TAG ""
+       ,"OBSOLETE10"   EQUALS %X0F01805A     PREFIX "CURL" TAG ""
+       ,"FTP_WEIRD_PASS_REPLY" EQUALS %X0F018062 PREFIX "CURL" TAG ""
+       ,"OBSOLETE12"   EQUALS %X0F01806A     PREFIX "CURL" TAG ""
+       ,"FTP_WEIRD_PASV_REPLY" EQUALS %X0F018072 PREFIX "CURL" TAG ""
+       ,"FTP_WEIRD_227_FORMAT" EQUALS %X0F01807A PREFIX "CURL" TAG ""
+       ,"FTP_CANT_GET_HOST" EQUALS %X0F018082 PREFIX "CURL" TAG ""
+       ,"OBSOLETE16"   EQUALS %X0F01808A     PREFIX "CURL" TAG ""
+       ,"FTP_COULDNT_SET_TYPE" EQUALS %X0F018092 PREFIX "CURL" TAG ""
+       ,"PARTIAL_FILE" EQUALS %X0F01809A     PREFIX "CURL" TAG ""
+       ,"FTP_COULDNT_RETR_FILE" EQUALS %X0F0180A2 PREFIX "CURL" TAG ""
+       ,"OBSOLETE20"   EQUALS %X0F0180AA     PREFIX "CURL" TAG ""
+       ,"QUOTE_ERROR"  EQUALS %X0F0180B2     PREFIX "CURL" TAG ""
+       ,"HTTP_RETURNED_ERROR" EQUALS %X0F0180BA PREFIX "CURL" TAG ""
+       ,"WRITE_ERROR"  EQUALS %X0F0180C2     PREFIX "CURL" TAG ""
+       ,"OBSOLETE24"   EQUALS %X0F0180CA     PREFIX "CURL" TAG ""
+       ,"UPLOAD_FAILED" EQUALS %X0F0180D2    PREFIX "CURL" TAG ""
+       ,"READ_ERROR"   EQUALS %X0F0180DA     PREFIX "CURL" TAG ""
+       ,"OUT_OF_MEMORY" EQUALS %X0F0180E2    PREFIX "CURL" TAG ""
+       ,"OPERATION_TIMEOUTED" EQUALS %X0F0180EA PREFIX "CURL" TAG ""
+       ,"OBSOLETE29"   EQUALS %X0F0180F2     PREFIX "CURL" TAG ""
+       ,"FTP_PORT_FAILED" EQUALS %X0F0180FA  PREFIX "CURL" TAG ""
+       ,"FTP_COULDNT_USE_REST" EQUALS %X0F018102 PREFIX "CURL" TAG ""
+       ,"OBSOLETE32"   EQUALS %X0F01810A     PREFIX "CURL" TAG ""
+       ,"RANGE_ERROR"  EQUALS %X0F018112     PREFIX "CURL" TAG ""
+       ,"HTTP_POST_ERROR" EQUALS %X0F01811A  PREFIX "CURL" TAG ""
+       ,"SSL_CONNECT_ERROR" EQUALS %X0F018122 PREFIX "CURL" TAG ""
+       ,"BAD_DOWNLOAD_RESUME" EQUALS %X0F01812A PREFIX "CURL" TAG ""
+       ,"FILE_COULDNT_READ_FILE" EQUALS %X0F018132 PREFIX "CURL" TAG ""
+       ,"LDAP_CANNOT_BIND" EQUALS %X0F01813A PREFIX "CURL" TAG ""
+       ,"LDAP_SEARCH_FAILED" EQUALS %X0F018142 PREFIX "CURL" TAG ""
+       ,"OBSOLETE40"   EQUALS %X0F01814A     PREFIX "CURL" TAG ""
+       ,"FUNCTION_NOT_FOUND" EQUALS %X0F018152 PREFIX "CURL" TAG ""
+       ,"ABORTED_BY_CALLBACK" EQUALS %X0F01815A PREFIX "CURL" TAG ""
+       ,"BAD_FUNCTION_ARGUMENT" EQUALS %X0F018162 PREFIX "CURL" TAG ""
+       ,"OBSOLETE44"   EQUALS %X0F01816A     PREFIX "CURL" TAG ""
+       ,"INTERFACE_FAILED" EQUALS %X0F018172 PREFIX "CURL" TAG ""
+       ,"OBSOLETE46"   EQUALS %X0F01817A     PREFIX "CURL" TAG ""
+       ,"TOO_MANY_REDIRECTS" EQUALS %X0F018182 PREFIX "CURL" TAG ""
+       ,"UNKNOWN_TELNET_OPTION" EQUALS %X0F01818A PREFIX "CURL" TAG ""
+       ,"TELNET_OPTION_SYNTAX" EQUALS %X0F018192 PREFIX "CURL" TAG ""
+       ,"OBSOLETE50"   EQUALS %X0F01819A     PREFIX "CURL" TAG ""
+       ,"PEER_FAILED_VERIF" EQUALS %X0F0181A2 PREFIX "CURL" TAG ""
+       ,"GOT_NOTHING"  EQUALS %X0F0181AA     PREFIX "CURL" TAG ""
+       ,"SSL_ENGINE_NOTFOUND" EQUALS %X0F0181B2 PREFIX "CURL" TAG ""
+       ,"SSL_ENGINE_SETFAILED" EQUALS %X0F0181BA PREFIX "CURL" TAG ""
+       ,"SEND_ERROR"   EQUALS %X0F0181C2     PREFIX "CURL" TAG ""
+       ,"RECV_ERROR"   EQUALS %X0F0181CA     PREFIX "CURL" TAG ""
+       ,"OBSOLETE57"   EQUALS %X0F0181D2     PREFIX "CURL" TAG ""
+       ,"SSL_CERTPROBLEM" EQUALS %X0F0181DA  PREFIX "CURL" TAG ""
+       ,"SSL_CIPHER"   EQUALS %X0F0181E2     PREFIX "CURL" TAG ""
+       ,"SSL_CACERT"   EQUALS %X0F0181EA     PREFIX "CURL" TAG ""
+       ,"BAD_CONTENT_ENCODING" EQUALS %X0F0181F2 PREFIX "CURL" TAG ""
+       ,"LDAP_INVALID_URL" EQUALS %X0F0181FA PREFIX "CURL" TAG ""
+       ,"FILESIZE_EXCEEDED" EQUALS %X0F018202 PREFIX "CURL" TAG ""
+       ,"USE_SSL_FAILED" EQUALS %X0F01820A   PREFIX "CURL" TAG ""
+       ,"SEND_FAIL_REWIND" EQUALS %X0F018212 PREFIX "CURL" TAG ""
+       ,"SSL_ENGINE_INITFAILED" EQUALS %X0F01821A PREFIX "CURL" TAG ""
+       ,"LOGIN_DENIED" EQUALS %X0F018222     PREFIX "CURL" TAG ""
+       ,"TFTP_NOTFOUND" EQUALS %X0F01822A    PREFIX "CURL" TAG ""
+       ,"TFTP_PERM"    EQUALS %X0F018232     PREFIX "CURL" TAG ""
+       ,"REMOTE_DISK_FULL" EQUALS %X0F01823A PREFIX "CURL" TAG ""
+       ,"TFTP_ILLEGAL" EQUALS %X0F018242     PREFIX "CURL" TAG ""
+       ,"TFTP_UNKNOWNID" EQUALS %X0F01824A   PREFIX "CURL" TAG ""
+       ,"REMOTE_FILE_EXISTS" EQUALS %X0F018252 PREFIX "CURL" TAG ""
+       ,"TFTP_NOSUCHUSER" EQUALS %X0F01825A  PREFIX "CURL" TAG ""
+       ,"CONV_FAILED"  EQUALS %X0F018262     PREFIX "CURL" TAG ""
+       ,"CONV_REQD"    EQUALS %X0F01826A     PREFIX "CURL" TAG ""
+       ,"SSL_CACERT_BADFILE" EQUALS %X0F018272 PREFIX "CURL" TAG ""
+       ,"REMOTE_FILE_NOT_FOUND" EQUALS %X0F01827A PREFIX "CURL" TAG ""
+       ,"SSH"          EQUALS %X0F018282     PREFIX "CURL" TAG ""
+       ,"SSL_SHUTDOWN_FAILED" EQUALS %X0F01828A PREFIX "CURL" TAG ""
+       ,"AGAIN"        EQUALS %X0F018292     PREFIX "CURL" TAG ""
+       ,"SSL_CRL_BADFILE" EQUALS %X0F01829A  PREFIX "CURL" TAG ""
+       ,"SSL_ISSUER_ERROR" EQUALS %X0F0182A2 PREFIX "CURL" TAG ""
+       ,"CURL_LAST"    EQUALS %X0F0182AA     PREFIX "CURL" TAG ""
+       ;
+ END_MODULE;
diff --git a/packages/vms/curlmsg_vms.h b/packages/vms/curlmsg_vms.h
new file mode 100644
index 0000000..e99e88c
--- /dev/null
+++ b/packages/vms/curlmsg_vms.h
@@ -0,0 +1,120 @@
+#ifndef HEADER_CURLMSG_VMS_H
+#define HEADER_CURLMSG_VMS_H
+
+/*                                                                          */
+/* CURLMSG_VMS.H                                                            */
+/*                                                                          */
+/* This defines the necessary bits to change CURLE_* error codes to VMS     */
+/* style error codes.  CURLMSG.H is built from CURLMSG.SDL which is built   */
+/* from CURLMSG.MSG.  The vms_cond array is used to return VMS errors by    */
+/* putting the VMS error codes into the array offset based on CURLE_* code. */
+/*                                                                          */
+/* If you update CURLMSG.MSG make sure to update this file to match.        */
+/*                                                                          */
+
+#include "curlmsg.h"
+
+/*
+#define   FAC_CURL      0xC01
+#define   FAC_SYSTEM    0
+#define   MSG_NORMAL    0
+*/
+
+/*
+#define   SEV_WARNING   0
+#define   SEV_SUCCESS   1
+#define   SEV_ERROR     2
+#define   SEV_INFO      3
+#define   SEV_FATAL     4
+*/
+
+static const long vms_cond[] =
+        {
+        CURL_OK,
+	CURL_UNSUPPORTED_PROTOCOL,
+	CURL_FAILED_INIT,
+	CURL_URL_MALFORMAT,
+	CURL_OBSOLETE4,
+	CURL_COULDNT_RESOLVE_PROXY,
+	CURL_COULDNT_RESOLVE_HOST,
+	CURL_COULDNT_CONNECT,
+	CURL_FTP_WEIRD_SERVER_REPLY,
+	CURL_FTP_ACCESS_DENIED,
+	CURL_OBSOLETE10,
+	CURL_FTP_WEIRD_PASS_REPLY,
+	CURL_OBSOLETE12,
+	CURL_FTP_WEIRD_PASV_REPLY,
+	CURL_FTP_WEIRD_227_FORMAT,
+	CURL_FTP_CANT_GET_HOST,
+	CURL_OBSOLETE16,
+	CURL_FTP_COULDNT_SET_TYPE,
+	CURL_PARTIAL_FILE,
+	CURL_FTP_COULDNT_RETR_FILE,
+	CURL_OBSOLETE20,
+	CURL_QUOTE_ERROR,
+	CURL_HTTP_RETURNED_ERROR,
+	CURL_WRITE_ERROR,
+	CURL_OBSOLETE24,
+	CURL_UPLOAD_FAILED,
+	CURL_READ_ERROR,
+	CURL_OUT_OF_MEMORY,
+	CURL_OPERATION_TIMEOUTED,
+	CURL_OBSOLETE29,
+	CURL_FTP_PORT_FAILED,
+	CURL_FTP_COULDNT_USE_REST,
+	CURL_OBSOLETE32,
+	CURL_RANGE_ERROR,
+	CURL_HTTP_POST_ERROR,
+	CURL_SSL_CONNECT_ERROR,
+	CURL_BAD_DOWNLOAD_RESUME,
+	CURL_FILE_COULDNT_READ_FILE,
+	CURL_LDAP_CANNOT_BIND,
+	CURL_LDAP_SEARCH_FAILED,
+	CURL_OBSOLETE40,
+	CURL_FUNCTION_NOT_FOUND,
+	CURL_ABORTED_BY_CALLBACK,
+	CURL_BAD_FUNCTION_ARGUMENT,
+	CURL_OBSOLETE44,
+	CURL_INTERFACE_FAILED,
+	CURL_OBSOLETE46,
+	CURL_TOO_MANY_REDIRECTS,
+	CURL_UNKNOWN_TELNET_OPTION,
+	CURL_TELNET_OPTION_SYNTAX,
+	CURL_OBSOLETE50,
+	CURL_PEER_FAILED_VERIF,
+	CURL_GOT_NOTHING,
+	CURL_SSL_ENGINE_NOTFOUND,
+	CURL_SSL_ENGINE_SETFAILED,
+	CURL_SEND_ERROR,
+	CURL_RECV_ERROR,
+	CURL_OBSOLETE57,
+	CURL_SSL_CERTPROBLEM,
+	CURL_SSL_CIPHER,
+	CURL_SSL_CACERT,
+	CURL_BAD_CONTENT_ENCODING,
+	CURL_LDAP_INVALID_URL,
+	CURL_FILESIZE_EXCEEDED,
+	CURL_USE_SSL_FAILED,
+	CURL_SEND_FAIL_REWIND,
+	CURL_SSL_ENGINE_INITFAILED,
+	CURL_LOGIN_DENIED,
+	CURL_TFTP_NOTFOUND,
+	CURL_TFTP_PERM,
+	CURL_REMOTE_DISK_FULL,
+	CURL_TFTP_ILLEGAL,
+	CURL_TFTP_UNKNOWNID,
+	CURL_REMOTE_FILE_EXISTS,
+	CURL_TFTP_NOSUCHUSER,
+	CURL_CONV_FAILED,
+	CURL_CONV_REQD,
+	CURL_SSL_CACERT_BADFILE,
+	CURL_REMOTE_FILE_NOT_FOUND,
+	CURL_SSH,
+	CURL_SSL_SHUTDOWN_FAILED,
+	CURL_AGAIN,
+	CURLE_SSL_CRL_BADFILE,
+	CURLE_SSL_ISSUER_ERROR,
+        CURL_CURL_LAST
+        };
+
+#endif /* HEADER_CURLMSG_VMS_H */
diff --git a/packages/vms/hpssl_alpha.opt b/packages/vms/hpssl_alpha.opt
new file mode 100644
index 0000000..3ad9fbd
--- /dev/null
+++ b/packages/vms/hpssl_alpha.opt
@@ -0,0 +1,2 @@
+SYS$LIBRARY:SSL$LIBCRYPTO_SHR32.EXE/SHARE
+SYS$LIBRARY:SSL$LIBSSL_SHR32.EXE/SHARE
diff --git a/packages/vms/hpssl_ia64.opt b/packages/vms/hpssl_ia64.opt
new file mode 100644
index 0000000..9b22014
--- /dev/null
+++ b/packages/vms/hpssl_ia64.opt
@@ -0,0 +1,2 @@
+SYS$LIBRARY:SSL$LIBCRYPTO_SHR.EXE/SHARE
+SYS$LIBRARY:SSL$LIBSSL_SHR.EXE/SHARE
diff --git a/packages/vms/hpssl_vax.opt b/packages/vms/hpssl_vax.opt
new file mode 100644
index 0000000..3ad9fbd
--- /dev/null
+++ b/packages/vms/hpssl_vax.opt
@@ -0,0 +1,2 @@
+SYS$LIBRARY:SSL$LIBCRYPTO_SHR32.EXE/SHARE
+SYS$LIBRARY:SSL$LIBSSL_SHR32.EXE/SHARE
diff --git a/packages/vms/ldap.opt b/packages/vms/ldap.opt
new file mode 100644
index 0000000..23f1ee4
--- /dev/null
+++ b/packages/vms/ldap.opt
@@ -0,0 +1 @@
+SYS$SHARE:LDAP$SHR.EXE /SHARE
diff --git a/packages/vms/openssl_alpha.opt b/packages/vms/openssl_alpha.opt
new file mode 100644
index 0000000..b445119
--- /dev/null
+++ b/packages/vms/openssl_alpha.opt
@@ -0,0 +1,2 @@
+SSLLIB:LIBCRYPTO.EXE /SHARE
+SSLLIB:LIBSSL.EXE /SHARE
diff --git a/packages/vms/openssl_ia64.opt b/packages/vms/openssl_ia64.opt
new file mode 100644
index 0000000..b445119
--- /dev/null
+++ b/packages/vms/openssl_ia64.opt
@@ -0,0 +1,2 @@
+SSLLIB:LIBCRYPTO.EXE /SHARE
+SSLLIB:LIBSSL.EXE /SHARE
diff --git a/packages/vms/openssl_ssl_alpha.opt b/packages/vms/openssl_ssl_alpha.opt
new file mode 100644
index 0000000..c726c2f
--- /dev/null
+++ b/packages/vms/openssl_ssl_alpha.opt
@@ -0,0 +1,2 @@
+SSLLIB:SSL_LIBCRYPTO.EXE /SHARE
+SSLLIB:SSL_LIBSSL.EXE /SHARE
diff --git a/packages/vms/openssl_ssl_ia64.opt b/packages/vms/openssl_ssl_ia64.opt
new file mode 100644
index 0000000..c726c2f
--- /dev/null
+++ b/packages/vms/openssl_ssl_ia64.opt
@@ -0,0 +1,2 @@
+SSLLIB:SSL_LIBCRYPTO.EXE /SHARE
+SSLLIB:SSL_LIBSSL.EXE /SHARE
diff --git a/packages/vms/openssl_ssl_vax.opt b/packages/vms/openssl_ssl_vax.opt
new file mode 100644
index 0000000..c726c2f
--- /dev/null
+++ b/packages/vms/openssl_ssl_vax.opt
@@ -0,0 +1,2 @@
+SSLLIB:SSL_LIBCRYPTO.EXE /SHARE
+SSLLIB:SSL_LIBSSL.EXE /SHARE
diff --git a/packages/vms/openssl_vax.opt b/packages/vms/openssl_vax.opt
new file mode 100644
index 0000000..b445119
--- /dev/null
+++ b/packages/vms/openssl_vax.opt
@@ -0,0 +1,2 @@
+SSLLIB:LIBCRYPTO.EXE /SHARE
+SSLLIB:LIBSSL.EXE /SHARE
diff --git a/packages/vms/readme b/packages/vms/readme
new file mode 100644
index 0000000..22fde88
--- /dev/null
+++ b/packages/vms/readme
@@ -0,0 +1,70 @@
+                             _   _ ____  _
+                         ___| | | |  _ \| |
+                        / __| | | | |_) | |
+                       ( (__| |_| |  _ <| |___
+                        \___|\___/|_| \_\_____|
+                             for OpenVMS
+
+History:
+
+ 9-MAR-2004, Created this readme. file.  Marty Kuhrt (MSK).
+15-MAR-2004, MSK, Updated to reflect the new files in this directory.
+14-FEB-2005, MSK, removed config-vms.h_with* file comments
+10-FEB-2010, SMS. General update.
+
+Prerequisites:
+
+OpenVMS V7.0 or later (any platform)
+DECC V6.5 or later
+OpenSSL or hp SSL, if you want SSL support
+
+What is Here:
+
+This directory contains the following files:
+
+build_vms.com           Build procedure.
+config-vms.h            VMS-specific config.h.
+curlmsg.h               C header defining cURL status code macros.
+curlmsg.msg             Error message source for curlmsg.h and curlmsg.sdl.
+curlmsg.sdl             SDL source defining cURL status code constants.
+curlmsg_vms.h           Mapping of cURL status codes to VMS-form codes.
+hpssl_alpha.opt         LINK options file for HP SSL on Alpha.
+hpssl_ia64.opt          LINK options file for HP SSL on IA64.
+hpssl_vax.opt           LINK options file for HP SSL on VAX.
+ldap.opt                LINK options file for LDAP.
+Makefile.am             cURL kit file list for this directory.
+Makefile.in             cURL kit makefile source for this directory.
+openssl_alpha.opt       LINK options file for OpenSSL on Alpha.
+openssl_ia64.opt        LINK options file for OpenSSL on IA64.
+openssl_ssl_alpha.opt   LINK options file for OpenSSL (SSL_ prefix) on Alpha.
+openssl_ssl_ia64.opt    LINK options file for OpenSSL (SSL_ prefix) on IA64.
+openssl_ssl_vax.opt     LINK options file for OpenSSL (SSL_ prefix) on VAX.
+openssl_vax.opt         LINK options file for OpenSSL on VAX.
+readme.                 This file.
+
+
+How to Build:
+
+The (brute-force) builder is [.packages.vms]build_vms.com.  Comments in
+this procedure describe various optional parameters which enable or
+disable optional program features, or which control the build in other
+ways.  Product files (.EXE, .H, .LIS, .MAP, .OBJ, .OLB, ...) should be
+produced in an architecture-specific subdirectory under this directory
+([.ALPHA], [.IA64], [.VAX]).
+
+   Example build commands:
+
+      @ [.packages.vms]build_vms.com CLEAN
+      @ [.packages.vms]build_vms.com LARGE LDAP
+      submit /noprint [.packages.vms]build_vms.com /param = (LARGE, LDAP)
+
+
+Other Notes:
+
+The test suites are not supported as of 7.11.0.
+
+The curlmsg.sdl and curlmsg.h files are generated from curlmsg.msg.
+This is not done automatically, since the .MSG file is a hand edit
+of the relevant stuff from the curl.h file.  If you want to do this
+yourself you'll need the SDL package from the freeware collection.
+