[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit

Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/AIX/Makefile.am b/ap/lib/libcurl/curl-7.54.1/packages/AIX/Makefile.am
new file mode 100644
index 0000000..4b038ed
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/AIX/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = RPM
+
+EXTRA_DIST = Makefile.am
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/AIX/Makefile.in b/ap/lib/libcurl/curl-7.54.1/packages/AIX/Makefile.in
new file mode 100644
index 0000000..c2334ad
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/AIX/Makefile.in
@@ -0,0 +1,712 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 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@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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/AIX
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+	$(top_srcdir)/m4/curl-compilers.m4 \
+	$(top_srcdir)/m4/curl-confopts.m4 \
+	$(top_srcdir)/m4/curl-functions.m4 \
+	$(top_srcdir)/m4/curl-openssl.m4 \
+	$(top_srcdir)/m4/curl-override.m4 \
+	$(top_srcdir)/m4/curl-reentrant.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)/m4/xc-am-iface.m4 \
+	$(top_srcdir)/m4/xc-cc-check.m4 \
+	$(top_srcdir)/m4/xc-lt-iface.m4 \
+	$(top_srcdir)/m4/xc-translit.m4 \
+	$(top_srcdir)/m4/xc-val-flgs.m4 \
+	$(top_srcdir)/m4/zz40-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz50-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \
+	$(top_builddir)/include/curl/curlbuild.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@
+CURLVERSION = @CURLVERSION@
+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_SMB = @CURL_DISABLE_SMB@
+CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
+CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
+CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
+CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@
+CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_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@
+ENABLE_STATIC = @ENABLE_STATIC@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GENHTML = @GENHTML@
+GREP = @GREP@
+HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
+HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
+HAVE_LIBZ = @HAVE_LIBZ@
+HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@
+IDN_ENABLED = @IDN_ENABLED@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPV6_ENABLED = @IPV6_ENABLED@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBCURL_LIBS = @LIBCURL_LIBS@
+LIBMETALINK_CPPFLAGS = @LIBMETALINK_CPPFLAGS@
+LIBMETALINK_LDFLAGS = @LIBMETALINK_LDFLAGS@
+LIBMETALINK_LIBS = @LIBMETALINK_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MANOPT = @MANOPT@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NROFF = @NROFF@
+NSS_LIBS = @NSS_LIBS@
+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_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@
+SSL_ENABLED = @SSL_ENABLED@
+SSL_LIBS = @SSL_LIBS@
+STRIP = @STRIP@
+SUPPORT_FEATURES = @SUPPORT_FEATURES@
+SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
+USE_ARES = @USE_ARES@
+USE_AXTLS = @USE_AXTLS@
+USE_CYASSL = @USE_CYASSL@
+USE_DARWINSSL = @USE_DARWINSSL@
+USE_GNUTLS = @USE_GNUTLS@
+USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@
+USE_LIBRTMP = @USE_LIBRTMP@
+USE_LIBSSH2 = @USE_LIBSSH2@
+USE_MBEDTLS = @USE_MBEDTLS@
+USE_NGHTTP2 = @USE_NGHTTP2@
+USE_NSS = @USE_NSS@
+USE_OPENLDAP = @USE_OPENLDAP@
+USE_POLARSSL = @USE_POLARSSL@
+USE_SCHANNEL = @USE_SCHANNEL@
+USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@
+USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
+VERSION = @VERSION@
+VERSIONNUM = @VERSIONNUM@
+ZLIB_LIBS = @ZLIB_LIBS@
+ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+builddir = @builddir@
+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@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = RPM
+EXTRA_DIST = Makefile.am
+all: all-recursive
+
+.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 ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/AIX/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign packages/AIX/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
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+	check-am clean clean-generic clean-libtool cscopelist-am ctags \
+	ctags-am distclean distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# 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/ap/lib/libcurl/curl-7.54.1/packages/AIX/RPM/Makefile.am b/ap/lib/libcurl/curl-7.54.1/packages/AIX/RPM/Makefile.am
new file mode 100644
index 0000000..d1e7bf9
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/AIX/RPM/Makefile.am
@@ -0,0 +1,2 @@
+EXTRA_DIST = README curl.spec.in
+
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/AIX/RPM/Makefile.in b/ap/lib/libcurl/curl-7.54.1/packages/AIX/RPM/Makefile.in
new file mode 100644
index 0000000..2462260
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/AIX/RPM/Makefile.in
@@ -0,0 +1,533 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 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@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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/AIX/RPM
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+	$(top_srcdir)/m4/curl-compilers.m4 \
+	$(top_srcdir)/m4/curl-confopts.m4 \
+	$(top_srcdir)/m4/curl-functions.m4 \
+	$(top_srcdir)/m4/curl-openssl.m4 \
+	$(top_srcdir)/m4/curl-override.m4 \
+	$(top_srcdir)/m4/curl-reentrant.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)/m4/xc-am-iface.m4 \
+	$(top_srcdir)/m4/xc-cc-check.m4 \
+	$(top_srcdir)/m4/xc-lt-iface.m4 \
+	$(top_srcdir)/m4/xc-translit.m4 \
+	$(top_srcdir)/m4/xc-val-flgs.m4 \
+	$(top_srcdir)/m4/zz40-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz50-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \
+	$(top_builddir)/include/curl/curlbuild.h
+CONFIG_CLEAN_FILES = curl.spec
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/curl.spec.in README
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@
+CURLVERSION = @CURLVERSION@
+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_SMB = @CURL_DISABLE_SMB@
+CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
+CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
+CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
+CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@
+CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_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@
+ENABLE_STATIC = @ENABLE_STATIC@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GENHTML = @GENHTML@
+GREP = @GREP@
+HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
+HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
+HAVE_LIBZ = @HAVE_LIBZ@
+HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@
+IDN_ENABLED = @IDN_ENABLED@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPV6_ENABLED = @IPV6_ENABLED@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBCURL_LIBS = @LIBCURL_LIBS@
+LIBMETALINK_CPPFLAGS = @LIBMETALINK_CPPFLAGS@
+LIBMETALINK_LDFLAGS = @LIBMETALINK_LDFLAGS@
+LIBMETALINK_LIBS = @LIBMETALINK_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MANOPT = @MANOPT@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NROFF = @NROFF@
+NSS_LIBS = @NSS_LIBS@
+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_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@
+SSL_ENABLED = @SSL_ENABLED@
+SSL_LIBS = @SSL_LIBS@
+STRIP = @STRIP@
+SUPPORT_FEATURES = @SUPPORT_FEATURES@
+SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
+USE_ARES = @USE_ARES@
+USE_AXTLS = @USE_AXTLS@
+USE_CYASSL = @USE_CYASSL@
+USE_DARWINSSL = @USE_DARWINSSL@
+USE_GNUTLS = @USE_GNUTLS@
+USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@
+USE_LIBRTMP = @USE_LIBRTMP@
+USE_LIBSSH2 = @USE_LIBSSH2@
+USE_MBEDTLS = @USE_MBEDTLS@
+USE_NGHTTP2 = @USE_NGHTTP2@
+USE_NSS = @USE_NSS@
+USE_OPENLDAP = @USE_OPENLDAP@
+USE_POLARSSL = @USE_POLARSSL@
+USE_SCHANNEL = @USE_SCHANNEL@
+USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@
+USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
+VERSION = @VERSION@
+VERSIONNUM = @VERSIONNUM@
+ZLIB_LIBS = @ZLIB_LIBS@
+ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+builddir = @builddir@
+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@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = README curl.spec.in
+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 ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/AIX/RPM/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign packages/AIX/RPM/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
+$(am__aclocal_m4_deps):
+curl.spec: $(top_builddir)/config.status $(srcdir)/curl.spec.in
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$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:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+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:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# 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/ap/lib/libcurl/curl-7.54.1/packages/AIX/RPM/README b/ap/lib/libcurl/curl-7.54.1/packages/AIX/RPM/README
new file mode 100644
index 0000000..51615ad
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/AIX/RPM/README
@@ -0,0 +1,33 @@
+                             _   _ ____  _
+                         ___| | | |  _ \| |
+                        / __| | | | |_) | |
+                       ( (__| |_| |  _ <| |___
+                        \___|\___/|_| \_\_____|
+                            for AIX Toolbox
+
+Author: Tor Arntsen
+
+The spec file in this directory is based on the Linux ssl and non-ssl
+curl spec files, plus additions to make it AIX Toolbox compatible.
+
+The AIX Toolbox setup (installs into /opt/freeware, with symlinks in
+/usr/bin,/usr/lib,/usr/include) are based on IBM's aixtoolbox spec
+file written by David Clissold <cliss@austin.ibm.com>, see
+
+ftp://ftp.software.ibm.com/aixtoolbox/SPECS/curl-7.9.3-2.spec
+
+This spec file is designed to be a drop-in replacement for the
+old spec file found at the above link. Thus, like the old spec file
+this version is also a unified ssl/non-ssl  version. To get non-ssl
+RPMs just pass --define 'nossl 1' to the command line when building
+the RPM, e.g.
+
+rpm -bb --define 'nossl 1' curl.spec
+
+Default is to build with ssl support.
+
+Lastly, the spec file expects the Curl source distribution file to be
+in .tar.bz2 format.
+
+The nifty curl header of this README is a ripoff of the vms/readme file.
+
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/AIX/RPM/curl.spec.in b/ap/lib/libcurl/curl-7.54.1/packages/AIX/RPM/curl.spec.in
new file mode 100644
index 0000000..634fc71
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/AIX/RPM/curl.spec.in
@@ -0,0 +1,134 @@
+# Use --define 'nossl 1' on the command line to disable SSL detection
+%{!?nossl:%define SSL 1}
+%{?nossl:%define SSL 0}
+
+%define name curl
+%define version @VERSION@
+%define release 1%{!?nossl:ssl}
+
+%define curlroot %{_builddir}/%{name}-%{version}
+
+Summary: get a file from a FTP or HTTP server.
+Name: %{name}
+Version: %{version}
+Release: %{release}
+License: MIT/X derivate
+Vendor: Daniel Stenberg <Daniel.Stenberg@haxx.se>
+Group: Applications/Internet
+Source: %{name}-%{version}.tar.bz2
+URL: https://curl.haxx.se/
+Provides: curl
+BuildRoot: %{_tmppath}/%{name}-%{version}-root
+Prefix: %{_prefix}
+
+%description
+curl is a client to get documents/files from servers, using any of the
+supported protocols.  The command is designed to work without user
+interaction or any kind of interactivity.
+
+curl offers many useful tricks like proxy support, user authentication,
+ftp upload, HTTP post, file transfer resume and more.
+
+%if %{SSL} == 1
+Note: this version is compiled with SSL support.
+%else
+Note: this version is compiled without SSL support.
+%endif
+
+%package	devel
+Summary:	Development files for the curl library
+Group:		Development/Libraries
+%if %{SSL} == 1
+Requires: openssl >= 0.9.5
+%endif
+Requires:	curl = %{version}
+Provides:	curl-devel
+
+%description devel
+libcurl is the core engine of curl; this packages contains all the
+libs, headers, and manual pages to develop applications using libcurl.
+
+%define DEFCC xlc
+
+%prep
+rm -rf %{curlroot}
+%setup -q
+
+%build
+
+# Use the default compiler for this platform - gcc otherwise
+if [[ -z "$CC" ]]
+then
+    if test "X`type %{DEFCC} 2>/dev/null`" != 'X'; then
+       export CC=%{DEFCC}
+    else
+       export CC=gcc
+    fi
+fi
+
+cd %{curlroot} && (if [ -f configure.in ]; then mv -f configure.in configure.in.
+rpm; fi)
+
+./configure --prefix=%{prefix} \
+%if %{SSL} == 1
+        --with-ssl
+%else
+        --without-ssl
+%endif
+
+make
+
+%install
+[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
+make DESTDIR=%{buildroot} install-strip
+
+( cd $RPM_BUILD_ROOT   # same as %{buildroot}
+
+ for dir in bin include
+ do
+    mkdir -p usr/$dir
+    cd usr/$dir
+    ln -sf ../..%{prefix}/$dir/* .
+    cd -
+ done
+
+ mkdir -p usr/lib
+ cd usr/lib
+ ln -sf ../..%{prefix}/lib/* .
+ cd -
+)
+
+%clean
+[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
+
+%files
+%defattr(-,root,root)
+%attr(0755,root,root) %{_bindir}/curl
+%attr(0644,root,root) %{_mandir}/man1/curl.1*
+%attr(0644,root,root) %{_mandir}/man1/mk-ca-bundle.1
+%{_libdir}/libcurl.a
+%if %{SSL} == 1
+%{_datadir}/curl/curl-ca-bundle.crt
+%endif
+%doc CHANGES COPYING README RELEASE-NOTES
+%doc docs/BUGS docs/CONTRIBUTE docs/FAQ docs/FEATURES docs/HISTORY
+%doc docs/INSTALL docs/KNOWN_BUGS
+%doc docs/MANUAL docs/RESOURCES docs/THANKS docs/VERSIONS docs/TODO
+%doc docs/TheArtOfHttpScripting
+%if %{SSL} == 1
+%doc docs/SSLCERTS
+%endif
+/usr/bin/curl
+/usr/lib/libcurl.a
+
+%files devel
+%defattr(-,root,root)
+%attr(0755,root,root) %{_bindir}/curl-config
+%attr(0644,root,root) %{_mandir}/man1/curl-config.1*
+%attr(0644,root,root) %{_mandir}/man1/mk-ca-bundle.1
+%attr(0644,root,root) %{_mandir}/man3/*
+%attr(0644,root,root) %{_includedir}/curl/*
+%{_libdir}/libcurl.la
+%doc docs/BINDINGS docs/INTERNALS docs/LICENSE-MIXING
+/usr/bin/curl-config
+/usr/include/curl
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Android/Android.mk b/ap/lib/libcurl/curl-7.54.1/packages/Android/Android.mk
new file mode 100644
index 0000000..301ab9e
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Android/Android.mk
@@ -0,0 +1,112 @@
+# Google Android makefile for curl and libcurl
+#
+# This file can be used when building curl using the full Android source
+# release or the NDK. Most users do not want or need to do this; please
+# instead read the Android section in docs/INSTALL for alternate
+# methods.
+#
+# Place the curl source (including this makefile) into external/curl/ in the
+# Android source tree.  Then build them with 'make curl' or just 'make libcurl'
+# from the Android root. Tested with Android versions 1.5, 2.1-2.3
+#
+# Note: you must first create a curl_config.h file by running configure in the
+# Android environment. The only way I've found to do this is tricky. Perform a
+# normal Android build with libcurl in the source tree, providing the target
+# "showcommands" to make. The build will eventually fail (because curl_config.h
+# doesn't exist yet), but the compiler commands used to build curl will be
+# shown. Now, from the external/curl/ directory, run curl's normal configure
+# command with flags that match what Android itself uses. This will mean
+# putting the compiler directory into the PATH, putting the -I, -isystem and
+# -D options into CPPFLAGS, putting the -W, -m, -f, -O and -nostdlib options
+# into CFLAGS, and putting the -Wl, -L and -l options into LIBS, along with the
+# path to the files libgcc.a, crtbegin_dynamic.o, and ccrtend_android.o.
+# Remember that the paths must be absolute since you will not be running
+# configure from the same directory as the Android make.  The normal
+# cross-compiler options must also be set. Note that the -c, -o, -MD and
+# similar flags must not be set.
+#
+# To see all the LIBS options, you'll need to do the "showcommands" trick on an
+# executable that's already buildable and watch what flags Android uses to link
+# it (dhcpcd is a good choice to watch). You'll also want to add -L options to
+# LIBS that point to the out/.../obj/lib/ and out/.../obj/system/lib/
+# directories so that additional libraries can be found and used by curl.
+#
+# The end result will be a configure command that looks something like this
+# (the environment variable A is set to the Android root path which makes the
+# command shorter):
+#
+#  A=`realpath ../..` && \
+#  PATH="$A/prebuilt/linux-x86/toolchain/arm-eabi-X/bin:$PATH" \
+#  ./configure --host=arm-linux CC=arm-eabi-gcc \
+#  CPPFLAGS="-I $A/system/core/include ..." \
+#  CFLAGS="-nostdlib -fno-exceptions -Wno-multichar ..." \
+#  LIBS="$A/prebuilt/linux-x86/toolchain/arm-eabi-X/lib/gcc/arm-eabi/X\
+#  /interwork/libgcc.a ..."
+#
+# Finally, copy the file COPYING to NOTICE so that the curl license gets put
+# into the right place (but see the note about this below).
+#
+# Dan Fandrich
+# November 2011
+
+LOCAL_PATH:= $(call my-dir)/../..
+
+common_CFLAGS := -Wpointer-arith -Wwrite-strings -Wunused -Winline -Wnested-externs -Wmissing-declarations -Wmissing-prototypes -Wno-long-long -Wfloat-equal -Wno-multichar -Wsign-compare -Wno-format-nonliteral -Wendif-labels -Wstrict-prototypes -Wdeclaration-after-statement -Wno-system-headers -DHAVE_CONFIG_H
+
+#########################
+# Build the libcurl library
+
+include $(CLEAR_VARS)
+include $(LOCAL_PATH)/lib/Makefile.inc
+CURL_HEADERS := \
+	curlbuild.h \
+	curl.h \
+	curlrules.h \
+	curlver.h \
+	easy.h \
+	mprintf.h \
+	multi.h \
+	stdcheaders.h \
+	typecheck-gcc.h
+
+LOCAL_SRC_FILES := $(addprefix lib/,$(CSOURCES))
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/include/
+LOCAL_CFLAGS += $(common_CFLAGS)
+
+LOCAL_COPY_HEADERS_TO := libcurl/curl
+LOCAL_COPY_HEADERS := $(addprefix include/curl/,$(CURL_HEADERS))
+
+LOCAL_MODULE:= libcurl
+LOCAL_MODULE_TAGS := optional
+
+# Copy the licence to a place where Android will find it.
+# Actually, this doesn't quite work because the build system searches
+# for NOTICE files before it gets to this point, so it will only be seen
+# on subsequent builds.
+ALL_PREBUILT += $(LOCAL_PATH)/NOTICE
+$(LOCAL_PATH)/NOTICE: $(LOCAL_PATH)/COPYING | $(ACP)
+	$(copy-file-to-target)
+
+include $(BUILD_STATIC_LIBRARY)
+
+
+#########################
+# Build the curl binary
+
+include $(CLEAR_VARS)
+include $(LOCAL_PATH)/src/Makefile.inc
+LOCAL_SRC_FILES := $(addprefix src/,$(CURL_CFILES))
+
+LOCAL_MODULE := curl
+LOCAL_MODULE_TAGS := optional
+LOCAL_STATIC_LIBRARIES := libcurl
+LOCAL_SYSTEM_SHARED_LIBRARIES := libc
+
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/include $(LOCAL_PATH)/lib
+
+# This may also need to include $(CURLX_CFILES) in order to correctly link
+# if libcurl is changed to be built as a dynamic library
+LOCAL_CFLAGS += $(common_CFLAGS)
+
+include $(BUILD_EXECUTABLE)
+
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/DOS/README b/ap/lib/libcurl/curl-7.54.1/packages/DOS/README
new file mode 100644
index 0000000..c2ab9b9
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/DOS/README
@@ -0,0 +1,11 @@
+Gisle Vanem made curl build fine on DOS (and MingW) with djgpp, OpenSSL and his
+Watt-32 stack.
+
+'make djgpp' in the root curl dir should build it fine.
+
+Note 1: djgpp 2.04 beta has a sscanf() bug so the URL parsing isn't
+        done proberly. Use djgpp 2.03 until they fix it.
+
+Note 2: Compile Watt-32 (and OpenSSL) with the same version of djgpp.
+        Otherwise things go wrong because things like FS-extensions and
+        errnos have been changed between releases.
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/DOS/common.dj b/ap/lib/libcurl/curl-7.54.1/packages/DOS/common.dj
new file mode 100644
index 0000000..e069ce6
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/DOS/common.dj
@@ -0,0 +1,136 @@
+#
+# Common defines for curl (djgpp/Watt-32)
+#
+# Assumes you've unpacked curl with long-file names
+# I.e use "set LFN=y" before untaring on Win9x/XP.
+# Requires sed, yacc, rm and the usual stuff.
+#
+# Define TOPDIR before including this file.
+
+.SUFFIXES: .exe .y
+
+MAKEFILE = Makefile.dj
+OBJ_DIR = djgpp
+
+#
+# Find out if using a Unix-like shell or a DOS command interpreter
+#
+ifneq ($(findstring COMMAND.COM,$(SHELL)),COMMAND.COM)
+  ifneq ($(findstring CMD.EXE,$(SHELL)),CMD.EXE)
+    ifneq ($(findstring 4DOS.COM,$(SHELL)),4DOS.COM)
+      IS_UNIX_SHELL = 1
+    endif
+  endif
+endif
+
+#
+# Define shell dependent commands and vars
+#
+ifeq ($(IS_UNIX_SHELL),1)
+  COPY   = cp -f
+  DELETE = rm -f
+  MKDIR  = mkdir
+  RMDIR  = rm -f -r
+  DS     = /
+else
+  COPY   = copy
+  DELETE = del
+  MKDIR  = mkdir
+  RMDIR  = rmdir
+  DS     = \$(NOTHING)
+endif
+
+#
+# OpenSSL is available from www.openssl.org and builds okay
+# with djgpp/Watt-32. Set to 0 if you don't need https URLs
+# (reduces curl.exe with approx 700 kB)
+#
+USE_SSL = 0
+
+#
+# Use zlib for contents encoding
+#
+USE_ZLIB = 0
+
+#
+# Use libidn for international domain names
+#
+USE_IDNA = 0
+
+#
+# Use Watt-32 IPv6 stack (only IPv6 name resolution working at the moment)
+#
+USE_IPV6 = 0
+
+#
+# Use C-Ares resolver library
+#
+USE_ARES = 0
+
+#
+# Enable debug code in libcurl/curl
+#
+USE_DEBUG = 0
+
+#
+# Enable memory tracking code in libcurl/curl
+#
+USE_CURLDEBUG = 0
+
+default: all
+
+#
+# Root directory for Waterloo tcp/ip etc. Change to suite.
+# WATT_ROOT should be set during Watt-32 install.
+#
+WATT32_ROOT  = $(subst \,/,$(WATT_ROOT))
+OPENSSL_ROOT = e:/net/openssl.099
+ZLIB_ROOT    = $(DJDIR)/contrib/zlib
+LIBIDN_ROOT  = $(TOPDIR)/../IDN/libidn
+ARES_ROOT    = $(TOPDIR)/ares
+
+CC   = gcc
+YACC = bison -y
+
+CFLAGS = -g -O2 -I. -I$(TOPDIR)/include -I$(TOPDIR)/lib \
+         -I$(WATT32_ROOT)/inc -Wall -DHAVE_CONFIG_H
+
+ifeq ($(USE_SSL),1)
+  CFLAGS += -DUSE_SSLEAY -DUSE_OPENSSL -I$(OPENSSL_ROOT)
+endif
+
+ifeq ($(USE_ZLIB),1)
+  CFLAGS += -DUSE_ZLIB -I$(ZLIB_ROOT)
+endif
+
+ifeq ($(USE_IPV6),1)
+  CFLAGS += -DENABLE_IPV6
+endif
+
+ifeq ($(USE_ARES),1)
+  CFLAGS += -DUSE_ARES -I$(ARES_ROOT)
+endif
+
+ifeq ($(USE_IDNA),1)
+  CFLAGS += -DHAVE_LIBIDN -DHAVE_IDN_FREE_H -DHAVE_IDN_FREE -DHAVE_TLD_H \
+            -DHAVE_TLD_STRERROR -I$(LIBIDN_ROOT)/lib
+endif
+
+ifeq ($(USE_DEBUG),1)
+  CFLAGS += -DDEBUG=1 -DDEBUGBUILD
+endif
+
+ifeq ($(USE_CURLDEBUG),1)
+  CFLAGS += -DCURLDEBUG
+endif
+
+$(OBJ_DIR):
+	$(MKDIR) $(OBJ_DIR)
+
+$(OBJ_DIR)/%.o: %.c
+	$(CC) $(CFLAGS) -o $@ -c $<
+	@echo
+
+depend: $(DEPEND_PREREQ) $(MAKEFILE)
+	$(CC) -MM $(CFLAGS) $(CSOURCES) | \
+	sed -e 's/^\([a-zA-Z0-9_-]*\.o:\)/$$(OBJ_DIR)\/\1/' > depend.dj
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/EPM/Makefile.am b/ap/lib/libcurl/curl-7.54.1/packages/EPM/Makefile.am
new file mode 100644
index 0000000..b010a4b
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/EPM/Makefile.am
@@ -0,0 +1,3 @@
+AUTOMAKE_OPTIONS = foreign
+
+EXTRA_DIST = README curl.list.in
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/EPM/Makefile.in b/ap/lib/libcurl/curl-7.54.1/packages/EPM/Makefile.in
new file mode 100644
index 0000000..0129999
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/EPM/Makefile.in
@@ -0,0 +1,534 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 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@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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/EPM
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+	$(top_srcdir)/m4/curl-compilers.m4 \
+	$(top_srcdir)/m4/curl-confopts.m4 \
+	$(top_srcdir)/m4/curl-functions.m4 \
+	$(top_srcdir)/m4/curl-openssl.m4 \
+	$(top_srcdir)/m4/curl-override.m4 \
+	$(top_srcdir)/m4/curl-reentrant.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)/m4/xc-am-iface.m4 \
+	$(top_srcdir)/m4/xc-cc-check.m4 \
+	$(top_srcdir)/m4/xc-lt-iface.m4 \
+	$(top_srcdir)/m4/xc-translit.m4 \
+	$(top_srcdir)/m4/xc-val-flgs.m4 \
+	$(top_srcdir)/m4/zz40-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz50-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \
+	$(top_builddir)/include/curl/curlbuild.h
+CONFIG_CLEAN_FILES = curl.list
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/curl.list.in README
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@
+CURLVERSION = @CURLVERSION@
+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_SMB = @CURL_DISABLE_SMB@
+CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
+CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
+CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
+CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@
+CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_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@
+ENABLE_STATIC = @ENABLE_STATIC@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GENHTML = @GENHTML@
+GREP = @GREP@
+HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
+HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
+HAVE_LIBZ = @HAVE_LIBZ@
+HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@
+IDN_ENABLED = @IDN_ENABLED@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPV6_ENABLED = @IPV6_ENABLED@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBCURL_LIBS = @LIBCURL_LIBS@
+LIBMETALINK_CPPFLAGS = @LIBMETALINK_CPPFLAGS@
+LIBMETALINK_LDFLAGS = @LIBMETALINK_LDFLAGS@
+LIBMETALINK_LIBS = @LIBMETALINK_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MANOPT = @MANOPT@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NROFF = @NROFF@
+NSS_LIBS = @NSS_LIBS@
+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_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@
+SSL_ENABLED = @SSL_ENABLED@
+SSL_LIBS = @SSL_LIBS@
+STRIP = @STRIP@
+SUPPORT_FEATURES = @SUPPORT_FEATURES@
+SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
+USE_ARES = @USE_ARES@
+USE_AXTLS = @USE_AXTLS@
+USE_CYASSL = @USE_CYASSL@
+USE_DARWINSSL = @USE_DARWINSSL@
+USE_GNUTLS = @USE_GNUTLS@
+USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@
+USE_LIBRTMP = @USE_LIBRTMP@
+USE_LIBSSH2 = @USE_LIBSSH2@
+USE_MBEDTLS = @USE_MBEDTLS@
+USE_NGHTTP2 = @USE_NGHTTP2@
+USE_NSS = @USE_NSS@
+USE_OPENLDAP = @USE_OPENLDAP@
+USE_POLARSSL = @USE_POLARSSL@
+USE_SCHANNEL = @USE_SCHANNEL@
+USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@
+USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
+VERSION = @VERSION@
+VERSIONNUM = @VERSIONNUM@
+ZLIB_LIBS = @ZLIB_LIBS@
+ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+builddir = @builddir@
+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@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AUTOMAKE_OPTIONS = foreign
+EXTRA_DIST = README curl.list.in
+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 ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/EPM/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign packages/EPM/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
+$(am__aclocal_m4_deps):
+curl.list: $(top_builddir)/config.status $(srcdir)/curl.list.in
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$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:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+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:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# 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/ap/lib/libcurl/curl-7.54.1/packages/EPM/README b/ap/lib/libcurl/curl-7.54.1/packages/EPM/README
new file mode 100644
index 0000000..0b031e8
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/EPM/README
@@ -0,0 +1,12 @@
+EPM is a free Unix software/file packaging program that generates distribution
+archives from a list of files. EPM Can:
+
+ * Generate portable script-based distribution packages complete with
+   installation and removal scripts.
+ * Generate vendor distributions in AIX, BSD, Compaq Tru64, Debian, HP-UX,
+   IRIX, Red Hat, and Solaris formats.
+ * Provide a complete, cross-platform software distribution solution for your
+   applications.
+
+http://www.easysw.com/epm/
+
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/EPM/curl.list.in b/ap/lib/libcurl/curl-7.54.1/packages/EPM/curl.list.in
new file mode 100644
index 0000000..3a2028b
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/EPM/curl.list.in
@@ -0,0 +1,60 @@
+# Directories...
+$prefix=@prefix@
+$exec_prefix=@exec_prefix@
+$bindir=@bindir@
+$confdir=@sysconfdir@
+$docdir=@prefix@/doc
+$mandir=@mandir@
+$libdir=@libdir@
+$srcdir=@top_srcdir@
+$includedir=@includedir@
+$datarootdir=@datarootdir@
+
+# Product information
+%product curl
+%copyright 1998-2002 by Daniel Stenberg
+%vendor Daniel Stenberg, <daniel@haxx.se>
+%license ${srcdir}/MITX.txt
+%readme ${srcdir}/README
+%description Curl is a command line tool for transferring data specified
+%description with URL syntax
+%version @VERSION@
+%packager Giuseppe "Cowo" Corbelli <cowo@lugbs.linux.it>
+
+f 0644 cowo pppusers ${mandir}/man1/curl.1 ./docs/curl.1
+f 0644 cowo pppusers ${mandir}/man1/curl-config.1 ./docs/curl-config.1
+f 0644 cowo pppusers ${mandir}/man1/mk-ca-bundle.1 ./docs/mk-ca-bundle.1
+f 0644 cowo pppusers ${mandir}/man3/curl_easy_cleanup.3 ./docs/curl_easy_cleanup.3
+f 0644 cowo pppusers ${mandir}/man3/curl_easy_getinfo.3 ./docs/curl_easy_getinfo.3
+f 0644 cowo pppusers ${mandir}/man3/curl_easy_init.3 ./docs/curl_easy_init.3
+f 0644 cowo pppusers ${mandir}/man3/curl_easy_perform.3 ./docs/curl_easy_perform.3
+f 0644 cowo pppusers ${mandir}/man3/curl_easy_setopt.3 ./docs/curl_easy_setopt.3
+f 0644 cowo pppusers ${mandir}/man3/curl_easy_duphandle.3 ./docs/curl_easy_duphandle.3
+f 0644 cowo pppusers ${mandir}/man3/curl_formparse.3 ./docs/curl_formparse.3
+f 0644 cowo pppusers ${mandir}/man3/curl_formadd.3 ./docs/curl_formadd.3
+f 0644 cowo pppusers ${mandir}/man3/curl_formfree.3 ./docs/curl_formfree.3
+f 0644 cowo pppusers ${mandir}/man3/curl_getdate.3 ./docs/curl_getdate.3
+f 0644 cowo pppusers ${mandir}/man3/curl_getenv.3 ./docs/curl_getenv.3
+f 0644 cowo pppusers ${mandir}/man3/curl_slist_append.3 ./docs/curl_slist_append.3
+f 0644 cowo pppusers ${mandir}/man3/curl_slist_free_all.3 ./docs/curl_slist_free_all.3
+f 0644 cowo pppusers ${mandir}/man3/curl_version.3 ./docs/curl_version.3
+f 0644 cowo pppusers ${mandir}/man3/curl_escape.3 ./docs/curl_escape.3
+f 0644 cowo pppusers ${mandir}/man3/curl_unescape.3 ./docs/curl_unescape.3
+f 0644 cowo pppusers ${mandir}/man3/curl_strequal.3 ./docs/curl_strequal.3
+f 0644 cowo pppusers ${mandir}/man3/curl_strnequal.3 ./docs/curl_strnequal.3
+f 0644 cowo pppusers ${mandir}/man3/curl_mprintf.3 ./docs/curl_mprintf.3
+f 0644 cowo pppusers ${mandir}/man3/curl_global_init.3 ./docs/curl_global_init.3
+f 0644 cowo pppusers ${mandir}/man3/curl_global_cleanup.3 ./docs/curl_global_cleanup.3
+f 0644 cowo pppusers ${mandir}/man3/libcurl.3 ./docs/libcurl.3
+f 0755 cowo pppusers ${libdir}/libcurl.so.2.0.2 ./lib/.libs/libcurl.so.2.0.2
+f 0755 cowo pppusers ${libdir}/libcurl.la ./lib/libcurl.la
+f 0755 cowo pppusers ${libdir}/libcurl.la ./lib/.libs/libcurl.la
+f 0644 cowo pppusers ${libdir}/libcurl.a ./lib/.libs/libcurl.a
+f 0755 cowo pppusers ${bindir}/curl ./src/curl
+f 0755 cowo pppusers ${bindir}/curl ./src/.libs/curl
+f 0644 cowo pppusers ${includedir}/curl/curl.h ./include/curl/curl.h
+f 0644 cowo pppusers ${includedir}/curl/easy.h ./include/curl/easy.h
+f 0644 cowo pppusers ${includedir}/curl/mprintf.h ./include/curl/mprintf.h
+f 0644 cowo pppusers ${includedir}/curl/stdcheaders.h ./include/curl/stdcheaders.h
+f 0644 cowo pppusers ${includedir}/curl/types.h ./include/curl/types.h
+f 0755 cowo pppusers ${bindir}/curl-config ./curl-config
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Linux/Makefile.am b/ap/lib/libcurl/curl-7.54.1/packages/Linux/Makefile.am
new file mode 100644
index 0000000..5753055
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Linux/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = RPM
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Linux/Makefile.in b/ap/lib/libcurl/curl-7.54.1/packages/Linux/Makefile.in
new file mode 100644
index 0000000..6b7cb90
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Linux/Makefile.in
@@ -0,0 +1,711 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 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@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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/Linux
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+	$(top_srcdir)/m4/curl-compilers.m4 \
+	$(top_srcdir)/m4/curl-confopts.m4 \
+	$(top_srcdir)/m4/curl-functions.m4 \
+	$(top_srcdir)/m4/curl-openssl.m4 \
+	$(top_srcdir)/m4/curl-override.m4 \
+	$(top_srcdir)/m4/curl-reentrant.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)/m4/xc-am-iface.m4 \
+	$(top_srcdir)/m4/xc-cc-check.m4 \
+	$(top_srcdir)/m4/xc-lt-iface.m4 \
+	$(top_srcdir)/m4/xc-translit.m4 \
+	$(top_srcdir)/m4/xc-val-flgs.m4 \
+	$(top_srcdir)/m4/zz40-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz50-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \
+	$(top_builddir)/include/curl/curlbuild.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@
+CURLVERSION = @CURLVERSION@
+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_SMB = @CURL_DISABLE_SMB@
+CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
+CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
+CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
+CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@
+CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_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@
+ENABLE_STATIC = @ENABLE_STATIC@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GENHTML = @GENHTML@
+GREP = @GREP@
+HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
+HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
+HAVE_LIBZ = @HAVE_LIBZ@
+HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@
+IDN_ENABLED = @IDN_ENABLED@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPV6_ENABLED = @IPV6_ENABLED@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBCURL_LIBS = @LIBCURL_LIBS@
+LIBMETALINK_CPPFLAGS = @LIBMETALINK_CPPFLAGS@
+LIBMETALINK_LDFLAGS = @LIBMETALINK_LDFLAGS@
+LIBMETALINK_LIBS = @LIBMETALINK_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MANOPT = @MANOPT@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NROFF = @NROFF@
+NSS_LIBS = @NSS_LIBS@
+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_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@
+SSL_ENABLED = @SSL_ENABLED@
+SSL_LIBS = @SSL_LIBS@
+STRIP = @STRIP@
+SUPPORT_FEATURES = @SUPPORT_FEATURES@
+SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
+USE_ARES = @USE_ARES@
+USE_AXTLS = @USE_AXTLS@
+USE_CYASSL = @USE_CYASSL@
+USE_DARWINSSL = @USE_DARWINSSL@
+USE_GNUTLS = @USE_GNUTLS@
+USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@
+USE_LIBRTMP = @USE_LIBRTMP@
+USE_LIBSSH2 = @USE_LIBSSH2@
+USE_MBEDTLS = @USE_MBEDTLS@
+USE_NGHTTP2 = @USE_NGHTTP2@
+USE_NSS = @USE_NSS@
+USE_OPENLDAP = @USE_OPENLDAP@
+USE_POLARSSL = @USE_POLARSSL@
+USE_SCHANNEL = @USE_SCHANNEL@
+USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@
+USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
+VERSION = @VERSION@
+VERSIONNUM = @VERSIONNUM@
+ZLIB_LIBS = @ZLIB_LIBS@
+ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+builddir = @builddir@
+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@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = RPM
+all: all-recursive
+
+.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 ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/Linux/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign packages/Linux/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
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+	check-am clean clean-generic clean-libtool cscopelist-am ctags \
+	ctags-am distclean distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# 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/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/Makefile.am b/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/Makefile.am
new file mode 100644
index 0000000..5d46d87
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/Makefile.am
@@ -0,0 +1,2 @@
+EXTRA_DIST = README curl-ssl.spec.in curl.spec.in make_curl_rpm
+
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/Makefile.in b/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/Makefile.in
new file mode 100644
index 0000000..382b806
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/Makefile.in
@@ -0,0 +1,536 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 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@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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/Linux/RPM
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+	$(top_srcdir)/m4/curl-compilers.m4 \
+	$(top_srcdir)/m4/curl-confopts.m4 \
+	$(top_srcdir)/m4/curl-functions.m4 \
+	$(top_srcdir)/m4/curl-openssl.m4 \
+	$(top_srcdir)/m4/curl-override.m4 \
+	$(top_srcdir)/m4/curl-reentrant.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)/m4/xc-am-iface.m4 \
+	$(top_srcdir)/m4/xc-cc-check.m4 \
+	$(top_srcdir)/m4/xc-lt-iface.m4 \
+	$(top_srcdir)/m4/xc-translit.m4 \
+	$(top_srcdir)/m4/xc-val-flgs.m4 \
+	$(top_srcdir)/m4/zz40-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz50-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \
+	$(top_builddir)/include/curl/curlbuild.h
+CONFIG_CLEAN_FILES = curl.spec curl-ssl.spec
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/curl-ssl.spec.in \
+	$(srcdir)/curl.spec.in README
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@
+CURLVERSION = @CURLVERSION@
+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_SMB = @CURL_DISABLE_SMB@
+CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
+CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
+CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
+CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@
+CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_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@
+ENABLE_STATIC = @ENABLE_STATIC@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GENHTML = @GENHTML@
+GREP = @GREP@
+HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
+HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
+HAVE_LIBZ = @HAVE_LIBZ@
+HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@
+IDN_ENABLED = @IDN_ENABLED@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPV6_ENABLED = @IPV6_ENABLED@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBCURL_LIBS = @LIBCURL_LIBS@
+LIBMETALINK_CPPFLAGS = @LIBMETALINK_CPPFLAGS@
+LIBMETALINK_LDFLAGS = @LIBMETALINK_LDFLAGS@
+LIBMETALINK_LIBS = @LIBMETALINK_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MANOPT = @MANOPT@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NROFF = @NROFF@
+NSS_LIBS = @NSS_LIBS@
+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_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@
+SSL_ENABLED = @SSL_ENABLED@
+SSL_LIBS = @SSL_LIBS@
+STRIP = @STRIP@
+SUPPORT_FEATURES = @SUPPORT_FEATURES@
+SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
+USE_ARES = @USE_ARES@
+USE_AXTLS = @USE_AXTLS@
+USE_CYASSL = @USE_CYASSL@
+USE_DARWINSSL = @USE_DARWINSSL@
+USE_GNUTLS = @USE_GNUTLS@
+USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@
+USE_LIBRTMP = @USE_LIBRTMP@
+USE_LIBSSH2 = @USE_LIBSSH2@
+USE_MBEDTLS = @USE_MBEDTLS@
+USE_NGHTTP2 = @USE_NGHTTP2@
+USE_NSS = @USE_NSS@
+USE_OPENLDAP = @USE_OPENLDAP@
+USE_POLARSSL = @USE_POLARSSL@
+USE_SCHANNEL = @USE_SCHANNEL@
+USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@
+USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
+VERSION = @VERSION@
+VERSIONNUM = @VERSIONNUM@
+ZLIB_LIBS = @ZLIB_LIBS@
+ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+builddir = @builddir@
+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@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = README curl-ssl.spec.in curl.spec.in make_curl_rpm
+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 ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/Linux/RPM/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign packages/Linux/RPM/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
+$(am__aclocal_m4_deps):
+curl.spec: $(top_builddir)/config.status $(srcdir)/curl.spec.in
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+curl-ssl.spec: $(top_builddir)/config.status $(srcdir)/curl-ssl.spec.in
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$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:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+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:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# 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/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/README b/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/README
new file mode 100644
index 0000000..a48ece0
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/README
@@ -0,0 +1,5 @@
+Author: Daniel (I'm not trustworthy, replace this!)
+
+Paul Marquis's 'make_curl_rpm' script is a fine example on how to automate the
+jobs. You need to fill in your own name and email at least.
+
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/curl-ssl.spec.in b/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/curl-ssl.spec.in
new file mode 100644
index 0000000..5b45bb1
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/curl-ssl.spec.in
@@ -0,0 +1,85 @@
+%define name curl-ssl
+%define tarball curl
+%define version 7.11.0
+%define release 1
+
+%define curlroot %{_builddir}/%{tarball}-%{version}
+
+Summary: get a file from an FTP or HTTP server.
+Name: %{name}
+Version: %{version}
+Release: %{release}
+Copyright: MIT/X derivate
+Vendor: Daniel Stenberg <Daniel.Stenberg@haxx.se>
+Packager: Troy Engel <tengel@sonic.net>
+Group: Utilities/Console
+Source: %{tarball}-%{version}.tar.gz
+URL: https://curl.haxx.se/
+Provides: curl
+Obsoletes: curl
+BuildRoot: %{_tmppath}/%{tarball}-%{version}-root
+Requires: openssl >= 0.9.5
+
+%description
+curl is a client to get documents/files from servers, using any of the
+supported protocols. The command is designed to work without user
+interaction or any kind of interactivity.
+
+curl offers a busload of useful tricks like proxy support, user
+authentication, ftp upload, HTTP post, file transfer resume and more.
+
+%package	devel
+Summary:	The includes, libs, and man pages to develop with libcurl
+Group:		Development/Libraries
+Requires:	openssl-devel >= 0.9.5
+Provides:	curl-devel
+
+%description devel
+libcurl is the core engine of curl; this packages contains all the libs,
+headers, and manual pages to develop applications using libcurl.
+
+%prep
+
+%setup -q -n %{tarball}-%{version}
+
+%build
+cd %{curlroot} && (if [ -f configure.in ]; then mv -f configure.in configure.in.rpm; fi)
+%configure
+cd %{curlroot} && (if [ -f configure.in.rpm ]; then mv -f configure.in.rpm configure.in; fi)
+make
+
+%install
+[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
+make DESTDIR=%{buildroot} install-strip
+
+%clean
+[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
+[ "%{curlroot}" != "/" ] && rm -rf %{curlroot}
+
+%post
+/sbin/ldconfig
+
+%postun
+/sbin/ldconfig
+
+%files
+%defattr(-,root,root)
+%attr(0755,root,root) %{_bindir}/curl
+%attr(0644,root,root) %{_mandir}/man1/curl.1*
+%attr(0644,root,root) %{_mandir}/man1/mk-ca-bundle.1
+%{_libdir}/libcurl.so*
+%{_datadir}/curl/curl-ca-bundle.crt
+%doc CHANGES COPYING README testcurl.sh docs/BUGS docs/SSLCERTS
+%doc docs/CONTRIBUTE docs/FAQ docs/FEATURES docs/HISTORY docs/INSTALL
+%doc docs/KNOWN_BUGS docs/MANUAL docs/RESOURCES docs/THANKS
+%doc docs/TODO docs/VERSIONS docs/TheArtOfHttpScripting tests
+
+%files devel
+%defattr(-,root,root)
+%attr(0755,root,root) %{_bindir}/curl-config
+%attr(0644,root,root) %{_mandir}/man1/curl-config.1*
+%attr(0644,root,root) %{_mandir}/man3/*
+%attr(0644,root,root) %{_includedir}/curl/*
+%{_libdir}/libcurl.a
+%{_libdir}/libcurl.la
+%doc docs/BINDINGS docs/INTERNALS docs/examples/* docs/libcurl-the-guide
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/curl.spec.in b/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/curl.spec.in
new file mode 100644
index 0000000..59577b0
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/curl.spec.in
@@ -0,0 +1,84 @@
+%define name curl
+%define version @VERSION@
+%define release 1
+%define prefix /usr
+
+%define builddir $RPM_BUILD_DIR/%{name}-%{version}
+
+Summary: get a file from an FTP or HTTP server.
+Name: %{name}
+Version: %{version}
+Release: %{release}
+Copyright: MPL
+Vendor: Daniel Stenberg <Daniel.Stenberg@haxx.se>
+Packager: Loic Dachary <loic@senga.org>
+Group: Utilities/Console
+Source: %{name}-%{version}.tar.gz
+URL: https://curl.haxx.se/
+BuildRoot: /tmp/%{name}-%{version}-root
+
+%description
+curl is a client to get documents/files from servers, using any of the
+supported protocols. The command is designed to work without user
+interaction or any kind of interactivity.
+
+curl offers a busload of useful tricks like proxy support, user
+authentication, ftp upload, HTTP post, file transfer resume and more.
+
+Note: this version is compiled without SSL (https:) support.
+
+%package	devel
+Summary:	The includes, libs, and man pages to develop with libcurl
+Group:		Development/Libraries
+
+%description devel
+libcurl is the core engine of curl; this packages contains all the libs,
+headers, and manual pages to develop applications using libcurl.
+
+%prep
+rm -rf %{builddir}
+
+%setup
+
+%build
+%configure --without-ssl --prefix=%{prefix}
+make
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make DESTDIR=$RPM_BUILD_ROOT install-strip
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+rm -rf %{builddir}
+
+%post
+/sbin/ldconfig
+
+%postun
+/sbin/ldconfig
+
+%files
+%defattr(-,root,root)
+%attr(0755,root,root) %{_bindir}/curl
+%attr(0644,root,root) %{_mandir}/man1/*
+%{prefix}/lib/libcurl.so*
+%doc CHANGES LEGAL MITX.txt MPL-1.1.txt README docs/BUGS
+%doc docs/CONTRIBUTE docs/FAQ docs/FEATURES docs/INSTALL docs/INTERNALS
+%doc docs/LIBCURL docs/MANUAL docs/README* docs/RESOURCES docs/TODO
+%doc docs/TheArtOfHttpScripting
+
+%files devel
+%defattr(-,root,root)
+%attr(0644,root,root) %{_mandir}/man3/*
+%attr(0644,root,root) %{_includedir}/curl/*
+%{prefix}/lib/libcurl.a
+%{prefix}/lib/libcurl.la
+%doc docs/examples/*
+
+%changelog
+* Sun Jan  7 2001 Loic Dachary  <loic@senga.org>
+
+        - use _mandir instead of prefix to locate man pages because
+	  _mandir is not always prefix/man/man?.
+
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/make_curl_rpm b/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/make_curl_rpm
new file mode 100644
index 0000000..544a23b
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Linux/RPM/make_curl_rpm
@@ -0,0 +1,62 @@
+#! /bin/sh
+# script to build curl RPM from src RPM (SSL and non-SSL versions)
+
+# initialize
+top_dir=/usr/src/redhat
+sources_dir=$top_dir/SOURCES
+specs_dir=$top_dir/SPECS
+rpms_dir=$top_dir/RPMS
+arch=`rpm --showrc | awk 'NF == 3 && $2 == "_arch" { print $3 }'`
+
+# fill in your own name and email here
+packager_name="Mr Joe Packager Person"
+packager_email='<Joe@packager.person>'
+
+# make sure we're running as root
+if test `id -u` -ne `id -u root`
+then
+   echo "you must build the RPM as root"
+   exit 1
+fi
+
+# get version and release number
+if test $# -lt 1
+then
+   echo "version number?"
+   read version
+else
+   version=$1
+fi
+
+if test $# -lt 2
+then
+   echo "release number?"
+   read release
+else
+   release=$2
+fi
+
+# build all the files
+targets="curl curl-ssl"
+for target in $targets
+do
+   # make sure src RPM exist
+   src_rpm="$target-$version-$release.src.rpm"
+   if test -f $src_rpm
+   then
+      rpm -ivh $src_rpm
+
+      # replace packager in spec file
+      sed -e 's/^Packager: .*/Packager: $packager_name $packager_email/' $specs_dir/$target.spec > $specs_dir/$target-$version-$arch.spec
+
+      # build it
+      if ! rpm -ba $specs_dir/$target-$version-$arch.spec
+      then
+         echo "error building $target for $arch -- check output above"
+      fi
+
+      echo "$target rpm is now in $rpms_dir/$arch"
+   else
+      echo $src_rpm does not exist
+   fi
+done
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Makefile.am b/ap/lib/libcurl/curl-7.54.1/packages/Makefile.am
new file mode 100644
index 0000000..bef04f3
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Makefile.am
@@ -0,0 +1,33 @@
+SUBDIRS = Win32 Linux Solaris EPM AIX vms
+
+EXTRA_DIST = README 			\
+	DOS/README 			\
+	DOS/common.dj 			\
+	NetWare/get_ver.awk 		\
+	NetWare/get_exp.awk 		\
+	OS400/README.OS400 		\
+	OS400/ccsidcurl.c 		\
+	OS400/ccsidcurl.h 		\
+	OS400/curl.inc.in 		\
+	OS400/initscript.sh 		\
+	OS400/make-include.sh 		\
+	OS400/make-lib.sh 		\
+	OS400/make-src.sh 		\
+	OS400/make-tests.sh 		\
+	OS400/makefile.sh 		\
+	OS400/os400sys.c 		\
+	OS400/os400sys.h 		\
+	Symbian/bwins/libcurlu.def 	\
+	Symbian/eabi/libcurlu.def 	\
+	Symbian/group/bld.inf 		\
+	Symbian/group/curl.iby 		\
+	Symbian/group/curl.mmp 		\
+	Symbian/group/curl.pkg 		\
+	Symbian/group/libcurl.iby 	\
+	Symbian/group/libcurl.mmp 	\
+	Symbian/group/libcurl.pkg 	\
+	Symbian/readme.txt 		\
+	TPF/curl.mak 			\
+	TPF/maketpf.env_curl 		\
+	TPF/maketpf.env_curllib         \
+	Android/Android.mk
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Makefile.in b/ap/lib/libcurl/curl-7.54.1/packages/Makefile.in
new file mode 100644
index 0000000..1da9eb7
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Makefile.in
@@ -0,0 +1,743 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 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@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+	$(top_srcdir)/m4/curl-compilers.m4 \
+	$(top_srcdir)/m4/curl-confopts.m4 \
+	$(top_srcdir)/m4/curl-functions.m4 \
+	$(top_srcdir)/m4/curl-openssl.m4 \
+	$(top_srcdir)/m4/curl-override.m4 \
+	$(top_srcdir)/m4/curl-reentrant.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)/m4/xc-am-iface.m4 \
+	$(top_srcdir)/m4/xc-cc-check.m4 \
+	$(top_srcdir)/m4/xc-lt-iface.m4 \
+	$(top_srcdir)/m4/xc-translit.m4 \
+	$(top_srcdir)/m4/xc-val-flgs.m4 \
+	$(top_srcdir)/m4/zz40-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz50-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \
+	$(top_builddir)/include/curl/curlbuild.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in README
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@
+CURLVERSION = @CURLVERSION@
+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_SMB = @CURL_DISABLE_SMB@
+CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
+CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
+CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
+CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@
+CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_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@
+ENABLE_STATIC = @ENABLE_STATIC@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GENHTML = @GENHTML@
+GREP = @GREP@
+HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
+HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
+HAVE_LIBZ = @HAVE_LIBZ@
+HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@
+IDN_ENABLED = @IDN_ENABLED@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPV6_ENABLED = @IPV6_ENABLED@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBCURL_LIBS = @LIBCURL_LIBS@
+LIBMETALINK_CPPFLAGS = @LIBMETALINK_CPPFLAGS@
+LIBMETALINK_LDFLAGS = @LIBMETALINK_LDFLAGS@
+LIBMETALINK_LIBS = @LIBMETALINK_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MANOPT = @MANOPT@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NROFF = @NROFF@
+NSS_LIBS = @NSS_LIBS@
+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_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@
+SSL_ENABLED = @SSL_ENABLED@
+SSL_LIBS = @SSL_LIBS@
+STRIP = @STRIP@
+SUPPORT_FEATURES = @SUPPORT_FEATURES@
+SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
+USE_ARES = @USE_ARES@
+USE_AXTLS = @USE_AXTLS@
+USE_CYASSL = @USE_CYASSL@
+USE_DARWINSSL = @USE_DARWINSSL@
+USE_GNUTLS = @USE_GNUTLS@
+USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@
+USE_LIBRTMP = @USE_LIBRTMP@
+USE_LIBSSH2 = @USE_LIBSSH2@
+USE_MBEDTLS = @USE_MBEDTLS@
+USE_NGHTTP2 = @USE_NGHTTP2@
+USE_NSS = @USE_NSS@
+USE_OPENLDAP = @USE_OPENLDAP@
+USE_POLARSSL = @USE_POLARSSL@
+USE_SCHANNEL = @USE_SCHANNEL@
+USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@
+USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
+VERSION = @VERSION@
+VERSIONNUM = @VERSIONNUM@
+ZLIB_LIBS = @ZLIB_LIBS@
+ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+builddir = @builddir@
+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@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = Win32 Linux Solaris EPM AIX vms
+EXTRA_DIST = README 			\
+	DOS/README 			\
+	DOS/common.dj 			\
+	NetWare/get_ver.awk 		\
+	NetWare/get_exp.awk 		\
+	OS400/README.OS400 		\
+	OS400/ccsidcurl.c 		\
+	OS400/ccsidcurl.h 		\
+	OS400/curl.inc.in 		\
+	OS400/initscript.sh 		\
+	OS400/make-include.sh 		\
+	OS400/make-lib.sh 		\
+	OS400/make-src.sh 		\
+	OS400/make-tests.sh 		\
+	OS400/makefile.sh 		\
+	OS400/os400sys.c 		\
+	OS400/os400sys.h 		\
+	Symbian/bwins/libcurlu.def 	\
+	Symbian/eabi/libcurlu.def 	\
+	Symbian/group/bld.inf 		\
+	Symbian/group/curl.iby 		\
+	Symbian/group/curl.mmp 		\
+	Symbian/group/curl.pkg 		\
+	Symbian/group/libcurl.iby 	\
+	Symbian/group/libcurl.mmp 	\
+	Symbian/group/libcurl.pkg 	\
+	Symbian/readme.txt 		\
+	TPF/curl.mak 			\
+	TPF/maketpf.env_curl 		\
+	TPF/maketpf.env_curllib         \
+	Android/Android.mk
+
+all: all-recursive
+
+.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 ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign packages/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
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+	check-am clean clean-generic clean-libtool cscopelist-am ctags \
+	ctags-am distclean distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# 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/ap/lib/libcurl/curl-7.54.1/packages/NetWare/get_exp.awk b/ap/lib/libcurl/curl-7.54.1/packages/NetWare/get_exp.awk
new file mode 100644
index 0000000..566e891
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/NetWare/get_exp.awk
@@ -0,0 +1,72 @@
+# ***************************************************************************
+# *                                  _   _ ____  _
+# *  Project                     ___| | | |  _ \| |
+# *                             / __| | | | |_) | |
+# *                            | (__| |_| |  _ <| |___
+# *                             \___|\___/|_| \_\_____|
+# *
+# * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+# *
+# * This software is licensed as described in the file COPYING, which
+# * you should have received as part of this distribution. The terms
+# * are also available at https://curl.haxx.se/docs/copyright.html.
+# *
+# * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# * copies of the Software, and permit persons to whom the Software is
+# * furnished to do so, under the terms of the COPYING file.
+# *
+# * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# * KIND, either express or implied.
+# *
+# ***************************************************************************
+# awk script which fetches curl function symbols from public header input
+# files and write them to STDOUT. Here you can get an awk version for Win32:
+# http://www.gknw.net/development/prgtools/awk-20100523.zip
+#
+BEGIN {
+  add_symbol("curl_strequal")
+  add_symbol("curl_strnequal")
+}
+
+function add_symbol(sym_name) {
+  sub(" ", "", sym_name)
+  exports[++idx] = sym_name
+}
+
+
+/^CURL_EXTERN .* [*]?curl_.*[(]/ {
+  sub("[(].*", "")
+  sub("^.* ", "")
+  sub("^[*]", "")
+  add_symbol($0)
+}
+
+END {
+  printf("Added %d symbols to export list.\n", idx) > "/dev/stderr"
+  # sort symbols with shell sort
+  increment = int(idx / 2)
+  while (increment > 0) {
+    for (i = increment+1; i <= idx; i++) {
+      j = i
+      temp = exports[i]
+      while ((j >= increment+1) && (exports[j-increment] > temp)) {
+        exports[j] = exports[j-increment]
+        j -= increment
+      }
+      exports[j] = temp
+    }
+    if (increment == 2)
+      increment = 1
+    else
+      increment = int(increment*5/11)
+  }
+  # print the array
+  if (EXPPREFIX) {
+    printf(" (%s)\n", EXPPREFIX)
+  }
+  while (x < idx - 1) {
+    printf(" %s,\n", exports[++x])
+  }
+  printf(" %s\n", exports[++x])
+}
+
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/NetWare/get_ver.awk b/ap/lib/libcurl/curl-7.54.1/packages/NetWare/get_ver.awk
new file mode 100644
index 0000000..03ee5ec
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/NetWare/get_ver.awk
@@ -0,0 +1,44 @@
+# ***************************************************************************
+# *                                  _   _ ____  _
+# *  Project                     ___| | | |  _ \| |
+# *                             / __| | | | |_) | |
+# *                            | (__| |_| |  _ <| |___
+# *                             \___|\___/|_| \_\_____|
+# *
+# * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+# *
+# * This software is licensed as described in the file COPYING, which
+# * you should have received as part of this distribution. The terms
+# * are also available at https://curl.haxx.se/docs/copyright.html.
+# *
+# * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# * copies of the Software, and permit persons to whom the Software is
+# * furnished to do so, under the terms of the COPYING file.
+# *
+# * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# * KIND, either express or implied.
+# *
+# ***************************************************************************
+# awk script which fetches curl version number and copyright string from input
+# file and writes them to STDOUT. Here you can get an awk version for Win32:
+# http://www.gknw.net/development/prgtools/awk-20100523.zip
+#
+BEGIN {
+  while ((getline < ARGV[1]) > 0) {
+    sub("\r", "") # make MSYS gawk work with CRLF header input.
+    if (match ($0, /^#define LIBCURL_COPYRIGHT "([^"]+)"$/))
+      copyright_string = substr($0, 28, length($0)-28)
+    else if (match ($0, /^#define LIBCURL_VERSION "[^"]+"$/))
+      version_string = substr($3, 2, length($3)-2)
+    else if (match ($0, /^#define LIBCURL_VERSION_MAJOR [0-9]+$/))
+      version_major = $3
+    else if (match ($0, /^#define LIBCURL_VERSION_MINOR [0-9]+$/))
+      version_minor = $3
+    else if (match ($0, /^#define LIBCURL_VERSION_PATCH [0-9]+$/))
+      version_patch = $3
+  }
+  print "LIBCURL_VERSION = " version_major "," version_minor "," version_patch
+  print "LIBCURL_VERSION_STR = " version_string
+  print "LIBCURL_COPYRIGHT_STR = " copyright_string
+}
+
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/OS400/README.OS400 b/ap/lib/libcurl/curl-7.54.1/packages/OS400/README.OS400
new file mode 100644
index 0000000..552a3cb
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/OS400/README.OS400
@@ -0,0 +1,332 @@
+
+Implementation notes:
+
+  This is a true OS/400 implementation, not a PASE implementation (for PASE,
+use AIX implementation).
+
+  The biggest problem with OS/400 is EBCDIC. Libcurl implements an internal
+conversion mechanism, but it has been designed for computers that have a
+single native character set. OS/400 default native character set varies
+depending on the country for which it has been localized. And more, a job
+may dynamically alter its "native" character set.
+  Several characters that do not have fixed code in EBCDIC variants are
+used in libcurl strings. As a consequence, using the existing conversion
+mechanism would have lead in a localized binary library - not portable across
+countries.
+  For this reason, and because libcurl was originally designed for ASCII based
+operating systems, the current OS/400 implementation uses ASCII as internal
+character set. This has been accomplished using the QADRT library and
+include files, a C and system procedures ASCII wrapper library. See IBM QADRT
+description for more information.
+  This then results in libcurl being an ASCII library: any function string
+argument is taken/returned in ASCII and a C/C++ calling program built around
+QADRT may use libcurl functions as on any other platform.
+  QADRT does not define ASCII wrappers for all C/system procedures: the
+OS/400 configuration header file and an additional module (os400sys.c) define
+some more of them, that are used by libcurl and that QADRT left out.
+  To support all the different variants of EBCDIC, non-standard wrapper
+procedures have been added to libcurl on OS/400: they provide an additional
+CCSID (numeric Coded Character Set ID specific to OS/400) parameter for each
+string argument. String values passed to callback procedures are NOT converted,
+so text gathered this way is (probably !) ASCII.
+
+  Another OS/400 problem comes from the fact that the last fixed argument of a
+vararg procedure may not be of type char, unsigned char, short or unsigned
+short. Enums that are internally implemented by the C compiler as one of these
+types are also forbidden. Libcurl uses enums as vararg procedure tagfields...
+Happily, there is a pragma forcing enums to type "int". The original libcurl
+header files are thus altered during build process to use this pragma, in
+order to force libcurl enums of being type int (the pragma disposition in use
+before inclusion is restored before resuming the including unit compilation).
+
+  Secure socket layer is provided by the IBM GSKit API: unlike other SSL
+implementations, GSKit is based on "certificate stores" or keyrings
+rather than individual certificate/key files. Certificate stores, as well as
+"certificate labels" are managed by external IBM-defined applications.
+  There are two ways to specify an SSL context:
+- By an application identifier.
+- By a keyring file pathname and (optionally) certificate label.
+  To identify an SSL context by application identifier, use option
+SETOPT_SSLCERT to specify the application identifier.
+  To address an SSL context by keyring and certificate label, use CURLOPT_CAINFO
+to set-up the keyring pathname, CURLOPT_SSLCERT to define the certificate label
+(omitting it will cause the default certificate in keyring to be used) and
+CURLOPT_KEYPASSWD to give the keyring password. If SSL is used without
+defining any of these options, the default (i.e.: system) keyring is used for
+server certificate validation.
+
+  Non-standard EBCDIC wrapper prototypes are defined in an additional header
+file: ccsidcurl.h. These should be self-explanatory to an OS/400-aware
+designer. CCSID 0 can be used to select the current job's CCSID.
+  Wrapper procedures with variable arguments are described below:
+
+_ curl_easy_setopt_ccsid()
+  Variable arguments are a string pointer and a CCSID (unsigned int) for
+options:
+        CURLOPT_ABSTRACT_UNIX_SOCKET
+        CURLOPT_CAINFO
+        CURLOPT_CAPATH
+        CURLOPT_COOKIE
+        CURLOPT_COOKIEFILE
+        CURLOPT_COOKIEJAR
+        CURLOPT_COOKIELIST
+        CURLOPT_COPYPOSTFIELDS
+        CURLOPT_CRLFILE
+        CURLOPT_CUSTOMREQUEST
+        CURLOPT_DEFAULT_PROTOCOL
+        CURLOPT_DNS_SERVERS
+        CURLOPT_EGDSOCKET
+        CURLOPT_ENCODING
+        CURLOPT_FTPPORT
+        CURLOPT_FTP_ACCOUNT
+        CURLOPT_FTP_ALTERNATIVE_TO_USER
+        CURLOPT_INTERFACE
+        CURLOPT_ISSUERCERT
+        CURLOPT_KEYPASSWD
+        CURLOPT_KRBLEVEL
+        CURLOPT_LOGIN_OPTIONS
+        CURLOPT_MAIL_AUTH
+        CURLOPT_MAIL_FROM
+        CURLOPT_NETRC_FILE
+        CURLOPT_NOPROXY
+        CURLOPT_PASSWORD
+        CURLOPT_PINNEDPUBLICKEY
+        CURLOPT_PRE_PROXY
+        CURLOPT_PROXY
+        CURLOPT_PROXYPASSWORD
+        CURLOPT_PROXYUSERNAME
+        CURLOPT_PROXYUSERPWD
+        CURLOPT_PROXY_CAINFO
+        CURLOPT_PROXY_CAPATH
+        CURLOPT_PROXY_CRLFILE
+        CURLOPT_PROXY_KEYPASSWD
+        CURLOPT_PROXY_PINNEDPUBLICKEY
+        CURLOPT_PROXY_SERVICE_NAME
+        CURLOPT_PROXY_SSLCERT
+        CURLOPT_PROXY_SSLCERTTYPE
+        CURLOPT_PROXY_SSLKEY
+        CURLOPT_PROXY_SSLKEYTYPE
+        CURLOPT_PROXY_SSL_CIPHER_LIST
+        CURLOPT_PROXY_TLSAUTH_PASSWORD
+        CURLOPT_PROXY_TLSAUTH_TYPE
+        CURLOPT_PROXY_TLSAUTH_USERNAME
+        CURLOPT_RANDOM_FILE
+        CURLOPT_RANGE
+        CURLOPT_REFERER
+        CURLOPT_RTSP_SESSION_UID
+        CURLOPT_RTSP_STREAM_URI
+        CURLOPT_RTSP_TRANSPORT
+        CURLOPT_SERVICE_NAME
+        CURLOPT_SOCKS5_GSSAPI_SERVICE
+        CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
+        CURLOPT_SSH_KNOWNHOSTS
+        CURLOPT_SSH_PRIVATE_KEYFILE
+        CURLOPT_SSH_PUBLIC_KEYFILE
+        CURLOPT_SSLCERT
+        CURLOPT_SSLCERTTYPE
+        CURLOPT_SSLENGINE
+        CURLOPT_SSLKEY
+        CURLOPT_SSLKEYTYPE
+        CURLOPT_SSL_CIPHER_LIST
+        CURLOPT_TLSAUTH_PASSWORD
+        CURLOPT_TLSAUTH_TYPE
+        CURLOPT_TLSAUTH_USERNAME
+        CURLOPT_UNIX_SOCKET_PATH
+        CURLOPT_URL
+        CURLOPT_USERAGENT
+        CURLOPT_USERNAME
+        CURLOPT_USERPWD
+        CURLOPT_XOAUTH2_BEARER
+  Else it is the same as for curl_easy_setopt().
+  Note that CURLOPT_ERRORBUFFER is not in the list above, since it gives the
+address of an (empty) character buffer, not the address of a string.
+CURLOPT_POSTFIELDS stores the address of static binary data (of type void *) and
+thus is not converted. If CURLOPT_COPYPOSTFIELDS is issued after
+CURLOPT_POSTFIELDSIZE != -1, the data size is adjusted according to the
+CCSID conversion result length.
+
+_ curl_formadd_ccsid()
+  In the variable argument list, string pointers should be followed by a (long)
+CCSID for the following options:
+        CURLFORM_FILENAME
+        CURLFORM_CONTENTTYPE
+        CURLFORM_BUFFER
+        CURLFORM_FILE
+        CURLFORM_FILECONTENT
+        CURLFORM_COPYCONTENTS
+        CURLFORM_COPYNAME
+        CURLFORM_PTRNAME
+  If taken from an argument array, an additional array entry must follow each
+entry containing one of the above option. This additional entry holds the CCSID
+in its value field, and the option field is meaningless.
+  It is not possible to have a string pointer and its CCSID across a function
+parameter/array boundary.
+  Please note that CURLFORM_PTRCONTENTS and CURLFORM_BUFFERPTR are considered
+unconvertible strings and thus are NOT followed by a CCSID.
+
+_ curl_easy_getinfo_ccsid()
+  The following options are followed by a 'char * *' and a CCSID. Unlike
+curl_easy_getinfo(), the value returned in the pointer should be freed after
+use:
+        CURLINFO_EFFECTIVE_URL
+        CURLINFO_CONTENT_TYPE
+        CURLINFO_FTP_ENTRY_PATH
+        CURLINFO_REDIRECT_URL
+        CURLINFO_PRIMARY_IP
+        CURLINFO_RTSP_SESSION_ID
+        CURLINFO_LOCAL_IP
+        CURLINFO_SCHEME
+  Likewise, the following options are followed by a struct curl_slist * * and a
+CCSID.
+        CURLINFO_SSL_ENGINES
+        CURLINFO_COOKIELIST
+Lists returned should be released with curl_slist_free_all() after use.
+  Option CURLINFO_CERTINFO is followed by a struct curl_certinfo * * and a
+CCSID. Returned structures sould be free'ed using curl_certinfo_free_all() after
+use.
+  Other options are processed like in curl_easy_getinfo().
+
+_ curl_pushheader_bynum_cssid() and curl_pushheader_byname_ccsid()
+  Although the prototypes are self-explanatory, the returned string pointer
+should be freed after use, as opposite to the non-ccsid versions of these
+procedures.
+  Please note that HTTP2 is not (yet) implemented on OS/400, thus these
+functions will always return NULL.
+
+
+  Standard compilation environment does support neither autotools nor make;
+in fact, very few common utilities are available. As a consequence, the
+config-os400.h has been coded manually and the compilation scripts are
+a set of shell scripts stored in subdirectory packages/OS400.
+
+  The "curl" command and the test environment are currently not supported on
+OS/400.
+
+
+Protocols currently implemented on OS/400:
+_ DICT
+_ FILE
+_ FTP
+_ FTPS
+_ FTP with secure transmission
+_ GOPHER
+_ HTTP
+_ HTTPS
+_ IMAP
+_ IMAPS
+_ IMAP with secure transmission
+_ LDAP
+_ POP3
+_ POP3S
+_ POP3 with secure transmission
+_ RTSP
+_ SCP if libssh2 is enabled
+_ SFTP if libssh2 is enabled
+_ SMTP
+_ SMTPS
+_ SMTP with secure transmission
+_ TELNET
+_ TFTP
+
+
+
+Compiling on OS/400:
+
+  These instructions targets people who knows about OS/400, compiling, IFS and
+archive extraction. Do not ask questions about these subjects if you're not
+familiar with.
+
+_ As a prerequisite, QADRT development environment must be installed.
+_ If data compression has to be supported, ZLIB development environment must
+  be installed.
+_ Likewise, if SCP and SFTP protocols have to be compiled in, LIBSSH2
+  developent environment must be installed.
+_ Install the curl source directory in IFS.
+_ Enter shell (QSH)
+_ Change current directory to the curl installation directory
+_ Change current directory to ./packages/OS400
+_ Edit file iniscript.sh. You may want to change tunable configuration
+  parameters, like debug info generation, optimisation level, listing option,
+  target library, ZLIB/LIBSSH2 availability and location, etc.
+_ Copy any file in the current directory to makelog (i.e.:
+  cp initscript.sh makelog): this is intended to create the makelog file with
+  an ASCII CCSID!
+_ Enter the command "sh makefile.sh > makelog 2>&1'
+_ Examine the makelog file to check for compilation errors.
+
+  Leaving file initscript.sh unchanged, this will produce the following OS/400
+objects:
+_ Library CURL. All other objects will be stored in this library.
+_ Modules for all libcurl units.
+_ Binding directory CURL_A, to be used at calling program link time for
+  statically binding the modules (specify BNDSRVPGM(QADRTTS QGLDCLNT QGLDBRDR)
+  when creating a program using CURL_A).
+_ Service program CURL.<soname>, where <soname> is extracted from the
+  lib/Makefile.am VERSION variable. To be used at calling program run-time
+  when this program has dynamically bound curl at link time.
+_ Binding directory CURL. To be used to dynamically bind libcurl when linking a
+  calling program.
+_ Source file H. It contains all the include members needed to compile a C/C++
+  module using libcurl, and an ILE/RPG /copy member for support in this
+  language.
+_ Standard C/C++ libcurl include members in file H.
+_ CCSIDCURL member in file H. This defines the non-standard EBCDIC wrappers for
+  C and C++.
+_ CURL.INC member in file H. This defines everything needed by an ILE/RPG
+  program using libcurl.
+_ LIBxxx modules and programs. Although the test environment is not supported
+  on OS/400, the libcurl test programs are compiled for manual tests.
+_ IFS directory /curl/include/curl containing the C header files for IFS source
+  C/C++ compilation and curl.inc.rpgle for IFS source ILE/RPG compilation.
+
+
+
+Special programming consideration:
+
+QADRT being used, the following points must be considered:
+_ If static binding is used, service program QADRTTS must be linked too.
+_ The EBCDIC CCSID used by QADRT is 37 by default, NOT THE JOB'S CCSID. If
+  another EBCDIC CCSID is required, it must be set via a locale through a call
+  to setlocale_a (QADRT's setlocale() ASCII wrapper) with category LC_ALL or
+  LC_CTYPE, or by setting environment variable QADRT_ENV_LOCALE to the locale
+  object path before executing the program.
+_ Do not use original source include files unless you know what you are doing.
+  Use the installed members instead (in /QSYS.LIB/CURL.LIB/H.FILE and
+  /curl/include/curl).
+
+
+
+ILE/RPG support:
+
+  Since 95% of the OS/400 programmers use ILE/RPG exclusively, a definition
+  /INCLUDE member is provided for this language. To include all libcurl
+  definitions in an ILE/RPG module, line
+
+     h bnddir('CURL/CURL')
+
+must figure in the program header, and line
+
+     d/include curl/h,curl.inc
+
+in the global data section of the module's source code.
+
+  No vararg procedure support exists in ILE/RPG: for this reason, the following
+considerations apply:
+_ Procedures curl_easy_setopt_long(), curl_easy_setopt_object(),
+  curl_easy_setopt_function() and curl_easy_setopt_offset() are all alias
+  prototypes to curl_easy_setopt(), but with different parameter lists.
+_ Procedures curl_easy_getinfo_string(), curl_easy_getinfo_long(),
+  curl_easy_getinfo_double() and curl_easy_getinfo_slist() are all alias
+  prototypes to curl_easy_getinfo(), but with different parameter lists.
+_ Procedures curl_multi_setopt_long(), curl_multi_setopt_object(),
+  curl_multi_setopt_function() and curl_multi_setopt_offset() are all alias
+  prototypes to curl_multi_setopt(), but with different parameter lists.
+_ The prototype of procedure curl_formadd() allows specifying a pointer option
+  and the CURLFORM_END option. This makes possible to use an option array
+  without any additional definition. If some specific incompatible argument
+  list is used in the ILE/RPG program, the latter must define a specialised
+  alias. The same applies to curl_formadd_ccsid() too.
+
+  Since RPG cannot cast a long to a pointer, procedure curl_form_long_value()
+is provided for that purpose: this allows storing a long value in the curl_forms
+array.
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/OS400/ccsidcurl.c b/ap/lib/libcurl/curl-7.54.1/packages/OS400/ccsidcurl.c
new file mode 100644
index 0000000..de2c9cc
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/OS400/ccsidcurl.c
@@ -0,0 +1,1345 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ *
+ ***************************************************************************/
+
+/* CCSID API wrappers for OS/400. */
+
+#include <iconv.h>
+#include <string.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <stdarg.h>
+
+#pragma enum(int)
+
+#include "curl.h"
+#include "mprintf.h"
+#include "slist.h"
+#include "urldata.h"
+#include "url.h"
+#include "getinfo.h"
+#include "ccsidcurl.h"
+
+#include "os400sys.h"
+
+#ifndef SIZE_MAX
+#define SIZE_MAX        ((size_t) ~0)   /* Is unsigned on OS/400. */
+#endif
+
+
+#define ASCII_CCSID     819     /* Use ISO-8859-1 as ASCII. */
+#define NOCONV_CCSID    65535   /* No conversion. */
+#define ICONV_ID_SIZE   32      /* Size of iconv_open() code identifier. */
+#define ICONV_OPEN_ERROR(t)     ((t).return_value == -1)
+
+#define ALLOC_GRANULE   8       /* Alloc. granule for curl_formadd_ccsid(). */
+
+
+static void
+makeOS400IconvCode(char buf[ICONV_ID_SIZE], unsigned int ccsid)
+
+{
+  /**
+  *** Convert a CCSID to the corresponding IBM iconv_open() character
+  ***  code identifier.
+  ***  This code is specific to the OS400 implementation of the iconv library.
+  ***  CCSID 65535 (no conversion) is replaced by the ASCII CCSID.
+  ***  CCSID 0 is interpreted by the OS400 as the job's CCSID.
+  **/
+
+  ccsid &= 0xFFFF;
+
+  if(ccsid == NOCONV_CCSID)
+    ccsid = ASCII_CCSID;
+
+  memset(buf, 0, ICONV_ID_SIZE);
+  curl_msprintf(buf, "IBMCCSID%05u0000000", ccsid);
+}
+
+
+static iconv_t
+iconv_open_CCSID(unsigned int ccsidout, unsigned int ccsidin,
+                                                        unsigned int cstr)
+
+{
+  char fromcode[ICONV_ID_SIZE];
+  char tocode[ICONV_ID_SIZE];
+
+  /**
+  ***  Like iconv_open(), but character codes are given as CCSIDs.
+  ***  If `cstr' is non-zero, conversion is set up to stop whenever a
+  ***   null character is encountered.
+  ***  See iconv_open() IBM description in "National Language Support API".
+  **/
+
+  makeOS400IconvCode(fromcode, ccsidin);
+  makeOS400IconvCode(tocode, ccsidout);
+  memset(tocode + 13, 0, sizeof tocode - 13);   /* Dest. code id format. */
+
+  if(cstr)
+    fromcode[18] = '1';                         /* Set null-terminator flag. */
+
+  return iconv_open(tocode, fromcode);
+}
+
+
+static int
+convert(char * d, size_t dlen, int dccsid,
+        const char * s, int slen, int sccsid)
+
+{
+  int i;
+  iconv_t cd;
+  size_t lslen;
+
+  /**
+  ***  Convert `sccsid'-coded `slen'-data bytes at `s' into `dccsid'-coded
+  ***   data stored in the `dlen'-byte buffer at `d'.
+  ***  If `slen' < 0, source string is null-terminated.
+  ***  CCSID 65535 (no conversion) is replaced by the ASCII CCSID.
+  ***  Return the converted destination byte count, or -1 if error.
+  **/
+
+  if(sccsid == 65535)
+    sccsid = ASCII_CCSID;
+
+  if(dccsid == 65535)
+    dccsid = ASCII_CCSID;
+
+  if(sccsid == dccsid) {
+    lslen = slen >= 0? slen: strlen(s) + 1;
+    i = lslen < dlen? lslen: dlen;
+
+    if(s != d && i > 0)
+      memcpy(d, s, i);
+
+    return i;
+    }
+
+  if(slen < 0) {
+    lslen = 0;
+    cd = iconv_open_CCSID(dccsid, sccsid, 1);
+    }
+  else {
+    lslen = (size_t) slen;
+    cd = iconv_open_CCSID(dccsid, sccsid, 0);
+    }
+
+  if(ICONV_OPEN_ERROR(cd))
+    return -1;
+
+  i = dlen;
+
+  if((int) iconv(cd, (char * *) &s, &lslen, &d, &dlen) < 0)
+    i = -1;
+  else
+    i -= dlen;
+
+  iconv_close(cd);
+  return i;
+}
+
+
+static char *
+dynconvert(int dccsid, const char * s, int slen, int sccsid)
+
+{
+  char * d;
+  char * cp;
+  size_t dlen;
+  int l;
+  static const char nullbyte = 0;
+
+  /* Like convert, but the destination is allocated and returned. */
+
+  dlen = (size_t) (slen < 0? strlen(s): slen) + 1;
+  dlen *= MAX_CONV_EXPANSION;           /* Allow some expansion. */
+  d = malloc(dlen);
+
+  if(!d)
+    return (char *) NULL;
+
+  l = convert(d, dlen, dccsid, s, slen, sccsid);
+
+  if(l < 0) {
+    free(d);
+    return (char *) NULL;
+    }
+
+  if(slen < 0) {
+    /* Need to null-terminate even when source length is given.
+       Since destination code size is unknown, use a conversion to generate
+       terminator. */
+
+    int l2 = convert(d + l, dlen - l, dccsid, &nullbyte, -1, ASCII_CCSID);
+
+    if(l2 < 0) {
+      free(d);
+      return (char *) NULL;
+      }
+
+    l += l2;
+    }
+
+  if((size_t) l < dlen) {
+    cp = realloc(d, l);         /* Shorten to minimum needed. */
+
+    if(cp)
+      d = cp;
+    }
+
+  return d;
+}
+
+
+static struct curl_slist *
+slist_convert(int dccsid, struct curl_slist * from, int sccsid)
+
+{
+  struct curl_slist * to = (struct curl_slist *) NULL;
+
+  for(; from; from = from->next) {
+    char * cp = dynconvert(dccsid, from->data, -1, sccsid);
+
+    if(!cp) {
+      curl_slist_free_all(to);
+      return (struct curl_slist *) NULL;
+    }
+    to = Curl_slist_append_nodup(to, cp);
+  }
+  return to;
+}
+
+
+char *
+curl_version_ccsid(unsigned int ccsid)
+
+{
+  int i;
+  char * aversion;
+  char * eversion;
+
+  aversion = curl_version();
+
+  if(!aversion)
+    return aversion;
+
+  i = strlen(aversion) + 1;
+  i *= MAX_CONV_EXPANSION;
+
+  if(!(eversion = Curl_thread_buffer(LK_CURL_VERSION, i)))
+    return (char *) NULL;
+
+  if(convert(eversion, i, ccsid, aversion, -1, ASCII_CCSID) < 0)
+    return (char *) NULL;
+
+  return eversion;
+}
+
+
+char *
+curl_easy_escape_ccsid(CURL * handle, const char * string, int length,
+                       unsigned int sccsid, unsigned int dccsid)
+
+{
+  char * s;
+  char * d;
+
+  if(!string) {
+    errno = EINVAL;
+    return (char *) NULL;
+    }
+
+  s = dynconvert(ASCII_CCSID, string, length? length: -1, sccsid);
+
+  if(!s)
+    return (char *) NULL;
+
+  d = curl_easy_escape(handle, s, 0);
+  free(s);
+
+  if(!d)
+    return (char *) NULL;
+
+  s = dynconvert(dccsid, d, -1, ASCII_CCSID);
+  free(d);
+  return s;
+}
+
+
+char *
+curl_easy_unescape_ccsid(CURL * handle, const char * string, int length,
+                         int * outlength,
+                         unsigned int sccsid, unsigned int dccsid)
+
+{
+  char * s;
+  char * d;
+
+  if(!string) {
+    errno = EINVAL;
+    return (char *) NULL;
+    }
+
+  s = dynconvert(ASCII_CCSID, string, length? length: -1, sccsid);
+
+  if(!s)
+    return (char *) NULL;
+
+  d = curl_easy_unescape(handle, s, 0, outlength);
+  free(s);
+
+  if(!d)
+    return (char *) NULL;
+
+  s = dynconvert(dccsid, d, -1, ASCII_CCSID);
+  free(d);
+
+  if(s && outlength)
+    *outlength = strlen(s);
+
+  return s;
+}
+
+
+struct curl_slist *
+curl_slist_append_ccsid(struct curl_slist * list,
+                        const char * data, unsigned int ccsid)
+
+{
+  char * s;
+
+  s = (char *) NULL;
+
+  if(!data)
+    return curl_slist_append(list, data);
+
+  s = dynconvert(ASCII_CCSID, data, -1, ccsid);
+
+  if(!s)
+    return (struct curl_slist *) NULL;
+
+  list = curl_slist_append(list, s);
+  free(s);
+  return list;
+}
+
+
+time_t
+curl_getdate_ccsid(const char * p, const time_t * unused, unsigned int ccsid)
+
+{
+  char * s;
+  time_t t;
+
+  if(!p)
+    return curl_getdate(p, unused);
+
+  s = dynconvert(ASCII_CCSID, p, -1, ccsid);
+
+  if(!s)
+    return (time_t) -1;
+
+  t = curl_getdate(s, unused);
+  free(s);
+  return t;
+}
+
+
+static int
+convert_version_info_string(const char * * stringp,
+                            char * * bufp, int * left, unsigned int ccsid)
+
+{
+  /* Helper for curl_version_info_ccsid(): convert a string if defined.
+     Result is stored in the `*left'-byte buffer at `*bufp'.
+     `*bufp' and `*left' are updated accordingly.
+     Return 0 if ok, else -1. */
+
+  if(*stringp) {
+    int l = convert(*bufp, *left, ccsid, *stringp, -1, ASCII_CCSID);
+
+    if(l <= 0)
+      return -1;
+
+    *stringp = *bufp;
+    *bufp += l;
+    *left -= l;
+    }
+
+  return 0;
+}
+
+
+curl_version_info_data *
+curl_version_info_ccsid(CURLversion stamp, unsigned int ccsid)
+
+{
+  curl_version_info_data * p;
+  char * cp;
+  int n;
+  int nproto;
+  curl_version_info_data * id;
+
+  /* The assertion below is possible, because although the second operand
+     is an enum member, the first is a #define. In that case, the OS/400 C
+     compiler seems to compare string values after substitution. */
+
+#if CURLVERSION_NOW != CURLVERSION_FOURTH
+#error curl_version_info_data structure has changed: upgrade this procedure.
+#endif
+
+  /* If caller has been compiled with a new version, error. */
+
+  if(stamp > CURLVERSION_NOW)
+    return (curl_version_info_data *) NULL;
+
+  p = curl_version_info(stamp);
+
+  if(!p)
+    return p;
+
+  /* Measure thread space needed. */
+
+  n = 0;
+  nproto = 0;
+
+  if(p->protocols) {
+    while(p->protocols[nproto])
+      n += strlen(p->protocols[nproto++]);
+
+    n += nproto++;
+    }
+
+  if(p->version)
+    n += strlen(p->version) + 1;
+
+  if(p->host)
+    n += strlen(p->host) + 1;
+
+  if(p->ssl_version)
+    n += strlen(p->ssl_version) + 1;
+
+  if(p->libz_version)
+    n += strlen(p->libz_version) + 1;
+
+  if(p->ares)
+    n += strlen(p->ares) + 1;
+
+  if(p->libidn)
+    n += strlen(p->libidn) + 1;
+
+  if(p->libssh_version)
+    n += strlen(p->libssh_version) + 1;
+
+  /* Allocate thread space. */
+
+  n *= MAX_CONV_EXPANSION;
+
+  if(nproto)
+    n += nproto * sizeof(const char *);
+
+  cp = Curl_thread_buffer(LK_VERSION_INFO_DATA, n);
+  id = (curl_version_info_data *) Curl_thread_buffer(LK_VERSION_INFO,
+                                                     sizeof *id);
+
+  if(!id || !cp)
+    return (curl_version_info_data *) NULL;
+
+  /* Copy data and convert strings. */
+
+  memcpy((char *) id, (char *) p, sizeof *p);
+
+  if(id->protocols) {
+    int i = nproto * sizeof id->protocols[0];
+
+    id->protocols = (const char * const *) cp;
+    memcpy(cp, (char *) p->protocols, i);
+    cp += i;
+    n -= i;
+
+    for(i = 0; id->protocols[i]; i++)
+      if(convert_version_info_string(((const char * *) id->protocols) + i,
+                                      &cp, &n, ccsid))
+        return (curl_version_info_data *) NULL;
+    }
+
+  if(convert_version_info_string(&id->version, &cp, &n, ccsid))
+    return (curl_version_info_data *) NULL;
+
+  if(convert_version_info_string(&id->host, &cp, &n, ccsid))
+    return (curl_version_info_data *) NULL;
+
+  if(convert_version_info_string(&id->ssl_version, &cp, &n, ccsid))
+    return (curl_version_info_data *) NULL;
+
+  if(convert_version_info_string(&id->libz_version, &cp, &n, ccsid))
+    return (curl_version_info_data *) NULL;
+
+  if(convert_version_info_string(&id->ares, &cp, &n, ccsid))
+    return (curl_version_info_data *) NULL;
+
+  if(convert_version_info_string(&id->libidn, &cp, &n, ccsid))
+    return (curl_version_info_data *) NULL;
+
+  if(convert_version_info_string(&id->libssh_version, &cp, &n, ccsid))
+    return (curl_version_info_data *) NULL;
+
+  return id;
+}
+
+
+const char *
+curl_easy_strerror_ccsid(CURLcode error, unsigned int ccsid)
+
+{
+  int i;
+  const char * s;
+  char * buf;
+
+  s = curl_easy_strerror(error);
+
+  if(!s)
+    return s;
+
+  i = MAX_CONV_EXPANSION * (strlen(s) + 1);
+
+  if(!(buf = Curl_thread_buffer(LK_EASY_STRERROR, i)))
+    return (const char *) NULL;
+
+  if(convert(buf, i, ccsid, s, -1, ASCII_CCSID) < 0)
+    return (const char *) NULL;
+
+  return (const char *) buf;
+}
+
+
+const char *
+curl_share_strerror_ccsid(CURLSHcode error, unsigned int ccsid)
+
+{
+  int i;
+  const char * s;
+  char * buf;
+
+  s = curl_share_strerror(error);
+
+  if(!s)
+    return s;
+
+  i = MAX_CONV_EXPANSION * (strlen(s) + 1);
+
+  if(!(buf = Curl_thread_buffer(LK_SHARE_STRERROR, i)))
+    return (const char *) NULL;
+
+  if(convert(buf, i, ccsid, s, -1, ASCII_CCSID) < 0)
+    return (const char *) NULL;
+
+  return (const char *) buf;
+}
+
+
+const char *
+curl_multi_strerror_ccsid(CURLMcode error, unsigned int ccsid)
+
+{
+  int i;
+  const char * s;
+  char * buf;
+
+  s = curl_multi_strerror(error);
+
+  if(!s)
+    return s;
+
+  i = MAX_CONV_EXPANSION * (strlen(s) + 1);
+
+  if(!(buf = Curl_thread_buffer(LK_MULTI_STRERROR, i)))
+    return (const char *) NULL;
+
+  if(convert(buf, i, ccsid, s, -1, ASCII_CCSID) < 0)
+    return (const char *) NULL;
+
+  return (const char *) buf;
+}
+
+
+void
+curl_certinfo_free_all(struct curl_certinfo *info)
+
+{
+  /* Free all memory used by certificate info. */
+  if(info) {
+    if(info->certinfo) {
+      int i;
+
+      for(i = 0; i < info->num_of_certs; i++)
+        curl_slist_free_all(info->certinfo[i]);
+      free((char *) info->certinfo);
+    }
+    free((char *) info);
+  }
+}
+
+
+CURLcode
+curl_easy_getinfo_ccsid(CURL * curl, CURLINFO info, ...)
+
+{
+  va_list arg;
+  void * paramp;
+  CURLcode ret;
+  unsigned int ccsid;
+  char * * cpp;
+  struct Curl_easy * data;
+  struct curl_slist * * slp;
+  struct curl_certinfo * cipf;
+  struct curl_certinfo * cipt;
+
+  /* WARNING: unlike curl_easy_getinfo(), the strings returned by this
+     procedure have to be free'ed. */
+
+  data = (struct Curl_easy *) curl;
+  va_start(arg, info);
+  paramp = va_arg(arg, void *);
+  ret = Curl_getinfo(data, info, paramp);
+
+  if(ret == CURLE_OK)
+    switch ((int) info & CURLINFO_TYPEMASK) {
+
+    case CURLINFO_STRING:
+      ccsid = va_arg(arg, unsigned int);
+      cpp = (char * *) paramp;
+
+      if(*cpp) {
+        *cpp = dynconvert(ccsid, *cpp, -1, ASCII_CCSID);
+
+        if(!*cpp)
+          ret = CURLE_OUT_OF_MEMORY;
+      }
+
+      break;
+
+    case CURLINFO_SLIST:
+      ccsid = va_arg(arg, unsigned int);
+      switch (info) {
+      case CURLINFO_CERTINFO:
+        cipf = *(struct curl_certinfo * *) paramp;
+        if(cipf) {
+          if(!(cipt = (struct curl_certinfo *) malloc(sizeof *cipt)))
+            ret = CURLE_OUT_OF_MEMORY;
+          else {
+            cipt->certinfo = (struct curl_slist * *)
+                             calloc(cipf->num_of_certs +
+                                    1, sizeof(struct curl_slist *));
+            if(!cipt->certinfo)
+              ret = CURLE_OUT_OF_MEMORY;
+            else {
+              int i;
+
+              cipt->num_of_certs = cipf->num_of_certs;
+              for(i = 0; i < cipf->num_of_certs; i++)
+                if(cipf->certinfo[i])
+                  if(!(cipt->certinfo[i] = slist_convert(ccsid,
+                                                          cipf->certinfo[i],
+                                                          ASCII_CCSID))) {
+                    ret = CURLE_OUT_OF_MEMORY;
+                    break;
+                  }
+              }
+            }
+
+          if(ret != CURLE_OK) {
+            curl_certinfo_free_all(cipt);
+            cipt = (struct curl_certinfo *) NULL;
+          }
+
+          *(struct curl_certinfo * *) paramp = cipt;
+        }
+
+        break;
+
+      case CURLINFO_TLS_SESSION:
+      case CURLINFO_TLS_SSL_PTR:
+      case CURLINFO_SOCKET:
+        break;
+
+      default:
+        slp = (struct curl_slist * *) paramp;
+        if(*slp)
+          if(!(*slp = slist_convert(ccsid, *slp, ASCII_CCSID)))
+            ret = CURLE_OUT_OF_MEMORY;
+        break;
+      }
+    }
+
+  va_end(arg);
+  return ret;
+}
+
+
+static int
+Curl_is_formadd_string(CURLformoption option)
+
+{
+  switch (option) {
+
+  case CURLFORM_FILENAME:
+  case CURLFORM_CONTENTTYPE:
+  case CURLFORM_BUFFER:
+  case CURLFORM_FILE:
+  case CURLFORM_FILECONTENT:
+  case CURLFORM_COPYCONTENTS:
+  case CURLFORM_COPYNAME:
+    return 1;
+  }
+
+  return 0;
+}
+
+
+static void
+Curl_formadd_release_local(struct curl_forms * forms, int nargs, int skip)
+
+{
+  while(nargs--)
+    if(nargs != skip)
+      if(Curl_is_formadd_string(forms[nargs].option))
+        if(forms[nargs].value)
+          free((char *) forms[nargs].value);
+
+  free((char *) forms);
+}
+
+
+static int
+Curl_formadd_convert(struct curl_forms * forms,
+                     int formx, int lengthx, unsigned int ccsid)
+
+{
+  int l;
+  char * cp;
+  char * cp2;
+
+  if(formx < 0 || !forms[formx].value)
+    return 0;
+
+  if(lengthx >= 0)
+    l = (int) forms[lengthx].value;
+  else
+    l = strlen(forms[formx].value) + 1;
+
+  cp = malloc(MAX_CONV_EXPANSION * l);
+
+  if(!cp)
+    return -1;
+
+  l = convert(cp, MAX_CONV_EXPANSION * l, ASCII_CCSID,
+              forms[formx].value, l, ccsid);
+
+  if(l < 0) {
+    free(cp);
+    return -1;
+    }
+
+  cp2 = realloc(cp, l);         /* Shorten buffer to the string size. */
+
+  if(cp2)
+    cp = cp2;
+
+  forms[formx].value = cp;
+
+  if(lengthx >= 0)
+    forms[lengthx].value = (char *) l;  /* Update length after conversion. */
+
+  return l;
+}
+
+
+CURLFORMcode
+curl_formadd_ccsid(struct curl_httppost * * httppost,
+                   struct curl_httppost * * last_post, ...)
+
+{
+  va_list arg;
+  CURLformoption option;
+  CURLFORMcode result;
+  struct curl_forms * forms;
+  struct curl_forms * lforms;
+  struct curl_forms * tforms;
+  unsigned int lformlen;
+  const char * value;
+  unsigned int ccsid;
+  int nargs;
+  int namex;
+  int namelengthx;
+  int contentx;
+  int lengthx;
+  unsigned int contentccsid;
+  unsigned int nameccsid;
+
+  /* A single curl_formadd() call cannot be split in several calls to deal
+     with all parameters: the original parameters are thus copied to a local
+     curl_forms array and converted to ASCII when needed.
+     CURLFORM_PTRNAME is processed as if it were CURLFORM_COPYNAME.
+     CURLFORM_COPYNAME and CURLFORM_NAMELENGTH occurrence order in
+     parameters is not defined; for this reason, the actual conversion is
+     delayed to the end of parameter processing. The same applies to
+     CURLFORM_COPYCONTENTS/CURLFORM_CONTENTSLENGTH, but these may appear
+     several times in the parameter list; the problem resides here in knowing
+     which CURLFORM_CONTENTSLENGTH applies to which CURLFORM_COPYCONTENTS and
+     when we can be sure to have both info for conversion: end of parameter
+     list is such a point, but CURLFORM_CONTENTTYPE is also used here as a
+     natural separator between content data definitions; this seems to be
+     in accordance with FormAdd() behavior. */
+
+  /* Allocate the local curl_forms array. */
+
+  lformlen = ALLOC_GRANULE;
+  lforms = malloc(lformlen * sizeof *lforms);
+
+  if(!lforms)
+    return CURL_FORMADD_MEMORY;
+
+  /* Process the arguments, copying them into local array, latching conversion
+     indexes and converting when needed. */
+
+  result = CURL_FORMADD_OK;
+  nargs = 0;
+  contentx = -1;
+  lengthx = -1;
+  namex = -1;
+  namelengthx = -1;
+  forms = (struct curl_forms *) NULL;
+  va_start(arg, last_post);
+
+  for(;;) {
+    /* Make sure there is still room for an item in local array. */
+
+    if(nargs >= lformlen) {
+      lformlen += ALLOC_GRANULE;
+      tforms = realloc(lforms, lformlen * sizeof *lforms);
+
+      if(!tforms) {
+        result = CURL_FORMADD_MEMORY;
+        break;
+        }
+
+      lforms = tforms;
+      }
+
+    /* Get next option. */
+
+    if(forms) {
+      /* Get option from array. */
+
+      option = forms->option;
+      value = forms->value;
+      forms++;
+      }
+    else {
+      /* Get option from arguments. */
+
+      option = va_arg(arg, CURLformoption);
+
+      if(option == CURLFORM_END)
+        break;
+      }
+
+    /* Dispatch by option. */
+
+    switch (option) {
+
+    case CURLFORM_END:
+      forms = (struct curl_forms *) NULL;       /* Leave array mode. */
+      continue;
+
+    case CURLFORM_ARRAY:
+      if(!forms) {
+        forms = va_arg(arg, struct curl_forms *);
+        continue;
+        }
+
+      result = CURL_FORMADD_ILLEGAL_ARRAY;
+      break;
+
+    case CURLFORM_COPYNAME:
+      option = CURLFORM_PTRNAME;                /* Static for now. */
+
+    case CURLFORM_PTRNAME:
+      if(namex >= 0)
+        result = CURL_FORMADD_OPTION_TWICE;
+
+      namex = nargs;
+
+      if(!forms) {
+        value = va_arg(arg, char *);
+        nameccsid = (unsigned int) va_arg(arg, long);
+        }
+      else {
+        nameccsid = (unsigned int) forms->value;
+        forms++;
+        }
+
+      break;
+
+    case CURLFORM_COPYCONTENTS:
+      if(contentx >= 0)
+        result = CURL_FORMADD_OPTION_TWICE;
+
+      contentx = nargs;
+
+      if(!forms) {
+        value = va_arg(arg, char *);
+        contentccsid = (unsigned int) va_arg(arg, long);
+        }
+      else {
+        contentccsid = (unsigned int) forms->value;
+        forms++;
+        }
+
+      break;
+
+    case CURLFORM_PTRCONTENTS:
+    case CURLFORM_BUFFERPTR:
+      if(!forms)
+        value = va_arg(arg, char *);            /* No conversion. */
+
+      break;
+
+    case CURLFORM_CONTENTSLENGTH:
+      lengthx = nargs;
+
+      if(!forms)
+        value = (char *) va_arg(arg, long);
+
+      break;
+
+    case CURLFORM_CONTENTLEN:
+      lengthx = nargs;
+
+      if(!forms)
+        value = (char *) va_arg(arg, curl_off_t);
+
+      break;
+
+    case CURLFORM_NAMELENGTH:
+      namelengthx = nargs;
+
+      if(!forms)
+        value = (char *) va_arg(arg, long);
+
+      break;
+
+    case CURLFORM_BUFFERLENGTH:
+      if(!forms)
+        value = (char *) va_arg(arg, long);
+
+      break;
+
+    case CURLFORM_CONTENTHEADER:
+      if(!forms)
+        value = (char *) va_arg(arg, struct curl_slist *);
+
+      break;
+
+    case CURLFORM_STREAM:
+      if(!forms)
+        value = (char *) va_arg(arg, void *);
+
+      break;
+
+    case CURLFORM_CONTENTTYPE:
+      /* If a previous content has been encountered, convert it now. */
+
+      if(Curl_formadd_convert(lforms, contentx, lengthx, contentccsid) < 0) {
+        result = CURL_FORMADD_MEMORY;
+        break;
+        }
+
+      contentx = -1;
+      lengthx = -1;
+      /* Fall into default. */
+
+    default:
+      /* Must be a convertible string. */
+
+      if(!Curl_is_formadd_string(option)) {
+        result = CURL_FORMADD_UNKNOWN_OPTION;
+        break;
+        }
+
+      if(!forms) {
+        value = va_arg(arg, char *);
+        ccsid = (unsigned int) va_arg(arg, long);
+        }
+      else {
+        ccsid = (unsigned int) forms->value;
+        forms++;
+        }
+
+      /* Do the conversion. */
+
+      lforms[nargs].value = value;
+
+      if(Curl_formadd_convert(lforms, nargs, -1, ccsid) < 0) {
+        result = CURL_FORMADD_MEMORY;
+        break;
+        }
+
+      value = lforms[nargs].value;
+      }
+
+    if(result != CURL_FORMADD_OK)
+      break;
+
+    lforms[nargs].value = value;
+    lforms[nargs++].option = option;
+    }
+
+  va_end(arg);
+
+  /* Convert the name and the last content, now that we know their lengths. */
+
+  if(result == CURL_FORMADD_OK && namex >= 0) {
+    if(Curl_formadd_convert(lforms, namex, namelengthx, nameccsid) < 0)
+      result = CURL_FORMADD_MEMORY;
+    else
+      lforms[namex].option = CURLFORM_COPYNAME;         /* Force copy. */
+    }
+
+  if(result == CURL_FORMADD_OK) {
+    if(Curl_formadd_convert(lforms, contentx, lengthx, contentccsid) < 0)
+      result = CURL_FORMADD_MEMORY;
+    else
+      contentx = -1;
+    }
+
+  /* Do the formadd with our converted parameters. */
+
+  if(result == CURL_FORMADD_OK) {
+    lforms[nargs].option = CURLFORM_END;
+    result = curl_formadd(httppost, last_post,
+                          CURLFORM_ARRAY, lforms, CURLFORM_END);
+    }
+
+  /* Terminate. */
+
+  Curl_formadd_release_local(lforms, nargs, contentx);
+  return result;
+}
+
+
+typedef struct {
+  curl_formget_callback append;
+  void *                arg;
+  unsigned int          ccsid;
+}   cfcdata;
+
+
+static size_t
+Curl_formget_callback_ccsid(void * arg, const char * buf, size_t len)
+
+{
+  cfcdata * p;
+  char * b;
+  int l;
+  size_t ret;
+
+  p = (cfcdata *) arg;
+
+  if((long) len <= 0)
+    return (*p->append)(p->arg, buf, len);
+
+  b = malloc(MAX_CONV_EXPANSION * len);
+
+  if(!b)
+    return (size_t) -1;
+
+  l = convert(b, MAX_CONV_EXPANSION * len, p->ccsid, buf, len, ASCII_CCSID);
+
+  if(l < 0) {
+    free(b);
+    return (size_t) -1;
+    }
+
+  ret = (*p->append)(p->arg, b, l);
+  free(b);
+  return ret == l? len: -1;
+}
+
+
+int
+curl_formget_ccsid(struct curl_httppost * form, void * arg,
+                   curl_formget_callback append, unsigned int ccsid)
+
+{
+  cfcdata lcfc;
+
+  lcfc.append = append;
+  lcfc.arg = arg;
+  lcfc.ccsid = ccsid;
+  return curl_formget(form, (void *) &lcfc, Curl_formget_callback_ccsid);
+}
+
+
+CURLcode
+curl_easy_setopt_ccsid(CURL * curl, CURLoption tag, ...)
+
+{
+  CURLcode result;
+  va_list arg;
+  struct Curl_easy * data;
+  char * s;
+  char * cp;
+  unsigned int ccsid;
+  curl_off_t pfsize;
+  static char testwarn = 1;
+
+  /* Warns if this procedure has not been updated when the dupstring enum
+     changes.
+     We (try to) do it only once: there is no need to issue several times
+     the same message; but since threadsafeness is not handled here,
+     this may occur (and we don't care!). */
+
+  if(testwarn) {
+    testwarn = 0;
+
+    if((int) STRING_LASTZEROTERMINATED != (int) STRING_UNIX_SOCKET_PATH + 1 ||
+       (int) STRING_LAST != (int) STRING_COPYPOSTFIELDS + 1)
+      curl_mfprintf(stderr,
+       "*** WARNING: curl_easy_setopt_ccsid() should be reworked ***\n");
+    }
+
+  data = (struct Curl_easy *) curl;
+  va_start(arg, tag);
+
+  switch (tag) {
+
+  case CURLOPT_ABSTRACT_UNIX_SOCKET:
+  case CURLOPT_CAINFO:
+  case CURLOPT_CAPATH:
+  case CURLOPT_COOKIE:
+  case CURLOPT_COOKIEFILE:
+  case CURLOPT_COOKIEJAR:
+  case CURLOPT_COOKIELIST:
+  case CURLOPT_CRLFILE:
+  case CURLOPT_CUSTOMREQUEST:
+  case CURLOPT_DEFAULT_PROTOCOL:
+  case CURLOPT_DNS_SERVERS:
+  case CURLOPT_EGDSOCKET:
+  case CURLOPT_ENCODING:
+  case CURLOPT_FTPPORT:
+  case CURLOPT_FTP_ACCOUNT:
+  case CURLOPT_FTP_ALTERNATIVE_TO_USER:
+  case CURLOPT_INTERFACE:
+  case CURLOPT_ISSUERCERT:
+  case CURLOPT_KEYPASSWD:
+  case CURLOPT_KRBLEVEL:
+  case CURLOPT_LOGIN_OPTIONS:
+  case CURLOPT_MAIL_AUTH:
+  case CURLOPT_MAIL_FROM:
+  case CURLOPT_NETRC_FILE:
+  case CURLOPT_NOPROXY:
+  case CURLOPT_PASSWORD:
+  case CURLOPT_PINNEDPUBLICKEY:
+  case CURLOPT_PRE_PROXY:
+  case CURLOPT_PROXY:
+  case CURLOPT_PROXYPASSWORD:
+  case CURLOPT_PROXYUSERNAME:
+  case CURLOPT_PROXYUSERPWD:
+  case CURLOPT_PROXY_CAINFO:
+  case CURLOPT_PROXY_CAPATH:
+  case CURLOPT_PROXY_CRLFILE:
+  case CURLOPT_PROXY_KEYPASSWD:
+  case CURLOPT_PROXY_PINNEDPUBLICKEY:
+  case CURLOPT_PROXY_SERVICE_NAME:
+  case CURLOPT_PROXY_SSLCERT:
+  case CURLOPT_PROXY_SSLCERTTYPE:
+  case CURLOPT_PROXY_SSLKEY:
+  case CURLOPT_PROXY_SSLKEYTYPE:
+  case CURLOPT_PROXY_SSL_CIPHER_LIST:
+  case CURLOPT_PROXY_TLSAUTH_PASSWORD:
+  case CURLOPT_PROXY_TLSAUTH_TYPE:
+  case CURLOPT_PROXY_TLSAUTH_USERNAME:
+  case CURLOPT_RANDOM_FILE:
+  case CURLOPT_RANGE:
+  case CURLOPT_REFERER:
+  case CURLOPT_RTSP_SESSION_ID:
+  case CURLOPT_RTSP_STREAM_URI:
+  case CURLOPT_RTSP_TRANSPORT:
+  case CURLOPT_SERVICE_NAME:
+  case CURLOPT_SOCKS5_GSSAPI_SERVICE:
+  case CURLOPT_SSH_HOST_PUBLIC_KEY_MD5:
+  case CURLOPT_SSH_KNOWNHOSTS:
+  case CURLOPT_SSH_PRIVATE_KEYFILE:
+  case CURLOPT_SSH_PUBLIC_KEYFILE:
+  case CURLOPT_SSLCERT:
+  case CURLOPT_SSLCERTTYPE:
+  case CURLOPT_SSLENGINE:
+  case CURLOPT_SSLKEY:
+  case CURLOPT_SSLKEYTYPE:
+  case CURLOPT_SSL_CIPHER_LIST:
+  case CURLOPT_TLSAUTH_PASSWORD:
+  case CURLOPT_TLSAUTH_TYPE:
+  case CURLOPT_TLSAUTH_USERNAME:
+  case CURLOPT_UNIX_SOCKET_PATH:
+  case CURLOPT_URL:
+  case CURLOPT_USERAGENT:
+  case CURLOPT_USERNAME:
+  case CURLOPT_USERPWD:
+  case CURLOPT_XOAUTH2_BEARER:
+    s = va_arg(arg, char *);
+    ccsid = va_arg(arg, unsigned int);
+
+    if(s) {
+      s = dynconvert(ASCII_CCSID, s, -1, ccsid);
+
+      if(!s) {
+        result = CURLE_OUT_OF_MEMORY;
+        break;
+        }
+      }
+
+    result = curl_easy_setopt(curl, tag, s);
+    free(s);
+    break;
+
+  case CURLOPT_COPYPOSTFIELDS:
+    /* Special case: byte count may have been given by CURLOPT_POSTFIELDSIZE
+       prior to this call. In this case, convert the given byte count and
+       replace the length according to the conversion result. */
+    s = va_arg(arg, char *);
+    ccsid = va_arg(arg, unsigned int);
+
+    pfsize = data->set.postfieldsize;
+
+    if(!s || !pfsize || ccsid == NOCONV_CCSID || ccsid == ASCII_CCSID) {
+      result = curl_easy_setopt(curl, CURLOPT_COPYPOSTFIELDS, s);
+      break;
+      }
+
+    if(pfsize == -1) {
+      /* Data is null-terminated. */
+      s = dynconvert(ASCII_CCSID, s, -1, ccsid);
+
+      if(!s) {
+        result = CURLE_OUT_OF_MEMORY;
+        break;
+        }
+      }
+    else {
+      /* Data length specified. */
+      size_t len;
+
+      if(pfsize < 0 || pfsize > SIZE_MAX) {
+        result = CURLE_OUT_OF_MEMORY;
+        break;
+        }
+
+      len = pfsize;
+      pfsize = len * MAX_CONV_EXPANSION;
+
+      if(pfsize > SIZE_MAX)
+        pfsize = SIZE_MAX;
+
+      cp = malloc(pfsize);
+
+      if(!cp) {
+        result = CURLE_OUT_OF_MEMORY;
+        break;
+        }
+
+      pfsize = convert(cp, pfsize, ASCII_CCSID, s, len, ccsid);
+
+      if(pfsize < 0) {
+        free(cp);
+        result = CURLE_OUT_OF_MEMORY;
+        break;
+        }
+
+      data->set.postfieldsize = pfsize;         /* Replace data size. */
+      s = cp;
+      }
+
+    result = curl_easy_setopt(curl, CURLOPT_POSTFIELDS, s);
+    data->set.str[STRING_COPYPOSTFIELDS] = s;   /* Give to library. */
+    break;
+
+  case CURLOPT_ERRORBUFFER:                     /* This is an output buffer. */
+  default:
+    result = Curl_setopt(data, tag, arg);
+    break;
+    }
+
+  va_end(arg);
+  return result;
+}
+
+
+char *
+curl_form_long_value(long value)
+
+{
+  /* ILE/RPG cannot cast an integer to a pointer. This procedure does it. */
+
+  return (char *) value;
+}
+
+
+char *
+curl_pushheader_bynum_cssid(struct curl_pushheaders *h,
+                            size_t num, unsigned int ccsid)
+
+{
+  char *d = (char *) NULL;
+  char *s = curl_pushheader_bynum(h, num);
+
+  if(s)
+    d = dynconvert(ccsid, s, -1, ASCII_CCSID);
+
+  return d;
+}
+
+
+char *
+curl_pushheader_byname_ccsid(struct curl_pushheaders *h, const char *header,
+                             unsigned int ccsidin, unsigned int ccsidout)
+
+{
+  char *d = (char *) NULL;
+  char *s;
+
+  if(header) {
+    header = dynconvert(ASCII_CCSID, header, -1, ccsidin);
+
+    if(header) {
+      s = curl_pushheader_byname(h, header);
+      free((char *) header);
+
+      if(s)
+        d = dynconvert(ccsidout, s, -1, ASCII_CCSID);
+    }
+  }
+
+  return d;
+}
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/OS400/ccsidcurl.h b/ap/lib/libcurl/curl-7.54.1/packages/OS400/ccsidcurl.h
new file mode 100644
index 0000000..5bd24cf
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/OS400/ccsidcurl.h
@@ -0,0 +1,71 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ *
+ ***************************************************************************/
+
+#ifndef __CURL_CCSIDCURL_H
+#define __CURL_CCSIDCURL_H
+
+#include "curl.h"
+#include "easy.h"
+#include "multi.h"
+
+
+CURL_EXTERN char * curl_version_ccsid(unsigned int ccsid);
+CURL_EXTERN char * curl_easy_escape_ccsid(CURL * handle,
+                                          const char * string, int length,
+                                          unsigned int sccsid,
+                                          unsigned int dccsid);
+CURL_EXTERN char * curl_easy_unescape_ccsid(CURL * handle, const char * string,
+                                            int length, int * outlength,
+                                            unsigned int sccsid,
+                                            unsigned int dccsid);
+CURL_EXTERN struct curl_slist * curl_slist_append_ccsid(struct curl_slist * l,
+                                                        const char * data,
+                                                        unsigned int ccsid);
+CURL_EXTERN time_t curl_getdate_ccsid(const char * p, const time_t * unused,
+                                      unsigned int ccsid);
+CURL_EXTERN curl_version_info_data * curl_version_info_ccsid(CURLversion stamp,
+                                                             unsigned int cid);
+CURL_EXTERN const char * curl_easy_strerror_ccsid(CURLcode error,
+                                                  unsigned int ccsid);
+CURL_EXTERN const char * curl_share_strerror_ccsid(CURLSHcode error,
+                                                   unsigned int ccsid);
+CURL_EXTERN const char * curl_multi_strerror_ccsid(CURLMcode error,
+                                                   unsigned int ccsid);
+CURL_EXTERN CURLcode curl_easy_getinfo_ccsid(CURL * curl, CURLINFO info, ...);
+CURL_EXTERN CURLFORMcode curl_formadd_ccsid(struct curl_httppost * * httppost,
+                                            struct curl_httppost * * last_post,
+                                            ...);
+CURL_EXTERN char * curl_form_long_value(long value);
+CURL_EXTERN int curl_formget_ccsid(struct curl_httppost * form, void * arg,
+                                   curl_formget_callback append,
+                                   unsigned int ccsid);
+CURL_EXTERN CURLcode curl_easy_setopt_ccsid(CURL * curl, CURLoption tag, ...);
+CURL_EXTERN void curl_certinfo_free_all(struct curl_certinfo *info);
+CURL_EXTERN char *curl_pushheader_bynum_cssid(struct curl_pushheaders *h,
+                                              size_t num, unsigned int ccsid);
+CURL_EXTERN char *curl_pushheader_byname_ccsid(struct curl_pushheaders *h,
+                                               const char *header,
+                                               unsigned int ccsidin,
+                                               unsigned int ccsidout);
+
+#endif
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/OS400/curl.inc.in b/ap/lib/libcurl/curl-7.54.1/packages/OS400/curl.inc.in
new file mode 100644
index 0000000..e4d2d30
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/OS400/curl.inc.in
@@ -0,0 +1,2442 @@
+      **************************************************************************
+      *                                  _   _ ____  _
+      *  Project                     ___| | | |  _ \| |
+      *                             / __| | | | |_) | |
+      *                            | (__| |_| |  _ <| |___
+      *                             \___|\___/|_| \_\_____|
+      *
+      * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+      *
+      * This software is licensed as described in the file COPYING, which
+      * you should have received as part of this distribution. The terms
+      * are also available at https://curl.haxx.se/docs/copyright.html.
+      *
+      * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+      * copies of the Software, and permit persons to whom the Software is
+      * furnished to do so, under the terms of the COPYING file.
+      *
+      * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
+      * ANY KIND, either express or implied.
+      *
+      *
+      **************************************************************************
+      *
+      /if not defined(CURL_CURL_INC_)
+      /define CURL_CURL_INC_
+      *
+      *     WARNING: this file should be kept in sync with C include files.
+      *
+      **************************************************************************
+      *                               Constants
+      **************************************************************************
+      *
+     d LIBCURL_VERSION...
+     d                 c                   '@LIBCURL_VERSION@'
+     d LIBCURL_VERSION_MAJOR...
+     d                 c                   @LIBCURL_VERSION_MAJOR@
+     d LIBCURL_VERSION_MINOR...
+     d                 c                   @LIBCURL_VERSION_MINOR@
+     d LIBCURL_VERSION_PATCH...
+     d                 c                   @LIBCURL_VERSION_PATCH@
+     d LIBCURL_VERSION_NUM...
+     d                 c                   X'00@LIBCURL_VERSION_NUM@'
+     d LIBCURL_TIMESTAMP...
+     d                 c                   '@LIBCURL_TIMESTAMP@'
+      *
+     d CURL_SOCKET_BAD...
+     d                 c                   -1
+     d CURL_SOCKET_TIMEOUT...
+     d                 c                   -1
+      *
+      /if not defined(CURL_MAX_WRITE_SIZE)
+      /define CURL_MAX_WRITE_SIZE
+     d CURL_MAX_WRITE_SIZE...
+     d                 c                   16384
+      /endif
+      *
+      /if not defined(CURL_MAX_HTTP_HEADER)
+      /define CURL_MAX_HTTP_HEADER
+     d CURL_MAX_HTTP_HEADER...
+     d                 c                   102400
+      /endif
+      *
+     d CURLINFO_STRING...
+     d                 c                   X'00100000'
+     d CURLINFO_LONG   c                   X'00200000'
+     d CURLINFO_DOUBLE...
+     d                 c                   X'00300000'
+     d CURLINFO_SLIST  c                   X'00400000'
+     d CURLINFO_SOCKET...
+     d                 c                   X'00500000'
+     d CURLINFO_MASK   c                   X'000FFFFF'
+     d CURLINFO_TYPEMASK...
+     d                 c                   X'00F00000'
+      *
+     d CURL_GLOBAL_SSL...
+     d                 c                   X'00000001'
+     d CURL_GLOBAL_WIN32...
+     d                 c                   X'00000002'
+     d CURL_GLOBAL_ALL...
+     d                 c                   X'00000003'
+     d CURL_GLOBAL_NOTHING...
+     d                 c                   X'00000000'
+     d CURL_GLOBAL_DEFAULT...
+     d                 c                   X'00000003'
+     d CURL_GLOBAL_ACK_EINTR...
+     d                 c                   X'00000004'
+      *
+     d CURL_VERSION_IPV6...
+     d                 c                   X'00000001'
+     d CURL_VERSION_KERBEROS4...
+     d                 c                   X'00000002'
+     d CURL_VERSION_SSL...
+     d                 c                   X'00000004'
+     d CURL_VERSION_LIBZ...
+     d                 c                   X'00000008'
+     d CURL_VERSION_NTLM...
+     d                 c                   X'00000010'
+     d CURL_VERSION_GSSNEGOTIATE...
+     d                 c                   X'00000020'                          Deprecated
+     d CURL_VERSION_DEBUG...
+     d                 c                   X'00000040'
+     d CURL_VERSION_ASYNCHDNS...
+     d                 c                   X'00000080'
+     d CURL_VERSION_SPNEGO...
+     d                 c                   X'00000100'
+     d CURL_VERSION_LARGEFILE...
+     d                 c                   X'00000200'
+     d CURL_VERSION_IDN...
+     d                 c                   X'00000400'
+     d CURL_VERSION_SSPI...
+     d                 c                   X'00000800'
+     d CURL_VERSION_CONV...
+     d                 c                   X'00001000'
+     d CURL_VERSION_CURLDEBUG...
+     d                 c                   X'00002000'
+     d CURL_VERSION_TLSAUTH_SRP...
+     d                 c                   X'00004000'
+     d CURL_VERSION_NTLM_WB...
+     d                 c                   X'00008000'
+     d CURL_VERSION_HTTP2...
+     d                 c                   X'00010000'
+     d CURL_VERSION_GSSAPI...
+     d                 c                   X'00020000'
+     d CURL_VERSION_KERBEROS5...
+     d                 c                   X'00040000'
+     d CURL_VERSION_UNIX_SOCKETS...
+     d                 c                   X'00080000'
+     d CURL_VERSION_PSL...
+     d                 c                   X'00100000'
+     d CURL_VERSION_HTTPS_PROXY...
+     d                 c                   X'00200000'
+      *
+     d CURL_HTTPPOST_FILENAME...
+     d                 c                   X'00000001'
+     d CURL_HTTPPOST_READFILE...
+     d                 c                   X'00000002'
+     d CURL_HTTPPOST_PTRNAME...
+     d                 c                   X'00000004'
+     d CURL_HTTPPOST_PTRCONTENTS...
+     d                 c                   X'00000008'
+     d CURL_HTTPPOST_BUFFER...
+     d                 c                   X'00000010'
+     d CURL_HTTPPOST_PTRBUFFER...
+     d                 c                   X'00000020'
+     d CURL_HTTPPOST_CALLBACK...
+     d                 c                   X'00000040'
+     d CURL_HTTPPOST_LARGE...
+     d                 c                   X'00000080'
+      *
+     d CURL_SEEKFUNC_OK...
+     d                 c                   0
+     d CURL_SEEKFUNC_FAIL...
+     d                 c                   1
+     d CURL_SEEKFUNC_CANTSEEK...
+     d                 c                   2
+      *
+     d CURL_READFUNC_ABORT...
+     d                 c                   X'10000000'
+     d CURL_READFUNC_PAUSE...
+     d                 c                   X'10000001'
+      *
+     d CURL_WRITEFUNC_PAUSE...
+     d                 c                   X'10000001'
+      *
+     d CURLAUTH_NONE   c                   X'00000000'
+     d CURLAUTH_BASIC  c                   X'00000001'
+     d CURLAUTH_DIGEST...
+     d                 c                   X'00000002'
+     d CURLAUTH_NEGOTIATE...
+     d                 c                   X'00000004'
+     d CURLAUTH_NTLM   c                   X'00000008'
+     d CURLAUTH_DIGEST_IE...
+     d                 c                   X'00000010'
+     d CURLAUTH_NTLM_WB...
+     d                 c                   X'00000020'
+     d CURLAUTH_ONLY...
+     d                 c                   X'80000000'
+     d CURLAUTH_ANY    c                   X'7FFFFFEF'
+     d CURLAUTH_ANYSAFE...
+     d                 c                   X'7FFFFFEE'
+      *
+     d CURLSSH_AUTH_ANY...
+     d                 c                   X'7FFFFFFF'
+     d CURLSSH_AUTH_NONE...
+     d                 c                   X'00000000'
+     d CURLSSH_AUTH_PUBLICKEY...
+     d                 c                   X'00000001'
+     d CURLSSH_AUTH_PASSWORD...
+     d                 c                   X'00000002'
+     d CURLSSH_AUTH_HOST...
+     d                 c                   X'00000004'
+     d CURLSSH_AUTH_KEYBOARD...
+     d                 c                   X'00000008'
+     d CURLSSH_AUTH_AGENT...
+     d                 c                   X'00000010'
+     d CURLSSH_AUTH_DEFAULT...
+     d                 c                   X'7FFFFFFF'                          CURLSSH_AUTH_ANY
+      *
+     d CURLGSSAPI_DELEGATION_NONE...
+     d                 c                   0
+     d CURLGSSAPI_DELEGATION_POLICY_FLAG...
+     d                 c                   X'00000001'
+     d CURLGSSAPI_DELEGATION_FLAG...
+     d                 c                   X'00000002'
+      *
+     d CURL_ERROR_SIZE...
+     d                 c                   256
+      *
+     d CURLOPTTYPE_LONG...
+     d                 c                   0
+     d CURLOPTTYPE_OBJECTPOINT...
+     d                 c                   10000
+     d CURLOPTTYPE_STRINGPOINT...
+     d                 c                   10000
+     d CURLOPTTYPE_FUNCTIONPOINT...
+     d                 c                   20000
+     d CURLOPTTYPE_OFF_T...
+     d                 c                   30000
+      *
+     d CURL_IPRESOLVE_WHATEVER...
+     d                 c                   0
+     d CURL_IPRESOLVE_V4...
+     d                 c                   1
+     d CURL_IPRESOLVE_V6...
+     d                 c                   2
+      *
+     d CURL_HTTP_VERSION_NONE...
+     d                 c                   0
+     d CURL_HTTP_VERSION_1_0...
+     d                 c                   1
+     d CURL_HTTP_VERSION_1_1...
+     d                 c                   2
+     d CURL_HTTP_VERSION_2_0...
+     d                 c                   3
+     d CURL_HTTP_VERSION_2...
+     d                 c                   3
+     d CURL_HTTP_VERSION_2TLS...
+     d                 c                   4
+     d CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE...
+     d                 c                   5
+      *
+     d CURL_NETRC_IGNORED...
+     d                 c                   0
+     d CURL_NETRC_OPTIONAL...
+     d                 c                   1
+     d CURL_NETRC_REQUIRED...
+     d                 c                   2
+      *
+     d CURL_SSLVERSION_DEFAULT...
+     d                 c                   0
+     d CURL_SSLVERSION_TLSv1...
+     d                 c                   1
+     d CURL_SSLVERSION_SSLv2...
+     d                 c                   2
+     d CURL_SSLVERSION_SSLv3...
+     d                 c                   3
+     d CURL_SSLVERSION_TLSv1_0...
+     d                 c                   4
+     d CURL_SSLVERSION_TLSv1_1...
+     d                 c                   5
+     d CURL_SSLVERSION_TLSv1_2...
+     d                 c                   6
+     d CURL_SSLVERSION_TLSv1_3...
+     d                 c                   7
+     d CURL_SSLVERSION_MAX_DEFAULT...
+     d                 c                   X'00010000'
+     d CURL_SSLVERSION_MAX_TLSv1_0...
+     d                 c                   X'00040000'
+     d CURL_SSLVERSION_MAX_TLSv1_1...
+     d                 c                   X'00050000'
+     d CURL_SSLVERSION_MAX_TLSv1_2...
+     d                 c                   X'00060000'
+     d CURL_SSLVERSION_MAX_TLSv1_3...
+     d                 c                   X'00070000'
+      *
+     d CURL_TLSAUTH_NONE...
+     d                 c                   0
+     d CURL_TLSAUTH_SRP...
+     d                 c                   1
+      *
+     d CURL_REDIR_GET_ALL...
+     d                 c                   0
+     d CURL_REDIR_POST_301...
+     d                 c                   1
+     d CURL_REDIR_POST_302...
+     d                 c                   2
+     d CURL_REDIR_POST_303...
+     d                 c                   4
+     d CURL_REDIR_POST_ALL...
+     d                 c                   7
+      *
+     d CURL_POLL_NONE  c                   0
+     d CURL_POLL_IN    c                   1
+     d CURL_POLL_OUT   c                   2
+     d CURL_POLL_INOUT...
+     d                 c                   3
+     d CURL_POLL_REMOVE...
+     d                 c                   4
+      *
+     d CURL_CSELECT_IN...
+     d                 c                   X'00000001'
+     d CURL_CSELECT_OUT...
+     d                 c                   X'00000002'
+     d CURL_CSELECT_ERR...
+     d                 c                   X'00000004'
+      *
+     d CURL_PUSH_OK    c                   0
+     d CURL_PUSH_DENY  c                   1
+      *
+     d CURLPAUSE_RECV  c                   X'00000001'
+     d CURLPAUSE_RECV_CONT...
+     d                 c                   X'00000000'
+     d CURLPAUSE_SEND  c                   X'00000004'
+     d CURLPAUSE_SEND_CONT...
+     d                 c                   X'00000000'
+     d CURLPAUSE_ALL   c                   X'00000005'
+     d CURLPAUSE_CONT  c                   X'00000000'
+      *
+     d CURLINFOFLAG_KNOWN_FILENAME...
+     d                 c                   X'00000001'
+     d CURLINFOFLAG_KNOWN_FILETYPE...
+     d                 c                   X'00000002'
+     d CURLINFOFLAG_KNOWN_TIME...
+     d                 c                   X'00000004'
+     d CURLINFOFLAG_KNOWN_PERM...
+     d                 c                   X'00000008'
+     d CURLINFOFLAG_KNOWN_UID...
+     d                 c                   X'00000010'
+     d CURLINFOFLAG_KNOWN_GID...
+     d                 c                   X'00000020'
+     d CURLINFOFLAG_KNOWN_SIZE...
+     d                 c                   X'00000040'
+     d CURLINFOFLAG_KNOWN_HLINKCOUNT...
+     d                 c                   X'00000080'
+      *
+     d CURL_CHUNK_BGN_FUNC_OK...
+     d                 c                   0
+     d CURL_CHUNK_BGN_FUNC_FAIL...
+     d                 c                   1
+     d CURL_CHUNK_BGN_FUNC_SKIP...
+     d                 c                   2
+      *
+     d CURL_CHUNK_END_FUNC_OK...
+     d                 c                   0
+     d CURL_CHUNK_END_FUNC_FAIL...
+     d                 c                   1
+      *
+     d CURL_FNMATCHFUNC_MATCH...
+     d                 c                   0
+     d CURL_FNMATCHFUNC_NOMATCH...
+     d                 c                   1
+     d CURL_FNMATCHFUNC_FAIL...
+     d                 c                   2
+      *
+     d CURL_WAIT_POLLIN...
+     d                 c                   X'0001'
+     d CURL_WAIT_POLLPRI...
+     d                 c                   X'0002'
+     d CURL_WAIT_POLLOUT...
+     d                 c                   X'0004'
+      *
+      **************************************************************************
+      *                                Types
+      **************************************************************************
+      *
+     d curl_socket_t   s             10i 0 based(######ptr######)
+      *
+     d curl_off_t      s             20i 0 based(######ptr######)
+      *
+     d CURLcode        s             10i 0 based(######ptr######)               Enum
+     d  CURLE_OK       c                   0
+     d  CURLE_UNSUPPORTED_PROTOCOL...
+     d                 c                   1
+     d  CURLE_FAILED_INIT...
+     d                 c                   2
+     d  CURLE_URL_MALFORMAT...
+     d                 c                   3
+     d  CURLE_NOT_BUILT_IN...
+     d                 c                   4
+     d  CURLE_COULDNT_RESOLVE_PROXY...
+     d                 c                   5
+     d  CURLE_COULDNT_RESOLVE_HOST...
+     d                 c                   6
+     d  CURLE_COULDNT_CONNECT...
+     d                 c                   7
+     d  CURLE_WEIRD_SERVER_REPLY...
+     d                 c                   8
+     d  CURLE_FTP_WEIRD_SERVER_REPLY...
+     d                 c                   8
+     d  CURLE_REMOTE_ACCESS_DENIED...
+     d                 c                   9
+     d  CURLE_FTP_ACCEPT_FAILED...
+     d                 c                   10
+     d  CURLE_FTP_WEIRD_PASS_REPLY...
+     d                 c                   11
+     d  CURLE_FTP_ACCEPT_TIMEOUT...
+     d                 c                   12
+     d  CURLE_FTP_WEIRD_PASV_REPLY...
+     d                 c                   13
+     d  CURLE_FTP_WEIRD_227_FORMAT...
+     d                 c                   14
+     d  CURLE_FTP_CANT_GET_HOST...
+     d                 c                   15
+     d  CURLE_HTTP2    c                   16
+     d  CURLE_FTP_COULDNT_SET_TYPE...
+     d                 c                   17
+     d  CURLE_PARTIAL_FILE...
+     d                 c                   18
+     d  CURLE_FTP_COULDNT_RETR_FILE...
+     d                 c                   19
+     d  CURLE_OBSOLETE20...
+     d                 c                   20
+     d  CURLE_QUOTE_ERROR...
+     d                 c                   21
+     d  CURLE_HTTP_RETURNED_ERROR...
+     d                 c                   22
+     d  CURLE_WRITE_ERROR...
+     d                 c                   23
+     d  CURLE_OBSOLETE24...
+     d                 c                   24
+     d  CURLE_UPLOAD_FAILED...
+     d                 c                   25
+     d  CURLE_READ_ERROR...
+     d                 c                   26
+     d  CURLE_OUT_OF_MEMORY...
+     d                 c                   27
+     d  CURLE_OPERATION_TIMEDOUT...
+     d                 c                   28
+     d  CURLE_OBSOLETE29...
+     d                 c                   29
+     d  CURLE_FTP_PORT_FAILED...
+     d                 c                   30
+     d  CURLE_FTP_COULDNT_USE_REST...
+     d                 c                   31
+     d  CURLE_OBSOLETE32...
+     d                 c                   32
+     d  CURLE_RANGE_ERROR...
+     d                 c                   33
+     d  CURLE_HTTP_POST_ERROR...
+     d                 c                   34
+     d  CURLE_SSL_CONNECT_ERROR...
+     d                 c                   35
+     d  CURLE_BAD_DOWNLOAD_RESUME...
+     d                 c                   36
+     d  CURLE_FILE_COULDNT_READ_FILE...
+     d                 c                   37
+     d  CURLE_LDAP_CANNOT_BIND...
+     d                 c                   38
+     d  CURLE_LDAP_SEARCH_FAILED...
+     d                 c                   39
+     d  CURLE_OBSOLETE40...
+     d                 c                   40
+     d  CURLE_FUNCTION_NOT_FOUND...
+     d                 c                   41
+     d  CURLE_ABORTED_BY_CALLBACK...
+     d                 c                   42
+     d  CURLE_BAD_FUNCTION_ARGUMENT...
+     d                 c                   43
+     d  CURLE_OBSOLETE44...
+     d                 c                   44
+     d  CURLE_INTERFACE_FAILED...
+     d                 c                   45
+     d  CURLE_OBSOLETE46...
+     d                 c                   46
+     d  CURLE_TOO_MANY_REDIRECTS...
+     d                 c                   47
+     d  CURLE_UNKNOWN_OPTION...
+     d                 c                   48
+     d  CURLE_TELNET_OPTION_SYNTAX...
+     d                 c                   49
+     d  CURLE_OBSOLETE50...
+     d                 c                   50
+     d  CURLE_PEER_FAILED_VERIFICATION...
+     d                 c                   51
+     d  CURLE_GOT_NOTHING...
+     d                 c                   52
+     d  CURLE_SSL_ENGINE_NOTFOUND...
+     d                 c                   53
+     d  CURLE_SSL_ENGINE_SETFAILED...
+     d                 c                   54
+     d  CURLE_SEND_ERROR...
+     d                 c                   55
+     d  CURLE_RECV_ERROR...
+     d                 c                   56
+     d  CURLE_OBSOLETE57...
+     d                 c                   57
+     d  CURLE_SSL_CERTPROBLEM...
+     d                 c                   58
+     d  CURLE_SSL_CIPHER...
+     d                 c                   59
+     d  CURLE_SSL_CACERT...
+     d                 c                   60
+     d  CURLE_BAD_CONTENT_ENCODING...
+     d                 c                   61
+     d  CURLE_LDAP_INVALID_URL...
+     d                 c                   62
+     d  CURLE_FILESIZE_EXCEEDED...
+     d                 c                   63
+     d  CURLE_USE_SSL_FAILED...
+     d                 c                   64
+     d  CURLE_SEND_FAIL_REWIND...
+     d                 c                   65
+     d  CURLE_SSL_ENGINE_INITFAILED...
+     d                 c                   66
+     d  CURLE_LOGIN_DENIED...
+     d                 c                   67
+     d  CURLE_TFTP_NOTFOUND...
+     d                 c                   68
+     d  CURLE_TFTP_PERM...
+     d                 c                   69
+     d  CURLE_REMOTE_DISK_FULL...
+     d                 c                   70
+     d  CURLE_TFTP_ILLEGAL...
+     d                 c                   71
+     d  CURLE_TFTP_UNKNOWNID...
+     d                 c                   72
+     d  CURLE_REMOTE_FILE_EXISTS...
+     d                 c                   73
+     d  CURLE_TFTP_NOSUCHUSER...
+     d                 c                   74
+     d  CURLE_CONV_FAILED...
+     d                 c                   75
+     d  CURLE_CONV_REQD...
+     d                 c                   76
+     d  CURLE_SSL_CACERT_BADFILE...
+     d                 c                   77
+     d  CURLE_REMOTE_FILE_NOT_FOUND...
+     d                 c                   78
+     d  CURLE_SSH...
+     d                 c                   79
+     d  CURLE_SSL_SHUTDOWN_FAILED...
+     d                 c                   80
+     d  CURLE_AGAIN...
+     d                 c                   81
+     d  CURLE_SSL_CRL_BADFILE...
+     d                 c                   82
+     d  CURLE_SSL_ISSUER_ERROR...
+     d                 c                   83
+     d  CURLE_FTP_PRET_FAILED...
+     d                 c                   84
+     d  CURLE_RTSP_CSEQ_ERROR...
+     d                 c                   85
+     d  CURLE_RTSP_SESSION_ERROR...
+     d                 c                   86
+     d  CURLE_FTP_BAD_FILE_LIST...
+     d                 c                   87
+     d  CURLE_CHUNK_FAILED...
+     d                 c                   88
+     d  CURLE_NO_CONNECTION_AVAILABLE...
+     d                 c                   89
+     d  CURLE_SSL_PINNEDPUBKEYNOTMATCH...
+     d                 c                   90
+     d  CURLE_SSL_INVALIDCERTSTATUS...
+     d                 c                   91
+     d  CURLE_HTTP2_STREAM...
+     d                 c                   92
+      *
+      /if not defined(CURL_NO_OLDIES)
+     d  CURLE_URL_MALFORMAT_USER...
+     d                 c                   4
+     d  CURLE_FTP_ACCESS_DENIED...
+     d                 c                   9
+     d  CURLE_FTP_USER_PASSWORD_INCORRECT...
+     d                 c                   10
+     d  CURLE_FTP_WEIRD_USER_REPLY...
+     d                 c                   12
+     d  CURLE_FTP_CANT_RECONNECT...
+     d                 c                   16
+     d  CURLE_FTP_COULDNT_SET_BINARY...
+     d                 c                   17
+     d  CURLE_FTP_PARTIAL_FILE...
+     d                 c                   18
+     d  CURLE_FTP_WRITE_ERROR...
+     d                 c                   20
+     d  CURLE_FTP_QUOTE_ERROR...
+     d                 c                   21
+     d  CURLE_HTTP_NOT_FOUND...
+     d                 c                   22
+     d  CURLE_MALFORMAT_USER...
+     d                 c                   24
+     d  CURLE_FTP_COULDNT_STOR_FILE...
+     d                 c                   25
+     d  CURLE_OPERATION_TIMEOUTED...
+     d                 c                   28
+     d  CURLE_FTP_COULDNT_SET_ASCII...
+     d                 c                   29
+     d  CURLE_FTP_COULDNT_GET_SIZE...
+     d                 c                   32
+     d  CURLE_HTTP_RANGE_ERROR...
+     d                 c                   33
+     d  CURLE_FTP_BAD_DOWNLOAD_RESUME...
+     d                 c                   36
+     d  CURLE_LIBRARY_NOT_FOUND...
+     d                 c                   40
+     d  CURLE_BAD_CALLING_ORDER...
+     d                 c                   44
+     d  CURLE_HTTP_PORT_FAILED...
+     d                 c                   45
+     d  CURLE_BAD_PASSWORD_ENTERED...
+     d                 c                   46
+     d  CURLE_UNKNOWN_TELNET_OPTION...
+     d                 c                   48
+     d  CURLE_OBSOLETE...
+     d                 c                   50
+     d  CURLE_SSL_PEER_CERTIFICATE...
+     d                 c                   51
+     d  CURLE_SHARE_IN_USE...
+     d                 c                   57
+     d  CURLE_FTP_SSL_FAILED...
+     d                 c                   64
+     d  CURLE_TFTP_DISKFULL...
+     d                 c                   70
+     d  CURLE_TFTP_EXISTS...
+     d                 c                   73
+     d  CURLE_ALREADY_COMPLETE...
+     d                 c                   99999
+      /endif
+      *
+     d curlioerr       s             10i 0 based(######ptr######)               Enum
+     d  CURLIOE_OK     c                   0
+     d  CURLIOE_UNKNOWNCMD...
+     d                 c                   1
+     d  CURLIOE_FAILRESTART...
+     d                 c                   2
+      *
+     d curlfiletype    s             10i 0 based(######ptr######)               Enum
+     d  CURLFILETYPE_FILE...
+     d                 c                   0
+     d  CURLFILETYPE_DIRECTORY...
+     d                 c                   1
+     d  CURLFILETYPE_SYMLINK...
+     d                 c                   2
+     d  CURLFILETYPE_DEVICE_BLOCK...
+     d                 c                   3
+     d  CURLFILETYPE_DEVICE_CHAR...
+     d                 c                   4
+     d  CURLFILETYPE_NAMEDPIPE...
+     d                 c                   5
+     d  CURLFILETYPE_SOCKET...
+     d                 c                   6
+     d  CURLFILETYPE_DOOR...
+     d                 c                   7
+      *
+     d curliocmd       s             10i 0 based(######ptr######)               Enum
+     d  CURLIOCMD_NOP  c                   0
+     d  CURLIOCMD_RESTARTREAD...
+     d                 c                   1
+      *
+     d curl_infotype   s             10i 0 based(######ptr######)               Enum
+     d  CURLINFO_TEXT...
+     d                 c                   0
+     d  CURLINFO_HEADER_IN...
+     d                 c                   1
+     d  CURLINFO_HEADER_OUT...
+     d                 c                   2
+     d  CURLINFO_DATA_IN...
+     d                 c                   3
+     d  CURLINFO_DATA_OUT...
+     d                 c                   4
+     d  CURLINFO_SSL_DATA_IN...
+     d                 c                   5
+     d  CURLINFO_SSL_DATA_OUT...
+     d                 c                   6
+     d  CURLINFO_END...
+     d                 c                   7
+      *
+     d curl_proxytype  s             10i 0 based(######ptr######)               Enum
+     d  CURLPROXY_HTTP...
+     d                 c                   0
+     d  CURLPROXY_HTTP_1_0...
+     d                 c                   1
+     d  CURLPROXY_HTTPS...
+     d                 c                   2
+     d  CURLPROXY_SOCKS4...
+     d                 c                   4
+     d  CURLPROXY_SOCKS5...
+     d                 c                   5
+     d  CURLPROXY_SOCKS4A...
+     d                 c                   6
+     d  CURLPROXY_SOCKS5_HOSTNAME...
+     d                 c                   7
+      *
+     d curl_khstat     s             10i 0 based(######ptr######)               Enum
+     d  CURLKHSTAT_FINE_ADD_TO_FILE...
+     d                 c                   0
+     d  CURLKHSTAT_FINE...
+     d                 c                   1
+     d  CURLKHSTAT_REJECT...
+     d                 c                   2
+     d  CURLKHSTAT_DEFER...
+     d                 c                   3
+     d  CURLKHSTAT_LAST...
+     d                 c                   4
+      *
+     d curl_khmatch    s             10i 0 based(######ptr######)               Enum
+     d  CURLKHMATCH_OK...
+     d                 c                   0
+     d  CURLKHMATCH_MISMATCH...
+     d                 c                   1
+     d  CURLKHMATCH_MISSING...
+     d                 c                   2
+     d  CURLKHMATCH_LAST...
+     d                 c                   3
+      *
+     d curl_usessl     s             10i 0 based(######ptr######)               Enum
+     d  CURLUSESSL_NONE...
+     d                 c                   0
+     d  CURLUSESSL_TRY...
+     d                 c                   1
+     d  CURLUSESSL_CONTROL...
+     d                 c                   2
+     d  CURLUSESSL_ALL...
+     d                 c                   3
+      *
+     d CURLSSLOPT_ALLOW_BEAST...
+     d                 c                   X'0001'
+     d CURLSSLOPT_NO_REVOKE...
+     d                 c                   X'0002'
+      *
+      /if not defined(CURL_NO_OLDIES)
+     d curl_ftpssl     s                   like(curl_usessl)
+     d                                     based(######ptr######)
+     d  CURLFTPSSL_NONE...
+     d                 c                   0
+     d  CURLFTPSSL_TRY...
+     d                 c                   1
+     d  CURLFTPSSL_CONTROL...
+     d                 c                   2
+     d  CURLFTPSSL_ALL...
+     d                 c                   3
+      /endif
+      *
+     d curl_ftpccc     s             10i 0 based(######ptr######)               Enum
+     d  CURLFTPSSL_CCC_NONE...
+     d                 c                   0
+     d  CURLFTPSSL_CCC_PASSIVE...
+     d                 c                   1
+     d  CURLFTPSSL_CCC_ACTIVE...
+     d                 c                   2
+      *
+     d curl_ftpauth    s             10i 0 based(######ptr######)               Enum
+     d  CURLFTPAUTH_DEFAULT...
+     d                 c                   0
+     d  CURLFTPAUTH_SSL...
+     d                 c                   1
+     d  CURLFTPAUTH_TLS...
+     d                 c                   2
+      *
+     d curl_ftpcreatedir...
+     d                 s             10i 0 based(######ptr######)               Enum
+     d  CURLFTP_CREATE_DIR_NONE...
+     d                 c                   0
+     d  CURLFTP_CREATE_DIR...
+     d                 c                   1
+     d  CURLFTP_CREATE_DIR_RETRY...
+     d                 c                   2
+      *
+     d curl_ftpmethod  s             10i 0 based(######ptr######)               Enum
+     d  CURLFTPMETHOD_DEFAULT...
+     d                 c                   0
+     d  CURLFTPMETHOD_MULTICWD...
+     d                 c                   1
+     d  CURLFTPMETHOD_NOCWD...
+     d                 c                   2
+     d  CURLFTPMETHOD_SINGLECWD...
+     d                 c                   3
+      *
+     d  CURLHEADER_UNIFIED...
+     d                 c                   X'00000000'
+     d  CURLHEADER_SEPARATE...
+     d                 c                   X'00000001'
+      *
+     d  CURLPROTO_HTTP...
+     d                 c                   X'00000001'
+     d  CURLPROTO_HTTPS...
+     d                 c                   X'00000002'
+     d  CURLPROTO_FTP...
+     d                 c                   X'00000004'
+     d  CURLPROTO_FTPS...
+     d                 c                   X'00000008'
+     d  CURLPROTO_SCP...
+     d                 c                   X'00000010'
+     d  CURLPROTO_SFTP...
+     d                 c                   X'00000020'
+     d  CURLPROTO_TELNET...
+     d                 c                   X'00000040'
+     d  CURLPROTO_LDAP...
+     d                 c                   X'00000080'
+     d  CURLPROTO_LDAPS...
+     d                 c                   X'00000100'
+     d  CURLPROTO_DICT...
+     d                 c                   X'00000200'
+     d  CURLPROTO_FILE...
+     d                 c                   X'00000400'
+     d  CURLPROTO_TFTP...
+     d                 c                   X'00000800'
+     d  CURLPROTO_IMAP...
+     d                 c                   X'00001000'
+     d  CURLPROTO_IMAPS...
+     d                 c                   X'00002000'
+     d  CURLPROTO_POP3...
+     d                 c                   X'00004000'
+     d  CURLPROTO_POP3S...
+     d                 c                   X'00008000'
+     d  CURLPROTO_SMTP...
+     d                 c                   X'00010000'
+     d  CURLPROTO_SMTPS...
+     d                 c                   X'00020000'
+     d  CURLPROTO_RTSP...
+     d                 c                   X'00040000'
+     d  CURLPROTO_RTMP...
+     d                 c                   X'00080000'
+     d  CURLPROTO_RTMPT...
+     d                 c                   X'00100000'
+     d  CURLPROTO_RTMPTE...
+     d                 c                   X'00200000'
+     d  CURLPROTO_RTMPE...
+     d                 c                   X'00400000'
+     d  CURLPROTO_RTMPS...
+     d                 c                   X'00800000'
+     d  CURLPROTO_RTMPTS...
+     d                 c                   X'01000000'
+     d  CURLPROTO_GOPHER...
+     d                 c                   X'02000000'
+     d  CURLPROTO_SMB...
+     d                 c                   X'04000000'
+     d  CURLPROTO_SMBS...
+     d                 c                   X'08000000'
+      *
+     d CURLoption      s             10i 0 based(######ptr######)               Enum
+     d  CURLOPT_WRITEDATA...
+     d                 c                   10001
+     d  CURLOPT_URL    c                   10002
+     d  CURLOPT_PORT   c                   00003
+     d  CURLOPT_PROXY  c                   10004
+     d  CURLOPT_USERPWD...
+     d                 c                   10005
+     d  CURLOPT_PROXYUSERPWD...
+     d                 c                   10006
+     d  CURLOPT_RANGE  c                   10007
+     d  CURLOPT_READDATA...
+     d                 c                   10009
+     d  CURLOPT_ERRORBUFFER...
+     d                 c                   10010
+     d  CURLOPT_WRITEFUNCTION...
+     d                 c                   20011
+     d  CURLOPT_READFUNCTION...
+     d                 c                   20012
+     d  CURLOPT_TIMEOUT...
+     d                 c                   00013
+     d  CURLOPT_INFILESIZE...
+     d                 c                   00014
+     d  CURLOPT_POSTFIELDS...
+     d                 c                   10015
+     d  CURLOPT_REFERER...
+     d                 c                   10016
+     d  CURLOPT_FTPPORT...
+     d                 c                   10017
+     d  CURLOPT_USERAGENT...
+     d                 c                   10018
+     d  CURLOPT_LOW_SPEED_LIMIT...
+     d                 c                   00019
+     d  CURLOPT_LOW_SPEED_TIME...
+     d                 c                   00020
+     d  CURLOPT_RESUME_FROM...
+     d                 c                   00021
+     d  CURLOPT_COOKIE...
+     d                 c                   10022
+     d  CURLOPT_HTTPHEADER...
+     d                 c                   10023
+     d  CURLOPT_RTSPHEADER...
+     d                 c                   10023
+     d  CURLOPT_HTTPPOST...
+     d                 c                   10024
+     d  CURLOPT_SSLCERT...
+     d                 c                   10025
+     d  CURLOPT_KEYPASSWD...
+     d                 c                   10026
+     d  CURLOPT_CRLF   c                   00027
+     d  CURLOPT_QUOTE  c                   10028
+     d  CURLOPT_HEADERDATA...
+     d                 c                   10029
+     d  CURLOPT_COOKIEFILE...
+     d                 c                   10031
+     d  CURLOPT_SSLVERSION...
+     d                 c                   00032
+     d  CURLOPT_TIMECONDITION...
+     d                 c                   00033
+     d  CURLOPT_TIMEVALUE...
+     d                 c                   00034
+     d  CURLOPT_CUSTOMREQUEST...
+     d                 c                   10036
+     d  CURLOPT_STDERR...
+     d                 c                   10037
+     d  CURLOPT_POSTQUOTE...
+     d                 c                   10039
+     d  CURLOPT_VERBOSE...
+     d                 c                   00041
+     d  CURLOPT_HEADER...
+     d                 c                   00042
+     d  CURLOPT_NOPROGRESS...
+     d                 c                   00043
+     d  CURLOPT_NOBODY...
+     d                 c                   00044
+     d  CURLOPT_FAILONERROR...
+     d                 c                   00045
+     d  CURLOPT_UPLOAD...
+     d                 c                   00046
+     d  CURLOPT_POST   c                   00047
+     d  CURLOPT_DIRLISTONLY...
+     d                 c                   00048
+     d  CURLOPT_APPEND...
+     d                 c                   00050
+     d  CURLOPT_NETRC  c                   00051
+     d  CURLOPT_FOLLOWLOCATION...
+     d                 c                   00052
+     d  CURLOPT_TRANSFERTEXT...
+     d                 c                   00053
+     d  CURLOPT_PUT    c                   00054
+     d  CURLOPT_PROGRESSFUNCTION...
+     d                 c                   20056
+     d  CURLOPT_PROGRESSDATA...
+     d                 c                   10057
+     d  CURLOPT_XFERINFODATA...
+     d                 c                   10057                                PROGRESSDATA alias
+     d  CURLOPT_AUTOREFERER...
+     d                 c                   00058
+     d  CURLOPT_PROXYPORT...
+     d                 c                   00059
+     d  CURLOPT_POSTFIELDSIZE...
+     d                 c                   00060
+     d  CURLOPT_HTTPPROXYTUNNEL...
+     d                 c                   00061
+     d  CURLOPT_INTERFACE...
+     d                 c                   10062
+     d  CURLOPT_KRBLEVEL...
+     d                 c                   10063
+     d  CURLOPT_SSL_VERIFYPEER...
+     d                 c                   00064
+     d  CURLOPT_CAINFO...
+     d                 c                   10065
+     d  CURLOPT_MAXREDIRS...
+     d                 c                   00068
+     d  CURLOPT_FILETIME...
+     d                 c                   00069
+     d  CURLOPT_TELNETOPTIONS...
+     d                 c                   10070
+     d  CURLOPT_MAXCONNECTS...
+     d                 c                   00071
+     d  CURLOPT_FRESH_CONNECT...
+     d                 c                   00074
+     d  CURLOPT_FORBID_REUSE...
+     d                 c                   00075
+     d  CURLOPT_RANDOM_FILE...
+     d                 c                   10076
+     d  CURLOPT_EGDSOCKET...
+     d                 c                   10077
+     d  CURLOPT_CONNECTTIMEOUT...
+     d                 c                   00078
+     d  CURLOPT_HEADERFUNCTION...
+     d                 c                   20079
+     d  CURLOPT_HTTPGET...
+     d                 c                   00080
+     d  CURLOPT_SSL_VERIFYHOST...
+     d                 c                   00081
+     d  CURLOPT_COOKIEJAR...
+     d                 c                   10082
+     d  CURLOPT_SSL_CIPHER_LIST...
+     d                 c                   10083
+     d  CURLOPT_HTTP_VERSION...
+     d                 c                   00084
+     d  CURLOPT_FTP_USE_EPSV...
+     d                 c                   00085
+     d  CURLOPT_SSLCERTTYPE...
+     d                 c                   10086
+     d  CURLOPT_SSLKEY...
+     d                 c                   10087
+     d  CURLOPT_SSLKEYTYPE...
+     d                 c                   10088
+     d  CURLOPT_SSLENGINE...
+     d                 c                   10089
+     d  CURLOPT_SSLENGINE_DEFAULT...
+     d                 c                   00090
+     d  CURLOPT_DNS_USE_GLOBAL_CACHE...
+     d                 c                   00091
+     d  CURLOPT_DNS_CACHE_TIMEOUT...
+     d                 c                   00092
+     d  CURLOPT_PREQUOTE...
+     d                 c                   10093
+     d  CURLOPT_DEBUGFUNCTION...
+     d                 c                   20094
+     d  CURLOPT_DEBUGDATA...
+     d                 c                   10095
+     d  CURLOPT_COOKIESESSION...
+     d                 c                   00096
+     d  CURLOPT_CAPATH...
+     d                 c                   10097
+     d  CURLOPT_BUFFERSIZE...
+     d                 c                   00098
+     d  CURLOPT_NOSIGNAL...
+     d                 c                   00099
+     d  CURLOPT_SHARE  c                   10100
+     d  CURLOPT_PROXYTYPE...
+     d                 c                   00101
+     d  CURLOPT_ACCEPT_ENCODING...
+     d                 c                   10102
+     d  CURLOPT_PRIVATE...
+     d                 c                   10103
+     d  CURLOPT_HTTP200ALIASES...
+     d                 c                   10104
+     d  CURLOPT_UNRESTRICTED_AUTH...
+     d                 c                   00105
+     d  CURLOPT_FTP_USE_EPRT...
+     d                 c                   00106
+     d  CURLOPT_HTTPAUTH...
+     d                 c                   00107
+     d  CURLOPT_SSL_CTX_FUNCTION...
+     d                 c                   20108
+     d  CURLOPT_SSL_CTX_DATA...
+     d                 c                   10109
+     d  CURLOPT_FTP_CREATE_MISSING_DIRS...
+     d                 c                   00110
+     d  CURLOPT_PROXYAUTH...
+     d                 c                   00111
+     d  CURLOPT_FTP_RESPONSE_TIMEOUT...
+     d                 c                   00112
+     d  CURLOPT_IPRESOLVE...
+     d                 c                   00113
+     d  CURLOPT_MAXFILESIZE...
+     d                 c                   00114
+     d  CURLOPT_INFILESIZE_LARGE...
+     d                 c                   30115
+     d  CURLOPT_RESUME_FROM_LARGE...
+     d                 c                   30116
+     d  CURLOPT_MAXFILESIZE_LARGE...
+     d                 c                   30117
+     d  CURLOPT_NETRC_FILE...
+     d                 c                   10118
+     d  CURLOPT_USE_SSL...
+     d                 c                   00119
+     d  CURLOPT_POSTFIELDSIZE_LARGE...
+     d                 c                   30120
+     d  CURLOPT_TCP_NODELAY...
+     d                 c                   00121
+     d  CURLOPT_FTPSSLAUTH...
+     d                 c                   00129
+     d  CURLOPT_IOCTLFUNCTION...
+     d                 c                   20130
+     d  CURLOPT_IOCTLDATA...
+     d                 c                   10131
+     d  CURLOPT_FTP_ACCOUNT...
+     d                 c                   10134
+     d  CURLOPT_COOKIELIST...
+     d                 c                   10135
+     d  CURLOPT_IGNORE_CONTENT_LENGTH...
+     d                 c                   00136
+     d  CURLOPT_FTP_SKIP_PASV_IP...
+     d                 c                   00137
+     d  CURLOPT_FTP_FILEMETHOD...
+     d                 c                   00138
+     d  CURLOPT_LOCALPORT...
+     d                 c                   00139
+     d  CURLOPT_LOCALPORTRANGE...
+     d                 c                   00140
+     d  CURLOPT_CONNECT_ONLY...
+     d                 c                   00141
+     d  CURLOPT_CONV_FROM_NETWORK_FUNCTION...
+     d                 c                   20142
+     d  CURLOPT_CONV_TO_NETWORK_FUNCTION...
+     d                 c                   20143
+     d  CURLOPT_CONV_FROM_UTF8_FUNCTION...
+     d                 c                   20144
+     d  CURLOPT_MAX_SEND_SPEED_LARGE...
+     d                 c                   30145
+     d  CURLOPT_MAX_RECV_SPEED_LARGE...
+     d                 c                   30146
+     d  CURLOPT_FTP_ALTERNATIVE_TO_USER...
+     d                 c                   10147
+     d  CURLOPT_SOCKOPTFUNCTION...
+     d                 c                   20148
+     d  CURLOPT_SOCKOPTDATA...
+     d                 c                   10149
+     d  CURLOPT_SSL_SESSIONID_CACHE...
+     d                 c                   00150
+     d  CURLOPT_SSH_AUTH_TYPES...
+     d                 c                   00151
+     d  CURLOPT_SSH_PUBLIC_KEYFILE...
+     d                 c                   10152
+     d  CURLOPT_SSH_PRIVATE_KEYFILE...
+     d                 c                   10153
+     d  CURLOPT_FTP_SSL_CCC...
+     d                 c                   00154
+     d  CURLOPT_TIMEOUT_MS...
+     d                 c                   00155
+     d  CURLOPT_CONNECTTIMEOUT_MS...
+     d                 c                   00156
+     d  CURLOPT_HTTP_TRANSFER_DECODING...
+     d                 c                   00157
+     d  CURLOPT_HTTP_CONTENT_DECODING...
+     d                 c                   00158
+     d  CURLOPT_NEW_FILE_PERMS...
+     d                 c                   00159
+     d  CURLOPT_NEW_DIRECTORY_PERMS...
+     d                 c                   00160
+     d  CURLOPT_POSTREDIR...
+     d                 c                   00161
+     d  CURLOPT_SSH_HOST_PUBLIC_KEY_MD5...
+     d                 c                   10162
+     d  CURLOPT_OPENSOCKETFUNCTION...
+     d                 c                   20163
+     d  CURLOPT_OPENSOCKETDATA...
+     d                 c                   10164
+     d  CURLOPT_COPYPOSTFIELDS...
+     d                 c                   10165
+     d  CURLOPT_PROXY_TRANSFER_MODE...
+     d                 c                   00166
+     d  CURLOPT_SEEKFUNCTION...
+     d                 c                   20167
+     d  CURLOPT_SEEKDATA...
+     d                 c                   10168
+     d  CURLOPT_CRLFILE...
+     d                 c                   10169
+     d  CURLOPT_ISSUERCERT...
+     d                 c                   10170
+     d  CURLOPT_ADDRESS_SCOPE...
+     d                 c                   00171
+     d  CURLOPT_CERTINFO...
+     d                 c                   00172
+     d  CURLOPT_USERNAME...
+     d                 c                   10173
+     d  CURLOPT_PASSWORD...
+     d                 c                   10174
+     d  CURLOPT_PROXYUSERNAME...
+     d                 c                   10175
+     d  CURLOPT_PROXYPASSWORD...
+     d                 c                   10176
+     d  CURLOPT_NOPROXY...
+     d                 c                   10177
+     d  CURLOPT_TFTP_BLKSIZE...
+     d                 c                   00178
+     d  CURLOPT_SOCKS5_GSSAPI_SERVICE...
+     d                 c                   10179
+     d  CURLOPT_SOCKS5_GSSAPI_NEC...
+     d                 c                   00180
+     d  CURLOPT_PROTOCOLS...
+     d                 c                   00181
+     d  CURLOPT_REDIR_PROTOCOLS...
+     d                 c                   00182
+     d  CURLOPT_SSH_KNOWNHOSTS...
+     d                 c                   10183
+     d  CURLOPT_SSH_KEYFUNCTION...
+     d                 c                   20184
+     d  CURLOPT_SSH_KEYDATA...
+     d                 c                   10185
+     d  CURLOPT_MAIL_FROM...
+     d                 c                   10186
+     d  CURLOPT_MAIL_RCPT...
+     d                 c                   10187
+     d  CURLOPT_FTP_USE_PRET...
+     d                 c                   00188
+     d  CURLOPT_RTSP_REQUEST...
+     d                 c                   00189
+     d  CURLOPT_RTSP_SESSION_ID...
+     d                 c                   10190
+     d  CURLOPT_RTSP_STREAM_URI...
+     d                 c                   10191
+     d  CURLOPT_RTSP_TRANSPORT...
+     d                 c                   10192
+     d  CURLOPT_RTSP_CLIENT_CSEQ...
+     d                 c                   00193
+     d  CURLOPT_RTSP_SERVER_CSEQ...
+     d                 c                   00194
+     d  CURLOPT_INTERLEAVEDATA...
+     d                 c                   10195
+     d  CURLOPT_INTERLEAVEFUNCTION...
+     d                 c                   20196
+     d  CURLOPT_WILDCARDMATCH...
+     d                 c                   00197
+     d  CURLOPT_CHUNK_BGN_FUNCTION...
+     d                 c                   20198
+     d  CURLOPT_CHUNK_END_FUNCTION...
+     d                 c                   20199
+     d  CURLOPT_FNMATCH_FUNCTION...
+     d                 c                   20200
+     d  CURLOPT_CHUNK_DATA...
+     d                 c                   10201
+     d  CURLOPT_FNMATCH_DATA...
+     d                 c                   10202
+     d  CURLOPT_RESOLVE...
+     d                 c                   10203
+     d  CURLOPT_TLSAUTH_USERNAME...
+     d                 c                   10204
+     d  CURLOPT_TLSAUTH_PASSWORD...
+     d                 c                   10205
+     d  CURLOPT_TLSAUTH_TYPE...
+     d                 c                   10206
+     d  CURLOPT_TRANSFER_ENCODING...
+     d                 c                   00207
+     d  CURLOPT_CLOSESOCKETFUNCTION...
+     d                 c                   20208
+     d  CURLOPT_CLOSESOCKETDATA...
+     d                 c                   10209
+     d  CURLOPT_GSSAPI_DELEGATION...
+     d                 c                   00210
+     d  CURLOPT_DNS_SERVERS...
+     d                 c                   10211
+     d  CURLOPT_ACCEPTTIMEOUT_MS...
+     d                 c                   00212
+     d  CURLOPT_TCP_KEEPALIVE...
+     d                 c                   00213
+     d  CURLOPT_TCP_KEEPIDLE...
+     d                 c                   00214
+     d  CURLOPT_TCP_KEEPINTVL...
+     d                 c                   00215
+     d  CURLOPT_SSL_OPTIONS...
+     d                 c                   00216
+     d  CURLOPT_MAIL_AUTH...
+     d                 c                   10217
+     d  CURLOPT_SASL_IR...
+     d                 c                   00218
+     d  CURLOPT_XFERINFOFUNCTION...
+     d                 c                   20219
+     d  CURLOPT_XOAUTH2_BEARER...
+     d                 c                   10220
+     d  CURLOPT_DNS_INTERFACE...
+     d                 c                   10221
+     d  CURLOPT_DNS_LOCAL_IP4...
+     d                 c                   10222
+     d  CURLOPT_DNS_LOCAL_IP6...
+     d                 c                   10223
+     d  CURLOPT_LOGIN_OPTIONS...
+     d                 c                   10224
+     d  CURLOPT_SSL_ENABLE_NPN...
+     d                 c                   00225
+     d  CURLOPT_SSL_ENABLE_ALPN...
+     d                 c                   00226
+     d  CURLOPT_EXPECT_100_TIMEOUT_MS...
+     d                 c                   00227
+     d  CURLOPT_PROXYHEADER...
+     d                 c                   10228
+     d  CURLOPT_HEADEROPT...
+     d                 c                   00229
+     d  CURLOPT_PINNEDPUBLICKEY...
+     d                 c                   10230
+     d  CURLOPT_UNIX_SOCKET_PATH...
+     d                 c                   10231
+     d  CURLOPT_SSL_VERIFYSTATUS...
+     d                 c                   00232
+     d  CURLOPT_SSL_FALSESTART...
+     d                 c                   00233
+     d  CURLOPT_PATH_AS_IS...
+     d                 c                   00234
+     d  CURLOPT_PROXY_SERVICE_NAME...
+     d                 c                   10235
+     d  CURLOPT_SERVICE_NAME...
+     d                 c                   10236
+     d  CURLOPT_PIPEWAIT...
+     d                 c                   00237
+     d  CURLOPT_DEFAULT_PROTOCOL...
+     d                 c                   10238
+     d  CURLOPT_STREAM_WEIGHT...
+     d                 c                   00239
+     d  CURLOPT_STREAM_DEPENDS...
+     d                 c                   10240
+     d  CURLOPT_STREAM_DEPENDS_E...
+     d                 c                   10241
+     d  CURLOPT_TFTP_NO_OPTIONS...
+     d                 c                   00242
+     d  CURLOPT_CONNECT_TO...
+     d                 c                   10243
+     d  CURLOPT_TCP_FASTOPEN...
+     d                 c                   00244
+     d  CURLOPT_KEEP_SENDING_ON_ERROR...
+     d                 c                   00245
+     d  CURLOPT_PROXY_CAINFO...
+     d                 c                   10246
+     d  CURLOPT_PROXY_CAPATH...
+     d                 c                   10247
+     d  CURLOPT_PROXY_SSL_VERIFYPEER...
+     d                 c                   00248
+     d  CURLOPT_PROXY_SSL_VERIFYHOST...
+     d                 c                   00249
+     d  CURLOPT_PROXY_SSLVERSION...
+     d                 c                   00250
+     d  CURLOPT_PROXY_TLSAUTH_USERNAME...
+     d                 c                   10251
+     d  CURLOPT_PROXY_TLSAUTH_PASSWORD...
+     d                 c                   10252
+     d  CURLOPT_PROXY_TLSAUTH_TYPE...
+     d                 c                   10253
+     d  CURLOPT_PROXY_SSLCERT...
+     d                 c                   10254
+     d  CURLOPT_PROXY_SSLCERTTYPE...
+     d                 c                   10255
+     d  CURLOPT_PROXY_SSLKEY...
+     d                 c                   10256
+     d  CURLOPT_PROXY_SSLKEYTYPE...
+     d                 c                   10257
+     d  CURLOPT_PROXY_KEYPASSWD...
+     d                 c                   10258
+     d  CURLOPT_PROXY_SSL_CIPHER_LIST...
+     d                 c                   10259
+     d  CURLOPT_PROXY_CRLFILE...
+     d                 c                   10260
+     d  CURLOPT_PROXY_SSL_OPTIONS...
+     d                 c                   00261
+     d  CURLOPT_PRE_PROXY...
+     d                 c                   10262
+     d  CURLOPT_PROXY_PINNEDPUBLICKEY...
+     d                 c                   10263
+     d  CURLOPT_ABSTRACT_UNIX_SOCKET...
+     d                 c                   10264
+     d  CURLOPT_SUPPRESS_CONNECT_HEADERS...
+     d                 c                   00265
+      *
+      /if not defined(CURL_NO_OLDIES)
+     d  CURLOPT_FILE   c                   10001
+     d  CURLOPT_INFILE...
+     d                 c                   10009
+     d  CURLOPT_SSLKEYPASSWD...
+     d                 c                   10026
+     d  CURLOPT_SSLCERTPASSWD...
+     d                 c                   10026
+     d  CURLOPT_WRITEHEADER...
+     d                 c                   10029
+     d  CURLOPT_WRITEINFO...
+     d                 c                   10040
+     d  CURLOPT_FTPLISTONLY...
+     d                 c                   00048
+     d  CURLOPT_FTPAPPEND...
+     d                 c                   00050
+     d  CURLOPT_CLOSEPOLICY...
+     d                 c                   00072
+     d  CURLOPT_KRB4LEVEL...
+     d                 c                   10063
+     d  CURLOPT_ENCODING...
+     d                 c                   10102
+     d  CURLOPT_SERVER_RESPONSE_TIMEOUT...
+     d                 c                   00112
+     d  CURLOPT_FTP_SSL...
+     d                 c                   00119
+     d  CURLOPT_POST301...
+     d                 c                   00161
+      /endif
+      *
+     d CURLFORMcode    s             10i 0 based(######ptr######)               Enum
+     d  CURL_FORMADD_OK...
+     d                 c                   0
+     d  CURL_FORMADD_MEMORY...
+     d                 c                   1
+     d  CURL_FORMADD_OPTION_TWICE...
+     d                 c                   2
+     d  CURL_FORMADD_NULL...
+     d                 c                   3
+     d  CURL_FORMADD_UNKNOWN_OPTION...
+     d                 c                   4
+     d  CURL_FORMADD_INCOMPLETE...
+     d                 c                   5
+     d  CURL_FORMADD_ILLEGAL_ARRAY...
+     d                 c                   6
+     d  CURL_FORMADD_DISABLED...
+     d                 c                   7
+      *
+     d CURLformoption  s             10i 0 based(######ptr######)               Enum
+     d  CURLFORM_NOTHING...
+     d                 c                   0
+     d  CURLFORM_COPYNAME...
+     d                 c                   1
+     d  CURLFORM_PTRNAME...
+     d                 c                   2
+     d  CURLFORM_NAMELENGTH...
+     d                 c                   3
+     d  CURLFORM_COPYCONTENTS...
+     d                 c                   4
+     d  CURLFORM_PTRCONTENTS...
+     d                 c                   5
+     d  CURLFORM_CONTENTSLENGTH...
+     d                 c                   6
+     d  CURLFORM_FILECONTENT...
+     d                 c                   7
+     d  CURLFORM_ARRAY...
+     d                 c                   8
+     d  CURLFORM_OBSOLETE...
+     d                 c                   9
+     d  CURLFORM_FILE...
+     d                 c                   10
+     d  CURLFORM_BUFFER...
+     d                 c                   11
+     d  CURLFORM_BUFFERPTR...
+     d                 c                   12
+     d  CURLFORM_BUFFERLENGTH...
+     d                 c                   13
+     d  CURLFORM_CONTENTTYPE...
+     d                 c                   14
+     d  CURLFORM_CONTENTHEADER...
+     d                 c                   15
+     d  CURLFORM_FILENAME...
+     d                 c                   16
+     d  CURLFORM_END...
+     d                 c                   17
+     d  CURLFORM_OBSOLETE2...
+     d                 c                   18
+     d  CURLFORM_STREAM...
+     d                 c                   19
+     d  CURLFORM_CONTENTLEN...
+     d                 c                   20
+      *
+     d CURLINFO        s             10i 0 based(######ptr######)               Enum
+     d  CURLINFO_EFFECTIVE_URL...                                               CURLINFO_STRING + 1
+     d                 c                   X'00100001'
+     d  CURLINFO_RESPONSE_CODE...                                               CURLINFO_LONG   + 2
+     d                 c                   X'00200002'
+     d  CURLINFO_TOTAL_TIME...                                                  CURLINFO_DOUBLE + 3
+     d                 c                   X'00300003'
+     d  CURLINFO_NAMELOOKUP_TIME...                                             CURLINFO_DOUBLE + 4
+     d                 c                   X'00300004'
+     d  CURLINFO_CONNECT_TIME...                                                CURLINFO_DOUBLE + 5
+     d                 c                   X'00300005'
+     d  CURLINFO_PRETRANSFER_TIME...                                            CURLINFO_DOUBLE + 6
+     d                 c                   X'00300006'
+     d  CURLINFO_SIZE_UPLOAD...                                                 CURLINFO_DOUBLE + 7
+     d                 c                   X'00300007'
+     d  CURLINFO_SIZE_DOWNLOAD...                                               CURLINFO_DOUBLE + 8
+     d                 c                   X'00300008'
+     d  CURLINFO_SPEED_DOWNLOAD...                                              CURLINFO_DOUBLE + 9
+     d                 c                   X'00300009'
+     d  CURLINFO_SPEED_UPLOAD...                                                CURLINFO_DOUBLE + 10
+     d                 c                   X'0030000A'
+     d  CURLINFO_HEADER_SIZE...                                                 CURLINFO_LONG   + 11
+     d                 c                   X'0020000B'
+     d  CURLINFO_REQUEST_SIZE...                                                CURLINFO_LONG   + 12
+     d                 c                   X'0020000C'
+     d  CURLINFO_SSL_VERIFYRESULT...                                            CURLINFO_LONG   + 13
+     d                 c                   X'0020000D'
+     d  CURLINFO_FILETIME...                                                    CURLINFO_LONG   + 14
+     d                 c                   X'0020000E'
+     d  CURLINFO_CONTENT_LENGTH_DOWNLOAD...                                     CURLINFO_DOUBLE + 15
+     d                 c                   X'0030000F'
+     d  CURLINFO_CONTENT_LENGTH_UPLOAD...                                       CURLINFO_DOUBLE + 16
+     d                 c                   X'00300010'
+     d  CURLINFO_STARTTRANSFER_TIME...                                          CURLINFO_DOUBLE + 17
+     d                 c                   X'00300011'
+     d  CURLINFO_CONTENT_TYPE...                                                CURLINFO_STRING + 18
+     d                 c                   X'00100012'
+     d  CURLINFO_REDIRECT_TIME...                                               CURLINFO_DOUBLE + 19
+     d                 c                   X'00300013'
+     d  CURLINFO_REDIRECT_COUNT...                                              CURLINFO_LONG   + 20
+     d                 c                   X'00200014'
+     d  CURLINFO_PRIVATE...                                                     CURLINFO_STRING + 21
+     d                 c                   X'00100015'
+     d  CURLINFO_HTTP_CONNECTCODE...                                            CURLINFO_LONG   + 22
+     d                 c                   X'00200016'
+     d  CURLINFO_HTTPAUTH_AVAIL...                                              CURLINFO_LONG   + 23
+     d                 c                   X'00200017'
+     d  CURLINFO_PROXYAUTH_AVAIL...                                             CURLINFO_LONG   + 24
+     d                 c                   X'00200018'
+     d  CURLINFO_OS_ERRNO...                                                    CURLINFO_LONG   + 25
+     d                 c                   X'00200019'
+     d  CURLINFO_NUM_CONNECTS...                                                CURLINFO_LONG   + 26
+     d                 c                   X'0020001A'
+     d  CURLINFO_SSL_ENGINES...                                                 CURLINFO_SLIST  + 27
+     d                 c                   X'0040001B'
+     d  CURLINFO_COOKIELIST...                                                  CURLINFO_SLIST  + 28
+     d                 c                   X'0040001C'
+     d  CURLINFO_LASTSOCKET...                                                  CURLINFO_LONG   + 29
+     d                 c                   X'0020001D'
+     d  CURLINFO_FTP_ENTRY_PATH...                                              CURLINFO_STRING + 30
+     d                 c                   X'0010001E'
+     d  CURLINFO_REDIRECT_URL...                                                CURLINFO_STRING + 31
+     d                 c                   X'0010001F'
+     d  CURLINFO_PRIMARY_IP...                                                  CURLINFO_STRING + 32
+     d                 c                   X'00100020'
+     d  CURLINFO_APPCONNECT_TIME...                                             CURLINFO_DOUBLE + 33
+     d                 c                   X'00300021'
+     d  CURLINFO_CERTINFO...                                                    CURLINFO_SLIST + 34
+     d                 c                   X'00400022'
+     d  CURLINFO_CONDITION_UNMET...                                             CURLINFO_LONG + 35
+     d                 c                   X'00200023'
+     d  CURLINFO_RTSP_SESSION_ID...                                             CURLINFO_STRING + 36
+     d                 c                   X'00100024'
+     d  CURLINFO_RTSP_CLIENT_CSEQ...                                            CURLINFO_LONG + 37
+     d                 c                   X'00200025'
+     d  CURLINFO_RTSP_SERVER_CSEQ...                                            CURLINFO_LONG + 38
+     d                 c                   X'00200026'
+     d  CURLINFO_RTSP_CSEQ_RECV...                                              CURLINFO_LONG + 39
+     d                 c                   X'00200027'
+     d  CURLINFO_PRIMARY_PORT...                                                CURLINFO_LONG + 40
+     d                 c                   X'00200028'
+     d  CURLINFO_LOCAL_IP...                                                    CURLINFO_STRING + 41
+     d                 c                   X'00100029'
+     d  CURLINFO_LOCAL_PORT...                                                  CURLINFO_LONG + 42
+     d                 c                   X'0020002A'
+     d  CURLINFO_TLS_SESSION...                                                 CURLINFO_SLIST + 43
+     d                 c                   X'0040002B'
+     d  CURLINFO_ACTIVESOCKET...                                                CURLINFO_SOCKET + 44
+     d                 c                   X'0050002C'
+     d  CURLINFO_TLS_SSL_PTR...                                                 CURLINFO_SLIST + 45
+     d                 c                   X'0040002D'
+     d  CURLINFO_HTTP_VERSION...                                                CURLINFO_LONG + 46
+     d                 c                   X'0020002E'
+     d  CURLINFO_PROXY_SSL_VERIFYRESULT...                                      CURLINFO_LONG + 47
+     d                 c                   X'0020002F'
+     d  CURLINFO_PROTOCOL...                                                    CURLINFO_LONG + 48
+     d                 c                   X'00200030'
+     d  CURLINFO_SCHEME...                                                      CURLINFO_STRING + 49
+     d                 c                   X'00100031'
+      *
+     d  CURLINFO_HTTP_CODE...                                                   Old ...RESPONSE_CODE
+     d                 c                   X'00200002'
+      *
+     d curl_sslbackend...
+     d                 s             10i 0 based(######ptr######)               Enum
+     d  CURLSSLBACKEND_NONE...
+     d                 c                   0
+     d  CURLSSLBACKEND_OPENSSL...
+     d                 c                   1
+     d  CURLSSLBACKEND_GNUTLS...
+     d                 c                   2
+     d  CURLSSLBACKEND_NSS...
+     d                 c                   3
+     d  CURLSSLBACKEND_OBSOLETE4...
+     d                 c                   4
+     d  CURLSSLBACKEND_GSKIT...
+     d                 c                   5
+     d  CURLSSLBACKEND_POLARSSL...
+     d                 c                   6
+     d  CURLSSLBACKEND_CYASSL...
+     d                 c                   7
+     d  CURLSSLBACKEND_SCHANNEL...
+     d                 c                   8
+     d  CURLSSLBACKEND_DARWINSSL...
+     d                 c                   9
+     d  CURLSSLBACKEND_AXTLS...
+     d                 c                   10
+     d  CURLSSLBACKEND_MBEDTLS...
+     d                 c                   11
+      * Aliases for clones.
+     d  CURLSSLBACKEND_LIBRESSL...
+     d                 c                   1
+     d  CURLSSLBACKEND_BORINGSSL...
+     d                 c                   1
+     d  CURLSSLBACKEND_WOLFSSL...
+     d                 c                   6
+      *
+     d curl_closepolicy...
+     d                 s             10i 0 based(######ptr######)               Enum
+     d  CURLCLOSEPOLICY_OLDEST...
+     d                 c                   1
+     d  CURLCLOSEPOLICY_LEAST_RECENTLY_USED...
+     d                 c                   2
+     d  CURLCLOSEPOLICY_LEAST_TRAFFIC...
+     d                 c                   3
+     d  CURLCLOSEPOLICY_SLOWEST...
+     d                 c                   4
+     d  CURLCLOSEPOLICY_CALLBACK...
+     d                 c                   5
+      *
+     d curl_lock_data...
+     d                 s             10i 0 based(######ptr######)               Enum
+     d  CURL_LOCK_DATA_NONE...
+     d                 c                   0
+     d  CURL_LOCK_DATA_SHARE...
+     d                 c                   1
+     d  CURL_LOCK_DATA_COOKIE...
+     d                 c                   2
+     d  CURL_LOCK_DATA_DNS...
+     d                 c                   3
+     d  CURL_LOCK_DATA_SSL_SESSION...
+     d                 c                   4
+     d  CURL_LOCK_DATA_CONNECT...
+     d                 c                   5
+     d  CURL_LOCK_DATA_LAST...
+     d                 c                   6
+      *
+     d curl_lock_access...
+     d                 s             10i 0 based(######ptr######)               Enum
+     d  CURL_LOCK_ACCESS_NONE...
+     d                 c                   0
+     d  CURL_LOCK_ACCESS_SHARED...
+     d                 c                   1
+     d  CURL_LOCK_ACCESS_SINGLE...
+     d                 c                   2
+      *
+     d curl_TimeCond   s             10i 0 based(######ptr######)               Enum
+     d  CURL_TIMECOND_NONE...
+     d                 c                   0
+     d  CURL_TIMECOND_IFMODSINCE...
+     d                 c                   1
+     d  CURL_TIMECOND_LASTMOD...
+     d                 c                   2
+     d  CURL_TIMECOND_LAST...
+     d                 c                   3
+      *
+     d CURLSHcode      s             10i 0 based(######ptr######)               Enum
+     d  CURLSHE_OK     c                   0
+     d  CURLSHE_BAD_OPTION...
+     d                 c                   1
+     d  CURLSHE_IN_USE...
+     d                 c                   2
+     d  CURLSHE_INVALID...
+     d                 c                   3
+     d  CURLSHE_NOMEM...
+     d                 c                   4
+     d  CURLSHE_NOT_BUILT_IN...
+     d                 c                   5
+      *
+     d CURLSHoption...
+     d                 s             10i 0 based(######ptr######)               Enum
+     d  CURLSHOPT_SHARE...
+     d                 c                   1
+     d  CURLSHOPT_UNSHARE...
+     d                 c                   2
+     d  CURLSHOPT_LOCKFUNC...
+     d                 c                   3
+     d  CURLSHOPT_UNLOCKFUNC...
+     d                 c                   4
+     d  CURLSHOPT_USERDATA...
+     d                 c                   5
+      *
+     d CURLversion     s             10i 0 based(######ptr######)               Enum
+     d  CURLVERSION_FIRST...
+     d                 c                   0
+     d  CURLVERSION_SECOND...
+     d                 c                   1
+     d  CURLVERSION_THIRD...
+     d                 c                   2
+     d  CURLVERSION_FOURTH...
+     d                 c                   3
+     d  CURLVERSION_NOW...
+     d                 c                   3                                    CURLVERSION_FOURTH
+      *
+     d curlsocktype    s             10i 0 based(######ptr######)               Enum
+     d  CURLSOCKTYPE_IPCXN...
+     d                 c                   0
+     d  CURLSOCKTYPE_ACCEPT...
+     d                 c                   1
+      *
+     d  CURL_SOCKOPT_OK...
+     d                 c                   0
+     d  CURL_SOCKOPT_ERROR...
+     d                 c                   1
+     d  CURL_SOCKOPT_ALREADY_CONNECTED...
+     d                 c                   2
+      *
+     d CURLMcode       s             10i 0 based(######ptr######)               Enum
+     d  CURLM_CALL_MULTI_PERFORM...
+     d                 c                   -1
+     d  CURLM_CALL_MULTI_SOCKET...
+     d                 c                   -1
+     d  CURLM_OK       c                   0
+     d  CURLM_BAD_HANDLE...
+     d                 c                   1
+     d  CURLM_BAD_EASY_HANDLE...
+     d                 c                   2
+     d  CURLM_OUT_OF_MEMORY...
+     d                 c                   3
+     d  CURLM_INTERNAL_ERROR...
+     d                 c                   4
+     d  CURLM_BAD_SOCKET...
+     d                 c                   5
+     d  CURLM_UNKNOWN_OPTION...
+     d                 c                   6
+     d  CURLM_ADDED_ALREADY...
+     d                 c                   7
+     d  CURLM_LAST     c                   8
+      *
+     d CURLMSG         s             10i 0 based(######ptr######)               Enum
+     d  CURLMSG_NONE   c                   0
+     d  CURLMSG_DONE   c                   1
+      *
+     d CURLMoption     s             10i 0 based(######ptr######)               Enum
+     d  CURLMOPT_SOCKETFUNCTION...
+     d                 c                   20001
+     d  CURLMOPT_SOCKETDATA...
+     d                 c                   10002
+     d  CURLMOPT_PIPELINING...
+     d                 c                   00003
+     d  CURLMOPT_TIMERFUNCTION...
+     d                 c                   20004
+     d  CURLMOPT_TIMERDATA...
+     d                 c                   10005
+     d  CURLMOPT_MAXCONNECTS...
+     d                 c                   00006
+     d  CURLMOPT_MAX_HOST_CONNECTIONS...
+     d                 c                   00007
+     d  CURLMOPT_MAX_PIPELINE_LENGTH...
+     d                 c                   00008
+     d  CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE...
+     d                 c                   30009
+     d  CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE...
+     d                 c                   30010
+     d  CURLMOPT_PIPELINING_SITE_BL...
+     d                 c                   10011
+     d  CURLMOPT_PIPELINING_SERVER_BL...
+     d                 c                   10012
+     d  CURLMOPT_MAX_TOTAL_CONNECTIONS...
+     d                 c                   00013
+     d  CURLMOPT_PUSHFUNCTION...
+     d                 c                   20014
+     d  CURLMOPT_PUSHDATA...
+     d                 c                   10015
+      *
+      * Bitmask bits for CURLMOPT_PIPELING.
+      *
+     d CURLPIPE_NOTHING...
+     d                 c                   x'00000000'
+     d CURLPIPE_HTTP1  c                   x'00000001'
+     d CURLPIPE_MULTIPLEX...
+     d                 c                   x'00000002'
+      *
+      *  Public API enums for RTSP requests.
+      *
+     d CURLRTSPREQ_NONE...
+     d                 c                   0
+     d CURL_RTSPREQ_OPTIONS...
+     d                 c                   1
+     d CURL_RTSPREQ_DESCRIBE...
+     d                 c                   2
+     d CURL_RTSPREQ_ANNOUNCE...
+     d                 c                   3
+     d CURL_RTSPREQ_SETUP...
+     d                 c                   4
+     d CURL_RTSPREQ_PLAY...
+     d                 c                   5
+     d CURL_RTSPREQ_PAUSE...
+     d                 c                   6
+     d CURL_RTSPREQ_TEARDOWN...
+     d                 c                   7
+     d CURL_RTSPREQ_GET_PARAMETER...
+     d                 c                   8
+     d CURL_RTSPREQ_SET_PARAMETER...
+     d                 c                   9
+     d CURL_RTSPREQ_RECORD...
+     d                 c                   10
+     d CURL_RTSPREQ_RECEIVE...
+     d                 c                   12
+     d CURL_RTSPREQ_LAST...
+     d                 c                   13
+
+      *
+      *  Renaming CURLMsg to CURL_Msg to avoid case-insensivity name clash.
+      *
+     d CURL_Msg        ds                  based(######ptr######)
+     d                                     qualified
+     d  msg                                like(CURLMSG)
+     d  easy_handle                    *                                        CURL *
+     d  data                           *
+     d   whatever                      *   overlay(data)                        void *
+     d   result                            overlay(data) like(CURLcode)
+      *
+     d curl_waitfd...
+     d                 ds                  based(######ptr######)
+     d                                     qualified
+     d  fd                                 like(curl_socket_t)
+     d  events                        5i 0
+     d  revents                       5i 0
+      *
+     d curl_http_post...
+     d                 ds                  based(######ptr######)
+     d                                     qualified
+     d  next                           *                                        curl_httppost *
+     d  name                           *                                        char *
+     d  namelength                   10i 0                                      long
+     d  contents                       *                                        char *
+     d  contentslength...
+     d                               10i 0                                      long
+     d  buffer                         *                                        char *
+     d  bufferlength...
+     d                               10i 0                                      long
+     d  contenttype                    *                                        char *
+     d  contentheader...
+     d                                 *                                        curl_slist *
+     d  more                           *                                        curl_httppost *
+     d  flags                        10i 0                                      long
+     d  showfilename                   *                                        char *
+     d  userp                          *                                        void *
+      *
+     d curl_sockaddr   ds                  based(######ptr######)
+     d                                     qualified
+     d  family                       10i 0
+     d  socktype                     10i 0
+     d  protocol                     10i 0
+     d  addrlen                      10u 0
+     d  addr                         16                                         struct sockaddr
+      *
+     d curl_khtype     s             10i 0 based(######ptr######)               enum
+     d CURLKHTYPE_UNKNOWN...
+     d                 c                   0
+     d CURLKHTYPE_RSA1...
+     d                 c                   1
+     d CURLKHTYPE_RSA...
+     d                 c                   2
+     d CURLKHTYPE_DSS...
+     d                 c                   3
+      *
+     d curl_khkey      ds                  based(######ptr######)
+     d                                     qualified
+     d  key                            *                                        const char *
+     d  len                          10u 0
+     d  keytype                            like(curl_khtype)
+      *
+     d curl_forms      ds                  based(######ptr######)
+     d                                     qualified
+     d  option                             like(CURLformoption)
+     d  value                          *                                        const char *
+     d   value_ptr                     *   overlay(value)
+     d   value_procptr...
+     d                                 *   overlay(value) procptr
+     d   value_num                         overlay(value: 8) like(curl_off_t)
+      *
+     d curl_slist      ds                  based(######ptr######)
+     d                                     qualified
+     d  data                           *                                        char *
+     d  next                           *                                        struct curl_slist *
+      *
+     d curl_version_info_data...
+     d                 ds                  based(######ptr######)
+     d                                     qualified
+     d  age                                like(CURLversion)
+     d  version                        *                                        const char *
+     d  version_num                  10u 0
+     d  host                           *                                        const char *
+     d  features                     10i 0
+     d  ssl_version                    *                                        const char *
+     d  ssl_version_num...
+     d                               10i 0                                      long
+     d  libz_version                   *                                        const char *
+     d  protocols                      *                                        const char * const *
+     d  ares                           *                                        const char *
+     d  ares_num                     10i 0
+     d  libidn                         *                                        const char *
+     d  iconv_ver_num...
+     d                               10i 0
+     d  libssh_version...
+     d                                 *                                        const char *
+      *
+     d curl_certinfo   ds                  based(######ptr######)
+     d                                     qualified
+     d  num_of_certs                 10i 0
+     d  certinfo                       *                                        struct curl_slist **
+      *
+     d curl_fistrgs    ds                  based(######ptr######)
+     d                                     qualified
+     d  time                           *                                        char *
+     d  perm                           *                                        char *
+     d  user                           *                                        char *
+     d  group                          *                                        char *
+     d  target                         *                                        char *
+      *
+     d curl_tlssessioninfo...
+     d                 ds                  based(######ptr######)
+     d                                     qualified
+     d  backend                            like(curl_sslbackend)
+     d  internals                      *                                        void *
+      *
+     d curl_fileinfo   ds                  based(######ptr######)
+     d                                     qualified
+     d  filename                       *                                        char *
+     d  filetype                           like(curlfiletype)
+     d  time                         10i 0                                      time_t
+     d  perm                         10u 0
+     d  uid                          10i 0
+     d  gid                          10i 0
+     d  size                               like(curl_off_t)
+     d  hardlinks                    10i 0
+     d  strings                            likeds(curl_fistrgs)
+     d  flags                        10u 0
+     d  b_data                         *                                        char *
+     d  b_size                       10u 0                                      size_t
+     d  b_used                       10u 0                                      size_t
+      *
+     d curl_formget_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_malloc_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_free_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_realloc_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_strdup_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_calloc_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_lock_function...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_unlock_function...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_progress_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_xferinfo_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_read_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_write_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_seek_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_sockopt_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_ioctl_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_debug_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_conv_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_ssl_ctx_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_socket_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_multi_timer_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_push_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_opensocket_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_sshkeycallback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_chunk_bgn_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_chunk_end_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_fnmatch_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+     d curl_closesocket_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
+      **************************************************************************
+      *                              Prototypes
+      **************************************************************************
+      *
+      *  This procedure as a variable parameter list.
+      *  This prototype allows use of an option array, or a single "object"
+      *    option. Other argument lists may be implemented by alias procedure
+      *    prototype definitions.
+      *
+     d curl_formadd    pr                  extproc('curl_formadd')
+     d                                     like(CURLFORMcode)
+     d  httppost                       *                                        curl_httppost *
+     d  lastpost                       *                                        curl_httppost *
+     d  option1                            value like(CURLFORMoption)           CURLFORM_ARRAY
+     d                                     options(*nopass)
+     d  object1                        *   value options(*string: *nopass)
+     d  option2                            value like(CURLFORMoption)           CURLFORM_END
+     d                                     options(*nopass)
+      *
+      *
+     d curl_strequal   pr            10i 0 extproc('curl_strequal')
+     d  s1                             *   value options(*string)
+     d  s2                             *   value options(*string)
+      *
+     d curl_strnequal  pr            10i 0 extproc('curl_strnequal')
+     d  s1                             *   value options(*string)
+     d  s2                             *   value options(*string)
+     d  n                            10u 0 value
+      *
+     d curl_formget    pr            10i 0 extproc('curl_formget')
+     d  form                           *   value                                curl_httppost *
+     d  arg                            *   value
+     d  append                             value like(curl_formget_callback)
+      *
+     d curl_formfree   pr                  extproc('curl_formfree')
+     d  form                           *   value                                curl_httppost *
+      *
+     d curl_getenv     pr              *   extproc('curl_getenv')
+     d  variable                       *   value options(*string)
+      *
+     d curl_version    pr              *   extproc('curl_version')
+      *
+     d curl_easy_escape...
+     d                 pr              *   extproc('curl_easy_escape')          char *
+     d  handle                         *   value                                CURL *
+     d  string                         *   value options(*string)
+     d  length                       10i 0 value
+      *
+     d curl_escape     pr              *   extproc('curl_escape')               char *
+     d  string                         *   value options(*string)
+     d  length                       10i 0 value
+      *
+     d curl_easy_unescape...
+     d                 pr              *   extproc('curl_easy_unescape')        char *
+     d  handle                         *   value                                CURL *
+     d  string                         *   value options(*string)
+     d  length                       10i 0 value
+     d  outlength                    10i 0 options(*omit)
+      *
+     d curl_unescape   pr              *   extproc('curl_unescape')             char *
+     d  string                         *   value options(*string)
+     d  length                       10i 0 value
+      *
+     d curl_free       pr                  extproc('curl_free')
+     d  p                              *   value
+      *
+     d curl_global_init...
+     d                 pr                  extproc('curl_global_init')
+     d                                     like(CURLcode)
+     d  flags                        10i 0 value
+      *
+     d curl_global_init_mem...
+     d                 pr                  extproc('curl_global_init_mem')
+     d                                     like(CURLcode)
+     d  m                                  value like(curl_malloc_callback)
+     d  f                                  value like(curl_free_callback)
+     d  r                                  value like(curl_realloc_callback)
+     d  s                                  value like(curl_strdup_callback)
+     d  c                                  value like(curl_calloc_callback)
+      *
+     d curl_global_cleanup...
+     d                 pr                  extproc('curl_global_cleanup')
+      *
+     d curl_slist_append...
+     d                 pr              *   extproc('curl_slist_append')         struct curl_slist *
+     d  list                           *   value                                struct curl_slist *
+     d  data                           *   value options(*string)               const char *
+      *
+     d curl_slist_free_all...
+     d                 pr                  extproc('curl_slist_free_all')
+     d  list                           *   value                                struct curl_slist *
+      *
+     d curl_getdate    pr            10i 0 extproc('curl_getdate')              time_t
+     d  p                              *   value options(*string)               const char *
+     d  unused                       10i 0 const options(*omit)                 time_t
+      *
+     d curl_share_init...
+     d                 pr              *   extproc('curl_share_init')           CURLSH * (= void *)
+      *
+      *  Variable argument type procedure.
+      *  Multiply prototyped to support all possible types.
+      *
+     d curl_share_setopt_int...
+     d                 pr                  extproc('curl_share_setopt')
+     d                                     like(CURLSHcode)
+     d  share                          *   value                                CURLSH * (= void *)
+     d  option                             value like(CURLSHoption)
+     d  intarg                       10i 0 value options(*nopass)
+      *
+     d curl_share_setopt_ptr...
+     d                 pr                  extproc('curl_share_setopt')
+     d                                     like(CURLSHcode)
+     d  share                          *   value                                CURLSH * (= void *)
+     d  option                             value like(CURLSHoption)
+     d  ptrarg                         *   value options(*nopass)
+      *
+     d curl_share_setopt_proc...
+     d                 pr                  extproc('curl_share_setopt')
+     d                                     like(CURLSHcode)
+     d  share                          *   value                                CURLSH * (= void *)
+     d  option                             value like(CURLSHoption)
+     d  procarg                        *   value procptr options(*nopass)
+      *
+     d curl_share_cleanup...
+     d                 pr                  extproc('curl_share_cleanup')
+     d                                     like(CURLSHcode)
+     d  share                          *   value                                CURLSH * (= void *)
+      *
+     d curl_version_info...
+     d                 pr              *   extproc('curl_version_info')         c_i_version_data *
+     d  version                            value like(CURLversion)
+      *
+     d curl_easy_strerror...
+     d                 pr              *   extproc('curl_easy_strerror')        const char *
+     d  code                               value like(CURLcode)
+      *
+     d curl_share_strerror...
+     d                 pr              *   extproc('curl_share_strerror')       const char *
+     d  code                               value like(CURLSHcode)
+      *
+     d curl_easy_init  pr              *   extproc('curl_easy_init')            CURL *
+      *
+      *  Multiple prototypes for vararg procedure curl_easy_setopt.
+      *
+     d curl_easy_setopt_long...
+     d                 pr                  extproc('curl_easy_setopt')
+     d                                     like(CURLcode)
+     d  curl                           *   value                                CURL *
+     d  option                             value like(CURLoption)
+     d  longarg                      10i 0 value options(*nopass)
+      *
+     d curl_easy_setopt_object...
+     d                 pr                  extproc('curl_easy_setopt')
+     d                                     like(CURLcode)
+     d  curl                           *   value                                CURL *
+     d  option                             value like(CURLoption)
+     d  objectarg                      *   value options(*string: *nopass)
+      *
+     d curl_easy_setopt_function...
+     d                 pr                  extproc('curl_easy_setopt')
+     d                                     like(CURLcode)
+     d  curl                           *   value                                CURL *
+     d  option                             value like(CURLoption)
+     d  functionarg                    *   value procptr options(*nopass)
+      *
+     d curl_easy_setopt_offset...
+     d                 pr                  extproc('curl_easy_setopt')
+     d                                     like(CURLcode)
+     d  curl                           *   value                                CURL *
+     d  option                             value like(CURLoption)
+     d  offsetarg                          value like(curl_off_t)
+     d                                     options(*nopass)
+      *
+      *
+     d curl_easy_perform...
+     d                 pr                  extproc('curl_easy_perform')
+     d                                     like(CURLcode)
+     d  curl                           *   value                                CURL *
+      *
+     d curl_easy_cleanup...
+     d                 pr                  extproc('curl_easy_cleanup')
+     d  curl                           *   value                                CURL *
+      *
+      *  Multiple prototypes for vararg procedure curl_easy_getinfo.
+      *
+     d curl_easy_getinfo_string...
+     d                 pr                  extproc('curl_easy_getinfo')
+     d                                     like(CURLcode)
+     d  curl                           *   value                                CURL *
+     d  info                               value like(CURLINFO)
+     d  stringarg                      *   options(*nopass)                     char *
+      *
+     d curl_easy_getinfo_long...
+     d                 pr                  extproc('curl_easy_getinfo')
+     d                                     like(CURLcode)
+     d  curl                           *   value                                CURL *
+     d  info                               value like(CURLINFO)
+     d  longarg                      10i 0 options(*nopass)
+      *
+     d curl_easy_getinfo_double...
+     d                 pr                  extproc('curl_easy_getinfo')
+     d                                     like(CURLcode)
+     d  curl                           *   value                                CURL *
+     d  info                               value like(CURLINFO)
+     d  doublearg                     8f   options(*nopass)
+      *
+     d curl_easy_getinfo_slist...
+     d                 pr                  extproc('curl_easy_getinfo')
+     d                                     like(CURLcode)
+     d  curl                           *   value                                CURL *
+     d  info                               value like(CURLINFO)
+     d  slistarg                       *   options(*nopass)                     struct curl_slist *
+      *
+      *
+     d curl_easy_duphandle...
+     d                 pr              *   extproc('curl_easy_duphandle')       CURL *
+     d  curl                           *   value                                CURL *
+      *
+     d curl_easy_reset...
+     d                 pr                  extproc('curl_easy_reset')
+     d  curl                           *   value                                CURL *
+      *
+     d curl_easy_recv...
+     d                 pr                  extproc('curl_easy_recv')
+     d                                     like(CURLcode)
+     d  curl                           *   value                                CURL *
+     d  buffer                         *   value                                void *
+     d  buflen                       10u 0 value                                size_t
+     d  n                            10u 0                                      size_t *
+      *
+     d curl_easy_send...
+     d                 pr                  extproc('curl_easy_send')
+     d                                     like(CURLcode)
+     d  curl                           *   value                                CURL *
+     d  buffer                         *   value                                const void *
+     d  buflen                       10u 0 value                                size_t
+     d  n                            10u 0                                      size_t *
+      *
+     d curl_easy_pause...
+     d                 pr                  extproc('curl_easy_pause')
+     d  curl                           *   value                                CURL *
+     d  bitmask                      10i 0 value
+      *
+     d curl_multi_init...
+     d                 pr              *   extproc('curl_multi_init')           CURLM *
+      *
+     d curl_multi_add_handle...
+     d                 pr                  extproc('curl_multi_add_handle')
+     d                                     like(CURLMcode)
+     d  multi_handle                   *   value                                CURLM *
+     d  curl_handle                    *   value                                CURL *
+      *
+     d curl_multi_remove_handle...
+     d                 pr                  extproc('curl_multi_remove_handle')
+     d                                     like(CURLMcode)
+     d  multi_handle                   *   value                                CURLM *
+     d  curl_handle                    *   value                                CURL *
+      *
+     d curl_multi_fdset...
+     d                 pr                  extproc('curl_multi_fdset')
+     d                                     like(CURLMcode)
+     d  multi_handle                   *   value                                CURLM *
+     d  read_fd_set               65535    options(*varsize)                    fd_set
+     d  write_fd_set              65535    options(*varsize)                    fd_set
+     d  exc_fd_set                65535    options(*varsize)                    fd_set
+     d  max_fd                       10i 0
+      *
+     d curl_multi_wait...
+     d                 pr                  extproc('curl_multi_wait')
+     d                                     like(CURLMcode)
+     d  multi_handle                   *   value                                CURLM *
+     d  extra_fds                      *   value                                curl_waitfd *
+     d  extra_nfds                   10u 0 value
+     d  timeout_ms                   10i 0 value
+     d  ret                          10i 0 options(*omit)
+      *
+     d curl_multi_perform...
+     d                 pr                  extproc('curl_multi_perform')
+     d                                     like(CURLMcode)
+     d  multi_handle                   *   value                                CURLM *
+     d  running_handles...
+     d                               10i 0
+      *
+     d curl_multi_cleanup...
+     d                 pr                  extproc('curl_multi_cleanup')
+     d                                     like(CURLMcode)
+     d  multi_handle                   *   value                                CURLM *
+      *
+     d curl_multi_info_read...
+     d                 pr              *   extproc('curl_multi_info_read')      CURL_Msg *
+     d  multi_handle                   *   value                                CURLM *
+     d  msgs_in_queue                10i 0
+      *
+     d curl_multi_strerror...
+     d                 pr              *   extproc('curl_multi_strerror')       char *
+     d  code                               value like(CURLMcode)
+      *
+     d curl_pushheader_bynum...
+     d                 pr              *   extproc('curl_pushheader_bynum')     char *
+     d  h                              *   value                                curl_pushheaders *
+     d  num                          10u 0 value
+      *
+     d curl_pushheader_byname...
+     d                 pr              *   extproc('curl_pushheader_byname')    char *
+     d  h                              *   value                                curl_pushheaders *
+     d  header                         *   value options(*string)               const char *
+      *
+     d curl_multi_socket...
+     d                 pr                  extproc('curl_multi_socket')
+     d                                     like(CURLMcode)
+     d  multi_handle                   *   value                                CURLM *
+     d  s                                  value like(curl_socket_t)
+     d  running_handles...
+     d                               10i 0
+      *
+     d curl_multi_socket_action...
+     d                 pr                  extproc('curl_multi_socket_action')
+     d                                     like(CURLMcode)
+     d  multi_handle                   *   value                                CURLM *
+     d  s                                  value like(curl_socket_t)
+     d  ev_bitmask                   10i 0 value
+     d  running_handles...
+     d                               10i 0
+      *
+     d curl_multi_socket_all...
+     d                 pr                  extproc('curl_multi_socket_all')
+     d                                     like(CURLMcode)
+     d  multi_handle                   *   value                                CURLM *
+     d  running_handles...
+     d                               10i 0
+      *
+     d curl_multi_timeout...
+     d                 pr                  extproc('curl_multi_timeout')
+     d                                     like(CURLMcode)
+     d  multi_handle                   *   value                                CURLM *
+     d  milliseconds                 10i 0
+      *
+      *  Multiple prototypes for vararg procedure curl_multi_setopt.
+      *
+     d curl_multi_setopt_long...
+     d                 pr                  extproc('curl_multi_setopt')
+     d                                     like(CURLMcode)
+     d  multi_handle                   *   value                                CURLM *
+     d  option                             value like(CURLMoption)
+     d  longarg                      10i 0 value options(*nopass)
+      *
+     d curl_multi_setopt_object...
+     d                 pr                  extproc('curl_multi_setopt')
+     d                                     like(CURLMcode)
+     d  multi_handle                   *   value                                CURLM *
+     d  option                             value like(CURLMoption)
+     d  objectarg                      *   value options(*string: *nopass)
+      *
+     d curl_multi_setopt_function...
+     d                 pr                  extproc('curl_multi_setopt')
+     d                                     like(CURLMcode)
+     d  multi_handle                   *   value                                CURLM *
+     d  option                             value like(CURLMoption)
+     d  functionarg                    *   value procptr options(*nopass)
+      *
+     d curl_multi_setopt_offset...
+     d                 pr                  extproc('curl_multi_setopt')
+     d                                     like(CURLMcode)
+     d  multi_handle                   *   value                                CURLM *
+     d  option                             value like(CURLMoption)
+     d  offsetarg                          value like(curl_off_t)
+     d                                     options(*nopass)
+      *
+      *
+     d curl_multi_assign...
+     d                 pr                  extproc('curl_multi_assign')
+     d                                     like(CURLMcode)
+     d  multi_handle                   *   value                                CURLM *
+     d  sockfd                             value like(curl_socket_t)
+     d  sockp                          *   value                                void *
+      *
+      **************************************************************************
+      *                CCSID wrapper procedure prototypes
+      **************************************************************************
+      *
+     d curl_version_ccsid...
+     d                 pr              *   extproc('curl_version_ccsid')
+     d  ccsid                        10u 0 value
+      *
+     d curl_easy_escape_ccsid...
+     d                 pr              *   extproc('curl_easy_escape_ccsid')    char *
+     d  handle                         *   value                                CURL *
+     d  string                         *   value options(*string)
+     d  length                       10i 0 value
+     d  ccsid                        10u 0 value
+      *
+     d curl_easy_unescape_ccsid...
+     d                 pr              *   extproc('curl_easy_unescape_ccsid')  char *
+     d  handle                         *   value                                CURL *
+     d  string                         *   value options(*string)
+     d  length                       10i 0 value
+     d  outlength                    10i 0 options(*omit)
+     d  ccsid                        10u 0 value
+      *
+     d curl_slist_append_ccsid...
+     d                 pr              *   extproc('curl_slist_append_ccsid')   struct curl_slist *
+     d  list                           *   value                                struct curl_slist *
+     d  data                           *   value options(*string)               const char *
+     d  ccsid                        10u 0 value
+      *
+     d curl_getdate_ccsid...
+     d                 pr            10i 0 extproc('curl_getdate_ccsid')        time_t
+     d  p                              *   value options(*string)               const char *
+     d  unused                       10i 0 const options(*omit)                 time_t
+     d  ccsid                        10u 0 value
+      *
+     d curl_version_info_ccsid...
+     d                 pr              *   extproc('curl_version_info_ccsid')   c_i_version_data *
+     d  version                            value like(CURLversion)
+     d  ccsid                        10u 0 value
+      *
+     d curl_easy_strerror_ccsid...
+     d                 pr              *   extproc('curl_easy_strerror_ccsid')  const char *
+     d  code                               value like(CURLcode)
+     d  ccsid                        10u 0 value
+      *
+     d curl_share_strerror_ccsid...
+     d                 pr              *   extproc('curl_share_strerror_ccsid') const char *
+     d  code                               value like(CURLSHcode)
+     d  ccsid                        10u 0 value
+      *
+     d curl_multi_strerror_ccsid...
+     d                 pr              *   extproc('curl_multi_strerror_ccsid') char *
+     d  code                               value like(CURLMcode)
+     d  ccsid                        10u 0 value
+      *
+      * May be used for strings and structures.
+     d curl_easy_getinfo_ccsid...
+     d                 pr                  extproc('curl_easy_getinfo_ccsid')
+     d                                     like(CURLcode)
+     d  curl                           *   value                                CURL *
+     d  info                               value like(CURLINFO)
+     d  ptrarg                         *   options(*nopass)                     char *
+     d  ccsid                        10u 0 value options(*nopass)
+      *
+     d curl_certinfo_free_all...
+     d                 pr                  extproc('curl_certinfo_free_all')
+     d  info                           *   value
+      *
+     d curl_formadd_ccsid...
+     d                 pr                  extproc('curl_formadd_ccsid')
+     d                                     like(CURLFORMcode)
+     d  httppost                       *                                        curl_httppost *
+     d  lastpost                       *                                        curl_httppost *
+     d  option1                            value like(CURLFORMoption)           CURLFORM_ARRAY
+     d                                     options(*nopass)
+     d  object1                        *   value options(*string: *nopass)
+     d  option2                            value like(CURLFORMoption)           CURLFORM_END
+     d                                     options(*nopass)
+      *
+     d curl_formget_ccsid...
+     d                 pr            10i 0 extproc('curl_formget_ccsid')
+     d  form                           *   value                                curl_httppost *
+     d  arg                            *   value
+     d  append                             value like(curl_formget_callback)
+     d  ccsid                        10u 0 value
+      *
+     d curl_form_long_value...
+     d                 pr              *   extproc('curl_form_long_value')
+     d  value                        10i 0 value                                curl_httppost *
+      *
+     d curl_easy_setopt_ccsid...
+     d                 pr                  extproc('curl_easy_setopt_ccsid')
+     d                                     like(CURLcode)
+     d  curl                           *   value                                CURL *
+     d  option                             value like(CURLoption)
+     d  objectarg                      *   value options(*string: *nopass)
+     d  ccsid                        10u 0 value options(*nopass)
+      *
+     d curl_pushheader_bynum_ccsid...
+     d                 pr              *   extproc(                             char *
+     d                                       'curl_pushheader_bynum_ccsid')
+     d  h                              *   value                                curl_pushheaders *
+     d  num                          10u 0 value
+     d  ccsid                        10u 0 value
+      *
+     d curl_pushheader_byname_ccsid...
+     d                 pr              *   extproc(                             char *
+     d                                       'curl_pushheader_byname_ccsid')
+     d  h                              *   value                                curl_pushheaders *
+     d  header                         *   value options(*string)               const char *
+     d  ccsidin                      10u 0 value
+     d  ccsidout                     10u 0 value
+      *
+      /endif
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/OS400/initscript.sh b/ap/lib/libcurl/curl-7.54.1/packages/OS400/initscript.sh
new file mode 100644
index 0000000..a13d651
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/OS400/initscript.sh
@@ -0,0 +1,261 @@
+#!/bin/sh
+
+
+setenv()
+
+{
+        #       Define and export.
+
+        eval ${1}="${2}"
+        export ${1}
+}
+
+
+case "${SCRIPTDIR}" in
+/*)     ;;
+*)      SCRIPTDIR="`pwd`/${SCRIPTDIR}"
+esac
+
+while true
+do      case "${SCRIPTDIR}" in
+        */.)    SCRIPTDIR="${SCRIPTDIR%/.}";;
+        *)      break;;
+        esac
+done
+
+#  The script directory is supposed to be in $TOPDIR/packages/os400.
+
+TOPDIR=`dirname "${SCRIPTDIR}"`
+TOPDIR=`dirname "${TOPDIR}"`
+export SCRIPTDIR TOPDIR
+
+#  Extract the SONAME from the library makefile.
+
+SONAME=`sed -e '/^VERSIONINFO=/!d' -e 's/^.* \([0-9]*\):.*$/\1/' -e 'q' \
+                                                < "${TOPDIR}/lib/Makefile.am"`
+export SONAME
+
+
+################################################################################
+#
+#                       Tunable configuration parameters.
+#
+################################################################################
+
+setenv TARGETLIB        'CURL'                  # Target OS/400 program library.
+setenv STATBNDDIR       'CURL_A'                # Static binding directory.
+setenv DYNBNDDIR        'CURL'                  # Dynamic binding directory.
+setenv SRVPGM           "CURL.${SONAME}"        # Service program.
+setenv TGTCCSID         '500'                   # Target CCSID of objects.
+setenv DEBUG            '*ALL'                  # Debug level.
+setenv OPTIMIZE         '10'                    # Optimisation level
+setenv OUTPUT           '*NONE'                 # Compilation output option.
+setenv TGTRLS           'V6R1M0'                # Target OS release.
+setenv IFSDIR           '/curl'                 # Installation IFS directory.
+
+#       Define ZLIB availability and locations.
+
+setenv WITH_ZLIB        0                       # Define to 1 to enable.
+setenv ZLIB_INCLUDE     '/zlib/include'         # ZLIB include IFS directory.
+setenv ZLIB_LIB         'ZLIB'                  # ZLIB library.
+setenv ZLIB_BNDDIR      'ZLIB_A'                # ZLIB binding directory.
+
+#       Define LIBSSH2 availability and locations.
+
+setenv WITH_LIBSSH2     0                       # Define to 1 to enable.
+setenv LIBSSH2_INCLUDE  '/libssh2/include'      # LIBSSH2 include IFS directory.
+setenv LIBSSH2_LIB      'LIBSSH2'               # LIBSSH2 library.
+setenv LIBSSH2_BNDDIR   'LIBSSH2_A'             # LIBSSH2 binding directory.
+
+
+################################################################################
+
+#       Need to get the version definitions.
+
+LIBCURL_VERSION=`grep '^#define  *LIBCURL_VERSION '                     \
+                        "${TOPDIR}/include/curl/curlver.h"              |
+                sed 's/.*"\(.*\)".*/\1/'`
+LIBCURL_VERSION_MAJOR=`grep '^#define  *LIBCURL_VERSION_MAJOR '         \
+                        "${TOPDIR}/include/curl/curlver.h"              |
+                sed 's/^#define  *LIBCURL_VERSION_MAJOR  *\([^ ]*\).*/\1/'`
+LIBCURL_VERSION_MINOR=`grep '^#define  *LIBCURL_VERSION_MINOR '         \
+                        "${TOPDIR}/include/curl/curlver.h"              |
+                sed 's/^#define  *LIBCURL_VERSION_MINOR  *\([^ ]*\).*/\1/'`
+LIBCURL_VERSION_PATCH=`grep '^#define  *LIBCURL_VERSION_PATCH '         \
+                        "${TOPDIR}/include/curl/curlver.h"              |
+                sed 's/^#define  *LIBCURL_VERSION_PATCH  *\([^ ]*\).*/\1/'`
+LIBCURL_VERSION_NUM=`grep '^#define  *LIBCURL_VERSION_NUM '             \
+                        "${TOPDIR}/include/curl/curlver.h"              |
+                sed 's/^#define  *LIBCURL_VERSION_NUM  *0x\([^ ]*\).*/\1/'`
+LIBCURL_TIMESTAMP=`grep '^#define  *LIBCURL_TIMESTAMP '                 \
+                        "${TOPDIR}/include/curl/curlver.h"              |
+                sed 's/.*"\(.*\)".*/\1/'`
+export LIBCURL_VERSION
+export LIBCURL_VERSION_MAJOR LIBCURL_VERSION_MINOR LIBCURL_VERSION_PATCH
+export LIBCURL_VERSION_NUM LIBCURL_TIMESTAMP
+
+################################################################################
+#
+#                       OS/400 specific definitions.
+#
+################################################################################
+
+LIBIFSNAME="/QSYS.LIB/${TARGETLIB}.LIB"
+
+
+################################################################################
+#
+#                               Procedures.
+#
+################################################################################
+
+#       action_needed dest [src]
+#
+#       dest is an object to build
+#       if specified, src is an object on which dest depends.
+#
+#       exit 0 (succeeds) if some action has to be taken, else 1.
+
+action_needed()
+
+{
+        [ ! -e "${1}" ] && return 0
+        [ "${2}" ] || return 1
+        [ "${1}" -ot "${2}" ] && return 0
+        return 1
+}
+
+
+#       canonicalize_path path
+#
+#       Return canonicalized path as:
+#       - Absolute
+#       - No . or .. component.
+
+canonicalize_path()
+
+{
+        if expr "${1}" : '^/' > /dev/null
+        then    P="${1}"
+        else    P="`pwd`/${1}"
+        fi
+
+        R=
+        IFSSAVE="${IFS}"
+        IFS="/"
+
+        for C in ${P}
+        do      IFS="${IFSSAVE}"
+                case "${C}" in
+                .)      ;;
+                ..)     R=`expr "${R}" : '^\(.*/\)..*'`
+                        ;;
+                ?*)     R="${R}${C}/"
+                        ;;
+                *)      ;;
+                esac
+        done
+
+        IFS="${IFSSAVE}"
+        echo "/`expr "${R}" : '^\(.*\)/'`"
+}
+
+
+#       make_module module_name source_name [additional_definitions]
+#
+#       Compile source name into ASCII module if needed.
+#       As side effect, append the module name to variable MODULES.
+#       Set LINK to "YES" if the module has been compiled.
+
+make_module()
+
+{
+        MODULES="${MODULES} ${1}"
+        MODIFSNAME="${LIBIFSNAME}/${1}.MODULE"
+        action_needed "${MODIFSNAME}" "${2}" || return 0;
+        SRCDIR=`dirname \`canonicalize_path "${2}"\``
+
+        #       #pragma convert has to be in the source file itself, i.e.
+        #               putting it in an include file makes it only active
+        #               for that include file.
+        #       Thus we build a temporary file with the pragma prepended to
+        #               the source file and we compile that themporary file.
+
+        echo "#line 1 \"${2}\"" > __tmpsrcf.c
+        echo "#pragma convert(819)" >> __tmpsrcf.c
+        echo "#line 1" >> __tmpsrcf.c
+        cat "${2}" >> __tmpsrcf.c
+        CMD="CRTCMOD MODULE(${TARGETLIB}/${1}) SRCSTMF('__tmpsrcf.c')"
+#       CMD="${CMD} SYSIFCOPT(*IFS64IO) OPTION(*INCDIRFIRST *SHOWINC *SHOWSYS)"
+        CMD="${CMD} SYSIFCOPT(*IFS64IO) OPTION(*INCDIRFIRST)"
+        CMD="${CMD} LOCALETYPE(*LOCALE) FLAG(10)"
+        CMD="${CMD} INCDIR('/qibm/proddata/qadrt/include'"
+        CMD="${CMD} '${TOPDIR}/include/curl' '${TOPDIR}/include' '${SRCDIR}'"
+        CMD="${CMD} '${TOPDIR}/packages/OS400'"
+
+        if [ "${WITH_ZLIB}" != "0" ]
+        then    CMD="${CMD} '${ZLIB_INCLUDE}'"
+        fi
+
+        if [ "${WITH_LIBSSH2}" != "0" ]
+        then    CMD="${CMD} '${LIBSSH2_INCLUDE}'"
+        fi
+
+        CMD="${CMD} ${INCLUDES})"
+        CMD="${CMD} TGTCCSID(${TGTCCSID}) TGTRLS(${TGTRLS})"
+        CMD="${CMD} OUTPUT(${OUTPUT})"
+        CMD="${CMD} OPTIMIZE(${OPTIMIZE})"
+        CMD="${CMD} DBGVIEW(${DEBUG})"
+
+        DEFINES="${3} BUILDING_LIBCURL"
+
+        if [ "${WITH_ZLIB}" != "0" ]
+        then    DEFINES="${DEFINES} HAVE_LIBZ HAVE_ZLIB_H"
+        fi
+
+        if [ "${WITH_LIBSSH2}" != "0" ]
+        then    DEFINES="${DEFINES} USE_LIBSSH2 HAVE_LIBSSH2_H"
+        fi
+
+        if [ "${DEFINES}" ]
+        then    CMD="${CMD} DEFINE(${DEFINES})"
+        fi
+
+        system "${CMD}"
+        rm -f __tmpsrcf.c
+        LINK=YES
+}
+
+
+#       Determine DB2 object name from IFS name.
+
+db2_name()
+
+{
+        if [ "${2}" = 'nomangle' ]
+        then    basename "${1}"                                         |
+                tr 'a-z-' 'A-Z_'                                        |
+                sed -e 's/\..*//'                                       \
+                    -e 's/^\(.\).*\(.........\)$/\1\2/'
+        else    basename "${1}"                                         |
+                tr 'a-z-' 'A-Z_'                                        |
+                sed -e 's/\..*//'                                       \
+                    -e 's/^CURL_*/C/'                                   \
+                    -e 's/^\(.\).*\(.........\)$/\1\2/'
+        fi
+}
+
+
+#       Copy IFS file replacing version info.
+
+versioned_copy()
+
+{
+        sed -e "s/@LIBCURL_VERSION@/${LIBCURL_VERSION}/g"               \
+            -e "s/@LIBCURL_VERSION_MAJOR@/${LIBCURL_VERSION_MAJOR}/g"   \
+            -e "s/@LIBCURL_VERSION_MINOR@/${LIBCURL_VERSION_MINOR}/g"   \
+            -e "s/@LIBCURL_VERSION_PATCH@/${LIBCURL_VERSION_PATCH}/g"   \
+            -e "s/@LIBCURL_VERSION_NUM@/${LIBCURL_VERSION_NUM}/g"       \
+            -e "s/@LIBCURL_TIMESTAMP@/${LIBCURL_TIMESTAMP}/g"           \
+                < "${1}" > "${2}"
+}
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/OS400/make-include.sh b/ap/lib/libcurl/curl-7.54.1/packages/OS400/make-include.sh
new file mode 100644
index 0000000..ad72cf4
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/OS400/make-include.sh
@@ -0,0 +1,92 @@
+#!/bin/sh
+#
+#       Installation of the header files in the OS/400 library.
+#
+
+SCRIPTDIR=`dirname "${0}"`
+. "${SCRIPTDIR}/initscript.sh"
+cd "${TOPDIR}/include"
+
+
+#       Produce the curlbuild.h header file if not yet in distribution (CVS).
+
+if action_needed curl/curlbuild.h
+then    if action_needed curl/curlbuild.h curl/curlbuild.h.dist
+        then    cp -p curl/curlbuild.h.dist curl/curlbuild.h
+        fi
+fi
+
+
+#       Create the OS/400 source program file for the header files.
+
+SRCPF="${LIBIFSNAME}/H.FILE"
+
+if action_needed "${SRCPF}"
+then    CMD="CRTSRCPF FILE(${TARGETLIB}/H) RCDLEN(112)"
+        CMD="${CMD} CCSID(${TGTCCSID}) TEXT('curl: Header files')"
+        system "${CMD}"
+fi
+
+
+#       Create the IFS directory for the header files.
+
+IFSINCLUDE="${IFSDIR}/include/curl"
+
+if action_needed "${IFSINCLUDE}"
+then    mkdir -p "${IFSINCLUDE}"
+fi
+
+
+#       Enumeration values are used as va_arg tagfields, so they MUST be
+#               integers.
+
+copy_hfile()
+
+{
+        destfile="${1}"
+        srcfile="${2}"
+        shift
+        shift
+        sed -e '1i\
+#pragma enum(int)\
+' "${@}" -e '$a\
+#pragma enum(pop)\
+' < "${srcfile}" > "${destfile}"
+}
+
+#       Copy the header files.
+
+for HFILE in curl/*.h ${SCRIPTDIR}/ccsidcurl.h
+do      case "`basename \"${HFILE}\" .h`" in
+        stdcheaders|typecheck-gcc)
+                continue;;
+        esac
+
+        DEST="${SRCPF}/`db2_name \"${HFILE}\" nomangle`.MBR"
+
+        if action_needed "${DEST}" "${HFILE}"
+        then    copy_hfile "${DEST}" "${HFILE}"
+                IFSDEST="${IFSINCLUDE}/`basename \"${HFILE}\"`"
+                rm -f "${IFSDEST}"
+                ln -s "${DEST}" "${IFSDEST}"
+        fi
+done
+
+
+#       Copy the ILE/RPG header file, setting-up version number.
+
+versioned_copy "${SCRIPTDIR}/curl.inc.in" "${SRCPF}/CURL.INC.MBR"
+rm -f "${IFSINCLUDE}/curl.inc.rpgle"
+ln -s "${SRCPF}/CURL.INC.MBR" "${IFSINCLUDE}/curl.inc.rpgle"
+
+
+#       Duplicate file H as CURL to support more include path forms.
+
+if action_needed "${LIBIFSNAME}/CURL.FILE"
+then    :
+else    system "DLTF FILE(${TARGETLIB}/CURL)"
+fi
+
+CMD="CRTDUPOBJ OBJ(H) FROMLIB(${TARGETLIB}) OBJTYPE(*FILE) TOLIB(*FROMLIB)"
+CMD="${CMD} NEWOBJ(CURL) DATA(*YES)"
+system "${CMD}"
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/OS400/make-lib.sh b/ap/lib/libcurl/curl-7.54.1/packages/OS400/make-lib.sh
new file mode 100644
index 0000000..410bef0
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/OS400/make-lib.sh
@@ -0,0 +1,204 @@
+#!/bin/sh
+#
+#       libcurl compilation script for the OS/400.
+#
+
+SCRIPTDIR=`dirname "${0}"`
+. "${SCRIPTDIR}/initscript.sh"
+cd "${TOPDIR}/lib"
+
+#       Need to have IFS access to the mih/cipher header file.
+
+if action_needed cipher.mih '/QSYS.LIB/QSYSINC.LIB/MIH.FILE/CIPHER.MBR'
+then    rm -f cipher.mih
+        ln -s '/QSYS.LIB/QSYSINC.LIB/MIH.FILE/CIPHER.MBR' cipher.mih
+fi
+
+
+#      Create and compile the identification source file.
+
+echo '#pragma comment(user, "libcurl version '"${LIBCURL_VERSION}"'")' > os400.c
+echo '#pragma comment(user, __DATE__)' >> os400.c
+echo '#pragma comment(user, __TIME__)' >> os400.c
+echo '#pragma comment(copyright, "Copyright (C) 1998-2016 Daniel Stenberg et al. OS/400 version by P. Monnerat")' >> os400.c
+make_module     OS400           os400.c
+LINK=                           # No need to rebuild service program yet.
+MODULES=
+
+
+#       Get source list.
+
+sed -e ':begin'                                                         \
+    -e '/\\$/{'                                                         \
+    -e 's/\\$/ /'                                                       \
+    -e 'N'                                                              \
+    -e 'bbegin'                                                         \
+    -e '}'                                                              \
+    -e 's/\n//g'                                                        \
+    -e 's/[[:space:]]*$//'                                              \
+    -e 's/^\([A-Za-z][A-Za-z0-9_]*\)[[:space:]]*=[[:space:]]*\(.*\)/\1="\2"/' \
+    -e 's/\$(\([A-Za-z][A-Za-z0-9_]*\))/${\1}/g'                        \
+        < Makefile.inc > tmpscript.sh
+. ./tmpscript.sh
+
+
+#       Compile the sources into modules.
+
+INCLUDES="'`pwd`'"
+
+make_module     OS400SYS        "${SCRIPTDIR}/os400sys.c"
+make_module     CCSIDCURL       "${SCRIPTDIR}/ccsidcurl.c"
+
+for SRC in ${CSOURCES}
+do      MODULE=`db2_name "${SRC}"`
+        make_module "${MODULE}" "${SRC}"
+done
+
+
+#       If needed, (re)create the static binding directory.
+
+if action_needed "${LIBIFSNAME}/${STATBNDDIR}.BNDDIR"
+then    LINK=YES
+fi
+
+if [ "${LINK}" ]
+then    rm -rf "${LIBIFSNAME}/${STATBNDDIR}.BNDDIR"
+        CMD="CRTBNDDIR BNDDIR(${TARGETLIB}/${STATBNDDIR})"
+        CMD="${CMD} TEXT('LibCurl API static binding directory')"
+        system "${CMD}"
+
+        for MODULE in ${MODULES}
+        do      CMD="ADDBNDDIRE BNDDIR(${TARGETLIB}/${STATBNDDIR})"
+                CMD="${CMD} OBJ((${TARGETLIB}/${MODULE} *MODULE))"
+                system "${CMD}"
+        done
+fi
+
+
+#       The exportation file for service program creation must be in a DB2
+#               source file, so make sure it exists.
+
+if action_needed "${LIBIFSNAME}/TOOLS.FILE"
+then    CMD="CRTSRCPF FILE(${TARGETLIB}/TOOLS) RCDLEN(112)"
+        CMD="${CMD} TEXT('curl: build tools')"
+        system "${CMD}"
+fi
+
+
+#       Gather the list of symbols to export.
+
+EXPORTS=`grep '^CURL_EXTERN[[:space:]]'                                 \
+              "${TOPDIR}"/include/curl/*.h                              \
+              "${SCRIPTDIR}/ccsidcurl.h"                                |
+         sed -e 's/^.*CURL_EXTERN[[:space:]]\(.*\)(.*$/\1/'             \
+             -e 's/[[:space:]]*$//'                                     \
+             -e 's/^.*[[:space:]][[:space:]]*//'                        \
+             -e 's/^\*//'                                               \
+             -e 's/(\(.*\))/\1/'`
+
+#       Create the service program exportation file in DB2 member if needed.
+
+BSF="${LIBIFSNAME}/TOOLS.FILE/BNDSRC.MBR"
+
+if action_needed "${BSF}" Makefile.am
+then    LINK=YES
+fi
+
+if [ "${LINK}" ]
+then    echo " STRPGMEXP PGMLVL(*CURRENT) SIGNATURE('LIBCURL_${SONAME}')" \
+            > "${BSF}"
+        for EXPORT in ${EXPORTS}
+        do      echo ' EXPORT    SYMBOL("'"${EXPORT}"'")' >> "${BSF}"
+        done
+
+        echo ' ENDPGMEXP' >> "${BSF}"
+fi
+
+
+#       Build the service program if needed.
+
+if action_needed "${LIBIFSNAME}/${SRVPGM}.SRVPGM"
+then    LINK=YES
+fi
+
+if [ "${LINK}" ]
+then    CMD="CRTSRVPGM SRVPGM(${TARGETLIB}/${SRVPGM})"
+        CMD="${CMD} SRCFILE(${TARGETLIB}/TOOLS) SRCMBR(BNDSRC)"
+        CMD="${CMD} MODULE(${TARGETLIB}/OS400)"
+        CMD="${CMD} BNDDIR(${TARGETLIB}/${STATBNDDIR}"
+        if [ "${WITH_ZLIB}" != 0 ]
+        then    CMD="${CMD} ${ZLIB_LIB}/${ZLIB_BNDDIR}"
+                liblist -a "${ZLIB_LIB}"
+        fi
+        if [ "${WITH_LIBSSH2}" != 0 ]
+        then    CMD="${CMD} ${LIBSSH2_LIB}/${LIBSSH2_BNDDIR}"
+                liblist -a "${LIBSSH2_LIB}"
+        fi
+        CMD="${CMD})"
+        CMD="${CMD} BNDSRVPGM(QADRTTS QGLDCLNT QGLDBRDR)"
+        CMD="${CMD} TEXT('curl API library')"
+        CMD="${CMD} TGTRLS(${TGTRLS})"
+        system "${CMD}"
+        LINK=YES
+fi
+
+
+#       If needed, (re)create the dynamic binding directory.
+
+if action_needed "${LIBIFSNAME}/${DYNBNDDIR}.BNDDIR"
+then    LINK=YES
+fi
+
+if [ "${LINK}" ]
+then    rm -rf "${LIBIFSNAME}/${DYNBNDDIR}.BNDDIR"
+        CMD="CRTBNDDIR BNDDIR(${TARGETLIB}/${DYNBNDDIR})"
+        CMD="${CMD} TEXT('LibCurl API dynamic binding directory')"
+        system "${CMD}"
+        CMD="ADDBNDDIRE BNDDIR(${TARGETLIB}/${DYNBNDDIR})"
+        CMD="${CMD} OBJ((*LIBL/${SRVPGM} *SRVPGM))"
+        system "${CMD}"
+fi
+
+
+#       Rebuild the formdata test if needed.
+
+if [ "${TEST_FORMDATA}" ]
+then    MODULES=
+        make_module TFORMDATA   formdata.c      "'_FORM_DEBUG' 'CURLDEBUG'"
+        make_module TSTREQUAL   strequal.c      "'_FORM_DEBUG' 'CURLDEBUG'"
+        make_module TMEMDEBUG   memdebug.c      "'_FORM_DEBUG' 'CURLDEBUG'"
+        make_module TMPRINTF    mprintf.c       "'_FORM_DEBUG' 'CURLDEBUG'"
+        make_module TSTRERROR   strerror.c      "'_FORM_DEBUG' 'CURLDEBUG'"
+        #       The following modules should not be needed (see comment in
+        #               formdata.c. However, there are some unsatisfied
+        #               external references leading in the following
+        #               modules to be (recursively) needed.
+        MODULES="${MODULES} EASY STRDUP SSLGEN GSKIT HOSTIP HOSTIP4 HOSTIP6"
+        MODULES="${MODULES} URL HASH TRANSFER GETINFO COOKIE SENDF SELECT"
+        MODULES="${MODULES} INET_NTOP SHARE HOSTTHRE MULTI LLIST FTP HTTP"
+        MODULES="${MODULES} HTTP_DIGES HTTP_CHUNK HTTP_NEGOT TIMEVAL HOSTSYN"
+        MODULES="${MODULES} CONNECT SOCKS PROGRESS ESCAPE INET_PTON GETENV"
+        MODULES="${MODULES} DICT LDAP TELNET FILE TFTP NETRC PARSEDATE"
+        MODULES="${MODULES} SPEEDCHECK SPLAY BASE64 SECURITY IF2IP MD5"
+        MODULES="${MODULES} KRB5 OS400SYS"
+
+        PGMIFSNAME="${LIBIFSNAME}/TFORMDATA.PGM"
+
+        if action_needed "${PGMIFSNAME}"
+        then    LINK=YES
+        fi
+
+        if [ "${LINK}" ]
+        then    CMD="CRTPGM PGM(${TARGETLIB}/TFORMDATA)"
+                CMD="${CMD} ENTMOD(QADRT/QADRTMAIN2)"
+                CMD="${CMD} MODULE("
+
+                for MODULE in ${MODULES}
+                do      CMD="${CMD} ${TARGETLIB}/${MODULE}"
+                done
+
+                CMD="${CMD} ) BNDSRVPGM(QADRTTS)"
+                CMD="${CMD} TGTRLS(${TGTRLS})"
+                system "${CMD}"
+        fi
+fi
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/OS400/make-src.sh b/ap/lib/libcurl/curl-7.54.1/packages/OS400/make-src.sh
new file mode 100644
index 0000000..090ae12
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/OS400/make-src.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+#
+#
+#       Not implemented yet on OS/400.
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/OS400/make-tests.sh b/ap/lib/libcurl/curl-7.54.1/packages/OS400/make-tests.sh
new file mode 100644
index 0000000..9240b7f
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/OS400/make-tests.sh
@@ -0,0 +1,114 @@
+#!/bin/sh
+#
+#       tests compilation script for the OS/400.
+#
+
+
+SCRIPTDIR=`dirname "${0}"`
+. "${SCRIPTDIR}/initscript.sh"
+cd "${TOPDIR}/tests"
+
+
+#       tests directory not implemented yet.
+
+
+#       Process the libtest subdirectory.
+
+cd libtest
+
+#       Get definitions from the Makefile.inc file.
+#       The `sed' statement works as follows:
+#       _ Join \nl-separated lines.
+#       _ Retain only lines that begins with "identifier =".
+#       _ Turn these lines into shell variable assignments.
+
+eval "`sed -e ': begin'                                                 \
+        -e '/\\\\$/{'                                                   \
+        -e 'N'                                                          \
+        -e 's/\\\\\\n/ /'                                               \
+        -e 'b begin'                                                    \
+        -e '}'                                                          \
+        -e '/^[A-Za-z_][A-Za-z0-9_]*[[:space:]]*[=]/b keep'             \
+        -e 'd'                                                          \
+        -e ': keep'                                                     \
+        -e 's/[[:space:]]*=[[:space:]]*/=/'                             \
+        -e 's/=\\(.*[^[:space:]]\\)[[:space:]]*$/=\\"\\1\\"/'           \
+        -e 's/\\$(\\([^)]*\\))/${\\1}/g'                                \
+        < Makefile.inc`"
+
+#       Special case: redefine chkhostname compilation parameters.
+
+chkhostname_SOURCES=chkhostname.c
+chkhostname_LDADD=curl_gethostname.o
+
+#       Compile all programs.
+#       The list is found in variable "noinst_PROGRAMS"
+
+INCLUDES="'${TOPDIR}/tests/libtest' '${TOPDIR}/lib'"
+
+for PGM in ${noinst_PROGRAMS}
+do      DB2PGM=`db2_name "${PGM}"`
+        PGMIFSNAME="${LIBIFSNAME}/${DB2PGM}.PGM"
+
+        #       Extract preprocessor symbol definitions from compilation
+        #               options for the program.
+
+        PGMCFLAGS="`eval echo \"\\${${PGM}_CFLAGS}\"`"
+        PGMDEFINES=
+
+        for FLAG in ${PGMCFLAGS}
+        do      case "${FLAG}" in
+                -D?*)   DEFINE="`echo \"${FLAG}\" | sed 's/^..//'`"
+                        PGMDEFINES="${PGMDEFINES} '${DEFINE}'"
+                        ;;
+                esac
+        done
+
+        #        Compile all C sources for the program into modules.
+
+        PGMSOURCES="`eval echo \"\\${${PGM}_SOURCES}\"`"
+        LINK=
+        MODULES=
+
+        for SOURCE in ${PGMSOURCES}
+        do      case "${SOURCE}" in
+                *.c)    #       Special processing for libxxx.c files: their
+                        #               module name is determined by the target
+                        #               PROGRAM name.
+
+                        case "${SOURCE}" in
+                        lib*.c) MODULE="${DB2PGM}"
+                                ;;
+                        *)      MODULE=`db2_name "${SOURCE}"`
+                                ;;
+                        esac
+
+                        make_module "${MODULE}" "${SOURCE}" "${PGMDEFINES}"
+                        if action_needed "${PGMIFSNAME}" "${MODIFSNAME}"
+                        then    LINK=yes
+                        fi
+                        ;;
+                esac
+        done
+
+        #       Link program if needed.
+
+        if [ "${LINK}" ]
+        then    PGMLDADD="`eval echo \"\\${${PGM}_LDADD}\"`"
+                for LDARG in ${PGMLDADD}
+                do      case "${LDARG}" in
+                        -*)     ;;              # Ignore non-module.
+                        *)      MODULES="${MODULES} "`db2_name "${LDARG}"`
+                                ;;
+                        esac
+                done
+                MODULES="`echo \"${MODULES}\" |
+                    sed \"s/[^ ][^ ]*/${TARGETLIB}\/&/g\"`"
+                CMD="CRTPGM PGM(${TARGETLIB}/${DB2PGM})"
+                CMD="${CMD} ENTMOD(QADRT/QADRTMAIN2)"
+                CMD="${CMD} MODULE(${MODULES})"
+                CMD="${CMD} BNDSRVPGM(${TARGETLIB}/${SRVPGM} QADRTTS)"
+                CMD="${CMD} TGTRLS(${TGTRLS})"
+                system "${CMD}"
+        fi
+done
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/OS400/makefile.sh b/ap/lib/libcurl/curl-7.54.1/packages/OS400/makefile.sh
new file mode 100644
index 0000000..141d877
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/OS400/makefile.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+#
+#       curl compilation script for the OS/400.
+#
+#
+#       This is a shell script since make is not a standard component of OS/400.
+
+SCRIPTDIR=`dirname "${0}"`
+. "${SCRIPTDIR}/initscript.sh"
+cd "${TOPDIR}"
+
+
+#       Create the OS/400 library if it does not exist.
+
+if action_needed "${LIBIFSNAME}"
+then    CMD="CRTLIB LIB(${TARGETLIB}) TEXT('curl: multiprotocol support API')"
+        system "${CMD}"
+fi
+
+
+#       Create the DOCS source file if it does not exist.
+
+if action_needed "${LIBIFSNAME}/DOCS.FILE"
+then    CMD="CRTSRCPF FILE(${TARGETLIB}/DOCS) RCDLEN(240)"
+        CMD="${CMD} CCSID(${TGTCCSID}) TEXT('Documentation texts')"
+        system "${CMD}"
+fi
+
+
+#       Copy some documentation files if needed.
+
+for TEXT in "${TOPDIR}/COPYING" "${SCRIPTDIR}/README.OS400"             \
+    "${TOPDIR}/CHANGES" "${TOPDIR}/docs/THANKS" "${TOPDIR}/docs/FAQ"    \
+    "${TOPDIR}/docs/FEATURES" "${TOPDIR}/docs/SSLCERTS"                 \
+    "${TOPDIR}/docs/RESOURCES" "${TOPDIR}/docs/VERSIONS"                \
+    "${TOPDIR}/docs/HISTORY"
+do      MEMBER="`basename \"${TEXT}\" .OS400`"
+        MEMBER="${LIBIFSNAME}/DOCS.FILE/`db2_name \"${MEMBER}\"`.MBR"
+
+        if action_needed "${MEMBER}" "${TEXT}"
+        then    CMD="CPY OBJ('${TEXT}') TOOBJ('${MEMBER}') TOCCSID(${TGTCCSID})"
+                CMD="${CMD} DTAFMT(*TEXT) REPLACE(*YES)"
+                system "${CMD}"
+        fi
+done
+
+
+#       Build in each directory.
+
+# for SUBDIR in include lib src tests
+for SUBDIR in include lib src
+do      "${SCRIPTDIR}/make-${SUBDIR}.sh"
+done
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/OS400/os400sys.c b/ap/lib/libcurl/curl-7.54.1/packages/OS400/os400sys.c
new file mode 100644
index 0000000..89837bd
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/OS400/os400sys.c
@@ -0,0 +1,1416 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ *
+ ***************************************************************************/
+
+/* OS/400 additional support. */
+
+#include "curlbuild.h"
+#include "config-os400.h"  /* Not curl_setup.h: we only need some defines. */
+
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/un.h>
+
+#include <stdlib.h>
+#include <stddef.h>
+#include <string.h>
+#include <pthread.h>
+#include <netdb.h>
+#include <qadrt.h>
+#include <errno.h>
+
+#ifdef HAVE_ZLIB_H
+#include <zlib.h>
+#endif
+
+#ifdef USE_GSKIT
+#include <gskssl.h>
+#include <qsoasync.h>
+#endif
+
+#ifdef HAVE_GSSAPI
+#include <gssapi.h>
+#endif
+
+#ifndef CURL_DISABLE_LDAP
+#include <ldap.h>
+#endif
+
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#include "os400sys.h"
+
+
+/**
+***     QADRT OS/400 ASCII runtime defines only the most used procedures, but
+***             but a lot of them are not supported. This module implements
+***             ASCII wrappers for those that are used by libcurl, but not
+***             defined by QADRT.
+**/
+
+#pragma convert(0)                              /* Restore EBCDIC. */
+
+
+#define MIN_BYTE_GAIN   1024    /* Minimum gain when shortening a buffer. */
+
+typedef struct {
+        unsigned long   size;                   /* Buffer size. */
+        char *          buf;                    /* Buffer address. */
+}               buffer_t;
+
+
+static char *   buffer_undef(localkey_t key, long size);
+static char *   buffer_threaded(localkey_t key, long size);
+static char *   buffer_unthreaded(localkey_t key, long size);
+
+static pthread_mutex_t  mutex = PTHREAD_MUTEX_INITIALIZER;
+static pthread_key_t    thdkey;
+static buffer_t *       locbufs;
+
+char *  (* Curl_thread_buffer)(localkey_t key, long size) = buffer_undef;
+
+
+static void
+thdbufdestroy(void * private)
+
+{
+  if(private) {
+    buffer_t * p = (buffer_t *) private;
+    localkey_t i;
+
+    for(i = (localkey_t) 0; i < LK_LAST; i++) {
+      free(p->buf);
+      p++;
+      }
+
+    free(private);
+    }
+}
+
+
+static void
+terminate(void)
+
+{
+  if(Curl_thread_buffer == buffer_threaded) {
+    locbufs = pthread_getspecific(thdkey);
+    pthread_setspecific(thdkey, (void *) NULL);
+    pthread_key_delete(thdkey);
+    }
+
+  if(Curl_thread_buffer != buffer_undef) {
+    thdbufdestroy((void *) locbufs);
+    locbufs = (buffer_t *) NULL;
+    }
+
+  Curl_thread_buffer = buffer_undef;
+}
+
+
+static char *
+get_buffer(buffer_t * buf, long size)
+
+{
+  char * cp;
+
+  /* If `size' >= 0, make sure buffer at `buf' is at least `size'-byte long.
+     Return the buffer address. */
+
+  if(size < 0)
+    return buf->buf;
+
+  if(!buf->buf) {
+    if((buf->buf = malloc(size)))
+      buf->size = size;
+
+    return buf->buf;
+    }
+
+  if((unsigned long) size <= buf->size) {
+    /* Shorten the buffer only if it frees a significant byte count. This
+       avoids some realloc() overhead. */
+
+    if(buf->size - size < MIN_BYTE_GAIN)
+      return buf->buf;
+    }
+
+  /* Resize the buffer. */
+
+  if((cp = realloc(buf->buf, size))) {
+    buf->buf = cp;
+    buf->size = size;
+    }
+  else if(size <= buf->size)
+    cp = buf->buf;
+
+  return cp;
+}
+
+
+static char *
+buffer_unthreaded(localkey_t key, long size)
+
+{
+  return get_buffer(locbufs + key, size);
+}
+
+
+static char *
+buffer_threaded(localkey_t key, long size)
+
+{
+  buffer_t * bufs;
+
+  /* Get the buffer for the given local key in the current thread, and
+     make sure it is at least `size'-byte long. Set `size' to < 0 to get
+     its address only. */
+
+  bufs = (buffer_t *) pthread_getspecific(thdkey);
+
+  if(!bufs) {
+    if(size < 0)
+      return (char *) NULL;             /* No buffer yet. */
+
+    /* Allocate buffer descriptors for the current thread. */
+
+    if(!(bufs = calloc((size_t) LK_LAST, sizeof *bufs)))
+      return (char *) NULL;
+
+    if(pthread_setspecific(thdkey, (void *) bufs)) {
+      free(bufs);
+      return (char *) NULL;
+      }
+    }
+
+  return get_buffer(bufs + key, size);
+}
+
+
+static char *
+buffer_undef(localkey_t key, long size)
+
+{
+  /* Define the buffer system, get the buffer for the given local key in
+     the current thread, and make sure it is at least `size'-byte long.
+     Set `size' to < 0 to get its address only. */
+
+  pthread_mutex_lock(&mutex);
+
+  /* Determine if we can use pthread-specific data. */
+
+  if(Curl_thread_buffer == buffer_undef) {      /* If unchanged during lock. */
+    if(!pthread_key_create(&thdkey, thdbufdestroy))
+      Curl_thread_buffer = buffer_threaded;
+    else if(!(locbufs = calloc((size_t) LK_LAST, sizeof *locbufs))) {
+      pthread_mutex_unlock(&mutex);
+      return (char *) NULL;
+      }
+    else
+        Curl_thread_buffer = buffer_unthreaded;
+
+    atexit(terminate);
+    }
+
+  pthread_mutex_unlock(&mutex);
+  return Curl_thread_buffer(key, size);
+}
+
+
+static char *
+set_thread_string(localkey_t key, const char * s)
+
+{
+  int i;
+  char * cp;
+
+  if(!s)
+    return (char *) NULL;
+
+  i = strlen(s) + 1;
+  cp = Curl_thread_buffer(key, MAX_CONV_EXPANSION * i + 1);
+
+  if(cp) {
+    i = QadrtConvertE2A(cp, s, MAX_CONV_EXPANSION * i, i);
+    cp[i] = '\0';
+  }
+
+  return cp;
+}
+
+
+int
+Curl_getnameinfo_a(const struct sockaddr * sa, curl_socklen_t salen,
+              char * nodename, curl_socklen_t nodenamelen,
+              char * servname, curl_socklen_t servnamelen,
+              int flags)
+
+{
+  char * enodename;
+  char * eservname;
+  int status;
+  int i;
+
+  enodename = (char *) NULL;
+  eservname = (char *) NULL;
+
+  if(nodename && nodenamelen)
+    if(!(enodename = malloc(nodenamelen)))
+      return EAI_MEMORY;
+
+  if(servname && servnamelen)
+    if(!(eservname = malloc(servnamelen))) {
+      free(enodename);
+      return EAI_MEMORY;
+      }
+
+  status = getnameinfo(sa, salen, enodename, nodenamelen,
+                       eservname, servnamelen, flags);
+
+  if(!status) {
+    if(enodename) {
+      i = QadrtConvertE2A(nodename, enodename,
+        nodenamelen - 1, strlen(enodename));
+      nodename[i] = '\0';
+      }
+
+    if(eservname) {
+      i = QadrtConvertE2A(servname, eservname,
+        servnamelen - 1, strlen(eservname));
+      servname[i] = '\0';
+      }
+    }
+
+  free(enodename);
+  free(eservname);
+  return status;
+}
+
+
+int
+Curl_getaddrinfo_a(const char * nodename, const char * servname,
+            const struct addrinfo * hints,
+            struct addrinfo * * res)
+
+{
+  char * enodename;
+  char * eservname;
+  int status;
+  int i;
+
+  enodename = (char *) NULL;
+  eservname = (char *) NULL;
+
+  if(nodename) {
+    i = strlen(nodename);
+
+    if(!(enodename = malloc(i + 1)))
+      return EAI_MEMORY;
+
+    i = QadrtConvertA2E(enodename, nodename, i, i);
+    enodename[i] = '\0';
+    }
+
+  if(servname) {
+    i = strlen(servname);
+
+    if(!(eservname = malloc(i + 1))) {
+      free(enodename);
+      return EAI_MEMORY;
+      }
+
+    QadrtConvertA2E(eservname, servname, i, i);
+    eservname[i] = '\0';
+    }
+
+  status = getaddrinfo(enodename, eservname, hints, res);
+  free(enodename);
+  free(eservname);
+  return status;
+}
+
+
+#ifdef USE_GSKIT
+
+/* ASCII wrappers for the GSKit procedures. */
+
+/*
+ * EBCDIC --> ASCII string mapping table.
+ * Some strings returned by GSKit are dynamically allocated and automatically
+ * released when closing the handle.
+ * To provide the same functionality, we use a "private" handle that
+ * holds the GSKit handle and a list of string mappings. This will allow
+ * avoid conversion of already converted strings and releasing them upon
+ * close time.
+ */
+
+struct gskstrlist {
+  struct gskstrlist * next;
+  const char * ebcdicstr;
+  const char * asciistr;
+};
+
+struct Curl_gsk_descriptor {
+  gsk_handle h;
+  struct gskstrlist * strlist;
+};
+
+
+int
+Curl_gsk_environment_open(gsk_handle * my_env_handle)
+
+{
+  struct Curl_gsk_descriptor * p;
+  gsk_handle h;
+  int rc;
+
+  if(!my_env_handle)
+    return GSK_OS400_ERROR_INVALID_POINTER;
+  if(!(p = (struct Curl_gsk_descriptor *) malloc(sizeof *p)))
+    return GSK_INSUFFICIENT_STORAGE;
+  p->strlist = (struct gskstrlist *) NULL;
+  if((rc = gsk_environment_open(&p->h)) != GSK_OK)
+    free(p);
+  else
+    *my_env_handle = (gsk_handle) p;
+  return rc;
+}
+
+
+int
+Curl_gsk_secure_soc_open(gsk_handle my_env_handle,
+                         gsk_handle * my_session_handle)
+
+{
+  struct Curl_gsk_descriptor * p;
+  gsk_handle h;
+  int rc;
+
+  if(!my_env_handle)
+    return GSK_INVALID_HANDLE;
+  if(!my_session_handle)
+    return GSK_OS400_ERROR_INVALID_POINTER;
+  h = ((struct Curl_gsk_descriptor *) my_env_handle)->h;
+  if(!(p = (struct Curl_gsk_descriptor *) malloc(sizeof *p)))
+    return GSK_INSUFFICIENT_STORAGE;
+  p->strlist = (struct gskstrlist *) NULL;
+  if((rc = gsk_secure_soc_open(h, &p->h)) != GSK_OK)
+    free(p);
+  else
+    *my_session_handle = (gsk_handle) p;
+  return rc;
+}
+
+
+static void
+gsk_free_handle(struct Curl_gsk_descriptor * p)
+
+{
+  struct gskstrlist * q;
+
+  while((q = p->strlist)) {
+    p->strlist = q;
+    free((void *) q->asciistr);
+    free(q);
+  }
+  free(p);
+}
+
+
+int
+Curl_gsk_environment_close(gsk_handle * my_env_handle)
+
+{
+  struct Curl_gsk_descriptor * p;
+  int rc;
+
+  if(!my_env_handle)
+    return GSK_OS400_ERROR_INVALID_POINTER;
+  if(!*my_env_handle)
+    return GSK_INVALID_HANDLE;
+  p = (struct Curl_gsk_descriptor *) *my_env_handle;
+  if((rc = gsk_environment_close(&p->h)) == GSK_OK) {
+    gsk_free_handle(p);
+    *my_env_handle = (gsk_handle) NULL;
+  }
+  return rc;
+}
+
+
+int
+Curl_gsk_secure_soc_close(gsk_handle * my_session_handle)
+
+{
+  struct Curl_gsk_descriptor * p;
+  int rc;
+
+  if(!my_session_handle)
+    return GSK_OS400_ERROR_INVALID_POINTER;
+  if(!*my_session_handle)
+    return GSK_INVALID_HANDLE;
+  p = (struct Curl_gsk_descriptor *) *my_session_handle;
+  if((rc = gsk_secure_soc_close(&p->h)) == GSK_OK) {
+    gsk_free_handle(p);
+    *my_session_handle = (gsk_handle) NULL;
+  }
+  return rc;
+}
+
+
+int
+Curl_gsk_environment_init(gsk_handle my_env_handle)
+
+{
+  struct Curl_gsk_descriptor * p;
+
+  if(!my_env_handle)
+    return GSK_INVALID_HANDLE;
+  p = (struct Curl_gsk_descriptor *) my_env_handle;
+  return gsk_environment_init(p->h);
+}
+
+
+int
+Curl_gsk_secure_soc_init(gsk_handle my_session_handle)
+
+{
+  struct Curl_gsk_descriptor * p;
+
+  if(!my_session_handle)
+    return GSK_INVALID_HANDLE;
+  p = (struct Curl_gsk_descriptor *) my_session_handle;
+  return gsk_secure_soc_init(p->h);
+}
+
+
+int
+Curl_gsk_attribute_set_buffer_a(gsk_handle my_gsk_handle, GSK_BUF_ID bufID,
+                                const char * buffer, int bufSize)
+
+{
+  struct Curl_gsk_descriptor * p;
+  char * ebcdicbuf;
+  int rc;
+
+  if(!my_gsk_handle)
+    return GSK_INVALID_HANDLE;
+  if(!buffer)
+    return GSK_OS400_ERROR_INVALID_POINTER;
+  if(bufSize < 0)
+    return GSK_ATTRIBUTE_INVALID_LENGTH;
+  p = (struct Curl_gsk_descriptor *) my_gsk_handle;
+  if(!bufSize)
+    bufSize = strlen(buffer);
+  if(!(ebcdicbuf = malloc(bufSize + 1)))
+      return GSK_INSUFFICIENT_STORAGE;
+  QadrtConvertA2E(ebcdicbuf, buffer, bufSize, bufSize);
+  ebcdicbuf[bufSize] = '\0';
+  rc = gsk_attribute_set_buffer(p->h, bufID, ebcdicbuf, bufSize);
+  free(ebcdicbuf);
+  return rc;
+}
+
+
+int
+Curl_gsk_attribute_set_enum(gsk_handle my_gsk_handle, GSK_ENUM_ID enumID,
+                            GSK_ENUM_VALUE enumValue)
+
+{
+  struct Curl_gsk_descriptor * p;
+
+  if(!my_gsk_handle)
+    return GSK_INVALID_HANDLE;
+  p = (struct Curl_gsk_descriptor *) my_gsk_handle;
+  return gsk_attribute_set_enum(p->h, enumID, enumValue);
+}
+
+
+int
+Curl_gsk_attribute_set_numeric_value(gsk_handle my_gsk_handle,
+                                     GSK_NUM_ID numID, int numValue)
+
+{
+  struct Curl_gsk_descriptor * p;
+
+  if(!my_gsk_handle)
+    return GSK_INVALID_HANDLE;
+  p = (struct Curl_gsk_descriptor *) my_gsk_handle;
+  return gsk_attribute_set_numeric_value(p->h, numID, numValue);
+}
+
+
+int
+Curl_gsk_attribute_set_callback(gsk_handle my_gsk_handle,
+                                GSK_CALLBACK_ID callBackID,
+                                void * callBackAreaPtr)
+
+{
+  struct Curl_gsk_descriptor * p;
+
+  if(!my_gsk_handle)
+    return GSK_INVALID_HANDLE;
+  p = (struct Curl_gsk_descriptor *) my_gsk_handle;
+  return gsk_attribute_set_callback(p->h, callBackID, callBackAreaPtr);
+}
+
+
+static int
+cachestring(struct Curl_gsk_descriptor * p,
+            const char * ebcdicbuf, int bufsize, const char * * buffer)
+
+{
+  int rc;
+  char * asciibuf;
+  struct gskstrlist * sp;
+
+  for(sp = p->strlist; sp; sp = sp->next)
+    if(sp->ebcdicstr == ebcdicbuf)
+      break;
+  if(!sp) {
+    if(!(sp = (struct gskstrlist *) malloc(sizeof *sp)))
+      return GSK_INSUFFICIENT_STORAGE;
+    if(!(asciibuf = malloc(bufsize + 1))) {
+      free(sp);
+      return GSK_INSUFFICIENT_STORAGE;
+    }
+    QadrtConvertE2A(asciibuf, ebcdicbuf, bufsize, bufsize);
+    asciibuf[bufsize] = '\0';
+    sp->ebcdicstr = ebcdicbuf;
+    sp->asciistr = asciibuf;
+    sp->next = p->strlist;
+    p->strlist = sp;
+  }
+  *buffer = sp->asciistr;
+  return GSK_OK;
+}
+
+
+int
+Curl_gsk_attribute_get_buffer_a(gsk_handle my_gsk_handle, GSK_BUF_ID bufID,
+                                const char * * buffer, int * bufSize)
+
+{
+  struct Curl_gsk_descriptor * p;
+  int rc;
+  const char * mybuf;
+  int mylen;
+
+  if(!my_gsk_handle)
+    return GSK_INVALID_HANDLE;
+  if(!buffer || !bufSize)
+    return GSK_OS400_ERROR_INVALID_POINTER;
+  p = (struct Curl_gsk_descriptor *) my_gsk_handle;
+  if((rc = gsk_attribute_get_buffer(p->h, bufID, &mybuf, &mylen)) != GSK_OK)
+    return rc;
+  if((rc = cachestring(p, mybuf, mylen, buffer)) == GSK_OK)
+    *bufSize = mylen;
+  return rc;
+}
+
+
+int
+Curl_gsk_attribute_get_enum(gsk_handle my_gsk_handle, GSK_ENUM_ID enumID,
+                            GSK_ENUM_VALUE * enumValue)
+
+{
+  struct Curl_gsk_descriptor * p;
+
+  if(!my_gsk_handle)
+    return GSK_INVALID_HANDLE;
+  p = (struct Curl_gsk_descriptor *) my_gsk_handle;
+  return gsk_attribute_get_enum(p->h, enumID, enumValue);
+}
+
+
+int
+Curl_gsk_attribute_get_numeric_value(gsk_handle my_gsk_handle,
+                                     GSK_NUM_ID numID, int * numValue)
+
+{
+  struct Curl_gsk_descriptor * p;
+
+  if(!my_gsk_handle)
+    return GSK_INVALID_HANDLE;
+  p = (struct Curl_gsk_descriptor *) my_gsk_handle;
+  return gsk_attribute_get_numeric_value(p->h, numID, numValue);
+}
+
+
+int
+Curl_gsk_attribute_get_cert_info(gsk_handle my_gsk_handle,
+                                 GSK_CERT_ID certID,
+                                 const gsk_cert_data_elem * * certDataElem,
+                                 int * certDataElementCount)
+
+{
+  struct Curl_gsk_descriptor * p;
+
+  if(!my_gsk_handle)
+    return GSK_INVALID_HANDLE;
+  p = (struct Curl_gsk_descriptor *) my_gsk_handle;
+  /* No need to convert code: text results are already in ASCII. */
+  return gsk_attribute_get_cert_info(p->h, certID,
+                                     certDataElem, certDataElementCount);
+}
+
+
+int
+Curl_gsk_secure_soc_misc(gsk_handle my_session_handle, GSK_MISC_ID miscID)
+
+{
+  struct Curl_gsk_descriptor * p;
+
+  if(!my_session_handle)
+    return GSK_INVALID_HANDLE;
+  p = (struct Curl_gsk_descriptor *) my_session_handle;
+  return gsk_secure_soc_misc(p->h, miscID);
+}
+
+
+int
+Curl_gsk_secure_soc_read(gsk_handle my_session_handle, char * readBuffer,
+                         int readBufSize, int * amtRead)
+
+{
+  struct Curl_gsk_descriptor * p;
+
+  if(!my_session_handle)
+    return GSK_INVALID_HANDLE;
+  p = (struct Curl_gsk_descriptor *) my_session_handle;
+  return gsk_secure_soc_read(p->h, readBuffer, readBufSize, amtRead);
+}
+
+
+int
+Curl_gsk_secure_soc_write(gsk_handle my_session_handle, char * writeBuffer,
+                          int writeBufSize, int * amtWritten)
+
+{
+  struct Curl_gsk_descriptor * p;
+
+  if(!my_session_handle)
+    return GSK_INVALID_HANDLE;
+  p = (struct Curl_gsk_descriptor *) my_session_handle;
+  return gsk_secure_soc_write(p->h, writeBuffer, writeBufSize, amtWritten);
+}
+
+
+const char *
+Curl_gsk_strerror_a(int gsk_return_value)
+
+{
+  return set_thread_string(LK_GSK_ERROR, gsk_strerror(gsk_return_value));
+}
+
+int
+Curl_gsk_secure_soc_startInit(gsk_handle my_session_handle,
+                              int IOCompletionPort,
+                              Qso_OverlappedIO_t * communicationsArea)
+
+{
+  struct Curl_gsk_descriptor * p;
+
+  if(!my_session_handle)
+    return GSK_INVALID_HANDLE;
+  p = (struct Curl_gsk_descriptor *) my_session_handle;
+  return gsk_secure_soc_startInit(p->h, IOCompletionPort, communicationsArea);
+}
+
+#endif /* USE_GSKIT */
+
+
+
+#ifdef HAVE_GSSAPI
+
+/* ASCII wrappers for the GSSAPI procedures. */
+
+static int
+Curl_gss_convert_in_place(OM_uint32 * minor_status, gss_buffer_t buf)
+
+{
+  unsigned int i;
+  char * t;
+
+  /* Convert `buf' in place, from EBCDIC to ASCII.
+     If error, release the buffer and return -1. Else return 0. */
+
+  i = buf->length;
+
+  if(i) {
+    if(!(t = malloc(i))) {
+      gss_release_buffer(minor_status, buf);
+
+      if(minor_status)
+        *minor_status = ENOMEM;
+
+      return -1;
+      }
+
+    QadrtConvertE2A(t, buf->value, i, i);
+    memcpy(buf->value, t, i);
+    free(t);
+    }
+
+  return 0;
+}
+
+
+OM_uint32
+Curl_gss_import_name_a(OM_uint32 * minor_status, gss_buffer_t in_name,
+                       gss_OID in_name_type, gss_name_t * out_name)
+
+{
+  int rc;
+  unsigned int i;
+  gss_buffer_desc in;
+
+  if(!in_name || !in_name->value || !in_name->length)
+    return gss_import_name(minor_status, in_name, in_name_type, out_name);
+
+  memcpy((char *) &in, (char *) in_name, sizeof in);
+  i = in.length;
+
+  if(!(in.value = malloc(i + 1))) {
+    if(minor_status)
+      *minor_status = ENOMEM;
+
+    return GSS_S_FAILURE;
+    }
+
+  QadrtConvertA2E(in.value, in_name->value, i, i);
+  ((char *) in.value)[i] = '\0';
+  rc = gss_import_name(minor_status, &in, in_name_type, out_name);
+  free(in.value);
+  return rc;
+}
+
+
+OM_uint32
+Curl_gss_display_status_a(OM_uint32 * minor_status, OM_uint32 status_value,
+                   int status_type, gss_OID mech_type,
+                   gss_msg_ctx_t * message_context, gss_buffer_t status_string)
+
+{
+  int rc;
+
+  rc = gss_display_status(minor_status, status_value, status_type,
+                              mech_type, message_context, status_string);
+
+  if(rc != GSS_S_COMPLETE || !status_string ||
+     !status_string->length || !status_string->value)
+    return rc;
+
+  /* No way to allocate a buffer here, because it will be released by
+     gss_release_buffer(). The solution is to overwrite the EBCDIC buffer
+     with ASCII to return it. */
+
+  if(Curl_gss_convert_in_place(minor_status, status_string))
+    return GSS_S_FAILURE;
+
+  return rc;
+}
+
+
+OM_uint32
+Curl_gss_init_sec_context_a(OM_uint32 * minor_status,
+                            gss_cred_id_t cred_handle,
+                            gss_ctx_id_t * context_handle,
+                            gss_name_t target_name, gss_OID mech_type,
+                            gss_flags_t req_flags, OM_uint32 time_req,
+                            gss_channel_bindings_t input_chan_bindings,
+                            gss_buffer_t input_token,
+                            gss_OID * actual_mech_type,
+                            gss_buffer_t output_token, gss_flags_t * ret_flags,
+                            OM_uint32 * time_rec)
+
+{
+  int rc;
+  unsigned int i;
+  gss_buffer_desc in;
+  gss_buffer_t inp;
+
+  in.value = NULL;
+
+  if((inp = input_token))
+    if(inp->length && inp->value) {
+      i = inp->length;
+
+      if(!(in.value = malloc(i + 1))) {
+        if(minor_status)
+          *minor_status = ENOMEM;
+
+        return GSS_S_FAILURE;
+        }
+
+      QadrtConvertA2E(in.value, input_token->value, i, i);
+      ((char *) in.value)[i] = '\0';
+      in.length = i;
+      inp = &in;
+      }
+
+  rc = gss_init_sec_context(minor_status, cred_handle, context_handle,
+                             target_name, mech_type, req_flags, time_req,
+                             input_chan_bindings, inp, actual_mech_type,
+                             output_token, ret_flags, time_rec);
+  free(in.value);
+
+  if(rc != GSS_S_COMPLETE || !output_token ||
+      !output_token->length || !output_token->value)
+    return rc;
+
+  /* No way to allocate a buffer here, because it will be released by
+     gss_release_buffer(). The solution is to overwrite the EBCDIC buffer
+     with ASCII to return it. */
+
+  if(Curl_gss_convert_in_place(minor_status, output_token))
+    return GSS_S_FAILURE;
+
+  return rc;
+}
+
+
+OM_uint32
+Curl_gss_delete_sec_context_a(OM_uint32 * minor_status,
+                              gss_ctx_id_t * context_handle,
+                              gss_buffer_t output_token)
+
+{
+  int rc;
+
+  rc = gss_delete_sec_context(minor_status, context_handle, output_token);
+
+  if(rc != GSS_S_COMPLETE || !output_token ||
+      !output_token->length || !output_token->value)
+    return rc;
+
+  /* No way to allocate a buffer here, because it will be released by
+     gss_release_buffer(). The solution is to overwrite the EBCDIC buffer
+     with ASCII to return it. */
+
+  if(Curl_gss_convert_in_place(minor_status, output_token))
+    return GSS_S_FAILURE;
+
+  return rc;
+}
+
+#endif /* HAVE_GSSAPI */
+
+
+#ifndef CURL_DISABLE_LDAP
+
+/* ASCII wrappers for the LDAP procedures. */
+
+void *
+Curl_ldap_init_a(char * host, int port)
+
+{
+  unsigned int i;
+  char * ehost;
+  void * result;
+
+  if(!host)
+    return (void *) ldap_init(host, port);
+
+  i = strlen(host);
+
+  if(!(ehost = malloc(i + 1)))
+    return (void *) NULL;
+
+  QadrtConvertA2E(ehost, host, i, i);
+  ehost[i] = '\0';
+  result = (void *) ldap_init(ehost, port);
+  free(ehost);
+  return result;
+}
+
+
+int
+Curl_ldap_simple_bind_s_a(void * ld, char * dn, char * passwd)
+
+{
+  int i;
+  char * edn;
+  char * epasswd;
+
+  edn = (char *) NULL;
+  epasswd = (char *) NULL;
+
+  if(dn) {
+    i = strlen(dn);
+
+    if(!(edn = malloc(i + 1)))
+      return LDAP_NO_MEMORY;
+
+    QadrtConvertA2E(edn, dn, i, i);
+    edn[i] = '\0';
+    }
+
+  if(passwd) {
+    i = strlen(passwd);
+
+    if(!(epasswd = malloc(i + 1))) {
+      free(edn);
+      return LDAP_NO_MEMORY;
+      }
+
+    QadrtConvertA2E(epasswd, passwd, i, i);
+    epasswd[i] = '\0';
+    }
+
+  i = ldap_simple_bind_s(ld, edn, epasswd);
+  free(epasswd);
+  free(edn);
+  return i;
+}
+
+
+int
+Curl_ldap_search_s_a(void * ld, char * base, int scope, char * filter,
+                     char * * attrs, int attrsonly, LDAPMessage * * res)
+
+{
+  int i;
+  int j;
+  char * ebase;
+  char * efilter;
+  char * * eattrs;
+  int status;
+
+  ebase = (char *) NULL;
+  efilter = (char *) NULL;
+  eattrs = (char * *) NULL;
+  status = LDAP_SUCCESS;
+
+  if(base) {
+    i = strlen(base);
+
+    if(!(ebase = malloc(i + 1)))
+      status = LDAP_NO_MEMORY;
+    else {
+      QadrtConvertA2E(ebase, base, i, i);
+      ebase[i] = '\0';
+      }
+    }
+
+  if(filter && status == LDAP_SUCCESS) {
+    i = strlen(filter);
+
+    if(!(efilter = malloc(i + 1)))
+      status = LDAP_NO_MEMORY;
+    else {
+      QadrtConvertA2E(efilter, filter, i, i);
+      efilter[i] = '\0';
+      }
+    }
+
+  if(attrs && status == LDAP_SUCCESS) {
+    for(i = 0; attrs[i++];)
+      ;
+
+    if(!(eattrs = calloc(i, sizeof *eattrs)))
+      status = LDAP_NO_MEMORY;
+    else {
+      for(j = 0; attrs[j]; j++) {
+        i = strlen(attrs[j]);
+
+        if(!(eattrs[j] = malloc(i + 1))) {
+          status = LDAP_NO_MEMORY;
+          break;
+          }
+
+        QadrtConvertA2E(eattrs[j], attrs[j], i, i);
+        eattrs[j][i] = '\0';
+        }
+      }
+    }
+
+  if(status == LDAP_SUCCESS)
+    status = ldap_search_s(ld, ebase? ebase: "", scope,
+                           efilter? efilter: "(objectclass=*)",
+                           eattrs, attrsonly, res);
+
+  if(eattrs) {
+    for(j = 0; eattrs[j]; j++)
+      free(eattrs[j]);
+
+    free(eattrs);
+    }
+
+  free(efilter);
+  free(ebase);
+  return status;
+}
+
+
+struct berval * *
+Curl_ldap_get_values_len_a(void * ld, LDAPMessage * entry, const char * attr)
+
+{
+  char * cp;
+  struct berval * * result;
+
+  cp = (char *) NULL;
+
+  if(attr) {
+    int i = strlen(attr);
+
+    if(!(cp = malloc(i + 1))) {
+      ldap_set_lderrno(ld, LDAP_NO_MEMORY, NULL,
+                       ldap_err2string(LDAP_NO_MEMORY));
+      return (struct berval * *) NULL;
+      }
+
+    QadrtConvertA2E(cp, attr, i, i);
+    cp[i] = '\0';
+    }
+
+  result = ldap_get_values_len(ld, entry, cp);
+  free(cp);
+
+  /* Result data are binary in nature, so they haven't been
+     converted to EBCDIC. Therefore do not convert. */
+
+  return result;
+}
+
+
+char *
+Curl_ldap_err2string_a(int error)
+
+{
+  return set_thread_string(LK_LDAP_ERROR, ldap_err2string(error));
+}
+
+
+char *
+Curl_ldap_get_dn_a(void * ld, LDAPMessage * entry)
+
+{
+  int i;
+  char * cp;
+  char * cp2;
+
+  cp = ldap_get_dn(ld, entry);
+
+  if(!cp)
+    return cp;
+
+  i = strlen(cp);
+
+  if(!(cp2 = malloc(i + 1)))
+    return cp2;
+
+  QadrtConvertE2A(cp2, cp, i, i);
+  cp2[i] = '\0';
+
+  /* No way to allocate a buffer here, because it will be released by
+     ldap_memfree() and ldap_memalloc() does not exist. The solution is to
+     overwrite the EBCDIC buffer with ASCII to return it. */
+
+  strcpy(cp, cp2);
+  free(cp2);
+  return cp;
+}
+
+
+char *
+Curl_ldap_first_attribute_a(void * ld,
+                            LDAPMessage * entry, BerElement * * berptr)
+
+{
+  int i;
+  char * cp;
+  char * cp2;
+
+  cp = ldap_first_attribute(ld, entry, berptr);
+
+  if(!cp)
+    return cp;
+
+  i = strlen(cp);
+
+  if(!(cp2 = malloc(i + 1)))
+    return cp2;
+
+  QadrtConvertE2A(cp2, cp, i, i);
+  cp2[i] = '\0';
+
+  /* No way to allocate a buffer here, because it will be released by
+     ldap_memfree() and ldap_memalloc() does not exist. The solution is to
+     overwrite the EBCDIC buffer with ASCII to return it. */
+
+  strcpy(cp, cp2);
+  free(cp2);
+  return cp;
+}
+
+
+char *
+Curl_ldap_next_attribute_a(void * ld,
+                           LDAPMessage * entry, BerElement * berptr)
+
+{
+  int i;
+  char * cp;
+  char * cp2;
+
+  cp = ldap_next_attribute(ld, entry, berptr);
+
+  if(!cp)
+    return cp;
+
+  i = strlen(cp);
+
+  if(!(cp2 = malloc(i + 1)))
+    return cp2;
+
+  QadrtConvertE2A(cp2, cp, i, i);
+  cp2[i] = '\0';
+
+  /* No way to allocate a buffer here, because it will be released by
+     ldap_memfree() and ldap_memalloc() does not exist. The solution is to
+     overwrite the EBCDIC buffer with ASCII to return it. */
+
+  strcpy(cp, cp2);
+  free(cp2);
+  return cp;
+}
+
+#endif /* CURL_DISABLE_LDAP */
+
+
+static int
+convert_sockaddr(struct sockaddr_storage * dstaddr,
+                                const struct sockaddr * srcaddr, int srclen)
+
+{
+  const struct sockaddr_un * srcu;
+  struct sockaddr_un * dstu;
+  unsigned int i;
+  unsigned int dstsize;
+
+  /* Convert a socket address into job CCSID, if needed. */
+
+  if(!srcaddr || srclen < offsetof(struct sockaddr, sa_family) +
+     sizeof srcaddr->sa_family || srclen > sizeof *dstaddr) {
+    errno = EINVAL;
+    return -1;
+    }
+
+  memcpy((char *) dstaddr, (char *) srcaddr, srclen);
+
+  switch (srcaddr->sa_family) {
+
+  case AF_UNIX:
+    srcu = (const struct sockaddr_un *) srcaddr;
+    dstu = (struct sockaddr_un *) dstaddr;
+    dstsize = sizeof *dstaddr - offsetof(struct sockaddr_un, sun_path);
+    srclen -= offsetof(struct sockaddr_un, sun_path);
+    i = QadrtConvertA2E(dstu->sun_path, srcu->sun_path, dstsize - 1, srclen);
+    dstu->sun_path[i] = '\0';
+    i += offsetof(struct sockaddr_un, sun_path);
+    srclen = i;
+    }
+
+  return srclen;
+}
+
+
+int
+Curl_os400_connect(int sd, struct sockaddr * destaddr, int addrlen)
+
+{
+  int i;
+  struct sockaddr_storage laddr;
+
+  i = convert_sockaddr(&laddr, destaddr, addrlen);
+
+  if(i < 0)
+    return -1;
+
+  return connect(sd, (struct sockaddr *) &laddr, i);
+}
+
+
+int
+Curl_os400_bind(int sd, struct sockaddr * localaddr, int addrlen)
+
+{
+  int i;
+  struct sockaddr_storage laddr;
+
+  i = convert_sockaddr(&laddr, localaddr, addrlen);
+
+  if(i < 0)
+    return -1;
+
+  return bind(sd, (struct sockaddr *) &laddr, i);
+}
+
+
+int
+Curl_os400_sendto(int sd, char * buffer, int buflen, int flags,
+                                struct sockaddr * dstaddr, int addrlen)
+
+{
+  int i;
+  struct sockaddr_storage laddr;
+
+  i = convert_sockaddr(&laddr, dstaddr, addrlen);
+
+  if(i < 0)
+    return -1;
+
+  return sendto(sd, buffer, buflen, flags, (struct sockaddr *) &laddr, i);
+}
+
+
+int
+Curl_os400_recvfrom(int sd, char * buffer, int buflen, int flags,
+                                struct sockaddr * fromaddr, int * addrlen)
+
+{
+  int i;
+  int rcvlen;
+  int laddrlen;
+  const struct sockaddr_un * srcu;
+  struct sockaddr_un * dstu;
+  struct sockaddr_storage laddr;
+
+  if(!fromaddr || !addrlen || *addrlen <= 0)
+    return recvfrom(sd, buffer, buflen, flags, fromaddr, addrlen);
+
+  laddrlen = sizeof laddr;
+  laddr.ss_family = AF_UNSPEC;          /* To detect if unused. */
+  rcvlen = recvfrom(sd, buffer, buflen, flags,
+                    (struct sockaddr *) &laddr, &laddrlen);
+
+  if(rcvlen < 0)
+    return rcvlen;
+
+  switch (laddr.ss_family) {
+
+  case AF_UNIX:
+    srcu = (const struct sockaddr_un *) &laddr;
+    dstu = (struct sockaddr_un *) fromaddr;
+    i = *addrlen - offsetof(struct sockaddr_un, sun_path);
+    laddrlen -= offsetof(struct sockaddr_un, sun_path);
+    i = QadrtConvertE2A(dstu->sun_path, srcu->sun_path, i, laddrlen);
+    laddrlen = i + offsetof(struct sockaddr_un, sun_path);
+
+    if(laddrlen < *addrlen)
+      dstu->sun_path[i] = '\0';
+
+    break;
+
+  case AF_UNSPEC:
+    break;
+
+  default:
+    if(laddrlen > *addrlen)
+      laddrlen = *addrlen;
+
+    if(laddrlen)
+      memcpy((char *) fromaddr, (char *) &laddr, laddrlen);
+
+    break;
+    }
+
+  *addrlen = laddrlen;
+  return rcvlen;
+}
+
+
+#ifdef HAVE_LIBZ
+const char *
+Curl_os400_zlibVersion(void)
+
+{
+  return set_thread_string(LK_ZLIB_VERSION, zlibVersion());
+}
+
+
+int
+Curl_os400_inflateInit_(z_streamp strm, const char * version, int stream_size)
+
+{
+  z_const char * msgb4 = strm->msg;
+  int ret;
+
+  ret = inflateInit(strm);
+
+  if(strm->msg != msgb4)
+    strm->msg = set_thread_string(LK_ZLIB_MSG, strm->msg);
+
+  return ret;
+}
+
+
+int
+Curl_os400_inflateInit2_(z_streamp strm, int windowBits,
+                                        const char * version, int stream_size)
+
+{
+  z_const char * msgb4 = strm->msg;
+  int ret;
+
+  ret = inflateInit2(strm, windowBits);
+
+  if(strm->msg != msgb4)
+    strm->msg = set_thread_string(LK_ZLIB_MSG, strm->msg);
+
+  return ret;
+}
+
+
+int
+Curl_os400_inflate(z_streamp strm, int flush)
+
+{
+  z_const char * msgb4 = strm->msg;
+  int ret;
+
+  ret = inflate(strm, flush);
+
+  if(strm->msg != msgb4)
+    strm->msg = set_thread_string(LK_ZLIB_MSG, strm->msg);
+
+  return ret;
+}
+
+
+int
+Curl_os400_inflateEnd(z_streamp strm)
+
+{
+  z_const char * msgb4 = strm->msg;
+  int ret;
+
+  ret = inflateEnd(strm);
+
+  if(strm->msg != msgb4)
+    strm->msg = set_thread_string(LK_ZLIB_MSG, strm->msg);
+
+  return ret;
+}
+
+#endif
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/OS400/os400sys.h b/ap/lib/libcurl/curl-7.54.1/packages/OS400/os400sys.h
new file mode 100644
index 0000000..c98e198
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/OS400/os400sys.h
@@ -0,0 +1,55 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ *
+ ***************************************************************************/
+
+/* OS/400 additional definitions. */
+
+#ifndef __OS400_SYS_
+#define __OS400_SYS_
+
+
+/* Per-thread item identifiers. */
+
+typedef enum {
+        LK_SSL_ERROR,
+        LK_GSK_ERROR,
+        LK_LDAP_ERROR,
+        LK_CURL_VERSION,
+        LK_VERSION_INFO,
+        LK_VERSION_INFO_DATA,
+        LK_EASY_STRERROR,
+        LK_SHARE_STRERROR,
+        LK_MULTI_STRERROR,
+        LK_ZLIB_VERSION,
+        LK_ZLIB_MSG,
+        LK_LAST
+}               localkey_t;
+
+
+extern char *   (* Curl_thread_buffer)(localkey_t key, long size);
+
+
+/* Maximum string expansion factor due to character code conversion. */
+
+#define MAX_CONV_EXPANSION      4       /* Can deal with UTF-8. */
+
+#endif
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/README b/ap/lib/libcurl/curl-7.54.1/packages/README
new file mode 100644
index 0000000..2487d95
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/README
@@ -0,0 +1,27 @@
+                                  _   _ ____  _
+                              ___| | | |  _ \| |
+                             / __| | | | |_) | |
+                            | (__| |_| |  _ <| |___
+                             \___|\___/|_| \_\_____|
+
+PACKAGES
+
+ This directory and all its subdirectories are for special package
+information, template, scripts and docs. The files herein should be of use for
+those of you who want to package curl in a binary or source format using one
+of those custom formats.
+
+ The hierarchy for these directories is something like this:
+
+   packages/[OS]/[FORMAT]/
+
+ Currently, we have Win32 and Linux for [OS]. There might be different formats
+for the same OS so for Linux we have RPM as format.
+
+ We might need to add some differentiation for CPU as well, as there is
+Linux-RPMs for several CPUs. However, it might not be necessary since the
+packaging should be pretty much the same no matter what CPU that is used.
+
+ For each unique OS-FORMAT pair, there's a directory to "fill"! I'd like to
+see a single README with as much details as possible, and then I'd like some
+template files for the package process.
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Solaris/Makefile.am b/ap/lib/libcurl/curl-7.54.1/packages/Solaris/Makefile.am
new file mode 100644
index 0000000..d012947
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Solaris/Makefile.am
@@ -0,0 +1,38 @@
+#
+#
+
+PKGADD_PKG="@PKGADD_PKG@"
+PKGADD_NAME="@PACKAGE@-@VERSION@ - @PKGADD_NAME@"
+PKGADD_VENDOR="@PKGADD_VENDOR@"
+PKGADD_ARCH="@host_cpu@"
+PKGADD_DESC="@PACKAGE@-@VERSION@ - @PKGADD_NAME@"
+PKGADD_CLASSES=none
+PKGADD_BASEDIR=/
+
+PKGADD_FILE=${PKGADD_PKG}-@PACKAGE@-@VERSION@-@host@.pkg
+
+package:
+	if [ ! -f release ]; then echo 0 > release; fi
+	if [ `find root -newer release -print|wc -l` -gt 0 ]; then expr `cat release` + 1 > release; fi
+	echo PKG=${PKGADD_PKG} > pkginfo
+	echo NAME=${PKGADD_NAME} >> pkginfo
+	echo VENDOR=${PKGADD_VENDOR} >> pkginfo
+	echo ARCH=${PKGADD_ARCH} >> pkginfo
+	echo DESC=${PKGADD_DESC} >> pkginfo
+	echo CLASSES=${PKGADD_CLASSES} >> pkginfo
+	echo BASEDIR=${PKGADD_BASEDIR} >> pkginfo
+	echo CATEGORY=application >> pkginfo
+	echo VERSION=`cat ./release` >> pkginfo
+	echo > prototype
+	for subdir in opt var etc usr; \
+	do if [ -d root/$$subdir ]; then \
+		pkgproto root/$$subdir=$$subdir >> prototype;\
+	fi; done
+	for file in pkginfo preinstall postinstall copyright; \
+	do if [ -f $$file ]; then \
+		echo "i $$file=$$file" >> prototype; \
+	fi; done
+	rm -rf ./tmp
+	mkdir ./tmp
+	pkgmk -o -d ./tmp
+	pkgtrans -so ./tmp ${top_srcdir}/../${PKGADD_FILE} ${PKGADD_PKG}
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Solaris/Makefile.in b/ap/lib/libcurl/curl-7.54.1/packages/Solaris/Makefile.in
new file mode 100644
index 0000000..1941d6c
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Solaris/Makefile.in
@@ -0,0 +1,564 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 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@
+
+#
+#
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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/Solaris
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+	$(top_srcdir)/m4/curl-compilers.m4 \
+	$(top_srcdir)/m4/curl-confopts.m4 \
+	$(top_srcdir)/m4/curl-functions.m4 \
+	$(top_srcdir)/m4/curl-openssl.m4 \
+	$(top_srcdir)/m4/curl-override.m4 \
+	$(top_srcdir)/m4/curl-reentrant.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)/m4/xc-am-iface.m4 \
+	$(top_srcdir)/m4/xc-cc-check.m4 \
+	$(top_srcdir)/m4/xc-lt-iface.m4 \
+	$(top_srcdir)/m4/xc-translit.m4 \
+	$(top_srcdir)/m4/xc-val-flgs.m4 \
+	$(top_srcdir)/m4/zz40-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz50-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \
+	$(top_builddir)/include/curl/curlbuild.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@
+CURLVERSION = @CURLVERSION@
+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_SMB = @CURL_DISABLE_SMB@
+CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
+CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
+CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
+CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@
+CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_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@
+ENABLE_STATIC = @ENABLE_STATIC@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GENHTML = @GENHTML@
+GREP = @GREP@
+HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
+HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
+HAVE_LIBZ = @HAVE_LIBZ@
+HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@
+IDN_ENABLED = @IDN_ENABLED@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPV6_ENABLED = @IPV6_ENABLED@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBCURL_LIBS = @LIBCURL_LIBS@
+LIBMETALINK_CPPFLAGS = @LIBMETALINK_CPPFLAGS@
+LIBMETALINK_LDFLAGS = @LIBMETALINK_LDFLAGS@
+LIBMETALINK_LIBS = @LIBMETALINK_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MANOPT = @MANOPT@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NROFF = @NROFF@
+NSS_LIBS = @NSS_LIBS@
+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_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKGADD_NAME = "@PACKAGE@-@VERSION@ - @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@
+SSL_ENABLED = @SSL_ENABLED@
+SSL_LIBS = @SSL_LIBS@
+STRIP = @STRIP@
+SUPPORT_FEATURES = @SUPPORT_FEATURES@
+SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
+USE_ARES = @USE_ARES@
+USE_AXTLS = @USE_AXTLS@
+USE_CYASSL = @USE_CYASSL@
+USE_DARWINSSL = @USE_DARWINSSL@
+USE_GNUTLS = @USE_GNUTLS@
+USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@
+USE_LIBRTMP = @USE_LIBRTMP@
+USE_LIBSSH2 = @USE_LIBSSH2@
+USE_MBEDTLS = @USE_MBEDTLS@
+USE_NGHTTP2 = @USE_NGHTTP2@
+USE_NSS = @USE_NSS@
+USE_OPENLDAP = @USE_OPENLDAP@
+USE_POLARSSL = @USE_POLARSSL@
+USE_SCHANNEL = @USE_SCHANNEL@
+USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@
+USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
+VERSION = @VERSION@
+VERSIONNUM = @VERSIONNUM@
+ZLIB_LIBS = @ZLIB_LIBS@
+ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+builddir = @builddir@
+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@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+PKGADD_ARCH = "@host_cpu@"
+PKGADD_DESC = "@PACKAGE@-@VERSION@ - @PKGADD_NAME@"
+PKGADD_CLASSES = none
+PKGADD_BASEDIR = /
+PKGADD_FILE = ${PKGADD_PKG}-@PACKAGE@-@VERSION@-@host@.pkg
+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 ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/Solaris/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign packages/Solaris/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
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$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:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+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:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+package:
+	if [ ! -f release ]; then echo 0 > release; fi
+	if [ `find root -newer release -print|wc -l` -gt 0 ]; then expr `cat release` + 1 > release; fi
+	echo PKG=${PKGADD_PKG} > pkginfo
+	echo NAME=${PKGADD_NAME} >> pkginfo
+	echo VENDOR=${PKGADD_VENDOR} >> pkginfo
+	echo ARCH=${PKGADD_ARCH} >> pkginfo
+	echo DESC=${PKGADD_DESC} >> pkginfo
+	echo CLASSES=${PKGADD_CLASSES} >> pkginfo
+	echo BASEDIR=${PKGADD_BASEDIR} >> pkginfo
+	echo CATEGORY=application >> pkginfo
+	echo VERSION=`cat ./release` >> pkginfo
+	echo > prototype
+	for subdir in opt var etc usr; \
+	do if [ -d root/$$subdir ]; then \
+		pkgproto root/$$subdir=$$subdir >> prototype;\
+	fi; done
+	for file in pkginfo preinstall postinstall copyright; \
+	do if [ -f $$file ]; then \
+		echo "i $$file=$$file" >> prototype; \
+	fi; done
+	rm -rf ./tmp
+	mkdir ./tmp
+	pkgmk -o -d ./tmp
+	pkgtrans -so ./tmp ${top_srcdir}/../${PKGADD_FILE} ${PKGADD_PKG}
+
+# 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/ap/lib/libcurl/curl-7.54.1/packages/Symbian/bwins/libcurlu.def b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/bwins/libcurlu.def
new file mode 100644
index 0000000..035df13
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/bwins/libcurlu.def
@@ -0,0 +1,61 @@
+EXPORTS
+	curl_easy_cleanup @ 1 NONAME
+	curl_easy_duphandle @ 2 NONAME
+	curl_easy_escape @ 3 NONAME
+	curl_easy_getinfo @ 4 NONAME
+	curl_easy_init @ 5 NONAME
+	curl_easy_pause @ 6 NONAME
+	curl_easy_perform @ 7 NONAME
+	curl_easy_reset @ 8 NONAME
+	curl_easy_setopt @ 9 NONAME
+	curl_easy_strerror @ 10 NONAME
+	curl_easy_unescape @ 11 NONAME
+	curl_escape @ 12 NONAME
+	curl_formadd @ 13 NONAME
+	curl_formfree @ 14 NONAME
+	curl_formget @ 15 NONAME
+	curl_free @ 16 NONAME
+	curl_getdate @ 17 NONAME
+	curl_getenv @ 18 NONAME
+	curl_global_cleanup @ 19 NONAME
+	curl_global_init @ 20 NONAME
+	curl_global_init_mem @ 21 NONAME
+	curl_maprintf @ 22 NONAME
+	curl_mfprintf @ 23 NONAME
+	curl_mprintf @ 24 NONAME
+	curl_msnprintf @ 25 NONAME
+	curl_msprintf @ 26 NONAME
+	curl_multi_add_handle @ 27 NONAME
+	curl_multi_assign @ 28 NONAME
+	curl_multi_cleanup @ 29 NONAME
+	curl_multi_fdset @ 30 NONAME
+	curl_multi_info_read @ 31 NONAME
+	curl_multi_init @ 32 NONAME
+	curl_multi_perform @ 33 NONAME
+	curl_multi_remove_handle @ 34 NONAME
+	curl_multi_setopt @ 35 NONAME
+	curl_multi_socket @ 36 NONAME
+	curl_multi_socket_action @ 37 NONAME
+	curl_multi_socket_all @ 38 NONAME
+	curl_multi_strerror @ 39 NONAME
+	curl_multi_timeout @ 40 NONAME
+	curl_mvaprintf @ 41 NONAME
+	curl_mvfprintf @ 42 NONAME
+	curl_mvprintf @ 43 NONAME
+	curl_mvsnprintf @ 44 NONAME
+	curl_mvsprintf @ 45 NONAME
+	curl_share_cleanup @ 46 NONAME
+	curl_share_init @ 47 NONAME
+	curl_share_setopt @ 48 NONAME
+	curl_share_strerror @ 49 NONAME
+	curl_slist_append @ 50 NONAME
+	curl_slist_free_all @ 51 NONAME
+	curl_strequal @ 52 NONAME
+	curl_strnequal @ 53 NONAME
+	curl_unescape @ 54 NONAME
+	curl_version @ 55 NONAME
+	curl_version_info @ 56 NONAME
+	curl_easy_recv @ 57 NONAME
+	curl_easy_send @ 58 NONAME
+	curl_multi_wait @ 59 NONAME
+
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Symbian/eabi/libcurlu.def b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/eabi/libcurlu.def
new file mode 100644
index 0000000..035df13
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/eabi/libcurlu.def
@@ -0,0 +1,61 @@
+EXPORTS
+	curl_easy_cleanup @ 1 NONAME
+	curl_easy_duphandle @ 2 NONAME
+	curl_easy_escape @ 3 NONAME
+	curl_easy_getinfo @ 4 NONAME
+	curl_easy_init @ 5 NONAME
+	curl_easy_pause @ 6 NONAME
+	curl_easy_perform @ 7 NONAME
+	curl_easy_reset @ 8 NONAME
+	curl_easy_setopt @ 9 NONAME
+	curl_easy_strerror @ 10 NONAME
+	curl_easy_unescape @ 11 NONAME
+	curl_escape @ 12 NONAME
+	curl_formadd @ 13 NONAME
+	curl_formfree @ 14 NONAME
+	curl_formget @ 15 NONAME
+	curl_free @ 16 NONAME
+	curl_getdate @ 17 NONAME
+	curl_getenv @ 18 NONAME
+	curl_global_cleanup @ 19 NONAME
+	curl_global_init @ 20 NONAME
+	curl_global_init_mem @ 21 NONAME
+	curl_maprintf @ 22 NONAME
+	curl_mfprintf @ 23 NONAME
+	curl_mprintf @ 24 NONAME
+	curl_msnprintf @ 25 NONAME
+	curl_msprintf @ 26 NONAME
+	curl_multi_add_handle @ 27 NONAME
+	curl_multi_assign @ 28 NONAME
+	curl_multi_cleanup @ 29 NONAME
+	curl_multi_fdset @ 30 NONAME
+	curl_multi_info_read @ 31 NONAME
+	curl_multi_init @ 32 NONAME
+	curl_multi_perform @ 33 NONAME
+	curl_multi_remove_handle @ 34 NONAME
+	curl_multi_setopt @ 35 NONAME
+	curl_multi_socket @ 36 NONAME
+	curl_multi_socket_action @ 37 NONAME
+	curl_multi_socket_all @ 38 NONAME
+	curl_multi_strerror @ 39 NONAME
+	curl_multi_timeout @ 40 NONAME
+	curl_mvaprintf @ 41 NONAME
+	curl_mvfprintf @ 42 NONAME
+	curl_mvprintf @ 43 NONAME
+	curl_mvsnprintf @ 44 NONAME
+	curl_mvsprintf @ 45 NONAME
+	curl_share_cleanup @ 46 NONAME
+	curl_share_init @ 47 NONAME
+	curl_share_setopt @ 48 NONAME
+	curl_share_strerror @ 49 NONAME
+	curl_slist_append @ 50 NONAME
+	curl_slist_free_all @ 51 NONAME
+	curl_strequal @ 52 NONAME
+	curl_strnequal @ 53 NONAME
+	curl_unescape @ 54 NONAME
+	curl_version @ 55 NONAME
+	curl_version_info @ 56 NONAME
+	curl_easy_recv @ 57 NONAME
+	curl_easy_send @ 58 NONAME
+	curl_multi_wait @ 59 NONAME
+
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/bld.inf b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/bld.inf
new file mode 100644
index 0000000..354a843
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/bld.inf
@@ -0,0 +1,10 @@
+//
+// libcurl and curl bld.inf file for Symbian OS
+//
+PRJ_EXPORTS
+        libcurl.iby /epoc32/rom/include/libcurl.iby
+        curl.iby /epoc32/rom/include/curl.iby
+
+PRJ_MMPFILES
+        libcurl.mmp
+        curl.mmp
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/curl.iby b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/curl.iby
new file mode 100644
index 0000000..7921aaa
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/curl.iby
@@ -0,0 +1,15 @@
+//
+// curl file transfer utility command-line utility
+//
+// Use this file with buildrom to add curl to a device ROM
+//
+
+#ifndef CURL_IBY
+#define CURL_IBY
+
+#include <openenv.iby>
+#include <libcurl.iby>
+
+file=ABI_DIR\BUILD_DIR\curl.exe            \sys\bin\curl.exe
+
+#endif // CURL_IBY
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/curl.mmp b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/curl.mmp
new file mode 100644
index 0000000..4b304a3
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/curl.mmp
@@ -0,0 +1,64 @@
+//
+// curl network retrieval client
+//
+
+TARGET        curl.exe
+TARGETTYPE    exe
+UID           0x00000000 0xF0206442
+
+SOURCEPATH  ../../../src
+SOURCE \
+    tool_binmode.c \
+    tool_bname.c \
+    tool_cb_dbg.c \
+    tool_cb_hdr.c \
+    tool_cb_prg.c \
+    tool_cb_rea.c \
+    tool_cb_see.c \
+    tool_cb_wrt.c \
+    tool_cfgable.c \
+    tool_convert.c \
+    tool_dirhie.c \
+    tool_doswin.c \
+    tool_easysrc.c \
+    tool_formparse.c \
+    tool_getparam.c \
+    tool_getpass.c \
+    tool_help.c \
+    tool_helpers.c \
+    tool_homedir.c \
+    tool_hugehelp.c \
+    tool_libinfo.c \
+    tool_main.c \
+    tool_metalink.c \
+    tool_mfiles.c \
+    tool_msgs.c \
+    tool_operate.c \
+    tool_operhlp.c \
+    tool_panykey.c \
+    tool_paramhlp.c \
+    tool_parsecfg.c \
+    tool_setopt.c \
+    tool_sleep.c \
+    tool_urlglob.c \
+    tool_util.c \
+    tool_vms.c \
+    tool_writeenv.c \
+    tool_writeout.c \
+    tool_xattr.c
+
+SOURCEPATH  ../../../lib
+SOURCE \
+    strcase.c nonblock.c
+
+USERINCLUDE ../../../src ../../../lib ../../../include/curl
+
+SYSTEMINCLUDE ../../../include /epoc32/include /epoc32/include/stdapis
+
+LIBRARY       euser.lib libc.lib libcurl.lib
+STATICLIBRARY libcrt0.lib
+
+CAPABILITY NetworkServices
+
+EPOCSTACKSIZE 0x8000
+
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/curl.pkg b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/curl.pkg
new file mode 100644
index 0000000..17c64f1
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/curl.pkg
@@ -0,0 +1,26 @@
+; curl package definition file
+; Use with makesis to create a Symbian .sis package
+
+;Language - standard language definitions
+&EN
+
+;Header - standard sis file header including version number
+;Version scheme: curl's major, curl's minor, curl's subminor*100 + build number
+; e.g. The third Symbian package of curl ver. 7.20.1 would have a SIS package
+; version of 7, 20, 103
+#{"curl"}, (0xF0206442), 7, 20, <please_update_version>, TYPE=SA
+
+; Vendor name
+%{"curl project"}
+:"curl project"
+
+; Embedded component
+@"libcurl.sis",(0xF0206D00)
+
+; A dependency on P.I.P.S. and the stdio server are probably good to have here
+;(0x20009A80), *, *, *, {"Open C Standard Libraries"}
+;(0x20009A81), *, *, *, {"P.I.P.S. for UIQ 3"}
+;(0x20009AA2), *, *, *, {"Symbian OS STDIOSERVER"}
+
+;Files - standard file specifications
+"\epoc32\release\armv5\urel\curl.exe" - "$:\sys\bin\curl.exe"
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/libcurl.iby b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/libcurl.iby
new file mode 100644
index 0000000..373f5b3
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/libcurl.iby
@@ -0,0 +1,14 @@
+//
+// libcurl file transfer DLL
+//
+// Use this file with buildrom to add libcurl to a device ROM
+//
+
+#ifndef LIBCURL_IBY
+#define LIBCURL_IBY
+
+#include <openenv.iby>
+
+file=ABI_DIR\BUILD_DIR\libcurl.dll        \sys\bin\libcurl.dll
+
+#endif // LIBCURL_IBY
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/libcurl.mmp b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/libcurl.mmp
new file mode 100644
index 0000000..6388bbd
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/libcurl.mmp
@@ -0,0 +1,67 @@
+//
+// libcurl.dll curl network retrieval client library
+//
+
+// Build-time options (uncomment these to enable)
+#define ENABLE_ZLIB     // Enable gzip/deflate decompression
+//#define ENABLE_SSL      // Enable SSL for HTTPS/FTPS (requires S60 Open C SDK)
+
+TARGET        libcurl.dll
+TARGETTYPE    dll
+UID    0x1000008d 0xF0206D00
+
+MACRO       BUILDING_LIBCURL
+
+#ifdef ENABLE_ZLIB
+MACRO       HAVE_LIBZ
+#endif
+#ifdef ENABLE_SSL
+MACRO       USE_OPENSSL
+#endif
+
+SOURCEPATH  ../../../lib
+SOURCE \
+  file.c timeval.c base64.c hostip.c progress.c formdata.c             \
+  cookie.c http.c sendf.c ftp.c url.c dict.c if2ip.c speedcheck.c      \
+  ldap.c vtls/openssl.c version.c getenv.c escape.c mprintf.c telnet.c \
+  netrc.c getinfo.c transfer.c strequal.c easy.c security.c krb4.c     \
+  curl_fnmatch.c fileinfo.c ftplistparser.c wildcard.c krb5.c          \
+  memdebug.c http_chunks.c strtok.c connect.c llist.c hash.c multi.c   \
+  content_encoding.c share.c http_digest.c md4.c md5.c curl_rand.c     \
+  http_negotiate.c inet_pton.c strtoofft.c strerror.c amigaos.c        \
+  hostasyn.c hostip4.c hostip6.c hostsyn.c inet_ntop.c parsedate.c     \
+  select.c vtls/gtls.c vtls/vtls.c tftp.c splay.c strdup.c socks.c     \
+  ssh.c vtls/nss.c strcase.c curl_addrinfo.c socks_gssapi.c             \
+  socks_sspi.c curl_sspi.c slist.c nonblock.c curl_memrchr.c imap.c    \
+  pop3.c smtp.c pingpong.c rtsp.c curl_threads.c warnless.c hmac.c     \
+  vtls/polarssl.c curl_rtmp.c openldap.c curl_gethostname.c gopher.c   \
+  vtls/axtls.c idn_win32.c vtls/cyassl.c http_proxy.c non-ascii.c      \
+  asyn-ares.c asyn-thread.c curl_gssapi.c http_ntlm.c curl_ntlm_wb.c   \
+  curl_ntlm_core.c curl_sasl.c vtls/schannel.c curl_multibyte.c        \
+  vtls/darwinssl.c conncache.c curl_sasl_sspi.c smb.c curl_endian.c    \
+  curl_des.c system_win32.c                                            \
+  vauth/vauth.c vauth/cleartext.c vauth/cram.c vauth/digest.c          \
+  vauth/digest_sspi.c vauth/krb5_gssapi.c vauth/krb5_sspi.c            \
+  vauth/ntlm.c vauth/ntlm_sspi.c vauth/oauth2.c vauth/spnego_gssapi.c  \
+  vauth/spnego_sspi.c
+
+USERINCLUDE   ../../../lib ../../../include/curl
+#ifdef ENABLE_SSL
+SYSTEMINCLUDE /epoc32/include/osextensions/stdapis
+// Older versions of the SDK need this instead:
+//USERINCLUDE /epoc32/include/stdapis/openssl
+#endif
+
+SYSTEMINCLUDE ../../../include /epoc32/include/stdapis /epoc32/include
+
+LIBRARY       euser.lib libc.lib
+#ifdef ENABLE_ZLIB
+LIBRARY       ezlib.lib
+#endif
+#ifdef ENABLE_SSL
+LIBRARY       libssl.lib libcrypto.lib
+#endif
+
+CAPABILITY NetworkServices
+
+EPOCALLOWDLLDATA
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/libcurl.pkg b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/libcurl.pkg
new file mode 100644
index 0000000..6b04797
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/group/libcurl.pkg
@@ -0,0 +1,22 @@
+; libcurl package definition file
+; Use with makesis to create a Symbian .sis package
+
+;Language - standard language definitions
+&EN
+
+;Header - standard sis file header including version number
+;Version scheme: curl's major, curl's minor, curl's subminor*100 + build number
+; e.g. The third Symbian package of curl ver. 7.20.1 would have a SIS package
+; version of 7, 20, 103
+#{"libcurl"}, (0xF0206D00), 7, 20, <please_update_version>, TYPE=SA
+
+; Vendor name
+%{"curl project"}
+:"curl project"
+
+; A dependency on P.I.P.S. is probably a good idea to add here
+;(0x20009A80), *, *, *, {"Open C Standard Libraries"}
+;(0x20009A81), *, *, *, {"P.I.P.S. for UIQ 3"}
+
+;Files - standard file specifications
+"\epoc32\release\armv5\urel\libcurl.dll" - "$:\sys\bin\libcurl.dll"
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Symbian/readme.txt b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/readme.txt
new file mode 100644
index 0000000..d6312fb
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Symbian/readme.txt
@@ -0,0 +1,93 @@
+Curl on Symbian OS
+==================
+This is a basic port of curl and libcurl to Symbian OS.  The port is
+a straightforward one using Symbian's P.I.P.S. POSIX compatibility
+layer, which was first available for OS version 9.1. A more complete
+port would involve writing a Symbian C++ binding, or wrapping libcurl
+as a Symbian application server with a C++ API to handle requests
+from client applications as well as creating a GUI application to allow
+file transfers.  The author has no current plans to do so.
+
+This means that integration with standard Symbian OS programs can be
+tricky, since libcurl isn't designed with Symbian's native asynchronous
+message passing idioms in mind. However, it may be possible to use libcurl
+in an active object-based application through libcurl's multi interface.
+The port is most easily used when porting POSIX applications to Symbian
+OS using P.I.P.S. (a.k.a. Open C).
+
+libcurl is built as a standard Symbian ordinal-linked DLL, and curl is
+built as a text mode EXE application.  They have not been Symbian
+Signed, which is required in order to install them on most phones.
+
+Following are some things to keep in mind when using this port.
+
+
+curl notes
+----------
+When starting curl in the Windows emulator from the Windows command-line,
+place a double-dash -- before the first curl command-line option.
+e.g. \epoc32\release\winscw\udeb\curl -- -v http://localhost/
+Failure to do so may mean that some of your options won't be correctly
+processed.
+
+Symbian's ESHELL allows for redirecting stdin and stdout to files, but
+stderr goes to the epocwind.out file (on the emulator).  The standard
+curl options -o, --stderr and --trace-ascii can be used to
+redirect output to a file (or stdout) instead.
+
+P.I.P.S. doesn't inherit the current working directory at startup from
+the shell, so relative path names are always relative to
+C:\Private\f0206442\.
+
+P.I.P.S. provides no way to disable echoing of characters as they are
+entered, so passwords typed in on the console will be visible.  It also
+line buffers keyboard input so interactive telnet sessions are not very
+feasible.
+
+All screen output disappears after curl exits, so after a command completes,
+curl waits by default for Enter to be pressed before exiting.  This behaviour
+is suppressed when the -s option is given.
+
+curl's "home directory" in Symbian is C:\Private\f0206442\. The .curlrc file
+is read from this directory on startup.
+
+
+libcurl notes
+-------------
+libcurl uses writable static data, so the EPOCALLOWDLLDATA option is
+used in its MMP file, with the corresponding additional memory usage
+and limitations on the Windows emulator.
+
+curl_global_init() *must* be called (either explicitly or implicitly through
+calling certain other libcurl functions) before any libcurl functions
+that could allocate memory (like curl_getenv()).
+
+P.I.P.S. doesn't support signals or the alarm() call, so some timeouts
+(such as the connect timeout) are not honoured. This should not be
+an issue once support for CURLRES_THREADED is added for Symbian.
+
+P.I.P.S. causes a USER:87 panic if certain timeouts much longer than
+half an hour are selected.
+
+LDAP, SCP or SFTP methods are not supported due to lack of support for
+the dependent libraries on Symbian.
+
+gzip and deflate decompression is supported when the appropriate macro
+is uncommented in the libcurl.mmp file.
+
+SSL/TLS encryption is not enabled by default, but it is possible to add
+when the OpenSSL libraries included in the S60 Open C SDK are available.
+The appropriate macro in the libcurl.mmp file must be uncommented to
+enable support.
+
+NTLM authentication may not work on some servers due to the lack of
+MD4 support in the OpenSSL libraries included with Open C.
+
+Debug builds are not supported (i.e. --enable-debug) because they cause
+additional symbol exports in the library which are not frozen in the .def
+files.
+
+
+Dan Fandrich
+dan@coneharvesters.com
+March 2010
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/TPF/curl.mak b/ap/lib/libcurl/curl-7.54.1/packages/TPF/curl.mak
new file mode 100644
index 0000000..5ef2ae1
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/TPF/curl.mak
@@ -0,0 +1,60 @@
+#######################################################################
+#                                                                     #
+#  MAKEFILE NAME.....  curl.mak                                       #
+#                                                                     #
+#  DESCRIPTION.....    This is the makefile for libcurl.              #
+#                                                                     #
+#######################################################################
+
+APP := CURL
+
+TPF_RUN_TPFSOCHK := NO
+
+#######################################################################
+# Define any additional libs needed to link
+#######################################################################
+
+LIBS := CRYP CSSL
+
+#######################################################################
+# Define the envs needed to build this module
+#######################################################################
+
+maketpf_env := curllib
+maketpf_env += openssl
+maketpf_env += base_rt
+maketpf_env += system
+
+#######################################################################
+# Segments to be compiled with gcc compiler
+#######################################################################
+#
+### lib directory:
+include $(word 1,$(wildcard $(foreach d,$(TPF_ROOT),$d/opensource/curl/lib/Makefile.inc)) Makefile.inc_not_found)
+C_SRC := $(CSOURCES)
+
+#######################################################################
+# Additions and overrides for gcc compiler flags
+#######################################################################
+
+# suppress expected warnings in the ported code:
+CFLAGS_CURL += -w
+
+# use SSL
+# (overrides Curl's lib/config-tpf.h file)
+CFLAGS_CURL += -DUSE_OPENSSL
+
+# disable all protocols except FTP and HTTP
+# (overrides Curl's lib/config-tpf.h file)
+CFLAGS_CURL += -DCURL_DISABLE_DICT
+CFLAGS_CURL += -DCURL_DISABLE_FILE
+CFLAGS_CURL += -DCURL_DISABLE_LDAP
+CFLAGS_CURL += -DCURL_DISABLE_TELNET
+CFLAGS_CURL += -DCURL_DISABLE_TFTP
+
+#######################################################################
+# Include the maketpf.rules
+#######################################################################
+
+include maketpf.rules
+
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/TPF/maketpf.env_curl b/ap/lib/libcurl/curl-7.54.1/packages/TPF/maketpf.env_curl
new file mode 100644
index 0000000..91a2573
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/TPF/maketpf.env_curl
@@ -0,0 +1,25 @@
+################################################################################
+################################################################################
+#env TPF CURL Includes
+################################################################################
+################################################################################
+
+################################################################################
+# Define the directories where the shared objects reside
+################################################################################
+
+ROOTLIBDIRS := $(foreach d,$(TPF_ROOT),$d/opensource/curl/output/lib)
+
+################################################################################
+# Set the include/header file directories
+################################################################################
+
+ROOTINCDIRS := $(foreach d,$(TPF_ROOT_LM),$d/opensource/curl/include)
+ROOTINCDIRS += $(foreach d,$(TPF_ROOT_LM),$d/opensource/curl/include/curl)
+
+################################################################################
+# Define "TPF" to enable TPF-specific code in Curl files.
+################################################################################
+
+CFLAGS_$(APP) += -D TPF
+
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/TPF/maketpf.env_curllib b/ap/lib/libcurl/curl-7.54.1/packages/TPF/maketpf.env_curllib
new file mode 100644
index 0000000..f6ad5ba
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/TPF/maketpf.env_curllib
@@ -0,0 +1,57 @@
+################################################################################
+################################################################################
+#env TPF CURL Library Source and Output
+################################################################################
+################################################################################
+
+################################################################################
+# Define the directories where the shared objects reside
+################################################################################
+
+ROOTLIBDIRS := $(foreach d,$(TPF_ROOT),$d/opensource/curl/output/lib)
+
+################################################################################
+# Define the directories where the loadables (XXXXVV) are to be written
+################################################################################
+
+ROOTLOADDIRS := $(foreach d,$(TPF_ROOT),$d/opensource/curl/output/load)
+
+################################################################################
+# Define the location of the export files used by the LD postprocessor
+# - currently expected that .exp files will also live in lib dir
+################################################################################
+
+ROOTEXPDIRS := $(foreach d,$(TPF_ROOT_LM),$d/opensource/curl/output/exp)
+
+################################################################################
+# Define the object file directory name
+################################################################################
+
+ROOTOBJDIRS := $(foreach d,$(TPF_ROOT),$d/opensource/curl/output/obj)
+
+################################################################################
+# Define the listing files directory name
+################################################################################
+
+ROOTLSTDIRS := $(foreach d,$(TPF_ROOT),$d/opensource/curl/output/lst)
+
+################################################################################
+# Set the include/header file directories
+################################################################################
+
+ROOTINCDIRS := $(foreach d,$(TPF_ROOT_LM),$d/opensource/curl/lib)
+ROOTINCDIRS += $(foreach d,$(TPF_ROOT_LM),$d/opensource/curl/include)
+ROOTINCDIRS += $(foreach d,$(TPF_ROOT_LM),$d/opensource/curl/include/curl)
+
+################################################################################
+# Set the C file directories
+################################################################################
+
+ROOTCDIRS := $(foreach d,$(TPF_ROOT_LM),$d/opensource/curl/lib)
+
+################################################################################
+# Define "TPF" to enable TPF-specific code in Curl files.
+################################################################################
+
+CFLAGS_$(APP) += -D TPF
+
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Win32/Makefile.am b/ap/lib/libcurl/curl-7.54.1/packages/Win32/Makefile.am
new file mode 100644
index 0000000..93350ea
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Win32/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = cygwin
+
+EXTRA_DIST = README
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Win32/Makefile.in b/ap/lib/libcurl/curl-7.54.1/packages/Win32/Makefile.in
new file mode 100644
index 0000000..83b650a
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Win32/Makefile.in
@@ -0,0 +1,712 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 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@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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/Win32
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+	$(top_srcdir)/m4/curl-compilers.m4 \
+	$(top_srcdir)/m4/curl-confopts.m4 \
+	$(top_srcdir)/m4/curl-functions.m4 \
+	$(top_srcdir)/m4/curl-openssl.m4 \
+	$(top_srcdir)/m4/curl-override.m4 \
+	$(top_srcdir)/m4/curl-reentrant.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)/m4/xc-am-iface.m4 \
+	$(top_srcdir)/m4/xc-cc-check.m4 \
+	$(top_srcdir)/m4/xc-lt-iface.m4 \
+	$(top_srcdir)/m4/xc-translit.m4 \
+	$(top_srcdir)/m4/xc-val-flgs.m4 \
+	$(top_srcdir)/m4/zz40-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz50-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \
+	$(top_builddir)/include/curl/curlbuild.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in README
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@
+CURLVERSION = @CURLVERSION@
+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_SMB = @CURL_DISABLE_SMB@
+CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
+CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
+CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
+CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@
+CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_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@
+ENABLE_STATIC = @ENABLE_STATIC@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GENHTML = @GENHTML@
+GREP = @GREP@
+HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
+HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
+HAVE_LIBZ = @HAVE_LIBZ@
+HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@
+IDN_ENABLED = @IDN_ENABLED@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPV6_ENABLED = @IPV6_ENABLED@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBCURL_LIBS = @LIBCURL_LIBS@
+LIBMETALINK_CPPFLAGS = @LIBMETALINK_CPPFLAGS@
+LIBMETALINK_LDFLAGS = @LIBMETALINK_LDFLAGS@
+LIBMETALINK_LIBS = @LIBMETALINK_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MANOPT = @MANOPT@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NROFF = @NROFF@
+NSS_LIBS = @NSS_LIBS@
+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_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@
+SSL_ENABLED = @SSL_ENABLED@
+SSL_LIBS = @SSL_LIBS@
+STRIP = @STRIP@
+SUPPORT_FEATURES = @SUPPORT_FEATURES@
+SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
+USE_ARES = @USE_ARES@
+USE_AXTLS = @USE_AXTLS@
+USE_CYASSL = @USE_CYASSL@
+USE_DARWINSSL = @USE_DARWINSSL@
+USE_GNUTLS = @USE_GNUTLS@
+USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@
+USE_LIBRTMP = @USE_LIBRTMP@
+USE_LIBSSH2 = @USE_LIBSSH2@
+USE_MBEDTLS = @USE_MBEDTLS@
+USE_NGHTTP2 = @USE_NGHTTP2@
+USE_NSS = @USE_NSS@
+USE_OPENLDAP = @USE_OPENLDAP@
+USE_POLARSSL = @USE_POLARSSL@
+USE_SCHANNEL = @USE_SCHANNEL@
+USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@
+USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
+VERSION = @VERSION@
+VERSIONNUM = @VERSIONNUM@
+ZLIB_LIBS = @ZLIB_LIBS@
+ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+builddir = @builddir@
+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@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = cygwin
+EXTRA_DIST = README
+all: all-recursive
+
+.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 ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/Win32/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign packages/Win32/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
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+	check-am clean clean-generic clean-libtool cscopelist-am ctags \
+	ctags-am distclean distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# 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/ap/lib/libcurl/curl-7.54.1/packages/Win32/README b/ap/lib/libcurl/curl-7.54.1/packages/Win32/README
new file mode 100644
index 0000000..b37b575
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Win32/README
@@ -0,0 +1,53 @@
+Author: Jörn Hartroth
+
+DESCRIPTION
+
+(If you're only looking for precompiled win32 binaries, go visit
+https://curl.haxx.se/download.html)
+
+Packaging of the curl binaries for Win32 should at this point in time be based
+on the InfoZip (zip/unzip) archiver family as the de-facto standard for
+Windows archives. A package should contain the main binary curl.exe along with
+the appropriate documentation and license information files. For development
+releases, you should also include the header directory and probably the
+compiled binaries of libcurl and the appropriate Makefiles/project definition
+files for the compiler used.
+
+A simple packaging mechanism can be based on a set of batch files which call
+zip.exe with the appropriate files from the curl distribution - see the
+samples included below (Long lines have been split with "\" as the split
+marker, you'll want to rejoin the pieces to be all on one line in the batch
+file). Call any of these batch files - after compiling the curl binaries -
+with a single parameter specifying the name of the archive file to be created.
+
+It is implicitly assumed that all of the binary files (curl.exe, libcurl.a,
+etc) have previously been copied to the main directory of the curl source
+package (the directory where the main README resides), because that is where
+they should end up in the zip archive. The archive should *not* be built with
+absolute path information because the user will want to locally extract the
+archive contents and shift the binaries to his executable directory.
+
+SCRIPT_TEMPLATES
+
+curlpkg.bat:
+	zip -9 %1 curl.exe CHANGES LEGAL MPL-1.0.txt README \
+	 docs/FAQ docs/FEATURES docs/README.curl docs/README.win32 docs/TODO
+
+curldevpkg.bat:
+	zip -9 %1 curl.exe include\README include\curl\*.h CHANGES docs\* \
+	  curl.spec curl-ssl.spec LEGAL lib/Makefile.m32 src/Makefile.m32 \
+	  libcurl.a libcurl.dll libcurldll.a MPL-1.0.txt README
+
+PROCEDURE_EXAMPLE
+
+A standard packaging routine (for MingW32) using the above batch files could
+go like this:
+(No SSL)					(With SSL)
+cd <curl-sourcedir>\lib			cd <curl-sourcedir>\lib
+make -f Makefile.m32			make -f Makefile.m32 SSL=1
+cd ..\src					cd ..\src
+make -f Makefile.m32			make -f Makefile.m32 SSL=1
+cd ..						cd ..
+copy lib\libcurl.a .			copy lib\libcurl.a .
+copy src\curl.exe .			copy src\curl.exe .
+curlpkg curl-win32-nossl.zip		curlpkg curl-win32-ssl.zip
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Win32/cygwin/Makefile.am b/ap/lib/libcurl/curl-7.54.1/packages/Win32/cygwin/Makefile.am
new file mode 100644
index 0000000..b56148d
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Win32/cygwin/Makefile.am
@@ -0,0 +1,62 @@
+EXTRA_DIST = README
+
+#
+# Build a Cygwin binary tar ball
+#
+# Read the README file for details on using this Makefile
+#
+# NOTE: As I'm not particularly familiar with Makefiles, this was the
+#  best I could come up with. It should probably be enhanced someday
+#  to actually use the correct target and pre-requisite names, etc...
+#  If anyone else wants to volunteer, feel free ;-)
+#
+
+# Cygwin build number (default to "1")
+CYGBUILD = 1
+
+# Cygwin tarball build dir (fully-qualified name, gets deleted when done)
+cygwintmp = $(CURDIR)/tmp_binbuild
+
+cygwinbin:
+	rm -rf $(cygwintmp)
+	rm -rf $(cygwintmp)-dev
+	$(MAKE) -C $(top_builddir) DESTDIR=$(cygwintmp) install-strip
+# $(STRIP) $(cygwintmp)/usr/bin/cygcurl-?.dll
+	$(mkinstalldirs) \
+	  $(cygwintmp)$(datadir)/doc/Cygwin \
+	  $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION) \
+	  $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/libcurl \
+	  $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/examples \
+	  $(cygwintmp)-dev$(mandir)
+#
+# copy some files into the binary install dir
+	cp $(srcdir)/README \
+	  $(cygwintmp)$(datadir)/doc/Cygwin/$(PACKAGE)-$(VERSION)-$(CYGBUILD).README
+	cd $(top_srcdir) ; cp CHANGES COPYING README RELEASE-NOTES docs/* \
+	  $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION) ; pwd
+	cd $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION) ; rm *.1 Makefile*
+#
+# copy some files into the -dev install dir, remove some from binary
+	cp $(top_srcdir)/docs/libcurl/*.html \
+	  $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/libcurl
+	cp $(top_srcdir)/docs/examples/* \
+	  $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/examples
+	rm $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/examples/Makefile*
+	cp $(top_srcdir)/docs/examples/Makefile.example \
+	  $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/examples
+	mv $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION)/BINDINGS \
+	   $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)
+	mv $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION)/INTERNALS \
+	   $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)
+	mv $(cygwintmp)/usr/include $(cygwintmp)-dev/usr
+	mv $(cygwintmp)/usr/lib $(cygwintmp)-dev/usr
+	mv $(cygwintmp)$(mandir)/man3 $(cygwintmp)-dev$(mandir)
+#
+# create both tar files, and delete tmp folders
+	cd $(cygwintmp) ; tar cjf \
+	  $(PACKAGE)-$(VERSION)-$(CYGBUILD).tar.bz2 usr
+	mv $(cygwintmp)/*.tar.bz2 . && rm -rf $(cygwintmp)
+#
+	cd $(cygwintmp)-dev ; tar cjf \
+	  $(PACKAGE)-devel-$(VERSION)-$(CYGBUILD).tar.bz2 usr
+	mv $(cygwintmp)-dev/*.tar.bz2 . && rm -rf $(cygwintmp)-dev
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/Win32/cygwin/Makefile.in b/ap/lib/libcurl/curl-7.54.1/packages/Win32/cygwin/Makefile.in
new file mode 100644
index 0000000..47dc540
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Win32/cygwin/Makefile.in
@@ -0,0 +1,592 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 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@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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/Win32/cygwin
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+	$(top_srcdir)/m4/curl-compilers.m4 \
+	$(top_srcdir)/m4/curl-confopts.m4 \
+	$(top_srcdir)/m4/curl-functions.m4 \
+	$(top_srcdir)/m4/curl-openssl.m4 \
+	$(top_srcdir)/m4/curl-override.m4 \
+	$(top_srcdir)/m4/curl-reentrant.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)/m4/xc-am-iface.m4 \
+	$(top_srcdir)/m4/xc-cc-check.m4 \
+	$(top_srcdir)/m4/xc-lt-iface.m4 \
+	$(top_srcdir)/m4/xc-translit.m4 \
+	$(top_srcdir)/m4/xc-val-flgs.m4 \
+	$(top_srcdir)/m4/zz40-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz50-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \
+	$(top_builddir)/include/curl/curlbuild.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in README
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@
+CURLVERSION = @CURLVERSION@
+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_SMB = @CURL_DISABLE_SMB@
+CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
+CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
+CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
+CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@
+CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_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@
+ENABLE_STATIC = @ENABLE_STATIC@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GENHTML = @GENHTML@
+GREP = @GREP@
+HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
+HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
+HAVE_LIBZ = @HAVE_LIBZ@
+HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@
+IDN_ENABLED = @IDN_ENABLED@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPV6_ENABLED = @IPV6_ENABLED@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBCURL_LIBS = @LIBCURL_LIBS@
+LIBMETALINK_CPPFLAGS = @LIBMETALINK_CPPFLAGS@
+LIBMETALINK_LDFLAGS = @LIBMETALINK_LDFLAGS@
+LIBMETALINK_LIBS = @LIBMETALINK_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MANOPT = @MANOPT@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NROFF = @NROFF@
+NSS_LIBS = @NSS_LIBS@
+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_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@
+SSL_ENABLED = @SSL_ENABLED@
+SSL_LIBS = @SSL_LIBS@
+STRIP = @STRIP@
+SUPPORT_FEATURES = @SUPPORT_FEATURES@
+SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
+USE_ARES = @USE_ARES@
+USE_AXTLS = @USE_AXTLS@
+USE_CYASSL = @USE_CYASSL@
+USE_DARWINSSL = @USE_DARWINSSL@
+USE_GNUTLS = @USE_GNUTLS@
+USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@
+USE_LIBRTMP = @USE_LIBRTMP@
+USE_LIBSSH2 = @USE_LIBSSH2@
+USE_MBEDTLS = @USE_MBEDTLS@
+USE_NGHTTP2 = @USE_NGHTTP2@
+USE_NSS = @USE_NSS@
+USE_OPENLDAP = @USE_OPENLDAP@
+USE_POLARSSL = @USE_POLARSSL@
+USE_SCHANNEL = @USE_SCHANNEL@
+USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@
+USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
+VERSION = @VERSION@
+VERSIONNUM = @VERSIONNUM@
+ZLIB_LIBS = @ZLIB_LIBS@
+ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+builddir = @builddir@
+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@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = README
+
+#
+# Build a Cygwin binary tar ball
+#
+# Read the README file for details on using this Makefile
+#
+# NOTE: As I'm not particularly familiar with Makefiles, this was the
+#  best I could come up with. It should probably be enhanced someday
+#  to actually use the correct target and pre-requisite names, etc...
+#  If anyone else wants to volunteer, feel free ;-)
+#
+
+# Cygwin build number (default to "1")
+CYGBUILD = 1
+
+# Cygwin tarball build dir (fully-qualified name, gets deleted when done)
+cygwintmp = $(CURDIR)/tmp_binbuild
+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 ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/Win32/cygwin/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign packages/Win32/cygwin/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
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$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:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+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:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+cygwinbin:
+	rm -rf $(cygwintmp)
+	rm -rf $(cygwintmp)-dev
+	$(MAKE) -C $(top_builddir) DESTDIR=$(cygwintmp) install-strip
+# $(STRIP) $(cygwintmp)/usr/bin/cygcurl-?.dll
+	$(mkinstalldirs) \
+	  $(cygwintmp)$(datadir)/doc/Cygwin \
+	  $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION) \
+	  $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/libcurl \
+	  $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/examples \
+	  $(cygwintmp)-dev$(mandir)
+#
+# copy some files into the binary install dir
+	cp $(srcdir)/README \
+	  $(cygwintmp)$(datadir)/doc/Cygwin/$(PACKAGE)-$(VERSION)-$(CYGBUILD).README
+	cd $(top_srcdir) ; cp CHANGES COPYING README RELEASE-NOTES docs/* \
+	  $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION) ; pwd
+	cd $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION) ; rm *.1 Makefile*
+#
+# copy some files into the -dev install dir, remove some from binary
+	cp $(top_srcdir)/docs/libcurl/*.html \
+	  $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/libcurl
+	cp $(top_srcdir)/docs/examples/* \
+	  $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/examples
+	rm $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/examples/Makefile*
+	cp $(top_srcdir)/docs/examples/Makefile.example \
+	  $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)/examples
+	mv $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION)/BINDINGS \
+	   $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)
+	mv $(cygwintmp)$(datadir)/doc/$(PACKAGE)-$(VERSION)/INTERNALS \
+	   $(cygwintmp)-dev$(datadir)/doc/$(PACKAGE)-$(VERSION)
+	mv $(cygwintmp)/usr/include $(cygwintmp)-dev/usr
+	mv $(cygwintmp)/usr/lib $(cygwintmp)-dev/usr
+	mv $(cygwintmp)$(mandir)/man3 $(cygwintmp)-dev$(mandir)
+#
+# create both tar files, and delete tmp folders
+	cd $(cygwintmp) ; tar cjf \
+	  $(PACKAGE)-$(VERSION)-$(CYGBUILD).tar.bz2 usr
+	mv $(cygwintmp)/*.tar.bz2 . && rm -rf $(cygwintmp)
+#
+	cd $(cygwintmp)-dev ; tar cjf \
+	  $(PACKAGE)-devel-$(VERSION)-$(CYGBUILD).tar.bz2 usr
+	mv $(cygwintmp)-dev/*.tar.bz2 . && rm -rf $(cygwintmp)-dev
+
+# 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/ap/lib/libcurl/curl-7.54.1/packages/Win32/cygwin/README b/ap/lib/libcurl/curl-7.54.1/packages/Win32/cygwin/README
new file mode 100644
index 0000000..60bb5e1
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/Win32/cygwin/README
@@ -0,0 +1,114 @@
+Curl is a tool for transferring files with URL syntax, supporting
+  FTP, FTPS, HTTP, HTTPS, TELNET, DICT, FILE and LDAP.
+  Curl supports HTTPS certificates, HTTP POST, HTTP PUT,
+  FTP uploading, kerberos, HTTP form based upload, proxies,
+  cookies, user+password authentication, file transfer resume,
+  http proxy tunneling and a busload of other useful tricks.
+
+See /usr/doc/curl-$(VERSION)/FEATURES for more info.
+
+
+Dependencies:
+  - Cygwin
+  - OpenSSL 0.9.6b-2+ (*)
+
+  (*) curl can be built without SSL support, see below for details
+
+
+Canonical Homepage and Downloads:
+  https://curl.haxx.se/
+  https://curl.haxx.se/download.html
+
+
+Cygwin specific source files (a .README template and a Makefile
+  for building binary tarballs) are maintained in the upstream
+  CVS at: <srctop>/packages/Win32/cygwin/
+
+
+Build Instructions (to recompile from the cygwin source tarball):
+  ---STANDARD (with SSL) RELEASE---
+  Download the source (either the official release or the cygwin version),
+  unpack it (done for you if using setup.exe), then:
+
+  $ ./configure --prefix=/usr --mandir=/usr/share/man  # (*)
+  $ make
+  $ make test    # optional
+  $ make install # (**)
+
+  (*) The Cygwin project now (as of sometime in 2003) prefers man pages
+      within /usr/share/man, as opposed to the default /usr/man.
+
+  (**) LibTool 1.4.2 had a bug related to cygwin's use of ".exe" extensions,
+      such that "make install" blew up at curl.exe. See this URL for details:
+         http://mail.gnu.org/pipermail/libtool/2001-September/005549.html
+      The copy of ltmain.sh that is distributed with curl includes this patch.
+
+  As of curl 7.9.1, the official source compiles (under Cygwin) and tests
+    100% cleanly OOTB (Out Of The Box)
+
+  ---NO SSL RELEASE---
+  Same as standard, except for the configure step, which changes to:
+
+  $ ./configure --prefix=/usr --mandir=/usr/share/man --without-ssl
+
+  NOTE: the standard release is what is available via Cygwin's setup.exe;
+    the no-ssl release is only available from the curl website
+
+
+Packaging Instructions:
+  ---BINARY---
+  Compile cleanly as described above, then:
+
+  $ make cygwinbin CYGBUILD=n
+
+  where n is the cygwin release number (e.g. the "1" in curl-7.9-1),
+  and "CYGBUILD=n" is optional (n defaults to 1 if not specified)
+
+  Assuming everything worked, you'll find your binary tarballs in
+   $(buildtop)/packages/Win32/cygwin/
+
+  ---SOURCE---
+  1. download & unpack the pristine source
+  2. rename the source dir to add the "-$(REL)" suffix, e.g.:
+     $ mv curl-7.9 curl-7.9-1
+  3. unpack the pristine source once more, so you'll end up
+     with 2 directories: "curl-7.9" and "curl-7.9-1" in this example
+  3. add a CYGWIN-PATCHES directory, and add this readme to it
+     $ cd curl-7.9-1; mkdir CYGWIN-PATCHES
+     $ cp packages/Win32/cygwin/README CYGWIN-PATCHES/curl-7.9-1.README
+  4. if applicable, document any changes in the README file
+  5. create a patch which, when applied
+     (using `patch -p1 < curl-7.9-$(REL).patch`)
+     will remove any changes you've made to the pristine source:
+     $ cd ..
+     $ diff -Nrup curl-7.9-1 curl-7.9 > curl-7.9-1.patch
+     and then move it into the CYGWIN-PATCHES directory
+     $ mv curl-7.9-1.patch curl-7.9-1/CYGWIN-PATCHES
+  6. pack the new source dir into a tar.bz2 file:
+     $ tar cfj curl-7.9-1-src.tar.bz2 curl-7.9-1
+
+  ---SETUP.HINT---
+  @ curl
+  sdesc: "a client that groks URLs"
+  ldesc: "Curl is a tool for transferring files with URL syntax,
+  supporting FTP, FTPS, HTTP, HTTPS, TELNET, DICT, FILE
+  and LDAP. Curl supports HTTPS certificates, HTTP POST, HTTP PUT,
+  FTP uploading, kerberos, HTTP form based upload, proxies,
+  cookies, user+password authentication, file transfer resume,
+  http proxy tunneling and a busload of other useful tricks."
+  category: Web Libs
+  requires: cygwin openssl
+
+  @ curl-devel
+  sdesc: "(lib)curl headers, static libraries, developer docs and samples"
+  ldesc: "curl-devel is the developer-oriented (non-run-time) parts
+  of the curl package. It includes header files, static libraries,
+  example source code snippets, and the libcurl man pages."
+  category: Web Libs Devel
+  requires: cygwin openssl curl
+
+
+Cygwin port maintained by:
+  Kevin Roth <kproth @ users . sourceforge . net>
+  Questions about curl should be directed to curl-users@cool.haxx.se.
+  Questions about this cygwin package go to cygwin@cygwin.com.
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/Makefile.am b/ap/lib/libcurl/curl-7.54.1/packages/vms/Makefile.am
new file mode 100644
index 0000000..38f6585
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/Makefile.am
@@ -0,0 +1,36 @@
+EXTRA_DIST = \
+ backup_gnv_curl_src.com \
+ build_curl-config_script.com \
+ build_gnv_curl.com \
+ build_gnv_curl_pcsi_desc.com \
+ build_gnv_curl_pcsi_text.com \
+ build_gnv_curl_release_notes.com \
+ build_libcurl_pc.com \
+ build_vms.com \
+ clean_gnv_curl.com \
+ compare_curl_source.com \
+ config_h.com \
+ curl_crtl_init.c \
+ curl_gnv_build_steps.txt \
+ curl_release_note_start.txt \
+ curl_startup.com \
+ curlmsg.h \
+ curlmsg.msg \
+ curlmsg.sdl \
+ curlmsg_vms.h \
+ generate_config_vms_h_curl.com \
+ generate_vax_transfer.com \
+ gnv_conftest.c_first \
+ gnv_curl_configure.sh \
+ gnv_libcurl_symbols.opt \
+ gnv_link_curl.com \
+ macro32_exactcase.patch \
+ make_gnv_curl_install.sh \
+ make_pcsi_curl_kit_name.com \
+ pcsi_gnv_curl_file_list.txt \
+ pcsi_product_gnv_curl.com \
+ readme \
+ report_openssl_version.c \
+ setup_gnv_curl_build.com \
+ stage_curl_install.com \
+ vms_eco_level.h
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/Makefile.in b/ap/lib/libcurl/curl-7.54.1/packages/vms/Makefile.in
new file mode 100644
index 0000000..6ff722f
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/Makefile.in
@@ -0,0 +1,567 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 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@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+	$(top_srcdir)/m4/curl-compilers.m4 \
+	$(top_srcdir)/m4/curl-confopts.m4 \
+	$(top_srcdir)/m4/curl-functions.m4 \
+	$(top_srcdir)/m4/curl-openssl.m4 \
+	$(top_srcdir)/m4/curl-override.m4 \
+	$(top_srcdir)/m4/curl-reentrant.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)/m4/xc-am-iface.m4 \
+	$(top_srcdir)/m4/xc-cc-check.m4 \
+	$(top_srcdir)/m4/xc-lt-iface.m4 \
+	$(top_srcdir)/m4/xc-translit.m4 \
+	$(top_srcdir)/m4/xc-val-flgs.m4 \
+	$(top_srcdir)/m4/zz40-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz50-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \
+	$(top_builddir)/include/curl/curlbuild.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@
+CURLVERSION = @CURLVERSION@
+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_SMB = @CURL_DISABLE_SMB@
+CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
+CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
+CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
+CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@
+CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_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@
+ENABLE_STATIC = @ENABLE_STATIC@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GENHTML = @GENHTML@
+GREP = @GREP@
+HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
+HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
+HAVE_LIBZ = @HAVE_LIBZ@
+HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@
+IDN_ENABLED = @IDN_ENABLED@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPV6_ENABLED = @IPV6_ENABLED@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBCURL_LIBS = @LIBCURL_LIBS@
+LIBMETALINK_CPPFLAGS = @LIBMETALINK_CPPFLAGS@
+LIBMETALINK_LDFLAGS = @LIBMETALINK_LDFLAGS@
+LIBMETALINK_LIBS = @LIBMETALINK_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MANOPT = @MANOPT@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NROFF = @NROFF@
+NSS_LIBS = @NSS_LIBS@
+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_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@
+SSL_ENABLED = @SSL_ENABLED@
+SSL_LIBS = @SSL_LIBS@
+STRIP = @STRIP@
+SUPPORT_FEATURES = @SUPPORT_FEATURES@
+SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
+USE_ARES = @USE_ARES@
+USE_AXTLS = @USE_AXTLS@
+USE_CYASSL = @USE_CYASSL@
+USE_DARWINSSL = @USE_DARWINSSL@
+USE_GNUTLS = @USE_GNUTLS@
+USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@
+USE_LIBRTMP = @USE_LIBRTMP@
+USE_LIBSSH2 = @USE_LIBSSH2@
+USE_MBEDTLS = @USE_MBEDTLS@
+USE_NGHTTP2 = @USE_NGHTTP2@
+USE_NSS = @USE_NSS@
+USE_OPENLDAP = @USE_OPENLDAP@
+USE_POLARSSL = @USE_POLARSSL@
+USE_SCHANNEL = @USE_SCHANNEL@
+USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@
+USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
+VERSION = @VERSION@
+VERSIONNUM = @VERSIONNUM@
+ZLIB_LIBS = @ZLIB_LIBS@
+ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+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@
+builddir = @builddir@
+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@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = \
+ backup_gnv_curl_src.com \
+ build_curl-config_script.com \
+ build_gnv_curl.com \
+ build_gnv_curl_pcsi_desc.com \
+ build_gnv_curl_pcsi_text.com \
+ build_gnv_curl_release_notes.com \
+ build_libcurl_pc.com \
+ build_vms.com \
+ clean_gnv_curl.com \
+ compare_curl_source.com \
+ config_h.com \
+ curl_crtl_init.c \
+ curl_gnv_build_steps.txt \
+ curl_release_note_start.txt \
+ curl_startup.com \
+ curlmsg.h \
+ curlmsg.msg \
+ curlmsg.sdl \
+ curlmsg_vms.h \
+ generate_config_vms_h_curl.com \
+ generate_vax_transfer.com \
+ gnv_conftest.c_first \
+ gnv_curl_configure.sh \
+ gnv_libcurl_symbols.opt \
+ gnv_link_curl.com \
+ macro32_exactcase.patch \
+ make_gnv_curl_install.sh \
+ make_pcsi_curl_kit_name.com \
+ pcsi_gnv_curl_file_list.txt \
+ pcsi_product_gnv_curl.com \
+ readme \
+ report_openssl_version.c \
+ setup_gnv_curl_build.com \
+ stage_curl_install.com \
+ vms_eco_level.h
+
+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 ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign packages/vms/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign packages/vms/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
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$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:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+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:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# 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/ap/lib/libcurl/curl-7.54.1/packages/vms/backup_gnv_curl_src.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/backup_gnv_curl_src.com
new file mode 100644
index 0000000..3857571
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/backup_gnv_curl_src.com
@@ -0,0 +1,132 @@
+$! File: Backup_gnv_curl_src.com
+$!
+$! $Id$
+$!
+$! Procedure to create backup save sets for installing in a PCSI kit.
+$!
+$! To comply with most Open Source licenses, the source used for building
+$! a kit will be packaged with the distribution kit for the binary.
+$!
+$! Backup save sets are the only storage format that I can expect a
+$! VMS system to be able to extract ODS-5 filenames and directories.
+$!
+$! The make_pcsi_kit_name.com needs to be run before this procedure to
+$! properly name the files that will be created.
+$!
+$! This file is created from a template file for the purpose of making it
+$! easier to port Unix code, particularly open source code to VMS.
+$! Therefore permission is freely granted for any use.
+$!
+$! Copyright 2009, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$! 13-Jun-2009 J. Malmberg
+$!
+$!===========================================================================
+$!
+$! Save default
+$ default_dir = f$environment("DEFAULT")
+$!
+$ arch_type = f$getsyi("ARCH_NAME")
+$ arch_code = f$extract(0, 1, arch_type)
+$!
+$ if arch_code .nes. "V"
+$ then
+$   set proc/parse=extended
+$ endif
+$!
+$ ss_abort = 44
+$ status = ss_abort
+$!
+$ kit_name = f$trnlnm("GNV_PCSI_KITNAME")
+$ if kit_name .eqs. ""
+$ then
+$   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
+$   goto all_exit
+$ endif
+$ producer = f$trnlnm("GNV_PCSI_PRODUCER")
+$ if producer .eqs. ""
+$ then
+$   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
+$   goto all_exit
+$ endif
+$ filename_base = f$trnlnm("GNV_PCSI_FILENAME_BASE")
+$ if filename_base .eqs. ""
+$ then
+$   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
+$   goto all_exit
+$ endif
+$!
+$ node_swvers = f$getsyi("NODE_SWVERS")
+$ node_swvers_type = f$extract(0, 1, node_swvers)
+$ node_swvers_vers = f$extract(1, f$length(node_swvers), node_swvers)
+$ swvers_maj = f$element(0, ".", node_swvers_vers)
+$ node_swvers_min_update = f$element(1, ".", node_swvers_vers)
+$ swvers_min = f$element(0, "-", node_swvers_min_update)
+$ swvers_update = f$element(1, "-", node_swvers_min_update)
+$!
+$ if swvers_update .eqs. "-" then swvers_update = ""
+$!
+$ vms_vers = f$fao("!2ZB!2ZB!AS", 'swvers_maj', 'swvers_min', swvers_update)
+$!
+$!
+$!
+$! If available make an interchange save set
+$!-------------------------------------------
+$ interchange = ""
+$ if arch_code .eqs. "V"
+$ then
+$   interchange = "/interchange"
+$ endif
+$ if (swvers_maj .ges. "8") .and. (swvers_min .ges. 4)
+$ then
+$   interchange = "/interchange/noconvert"
+$ endif
+$!
+$!
+$! Move to the base directories
+$ set def [--]
+$!
+$! Put things back on error.
+$ on warning then goto all_exit
+$!
+$ current_default = f$environment("DEFAULT")
+$ my_dir = f$parse(current_default,,,"DIRECTORY") - "[" - "<" - ">" - "]"
+$!
+$ src_root = "src_root:"
+$ if f$trnlnm("src_root1") .nes. "" then src_root = "src_root1:"
+$ backup'interchange' 'src_root'[curl...]*.*;0 -
+           'filename_base'_original_src.bck/sav
+$ status = $status
+$!
+$! There may be a VMS specific source kit
+$!-----------------------------------------
+$ vms_root = "vms_root:"
+$ if f$trnlnm("vms_root1") .nes. "" then vms_root = "vms_root1:"
+$ files_found = 0
+$ define/user sys$error nl:
+$ define/user sys$output nl:
+$ directory 'vms_root'[...]*.*;*/exc=*.dir
+$ if '$severity' .eq. 1 then files_found = 1
+$!
+$ if files_found .eq. 1
+$ then
+$   backup'interchange' 'vms_root'[curl...]*.*;0 -
+            'filename_base'_vms_src.bck/sav
+$   status = $status
+$ endif
+$!
+$all_exit:
+$ set def 'default_dir'
+$ exit
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/build_curl-config_script.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/build_curl-config_script.com
new file mode 100644
index 0000000..ea1881d
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/build_curl-config_script.com
@@ -0,0 +1,154 @@
+$! build_curl-config_script.com
+$!
+$! This generates the curl-config. script from the curl-config.in file.
+$!
+$! Copyright 2014, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$!
+$! 16-Dec-2014	J. Malmberg
+$!
+$!===========================================================================
+$!
+$! Skip this if the curl-config. already exists.
+$ if f$search("[--]curl-config.") .nes. "" then goto all_exit
+$!
+$ 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
+$!
+$ x_prefix = "/usr"
+$ x_exec_prefix = "/usr"
+$ x_includedir = "${prefix}/include"
+$ x_cppflag_curl_staticlib = "-DCURL_STATICLIB"
+$ x_enabled_shared = "no"
+$ x_curl_ca_bundle = ""
+$ x_cc = "cc"
+$ x_support_features = "SSL IPv6 libz NTLM"
+$ x_support_protocols1 = "DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS LDAP"
+$ x_support_protocols2 = " LDAPS POP3 POP3S RTSP SMTP SMTPS TELNET TFTP"
+$ x_support_protocols = x_support_protocols1 + x_support_protocols2
+$ x_curlversion = "0.0.0.0"
+$ x_versionnum = ""
+$ x_libdir = "${prefix}/lib"
+$ x_require_lib_deps = ""
+$ x_enable_static = ""
+$ x_ldflags = ""
+$ part1 = "-L/usr/lib -L/SSL_LIB -lssl -lcrypto -lz"
+$ if arch_name .eqs. "VAX"
+$ then
+$   x_libcurl_libs = part1
+$ else
+$   x_libcurl_libs = part1 + " -lgssapi"
+$ endif
+$ x_libext = "a"
+$!
+$! Get the version number
+$!-----------------------
+$ i = 0
+$ open/read/error=version_loop_end vhf [--.include.curl]curlver.h
+$ version_loop:
+$   read/end=version_loop_end vhf line_in
+$   if line_in .eqs. "" then goto version_loop
+$   if f$locate("#define LIBCURL_VERSION ", line_in) .eq. 0
+$   then
+$       x_curlversion = f$element(2," ", line_in) - """" - """"
+$       i = i + 1
+$   endif
+$   if f$locate("#define LIBCURL_VERSION_NUM ", line_in) .eq. 0
+$   then
+$       x_versionnum = f$element(2," ", line_in) - """" - """"
+$       i = i + 1
+$   endif
+$   if i .lt 2 then goto version_loop
+$ version_loop_end:
+$ close vhf
+$!
+$ kit_type = "V"
+$ if f$locate("-", x_curlversion) .lt. f$length(x_curlversion)
+$ then
+$   kit_type = "D"
+$   x_prefix = "/beta"
+$   x_exec_prefix = "/beta"
+$ endif
+$!
+$ if kit_type .nes. "D"
+$ then
+$    part1 = "        echo "" '--prefix=/usr' '--exec-prefix=/usr' "
+$ else
+$    part1 = "        echo "" '--prefix=/beta' '--exec_prefix=/beta' "
+$ endif
+$ if arch_name .eqs. "VAX"
+$ then
+$    part3 = ""
+$ else
+$    part3 = "'--with-gssapi' "
+$ endif
+$ part2 = "'--disable-dependency-tracking' '--disable-libtool-lock' "
+$ part4 = "'--disable-ntlm-wb' '--with-ca-path=gnv$curl_ca_path'"""
+$!
+$ x_configure_options = part1 + part2 + part3 + part4
+$!
+$!
+$ open/read/error=read_loop_end c_c_in sys$disk:[--]curl-config.in
+$ create sys$disk:[--]curl-config.
+$ open/append c_c_out sys$disk:[--]curl-config.
+$read_loop:
+$   read/end=read_loop_end c_c_in line_in
+$   line_in_len = f$length(line_in)
+$   if f$locate("@", line_in) .ge. line_in_len
+$   then
+$       write c_c_out line_in
+$       goto read_loop
+$   endif
+$   i = 0
+$   line_out = ""
+$sub_loop:
+$       ! Replace between pairs of @ by alternating the elements.
+$       ! If mis-matched pairs, do not substitute anything.
+$       section1 = f$element(i, "@", line_in)
+$       if section1 .eqs. "@"
+$       then
+$           goto sub_loop_end
+$       endif
+$       i = i + 1
+$       section2 = f$element(i, "@", line_in)
+$       if section2 .eqs. "@"
+$       then
+$           goto sub_loop_end
+$       endif
+$       i = i + 1
+$       section3 = f$element(i, "@", line_in)
+$       if section3 .eqs. "@"
+$       then
+$           if line_out .eqs. "" then line_out = line_in
+$           goto sub_loop_end
+$       endif
+$       line_out = line_out + section1
+$       if f$type(x_'section2') .eqs. "STRING"
+$       then
+$           line_out = line_out + x_'section2'
+$       endif
+$       goto sub_loop
+$sub_loop_end:
+$   write c_c_out line_out
+$   goto read_loop
+$read_loop_end:
+$ close c_c_in
+$ close c_c_out
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/build_gnv_curl.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/build_gnv_curl.com
new file mode 100644
index 0000000..1eaa7d5
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/build_gnv_curl.com
@@ -0,0 +1,38 @@
+$! File: build_gnv_curl.com
+$!
+$! $Id$
+$!
+$! All in one build procedure
+$!
+$! Copyright 2009, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$!
+$! 11-Jun-2009	J. Malmberg
+$!-----------------------------------------------------------------------
+$!
+$ @setup_gnv_curl_build.com
+$!
+$ bash gnv_curl_configure.sh
+$!
+$ @clean_gnv_curl.com
+$!
+$ bash make_gnv_curl_install.sh
+$!
+$ @gnv_link_curl.com
+$!
+$ purge new_gnu:[*...]/log
+$!
+$!
+$exit
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/build_gnv_curl_pcsi_desc.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/build_gnv_curl_pcsi_desc.com
new file mode 100644
index 0000000..3b4cd80
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/build_gnv_curl_pcsi_desc.com
@@ -0,0 +1,492 @@
+$! File: Build_GNV_CURL_PCSI_DESC.COM
+$!
+$! $Id$
+$!
+$! Build the *.pcsi$text file in the following sections:
+$!   Required software dependencies.
+$!   install/upgrade/postinstall steps.
+$!      1. Duplicate filenames need an alias procedure. (N/A for curl)
+$!      2. ODS-5 filenames need an alias procedure. (N/A for curl)
+$!      3. Special alias links for executables (curl. -> curl.exe)
+$!         if a lot, then an alias procedure is needed.
+$!      4. Rename the files to lowercase.
+$!   Move Release Notes to destination
+$!   Source kit option
+$!   Create directory lines
+$!   Add file lines for curl.
+$!   Add Link alias procedure file (N/A for curl)
+$!   Add [.SYS$STARTUP]curl_startup file
+$!   Add Release notes file.
+$!
+$! The file PCSI_GNV_CURL_FILE_LIST.TXT is read in to get the files other
+$! than the release notes file and the source backup file.
+$!
+$! The PCSI system can really only handle ODS-2 format filenames and
+$! assumes that there is only one source directory.  It also assumes that
+$! all destination files with the same name come from the same source file.
+$! Fortunately CURL does not trip most of these issues, so those steps
+$! above are marked N/A.
+$!
+$! A rename action section is needed to make sure that the files are
+$! created in the GNV$GNU: in the correct case, and to create the alias
+$! link [usr.bin]curl. for [usr.bin]curl.exe.
+$!
+$! Copyright 2009, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$!
+$! 15-Jun-2009  J. Malmberg
+$!
+$!===========================================================================
+$!
+$ kit_name = f$trnlnm("GNV_PCSI_KITNAME")
+$ if kit_name .eqs. ""
+$ then
+$   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
+$   goto all_exit
+$ endif
+$ producer = f$trnlnm("GNV_PCSI_PRODUCER")
+$ if producer .eqs. ""
+$ then
+$   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
+$   goto all_exit
+$ endif
+$ filename_base = f$trnlnm("GNV_PCSI_FILENAME_BASE")
+$ if filename_base .eqs. ""
+$ then
+$   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
+$   goto all_exit
+$ endif
+$!
+$!
+$! Parse the kit name into components.
+$!---------------------------------------
+$ producer = f$element(0, "-", kit_name)
+$ base = f$element(1, "-", kit_name)
+$ product = f$element(2, "-", kit_name)
+$ mmversion = f$element(3, "-", kit_name)
+$ majorver = f$extract(0, 3, mmversion)
+$ minorver = f$extract(3, 2, mmversion)
+$ updatepatch = f$element(4, "-", kit_name)
+$ if updatepatch .eqs. "-" then updatepatch = ""
+$!
+$! kit type of "D" means a daily build
+$ kit_type = f$edit(f$extract(0, 1, majorver), "upcase")
+$!
+$!
+$ product_line = "product ''producer' ''base' ''product'"
+$ if updatepatch .eqs. ""
+$ then
+$     product_name = " ''majorver'.''minorver'"
+$ else
+$     product_name = " ''majorver'.''minorver'-''updatepatch'"
+$ endif
+$ product_line = product_line + " ''product_name' full;"
+$!write sys$output product_line
+$!
+$!
+$!
+$! Create the file as a VMS text file.
+$!----------------------------------------
+$ base_file = kit_name
+$ create 'base_file'.pcsi$desc
+$!
+$!
+$! Start building file.
+$!----------------------
+$ open/append pdsc 'base_file'.pcsi$desc
+$!
+$ write pdsc product_line
+$!
+$! Required product dependencies.
+$!----------------------------------
+$ vmsprd = "DEC"
+$ if base .eqs. "I64VMS" then vmsprd = "HP"
+$ vsiprd = "VSI"
+$!
+$ write pdsc "   software ''vmsprd' ''base' VMS ;"
+$ arch_type = f$getsyi("ARCH_NAME")
+$ node_swvers = f$getsyi("node_swvers")
+$ vernum = f$extract(1, f$length(node_swvers), node_swvers)
+$ majver = f$element(0, ".", vernum)
+$ minverdash = f$element(1, ".", vernum)
+$ minver = f$element(0, "-", minverdash)
+$ dashver = f$element(1, "-", minverdash)
+$ if dashver .eqs. "-" then dashver = ""
+$ vmstag = majver + minver + dashver
+$ code = f$extract(0, 1, arch_type)
+$ arch_code = f$extract(0, 1, arch_type)
+$ line_out = -
+ "   if ((not <software ''vsiprd' ''base' VMS version minimum" + -
+ " ''node_swvers'>) and" + -
+ " (not <software ''vmsprd' ''base' VMS version minimum ''node_swvers'>));"
+$ write pdsc line_out
+$ write pdsc "      error NEED_VMS''vmstag';"
+$ write pdsc "   end if;"
+$!
+$write pdsc "   software VMSPORTS ''base' ZLIB ;"
+$write pdsc -
+    "   if (not <software VMSPORTS ''base' ZLIB version minimum V1.2-8>) ;"
+$write pdsc "      error NEED_ZLIB;"
+$write pdsc "   end if;"
+$!
+$!
+$!
+$! install/upgrade/postinstall steps.
+$!-----------------------------------
+$!      1. Duplicate filenames need an alias procedure. (N/A for curl)
+$!      2. ODS-5 filenames need an alias procedure. (N/A for curl)
+$!      3. Special alias links for executables (curl. -> curl.exe)
+$!         if a lot, then an alias procedure is needed.
+$!      4. Rename the files to lowercase.
+$!
+$!
+$!   Alias links needed.
+$!-------------------------
+$ add_alias_lines = ""
+$ rem_alias_lines = ""
+$ line_out = ""
+$!
+$!   Read through the file list to set up aliases and rename commands.
+$!---------------------------------------------------------------------
+$ open/read flst pcsi_gnv_curl_file_list.txt
+$!
+$inst_alias_loop:
+$   read/end=inst_alias_loop_end flst line_in
+$   line_in = f$edit(line_in,"compress,trim,uncomment")
+$   if line_in .eqs. "" then goto inst_alias_loop
+$   pathname = f$element(0, " ", line_in)
+$   linkflag = f$element(1, " ", line_in)
+
+$   if linkflag .nes. "->" then goto inst_alias_write
+$!
+$   linktarget = f$element(2, " ", line_in)
+$   if kit_type .eqs. "D"
+$   then
+$       old_start = f$locate("[gnv.usr", pathname)
+$       if old_start .lt. f$length(pathname)
+$       then
+$           pathname = "[gnv.beta" + pathname - "[gnv.usr"
+$           linktarget = "[gnv.beta" + linktarget - "[gnv.usr"
+$       endif
+$   endif
+$   nlink = "pcsi$destination:" + pathname
+$   ntarg = "pcsi$destination:" + linktarget
+$   new_add_alias_line = -
+  """if f$search(""""''nlink'"""") .eqs. """""""" then" + -
+  " set file/enter=''nlink' ''ntarg'"""
+$   if add_alias_lines .nes. ""
+$   then
+$       add_alias_lines = add_alias_lines + "," + new_add_alias_line
+$   else
+$       add_alias_lines = new_add_alias_line
+$   endif
+$!
+$   new_rem_alias_line = -
+  """if f$search(""""''nlink'"""") .nes. """""""" then" + -
+  " set file/remove ''nlink';"""
+$   if rem_alias_lines .nes. ""
+$   then
+$      rem_alias_lines = rem_alias_lines + "," + new_rem_alias_line
+$   else
+$      rem_alias_lines = new_rem_alias_line
+$   endif
+$!
+$   goto inst_alias_loop
+$!
+$inst_alias_write:
+$!
+$!  execute install / remove
+$   write pdsc "   execute install ("
+$! add aliases
+$   i = 0
+$ex_ins_loop:
+$       line = f$element(i, ",", add_alias_lines)
+$       i = i + 1
+$       if line .eqs. "" then goto ex_ins_loop
+$       if line .eqs. "," then goto ex_ins_loop_end
+$       if line_out .nes. "" then write pdsc line_out,","
+$       line_out = line
+$       goto ex_ins_loop
+$ex_ins_loop_end:
+$   write pdsc line_out
+$   line_out = ""
+$   write pdsc "      )"
+$   write pdsc "   remove ("
+$! remove aliases
+$   i = 0
+$ex_rem_loop:
+$       line = f$element(i, ",", rem_alias_lines)
+$       i = i + 1
+$       if line .eqs. "" then goto ex_rem_loop
+$       if line .eqs. "," then goto ex_rem_loop_end
+$       if line_out .nes. "" then write pdsc line_out,","
+$       line_out = line
+$       goto ex_rem_loop
+$ex_rem_loop_end:
+$   write pdsc line_out
+$   line_out = ""
+$   write pdsc "      ) ;"
+$!
+$!  execute upgrade
+$   write pdsc "   execute upgrade ("
+$   i = 0
+$ex_upg_loop:
+$       line = f$element(i, ",", rem_alias_lines)
+$       i = i + 1
+$       if line .eqs. "" then goto ex_upg_loop
+$       if line .eqs. "," then goto ex_upg_loop_end
+$       if line_out .nes. "" then write pdsc line_out,","
+$       line_out = line
+$       goto ex_upg_loop
+$ex_upg_loop_end:
+$   write pdsc line_out
+$   line_out = ""
+$! remove aliases
+$   write pdsc "      ) ;"
+$!
+$!  execute postinstall
+$   write pdsc "   execute postinstall ("
+$   if arch_code .nes. "V"
+$   then
+$       line_out = "   ""set process/parse=extended"""
+$   endif
+$   i = 0
+$ex_pins_loop:
+$       line = f$element(i, ",", add_alias_lines)
+$       i = i + 1
+$       if line .eqs. "" then goto ex_pins_loop
+$       if line .eqs. "," then goto ex_pins_loop_end
+$       if line_out .nes. "" then write pdsc line_out,","
+$       line_out = line
+$       goto ex_pins_loop
+$ex_pins_loop_end:
+$   if line_out .eqs. "" then line_out = "   ""continue"""
+$!   write pdsc line_out
+$!   line_out = ""
+$! add aliases and follow with renames.
+$!
+$goto inst_dir
+$!
+$inst_dir_loop:
+$   read/end=inst_alias_loop_end flst line_in
+$   line_in = f$edit(line_in,"compress,trim,uncomment")
+$   if line_in .eqs. "" then goto inst_dir_loop
+$inst_dir:
+$   pathname = f$element(0, " ", line_in)
+$   if kit_type .eqs. "D"
+$   then
+$       if pathname .eqs. "[gnv]usr.dir"
+$       then
+$           pathname = "[gnv]beta.dir"
+$       else
+$           old_start = f$locate("[gnv.usr", pathname)
+$           if old_start .lt. f$length(pathname)
+$           then
+$               pathname = "[gnv.beta" + pathname - "[gnv.usr"
+$           endif
+$       endif
+$   endif
+$!
+$!  Ignore the directory entries for now.
+$!-----------------------------------------
+$   filedir = f$parse(pathname,,,"DIRECTORY")
+$   if pathname .eqs. filedir then goto inst_dir_loop
+$!
+$!  process .dir extensions for rename
+$!  If this is not a directory then start processing files.
+$!-------------------------
+$   filetype = f$parse(pathname,,,"TYPE")
+$   filetype_u = f$edit(filetype, "upcase")
+$   filename = f$parse(pathname,,,"NAME")
+$   if filetype_u .nes. ".DIR" then goto inst_file
+$!
+$!  process directory lines for rename.
+$!--------------------------------------
+$   if line_out .nes. ""
+$   then
+$       write pdsc line_out,","
+$       line_out = ""
+$   endif
+$   if arch_code .nes. "V"
+$   then
+$       if line_out .nes. "" then write pdsc line_out,","
+$       line_out = "   ""rename pcsi$destination:''pathname' ''filename'.DIR"""
+$   else
+$       if line_out .nes. "" then write pdsc line_out
+$       line_out = ""
+$   endif
+$   goto inst_dir_loop
+$!
+$!
+$!   process file lines for rename
+$!---------------------------------
+$inst_file_loop:
+$   read/end=inst_alias_loop_end flst line_in
+$   line_in = f$edit(line_in,"compress,trim,uncomment")
+$   if line_in .eqs. "" then goto inst_dir_loop
+$   pathname = f$element(0, " ", line_in)
+$   if kit_type .eqs. "D"
+$   then
+$       if pathname .eqs. "[gnv]usr.dir"
+$       then
+$           pathname = "[gnv]beta.dir"
+$       else
+$           old_start = f$locate("[gnv.usr", pathname)
+$           if old_start .lt. f$length(pathname)
+$           then
+$               pathname = "[gnv.beta" + pathname - "[gnv.usr"
+$           endif
+$       endif
+$   endif
+$!
+$!  Filenames with $ in them are VMS special and do not need to be lowercased.
+$!  --------------------------------------------------------------------------
+$   if f$locate("$", pathname) .lt. f$length(pathname) then goto inst_file_loop
+$!
+$   filetype = f$parse(pathname,,,"TYPE")
+$   filename = f$parse(pathname,,,"NAME") + filetype
+$inst_file:
+$   if arch_code .nes. "V"
+$   then
+$       if line_out .nes. "" then write pdsc line_out,","
+$       filetype = f$parse(pathname,,,"TYPE")
+$       filename = f$parse(pathname,,,"NAME") + filetype
+$       line_out = "   ""rename pcsi$destination:''pathname' ''filename'"""
+$   else
+$       if line_out .nes. "" then write pdsc line_out
+$       line_out = ""
+$   endif
+$   goto inst_file_loop
+$!
+$inst_alias_loop_end:
+$!
+$write pdsc line_out
+$write pdsc "        ) ;"
+$close flst
+$!
+$!   Move Release Notes to destination
+$!-------------------------------------
+$write pdsc "   information RELEASE_NOTES phase after ;"
+$!
+$!   Source kit option
+$!---------------------
+$write pdsc "   option SOURCE default 0;"
+$write pdsc "   directory ""[gnv.common_src]"" PROTECTION PUBLIC ;"
+$write pdsc -
+    "        file ""[gnv.common_src]''filename_base'_original_src.bck"""
+$write pdsc -
+    "          source [common_src]''filename_base'_original_src.bck ;"
+$if f$search("gnv$gnu:[vms_src]''filename_base'_vms_src.bck") .nes. ""
+$then
+$    write pdsc "   directory ""[gnv.vms_src]"" PROTECTION PUBLIC ;"
+$    write pdsc "        file ""[gnv.vms_src]''filename_base'_vms_src.bck"""
+$    write pdsc "          source [vms_src]''filename_base'_vms_src.bck ;"
+$endif
+$write pdsc "   end option;"
+$!
+$!
+$! Read through the file list again.
+$!----------------------------------
+$open/read flst pcsi_gnv_curl_file_list.txt
+$!
+$!
+$!   Create directory lines
+$!-------------------------
+$flst_dir_loop:
+$   read/end=flst_loop_end flst line_in
+$   line_in = f$edit(line_in,"compress,trim,uncomment")
+$   if line_in .eqs. "" then goto flst_dir_loop
+$!
+$   filename = f$element(0, " ", line_in)
+$   linkflag = f$element(1, " ", line_in)
+$   if linkflag .eqs. "->" then goto flst_dir_loop
+$!
+$!  Ignore .dir extensions
+$!-------------------------
+$   filetype = f$edit(f$parse(filename,,,"TYPE"), "upcase")
+$   if filetype .eqs. ".DIR" then goto flst_dir_loop
+$!
+$   destname = filename
+$   if kit_type .eqs. "D"
+$   then
+$       old_start = f$locate("[gnv.usr", destname)
+$       if old_start .lt. f$length(destname)
+$       then
+$           destname = "[gnv.beta" + destname - "[gnv.usr"
+$       endif
+$   endif
+$!
+$!  It should be just a directory then.
+$!-------------------------------------
+$   filedir = f$edit(f$parse(filename,,,"DIRECTORY"), "lowercase")
+$!  If this is not a directory then start processing files.
+$!---------------------------------------------------------
+$   if filename .nes. filedir then goto flst_file
+$!
+$   write pdsc "   directory ""''destname'"" PROTECTION PUBLIC ;"
+$   goto flst_dir_loop
+$!
+$!
+$!   Add file lines for curl.
+$!---------------------------
+$flst_file_loop:
+$   read/end=flst_loop_end flst line_in
+$   line_in = f$edit(line_in,"compress,trim,uncomment")
+$   if line_in .eqs. "" then goto inst_file_loop
+$   filename = f$element(0, " ", line_in)
+$   destname = filename
+$   if kit_type .eqs. "D"
+$   then
+$       old_start = f$locate("[gnv.usr", destname)
+$       if old_start .lt. f$length(destname)
+$       then
+$           destname = "[gnv.beta" + destname - "[gnv.usr"
+$       endif
+$   endif
+$flst_file:
+$   srcfile = filename - "gnv."
+$   write pdsc "   file ""''destname'"" "
+$   write pdsc "     source ""''srcfile'"" ;"
+$   goto flst_file_loop
+$!
+$flst_loop_end:
+$ close flst
+$!
+$!   Add Link alias procedure file (N/A for curl)
+$!------------------------------------------------
+$!
+$!   Add [.SYS$STARTUP]curl_startup file
+$!---------------------------------------
+$ if kit_type .eqs. "D"
+$ then
+$   write pdsc "   file ""[sys$startup]curl_daily_startup.com"""
+$ else
+$   write pdsc "   file ""[sys$startup]curl_startup.com"""
+$ endif
+$ write pdsc "     source [usr.lib]curl_startup.com ;"
+$!
+$!   Add Release notes file.
+$!------------------------------
+$ write pdsc -
+    "   file ""[SYSHLP]''filename_base'.release_notes"" release notes ;"
+$!
+$! Close the product file
+$!------------------------
+$ write pdsc "end product;"
+$!
+$close pdsc
+$!
+$all_exit:
+$ exit
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/build_gnv_curl_pcsi_text.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/build_gnv_curl_pcsi_text.com
new file mode 100644
index 0000000..df98f63
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/build_gnv_curl_pcsi_text.com
@@ -0,0 +1,198 @@
+$! File: Build_GNV_curl_pcsi_text.com
+$!
+$! $Id$
+$!
+$! Build the *.pcsi$text file from the four components:
+$!    1. Generated =product header section
+$!    2. [--]readme. file from the Curl distribution, modified to fit
+$!       a pcsi$text file format.
+$!    3. [--]copying file from the Curl distribution, modified to fit
+$!       a pcsi$text file format.
+$!    4. Generated Producer section.
+$!
+$! Set the name of the release notes from the GNV_PCSI_FILENAME_BASE
+$!
+$! Copyright 2009, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$!
+$! 15-Jun-2009  J. Malmberg
+$!
+$!===========================================================================
+$!
+$ kit_name = f$trnlnm("GNV_PCSI_KITNAME")
+$ if kit_name .eqs. ""
+$ then
+$   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
+$   goto all_exit
+$ endif
+$ producer = f$trnlnm("GNV_PCSI_PRODUCER")
+$ if producer .eqs. ""
+$ then
+$   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
+$   goto all_exit
+$ endif
+$ producer_full_name = f$trnlnm("GNV_PCSI_PRODUCER_FULL_NAME")
+$ if producer_full_name .eqs. ""
+$ then
+$   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
+$   goto all_exit
+$ endif
+$!
+$!
+$! Parse the kit name into components.
+$!---------------------------------------
+$ producer = f$element(0, "-", kit_name)
+$ base = f$element(1, "-", kit_name)
+$ product = f$element(2, "-", kit_name)
+$ mmversion = f$element(3, "-", kit_name)
+$ majorver = f$extract(0, 3, mmversion)
+$ minorver = f$extract(3, 2, mmversion)
+$ updatepatch = f$element(4, "-", kit_name)
+$ if updatepatch .eqs. "-" then updatepatch = ""
+$!
+$!
+$ product_line = "=product ''producer' ''base' ''product'"
+$ if updatepatch .eqs. ""
+$ then
+$     product_name = " ''majorver'.''minorver'"
+$ else
+$     product_name = " ''majorver'.''minorver'-''updatepatch'"
+$ endif
+$ product_line = product_line + " ''product_name' full"
+$!
+$!
+$! If this is VAX and the file is on NFS, the names may be mangled.
+$!-----------------------------------------------------------------
+$ readme_file = ""
+$ if f$search("[--]readme.") .nes. ""
+$ then
+$   readme_file = "[--]readme."
+$ else
+$   if f$search("[--]$README.") .nes. ""
+$   then
+$       readme_file = "[--]$README."
+$   else
+$       write sys$output "Can not find readme file."
+$       goto all_exit
+$   endif
+$ endif
+$ copying_file = ""
+$ if f$search("[--]copying.") .nes. ""
+$ then
+$   copying_file = "[--]copying."
+$ else
+$   if f$search("[--]$COPYING.") .nes. ""
+$   then
+$       copying_file = "[--]$COPYING."
+$   else
+$       write sys$output "Can not find copying file."
+$       goto all_exit
+$   endif
+$ endif
+$!
+$! Create the file as a VMS text file.
+$!----------------------------------------
+$ base_file = kit_name
+$ create 'base_file'.pcsi$text
+$!
+$!
+$! Start building file.
+$!----------------------
+$ open/append ptxt 'base_file'.pcsi$text
+$ write ptxt product_line
+$!
+$!
+$! First insert the Readme file.
+$!
+$ open/read rf 'readme_file'
+$!
+$ write ptxt "1 'PRODUCT"
+$ write ptxt "=prompt ''producter' ''product' for OpenVMS"
+$!
+$rf_loop:
+$   read/end=rf_loop_end rf line_in
+$   if line_in .nes. ""
+$   then
+$!    PCSI files use the first character in for their purposes.
+$!--------------------------------------------------------------
+$     first_char = f$extract(0, 1, line_in)
+$     if first_char .nes. " " then line_in = " " + line_in
+$   endif
+$   write ptxt line_in
+$   goto rf_loop
+$rf_loop_end:
+$ close rf
+$!
+$!
+$! Now add in the copying file
+$!--------------------------------
+$ write ptxt ""
+$ write ptxt "1 'NOTICE"
+$ write ptxt ""
+$!
+$ open/read cf 'copying_file'
+$!
+$cf_loop:
+$   read/end=cf_loop_end cf line_in
+$   if line_in .nes. ""
+$   then
+$!    PCSI files use the first character in for their purposes.
+$!--------------------------------------------------------------
+$     first_char = f$extract(0, 1, line_in)
+$     if first_char .nes. " " then line_in = " " + line_in
+$   endif
+$   write ptxt line_in
+$   goto cf_loop
+$cf_loop_end:
+$ close cf
+$!
+$! Now we need the rest of the boiler plate.
+$!--------------------------------------------
+$ write ptxt ""
+$ write ptxt "1 'PRODUCER"
+$ write ptxt "=prompt ''producer_full_name'"
+$ write ptxt -
+ "This software product is provided by ''producer_full_name' with no warranty."
+$!
+$ arch_type = f$getsyi("ARCH_NAME")
+$ node_swvers = f$getsyi("node_swvers")
+$ vernum = f$extract(1, f$length(node_swvers), node_swvers)
+$ majver = f$element(0, ".", vernum)
+$ minverdash = f$element(1, ".", vernum)
+$ minver = f$element(0, "-", minverdash)
+$ dashver = f$element(1, "-", minverdash)
+$ if dashver .eqs. "-" then dashver = ""
+$ vmstag = majver + minver + dashver
+$ code = f$extract(0, 1, arch_type)
+$!
+$ write ptxt "1 NEED_VMS''vmstag'"
+$ write ptxt -
+   "=prompt OpenVMS ''vernum' or later is not installed on your system."
+$ write ptxt "This product requires OpenVMS ''vernum' or later to function."
+$ write ptxt "1 NEED_ZLIB"
+$ write ptxt "=prompt ZLIB 1.2-8 or later is not installed on your system."
+$ write ptxt "This product requires ZLIB 1.2-8 or later to function."
+$ write ptxt "1 SOURCE"
+$ write ptxt "=prompt Source modules for ''product'"
+$ write ptxt "The Source modules for ''product' will be installed."
+$ write ptxt "1 RELEASE_NOTES"
+$ write ptxt "=prompt Release notes are available in the [SYSHLP] directory."
+$!
+$ close ptxt
+$!
+$!
+$!
+$all_exit:
+$ exit
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/build_gnv_curl_release_notes.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/build_gnv_curl_release_notes.com
new file mode 100644
index 0000000..da0276f
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/build_gnv_curl_release_notes.com
@@ -0,0 +1,102 @@
+$! File: Build_GNV_curl_release_notes.com
+$!
+$! $Id$
+$!
+$! Build the release note file from the four components:
+$!    1. The curl_release_note_start.txt
+$!    2. The hp_ssl_release_info.txt
+$!    3. [--]readme. file from the Curl distribution.
+$!    4. The Curl_gnv-build_steps.txt.
+$!
+$! Set the name of the release notes from the GNV_PCSI_FILENAME_BASE
+$! logical name.
+$!
+$! Copyright 2009, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$! 14-Jun-2009  J. Malmberg
+$!
+$!===========================================================================
+$!
+$ base_file = f$trnlnm("GNV_PCSI_FILENAME_BASE")
+$ if base_file .eqs. ""
+$ then
+$   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
+$   goto all_exit
+$ endif
+$!
+$!
+$ curl_readme = f$search("sys$disk:[--]readme.")
+$ if curl_readme .eqs. ""
+$ then
+$   curl_readme = f$search("sys$disk:[--]$README.")
+$ endif
+$ if curl_readme .eqs. ""
+$ then
+$    write sys$output "Can not find Curl readme file."
+$    goto all_exit
+$ endif
+$!
+$ curl_copying = f$search("sys$disk:[--]copying.")
+$ if curl_copying .eqs. ""
+$ then
+$   curl_copying = f$search("sys$disk:[--]$COPYING.")
+$ endif
+$ if curl_copying .eqs. ""
+$ then
+$    write sys$output "Can not find Curl copying file."
+$    goto all_exit
+$ endif
+$!
+$ vms_readme = f$search("sys$disk:[]readme.")
+$ if vms_readme .eqs. ""
+$ then
+$   vms_readme = f$search("sys$disk:[]$README.")
+$ endif
+$ if vms_readme .eqs. ""
+$ then
+$   write sys$output "Can not find VMS specific Curl readme file."
+$   goto all_exit
+$ endif
+$!
+$ curl_release_notes = f$search("sys$disk:[--]release-notes.")
+$ if curl_release_notes .eqs. ""
+$ then
+$   curl_release_notes = f$search("sys$disk:[--]$RELEASE-NOTES.")
+$ endif
+$ if curl_release_notes .eqs. ""
+$ then
+$    write sys$output "Can not find Curl release-notes file."
+$    goto all_exit
+$ endif
+$!
+$ if f$search("sys$disk:[]hp_ssl_release_info.txt") .eqs. ""
+$ then
+$   write sys$output "GNV_LINK_CURL.COM has not been run!"
+$   goto all_exit
+$ endif
+$!
+$ type/noheader 'curl_readme', 'vms_readme', -
+                'curl_release_notes', -
+                sys$disk:[]curl_release_note_start.txt, -
+                sys$disk:[]hp_ssl_release_info.txt, -
+                'curl_copying', -
+                sys$disk:[]curl_gnv_build_steps.txt -
+                /out='base_file'.release_notes
+$!
+$ purge 'base_file'.release_notes
+$ rename 'base_file.release_notes ;1
+$!
+$all_exit:
+$ exit
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/build_libcurl_pc.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/build_libcurl_pc.com
new file mode 100644
index 0000000..97e6ae6
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/build_libcurl_pc.com
@@ -0,0 +1,205 @@
+$! File: build_libcurl_pc.com
+$!
+$! $Id:$
+$!
+$! Build the libcurl.pc file from the libcurl.pc.in file
+$!
+$! Copyright 2013, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$!
+$! 15-Jun-2013  J. Malmberg
+$!
+$!===========================================================================
+$!
+$! Skip this if the libcurl.pc already exists.
+$ if f$search("[--]libcurl.pc") .nes. "" then goto all_exit
+$!
+$! Need to know the kit type.
+$ kit_name = f$trnlnm("GNV_PCSI_KITNAME")
+$ if kit_name .eqs. ""
+$ then
+$   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
+$   goto all_exit
+$ endif
+$!
+$!
+$! Parse the kit name into components.
+$!---------------------------------------
+$ producer = f$element(0, "-", kit_name)
+$ base = f$element(1, "-", kit_name)
+$ product = f$element(2, "-", kit_name)
+$ mmversion = f$element(3, "-", kit_name)
+$ majorver = f$extract(0, 3, mmversion)
+$ minorver = f$extract(3, 2, mmversion)
+$ updatepatch = f$element(4, "-", kit_name)
+$ if updatepatch .eqs. "-" then updatepatch = ""
+$!
+$! kit type of "D" means a daily build
+$ kit_type = f$edit(f$extract(0, 1, majorver), "upcase")
+$!
+$ pc_file_in = "[--]libcurl^.pc.in"
+$!
+$ if f$search(pc_file_in) .eqs. ""
+$ then
+$    pc_file_in = "[--]libcurl.pc$5nin"
+$    if f$search(pc_file_in) .eqs. ""
+$    then
+$        pc_file_in = "[--]libcurl.pc_in"
+$        if f$search(pc_file_in) .eqs. ""
+$        then
+$            write sys$output "Can not find libcurl.pc.in."
+$            goto all_exit
+$        endif
+$    endif
+$ endif
+$!
+$ 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
+$!
+$!
+$ curl_version = "0.0.0"
+$ open/read vf [--.src]tool_version.h
+$version_loop:
+$   read vf/end=version_loop_end line_in
+$   if line_in .eqs. "" then goto version_loop
+$   key = f$element(0, " ", line_in)
+$   if key .nes. "#define" then goto version_loop
+$   name = f$element(1, " ", line_in)
+$   if name .eqs. "VERSION"
+$   then
+$       curl_version = f$element(2, " ", line_in) - """" - """"
+$   else
+$       goto version_loop
+$   endif
+$version_loop_end:
+$ close vf
+$!
+$!
+$ create [--]libcurl.pc
+$ open/append pco [--]libcurl.pc
+$ open/read pci 'pc_file_in'
+$pc_file_loop:
+$ read pci/end=pc_file_loop_end line_in
+$!
+$! blank lines
+$ if line_in .eqs. ""
+$ then
+$   write pco ""
+$   goto pc_file_loop
+$ endif
+$!
+$! comment lines
+$ key = f$extract(0, 1, line_in)
+$ if key .eqs. "#"
+$ then
+$   write pco line_in
+$   goto pc_file_loop
+$ endif
+$!
+$! Special handling for libs.
+$ if f$locate("Libs:", line_in) .eq. 0
+$ then
+$   write pco "#",line_in
+$   goto pc_file_loop
+$ endif
+$! No substitution line
+$ line_in_len = f$length(line_in)
+$ if f$locate("@", line_in) .ge. line_in_len
+$ then
+$   write pco line_in
+$   goto pc_file_loop
+$ endif
+$!
+$ if f$locate("@prefix@", line_in) .lt line_in_len
+$ then
+$    if kit_type .nes. "D"
+$    then
+$        write pco "prefix=/usr"
+$    else
+$        write pco "prefix=/beta"
+$    endif
+$    goto pc_file_loop
+$ endif
+$ if f$locate("@exec_prefix@", line_in) .lt line_in_len
+$ then
+$    if kit_type .nes. "D"
+$    then
+$        write pco "exec_prefix=/usr"
+$    else
+$        write pco "exec_prefix=/beta"
+$    endif
+$    goto pc_file_loop
+$ endif
+$ if f$locate("@libdir@", line_in) .lt line_in_len
+$ then
+$    write pco "libdir=$(exec_prefix}/lib"
+$    goto pc_file_loop
+$ endif
+$ if f$locate("@includedir@", line_in) .lt line_in_len
+$ then
+$    write pco "includedir=$(prefix}/include"
+$    goto pc_file_loop
+$ endif
+$ if f$locate("@SUPPORT_PROTOCOLS@", line_in) .lt line_in_len
+$ then
+$    proto1 = "DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS"
+$    proto2 = " LDAP LDAPS POP3 POP3S RTSP SMTP SMTPS TELNET TFTP"
+$    proto = proto1 + proto2
+$    write pco "supported_protocols=""" + proto + """"
+$    goto pc_file_loop
+$ endif
+$ if f$locate("@SUPPORT_FEATURES@", line_in) .lt line_in_len
+$ then
+$    if arch_name .eqs. "VAX"
+$    then
+$        write pco "supported_features=""SSL libz NTLM"""
+$    else
+$        write pco "supported_features=""SSL IPv6 libz NTLM"""
+$    endif
+$    goto pc_file_loop
+$ endif
+$ if f$locate("@CURLVERSION@", line_in) .lt line_in_len
+$ then
+$    write pco "Version: ''curl_version'"
+$    goto pc_file_loop
+$ endif
+$ if f$locate("@LIBCURL_LIBS@", line_in) .lt line_in_len
+$ then
+$    if arch_name .eqs. "VAX"
+$    then
+$        write pco "Libs.private: -lssl -lcrypto -lz"
+$    else
+$        write pco "Libs.private: -lssl -lcrypto -lgssapi -lz"
+$    endif
+$    goto pc_file_loop
+$ endif
+$ if f$locate("@CPPFLAG_CURL_STATICLIB@", line_in) .lt line_in_len
+$ then
+$    write pco "Cflags: -I${includedir} -DCURL_STATICLIB"
+$    goto pc_file_loop
+$ endif
+$!
+$pc_file_loop_end:
+$ close pco
+$ close pci
+$!
+$all_exit:
+$ exit
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/build_vms.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/build_vms.com
new file mode 100644
index 0000000..e21e57c
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/build_vms.com
@@ -0,0 +1,1038 @@
+$! 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.
+$!              Note, you must match the pointer size that the OpenSSL
+$!              shared image expects.
+$!              Currently curl is not building properly with 64 bit pointers
+$!              on VMS because it is trying to cast pointers to 32 bit
+$!              integers and some OpenVMS library routines called by curl
+$!              do not yet support 64 bit pointers.
+$!    CCQUAL=x  Add "x" to the C compiler qualifiers.
+$!              Default qualifiers are:
+$!                  /standard=relaxed
+$!                  /names=(as_is, shortened)
+$!                  /repository=[.'arch']
+$!                  /nested_include_directory=none
+$!                  /define=(_LARGEFILE=1,_USE_STD_STAT=1) (non-vax)
+$!                  /float=ieee/ieee_mode=denorm_results (non-vax)
+$!    DEBUG     Compile debug and nooptimize
+$!              Alpha/IA64 always compiles /debug.
+$!              Always link a debug image.
+$!    NOIEEE    Do not use IEEE floating point.  (Alpha/I64)
+$!              VAX must always use DFLOAT
+$!    NOLARGE   Disable large-file support if large file support available.
+$!              (Non-VAX, VMS >= V7.2.)
+$!    NOLDAP    Disable LDAP support if LDAP is available.
+$!    NOKERBEROS   Disable Kerberos support if Kerberos is available.
+$!    LIST      Create C compiler listings and linker maps.
+$!                 /list/show=(expan,includ)/machine
+$!    FULLLIST  Full detailed listing.
+$!                 /list/show=(all, nomessages)/machine
+$!    NOHPSSL   Don't use HP SSL, even if available.
+$!              Note, you must match the pointer size that the OpenSSL
+$!              shared image expects.  This procedure will select the
+$!              correct HP OpenSSL image.
+$!    NOSSL     Don't use any SSL, even if available.
+$!    OSSLOLB   Use OpenSSL object libraries (.OLB), even if shared
+$!              images (.EXE) are available.
+$!    NOZLIB    Don't use GNV$ZLIB shared image even if available.
+$!    REALCLEAN Delete product files for all host architectures.  (No
+$!              build done.)  Alias for CLEAN_ALL
+$!
+$! 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.
+$! 01-Jan-2013  J. Malmberg
+$!                   VMS build procedures need to be able to work with
+$!                   the default set to a search list, with created or
+$!                   modified files only in the first member of the search
+$!                   list.
+$!                   Whitespace change to be more compatible with current
+$!                   practices.
+$!                   One pass option parsing instead of loop.
+$!                   GNV ZLIB shared image support.
+$!                   KERBEROS support where available.
+$!                   LDAP default to on where available
+$!                   LARGEFILE default to on where available
+$!                   IEEE float default to on where available.
+$!                   Generate the curl_config.h file from system inspection.
+$!                   Linker finds ldap with out option file.
+$! 13-Mar-2013, Tom Grace
+$!                   Added missing slash in cc_full_list.
+$!                   Removed unwanted extra quotes inside symbol tool_main
+$!                   for non-VAX architectures that triggered link failure.
+$!                   Replaced curl_sys_inc with sys_inc.
+$! 19-Mar-2013, John Malmberg
+$!                   symbol tool_main needs to be quoted when parse style is
+$!                   set to exended in versions of VMS greater than 7.3-1.
+$!                   Remove curlbuild.h generation as it should be pre-built
+$!                   in the curl release or daily tarball.
+$! 12-Jul-2013, John Malmberg
+$!                   Adjust to find and use ZLIB from the Jean-Francois
+$!                   Pieronne shared image and newer GNV ZLIB kit that
+$!                   is upward compatible with Jean-Francois's kit.
+$!                   Remove tabs from file.
+$!                   Fixed DCL formatting as follows:
+$!                      * Labels have no space after leading $.
+$!                      * 1 space after $ for first level.
+$!                      * 3 spaces after $ for second level.  Line start + 4.
+$!                      * 7 spaces after $ for third level.  Line start + 8.
+$!                      * Each level after that indents 4 characters.
+$!                      * then/else/endif same indentation as if statement.
+$! 17-Nov-2014, Michael Steve
+$!                   Modified build to handle new location of the VTLS lib
+$!                   source within zip archive. Not a pretty fix.
+$!
+$!===========================================================================
+$!
+$!
+$! 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_fid = f$file_attributes(proc, "FID")
+$ proc_dev = f$parse(proc, , , "DEVICE")
+$ proc_dir = f$parse(proc, , , "DIRECTORY")
+$ proc_name = f$parse(proc, , , "NAME")
+$ proc_type = f$parse(proc, , , "TYPE")
+$ proc_dev_dir = proc_dev + proc_dir
+$!
+$! Have to manually parse the device for a search list.
+$! Can not use the f$parse() as it will return the first name
+$! in the search list.
+$!
+$ orig_def_dev = f$element(0, ":", orig_def) + ":"
+$ if orig_def_dev .eqs. "::" then orig_def_dev = "sys$disk:"
+$ test_proc = orig_def_dev + proc_dir + proc_name + proc_type
+$!
+$! If we can find this file using the default directory
+$! then we know that we should use the original device from the
+$! default directory which could be a search list.
+$!
+$ test_proc_fid = f$file_attributes(test_proc, "FID")
+$!
+$ if (test_proc_fid .eq. proc_fid)
+$ then
+$   proc_dev_dir = orig_def_dev + proc_dir
+$ endif
+$!
+$!
+$! 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
+$! "]" or ">" is the one at the end.)
+$!
+$! Some non-US VMS installations report ">" for the directory delimiter
+$! so do not assume that it is "]".
+$!
+$ orig_def_len = f$length(orig_def)
+$ delim = f$extract(orig_def_len - 1, 1, orig_def)
+$!
+$ set default 'proc_dev_dir'
+$ set default [--]
+$ base_dev_dir = f$environment("default")
+$ top_dev_dir = base_dev_dir - delim
+$!
+$!
+$!
+$! Define the architecture-specific product file destination directory
+$! name(s).
+$!
+$ parse_style = "TRADITIONAL"
+$ 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"
+$!
+$!   Extended parsing option starts with VMS 7.3-1.
+$!   There is no 7.4, so that simplifies the parse a bit.
+$!
+$    node_swvers = f$getsyi("node_swvers")
+$    version_patch = f$extract(1, f$length(node_swvers), node_swvers)
+$    maj_ver = f$element(0, ".", version_patch)
+$    min_ver_patch = f$element(1, ".", version_patch)
+$    min_ver = f$element(0, "-", min_ver_patch)
+$    patch = f$element(1, "-", min_ver_patch)
+$    if patch .eqs. "-" then patch = ""
+$    parse_x = 0
+$    if maj_ver .ges. "8"
+$    then
+$       parse_x = 1
+$    else
+$       if maj_ver .eqs. "7" .and. min_ver .ges. "3" .and. patch .nes. ""
+$       then
+$          parse_x = 1
+$       endif
+$    endif
+$    if parse_x
+$    then
+$       parse_style = f$getjpi("", "parse_style_perm")
+$    endif
+$ endif
+$!
+$ exedir = proc_dev_dir - delim + ".''arch_name'" + delim
+$ lisdir = exedir
+$ objdir = exedir
+$!
+$! When building on a search list, need to do a create to make sure that
+$! the output directory exists, since the clean procedure tries to delete
+$! it.
+$ create/dir 'exedir'/prot=o:rwed
+$!
+$! Interpret command-line options.
+$!
+$ hpssl = 0
+$ ldap = 1
+$ list = 0
+$ full_list = 0
+$ nohpssl = 0
+$ nossl = 0
+$ openssl = 0
+$ osslolb = 0
+$ nozlib = 0
+$ nokerberos = 0
+$ cc_names = "/names=(shortened, as_is)/repository='exedir'
+$ cc_defs = "HAVE_CONFIG_H=1"
+$ cc_list = "/list='objdir'/show=(expan, includ)/machine
+$ cc_full_list = "/list='objdir'/show=(all, nomessages)/machine
+$ link_qual = ""
+$ if arch_name .eqs. "VAX"
+$ then
+$    cc_debug = "/nodebug/optimize"
+$    !cc_defs = cc_defs + ""
+$    cc_float = ""
+$    cc_large = ""
+$ else
+$    cc_debug = "/debug/optimize"
+$    cc_defs = cc_defs + ",_USE_STD_STAT"
+$    cc_float = "/float=ieee/ieee_mode=denorm_results"
+$    cc_large = ",_LARGEFILE"
+$ endif
+$ cc_qual1 = ""
+$ cc_qual2 = ""
+$ if (f$type(CURL_CCDEFS) .nes. "")
+$ then
+$    CURL_CCDEFS = f$edit(CURL_CCDEFS, "TRIM")
+$    cc_defs = cc_defs + ", " + CURL_CCDEFS
+$ endif
+$ msg_qual = "/object = ''objdir'"
+$ ssl_opt = ""
+$!
+$! Allow arguments to be grouped together with comma or separated by spaces
+$! Do no know if we will need more than 8.
+$ args = "," + p1 + "," + p2 + "," + p3 + "," + p4 + ","
+$ args = args + p5 + "," + p6 + "," + p7 + "," + p8 + ","
+$!
+$! Provide lower case version to simplify parsing.
+$ args_lower = f$edit(args, "LOWERCASE,COLLAPSE")
+$!
+$ args_len = f$length(args)
+$ args_lower_len = f$length(args_lower)
+$!
+$ clean = 0
+$ if f$locate(",clean,", args_lower) .lt. args_lower_len
+$ then
+$   clean = 1
+$ endif
+$ clean_all = 0
+$ if f$locate(",clean_all,", args_lower) .lt. args_lower_len
+$ then
+$    clean = 1
+$    clean_all = 1
+$ endif
+$ if f$locate(",realclean,", args_lower) .lt. args_lower_len
+$ then
+$    clean = 1
+$    clean_all = 1
+$ endif
+$!
+$ if clean .ne. 0
+$ 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 set prot=o:rwed 'prods'
+$   if (f$search(prods) .nes. "") then delete /log 'prods'
+$   file = "[]config_vms.h"
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[]config.h"
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[]curl-config."
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[]libcurl.pc"
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[.lib.cxx_repository]cxx$demangler_db."
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[.src.cxx_repository]cxx$demangler_db."
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[.lib]config_vms.h"
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[...]curl_crtl_init"
+$   if f$search("''file'.lis") .nes. "" then delete/log 'file'.lis;*
+$   if f$search("''file'.obj") .nes. "" then delete/log 'file'.obj;*
+$   file = "[...]gnv$curlmsg"
+$   if f$search("''file'.lis") .nes. "" then delete/log 'file'.lis;*
+$   if f$search("''file'.obj") .nes. "" then delete/log 'file'.obj;*
+$   if f$search("''file'.exe") .nes. "" then delete/log 'file'.exe;*
+$   file = "[...]curlmsg"
+$   if f$search("''file'.lis") .nes. "" then delete/log 'file'.lis;*
+$   if f$search("''file'.obj") .nes. "" then delete/log 'file'.obj;*
+$   if f$search("''file'.exe") .nes. "" then delete/log 'file'.exe;*
+$   file = "[...]report_openssl_version"
+$   if f$search("''file'.lis") .nes. "" then delete/log 'file'.lis;*
+$   if f$search("''file'.obj") .nes. "" then delete/log 'file'.obj;*
+$   if f$search("''file'.exe") .nes. "" then delete/log 'file'.exe;*
+$   file = "[...]hp_ssl_release_info.txt"
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[...]gnv_libcurl_xfer.mar_exact"
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[...]gnv_libcurl_xfer"
+$   if f$search("''file'.lis") .nes. "" then delete/log 'file'.lis;*
+$   if f$search("''file'.obj") .nes. "" then delete/log 'file'.obj;*
+$   if f$search("''file'.opt") .nes. "" then delete/log 'file'.opt;*
+$   file = "[...]curl-*_original_src.bck"
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[...]curl_d-*_original_src.bck"
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[...]curl-*_vms_src.bck"
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[...]curl_d-*_vms_src.bck"
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[...]curl-*.release_notes"
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[...]curl_d-*.release_notes"
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[...]*curl*.pcsi$desc"
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[...]*curl_d*.pcsi$desc"
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[...]*curl*.pcsi$text"
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$   file = "[...]*curl_d*.pcsi$text"
+$   if f$search(file) .nes. "" then delete/log 'file';*
+$!
+$   if clean_all .eq. 0 then goto Common_Exit
+$ endif
+$!
+$!
+$ if clean_all .ne. 0
+$ then
+$   file = "[...]gnv$libcurl"
+$   if f$search("''file'.exe") .nes. "" then delete/log 'file'.exe;*
+$   if f$search("''file'.map") .nes. "" then delete/log 'file'.map;*
+$   if f$search("''file'.dsf") .nes. "" then delete/log 'file'.dsf;*
+$   file = "[.src]curl"
+$   if f$search("''file'.exe") .nes. "" then delete/log 'file'.exe;*
+$   if f$search("''file'.map") .nes. "" then delete/log 'file'.map;*
+$   if f$search("''file'.dsf") .nes. "" then delete/log 'file'.dsf;*
+$   prods = proc_dev_dir - delim + ".ALPHA" + delim + "*.*;*"
+$   if (f$search(prods) .nes. "") then delete /log 'prods'
+$   prods = proc_dev_dir + "ALPHA" + ".DIR;1"
+$   if (f$search(prods) .nes. "") then set prot=o:rwed 'prods'
+$   if (f$search(prods) .nes. "") then delete /log 'prods'
+$   prods = proc_dev_dir - delim + ".IA64" + delim + "*.*;*"
+$   if (f$search(prods) .nes. "") then delete /log 'prods'
+$   prods = proc_dev_dir + "IA64" + ".DIR;1"
+$   if (f$search(prods) .nes. "") then set prot=o:rwed 'prods'
+$   if (f$search(prods) .nes. "") then delete /log 'prods'
+$   prods = proc_dev_dir - delim + ".VAX" + delim + "*.*;*"
+$   if (f$search(prods) .nes. "") then delete /log 'prods'
+$   prods = proc_dev_dir + "VAX"+ ".DIR;1"
+$   if (f$search(prods) .nes. "") then set prot=o:rwed 'prods'
+$   if (f$search(prods) .nes. "") then delete /log 'prods'
+$   file = "[...]macro32_exactcase"
+$   if f$search("''file'.exe") .nes. "" then delete/log 'file'.exe;*
+$   if f$search("''file'.jnl") .nes. "" then delete/log 'file'.jnl;*
+$   goto Common_Exit
+$ endif
+$!
+$ build_64 = 0
+$ if f$locate(",64,", args_lower) .lt. args_lower_len
+$ then
+$   cc_qual1 = cc_qual1 + " /POINTER = 64"
+$   build_64 = 1
+$ endif
+$!
+$ args_loc = f$locate(",ccqual=", args_lower)
+$ if args_loc .lt. args_lower_len
+$ then
+$   arg = f$extract(args_loc + 1, args_lower_len, args_lower)
+$   arg_val = f$element(0, ",", arg)
+$   cc_qual2 = f$element(1, "=", arg_val);
+$ endif
+$!
+$! On Alpha/IA64 no size penalty for compiling /debug/optimize
+$! by default.
+$ if f$locate(",debug,", args_lower) .lt. args_lower_len
+$ then
+$   cc_debug = "/debug/nooptimize"
+$ endif
+$!
+$! We normally want IEEE float if it is available.  Programs that are
+$! calling libcurl will typically prefer IEEE behavior, unless on the
+$! VAX where we have no choice.
+$!
+$ if f$locate(",noieee,", args_lower) .lt. args_lower_len
+$ then
+$   cc_float = ""
+$ endif
+$!
+$! Normally we want large file if it is available.
+$ if f$locate(",nolarge,", args_lower) .lt. args_lower_len
+$ then
+$   write sys$output "Handling of large files disabled."
+$   cc_large = ""
+$ endif
+$ if cc_large .nes. ""
+$ then
+$   cc_defs = cc_defs + cc_large
+$ endif
+$!
+$ if f$locate(",noldap,", args_lower) .lt. args_lower_len
+$ then
+$   ldap = 0
+$ endif
+$!
+$ if f$locate(",list,", args_lower) .lt. args_lower_len
+$ then
+$   list = 1
+$ endif
+$ if f$locate(",fulllist,", args_lower) .lt. args_lower_len
+$ then
+$    list = 1
+$    full_list = 1
+$ endif
+$!
+$ if f$locate(",nohpssl,", args_lower) .lt. args_lower_len
+$ then
+$   nohpssl = 1
+$ endif
+$!
+$ if f$locate(",nossl,", args_lower) .lt. args_lower_len
+$ then
+$   nossl = 1
+$ endif
+$!
+$ if f$locate(",osslolb,", args_lower) .lt. args_lower_len
+$ then
+$    osslolb = 1
+$ endif
+$!
+$ if f$locate(",nozlib,", args_lower) .lt. args_lower_len
+$ then
+$   nozlib = 1
+$ endif
+$!
+$ if f$locate(",nokerberos,", args_lower) .lt. args_lower_len
+$ then
+$   nokerberos = 1
+$ endif
+$!
+$!
+$! 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"
+$   msg_qual = msg_qual + "/nolist"
+$ else
+$   msg_qual = msg_qual + "/list='objdir'"
+$   if (full_list .ne. 0)
+$   then
+$       cc_qual1 = cc_qual1 + cc_full_list
+$   else
+$       cc_qual1 = cc_qual1 + cc_list
+$   endif
+$ endif
+$ cc_qual1 = cc_qual1 + cc_names + cc_float + cc_debug
+$!
+$! 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.
+$!
+$ libsslshr_line = ""
+$ libcryptoshr_line = ""
+$ if (.not. nossl)
+$ then
+$   if (f$trnlnm("OPENSSL") .nes. "")
+$   then
+$!        cc_defs = cc_defs + ", USE_OPENSSL=1"
+$        if ((f$trnlnm("SSL$INCLUDE") .nes. "") .and. (.not. nohpssl))
+$        then
+$!          Use HP SSL.
+$           hpssl = 1
+$!
+$!          Older SSL only has lib*_shr32 images
+$!-----------------------------------------------
+$           libsslshr = "sys$share:ssl$libssl_shr"
+$           if (f$search("''libsslshr'.exe") .eqs. "") .or. (.not. build_64)
+$           then
+$               libsslshr = libsslshr + "32"
+$           endif
+$           libcryptoshr = "sys$share:ssl$libcrypto_shr"
+$           if (f$search("''libcryptoshr'.exe") .eqs. "") .or. (.not. build_64)
+$           then
+$               libcryptoshr = libcryptoshr + "32"
+$           endif
+$           libsslshr_line = "''libsslshr'.exe/share"
+$           libcryptoshr_line = "''libcryptoshr'.exe/share"
+$       else
+$!          Use OpenSSL.  Assume object libraries, unless shared images
+$!          are found (and not prohibited).
+$!          TODO: We do not know how to automatically choose based on the
+$!          pointer size.
+$!
+$           openssl = 1
+$           libsslshr_line = "ssllib:libssl.olb/lib"
+$           libcryptoshr_line = "ssllib:libcrypto.olb/lib"
+$           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
+$                    libsslshr_line = "ssllib:ssl_libssl_shr.exe/share"
+$                    libcryptoshr_line = "ssllib:ssl_libcrypto_shr.exe/share"
+$                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
+$                        libsslshr_line = "ssllib:libssl_shr.exe/share"
+$                        libcryptoshr_line = "ssllib:libcrypto_shr.exe/share"
+$                    endif
+$                endif
+$           endif
+$       endif
+$   endif
+$ endif
+$!
+$! LDAP.
+$!
+$ if f$search("SYS$SHARE:LDAP$SHR.EXE") .eqs. ""
+$ then
+$   ldap = 0
+$ endif
+$ if (ldap .eq. 0)
+$ then
+$!   cc_defs = cc_defs + ", CURL_DISABLE_LDAP=1"
+$ else
+$   'vo_c' "%CURL-I-BLDHPLDAP, building with HP LDAP support"
+$ endif
+$!
+$! KERBEROS
+$ gssrtlshr_line = ""
+$ try_shr = "sys$share:gss$rtl"
+$ if f$search("''try_shr'.exe") .eqs. ""
+$ then
+$   nokerberos = 1
+$ endif
+$ curl_sys_krbinc = ""
+$ if nokerberos .eq. 0
+$ then
+$   'vo_c' "%CURL-I-BLDHPKERBEROS, building with HP KERBEROS support"
+$   curl_sys_krbinc = "sys$sysroot:[kerberos.include]"
+$   gssrtlshr_line = "''try_shr'/share"
+$ endif
+$!
+$!
+$! LIBZ
+$ libzshr_line = ""
+$ try_shr = "gnv$libzshr"
+$ if build_64
+$ then
+$!  First look for 64 bit
+$   if f$search("''try_shr'64") .eqs. ""
+$   then
+$!      Second look for the J.F. Pieronne 64 bit shared image
+$       try_shr = "LIBZ_SHR64"
+$       if f$search(try_shr) .eqs. "" then nozlib = 1
+$   endif
+$ else
+$!  First look for 32 bit
+$   if f$search("''try_shr'32") .eqs. ""
+$   then
+$!      Second look for old 32 bit image
+$       if f$search(try_shr) .eqs. ""
+$       then
+$!          Third look for the J.F. Pieronne 32 bit shared image
+$           try_shr = "LIBZ_SHR32"
+$           if f$search(try_shr) .eqs. "" then nozlib = 1
+$       endif
+$   endif
+$ endif
+$ if f$search(try_shr) .eqs. ""
+$ then
+$   nozlib = 1
+$ endif
+$ curl_sys_zlibinc = ""
+$ if nozlib .eq. 0
+$ then
+$   libzshr_line = "''try_shr'/share"
+$   if f$locate("LIBZ", try_shr) .eq. 0
+$   then
+$       'vo_c' "%CURL-I-BLDJFPLIBZ, building with JFP LIBZ support"
+$       curl_sys_zlibinc = "LIBZ:"
+$   else
+$       'vo_c' "%CURL-I-BLDGNVLIBZ, building with GNV LIBZ support"
+$       curl_sys_zlibinc = "GNV$ZLIB_INCLUDE:"
+$   endif
+$ endif
+$!
+$! Form CC qualifiers.
+$!
+$ cc_defs = "/define = (''cc_defs')"
+$ cc_qual2 = cc_qual2 + " /object = ''objdir'"
+$ cc_qual2 = cc_qual2 + "/nested_include_directory=none"
+$!
+$ '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'"
+$!
+$! TODO: Why are we translating the logical name?
+$! The logical aname used to find the shared image should just be used
+$! as translating it could result in the wrong location at run time.
+$   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
+$ curl_logical = top_dev_dir + ".include.curl" + delim
+$ curl_sys_inc2 = curl_logical
+$ curl_sys_inc1 = top_dev_dir + ".include" + delim
+$! define curl 'top_dev_dir'.include.curl'delim'
+$!
+$! Generate config file into the product directory.
+$!
+$! call MoveIfDiff [.lib]config-vms.h 'objdir'curl_config.h
+$!
+$ conf_params = ""
+$ if nossl .ne. 0 then conf_params = conf_params + ",nossl"
+$ if nohpssl .ne. 0 then conf_params = conf_params + ",nohpssl,"
+$ if ldap .eq. 0 then conf_params = conf_params + ",noldap,"
+$ if nozlib .ne. 0 then conf_params = conf_params + ",nozlib,"
+$ if nokerberos .ne. 0 then conf_params = conf_params + ",nokerberos"
+$ conf_params = conf_params - ","
+$!
+$!
+$ new_conf = f$search("''objdir'curl_config.h")
+$ if new_conf .eqs. ""
+$ then
+$!   set ver
+$   write sys$output "Generating curl custom config_vms.h"
+$   @'proc_dev_dir'generate_config_vms_h_curl.com ''conf_params'
+$!
+$   write sys$output "Generating curl_config.h"
+$   conf_in = f$search("[.lib]curl_config*.*in")
+$   if conf_in .eqs. ""
+$   then
+$       write sys$output "Can not find [.lib]curl_config*.*in file!"
+$       goto common_exit
+$   endif
+$   @'proc_dev_dir'config_h.com 'conf_in'
+$   copy config.h 'objdir'curl_config.h
+$   delete config.h;
+$!   set nover
+$ endif
+$!
+$!
+$ on control_y then goto Common_Exit
+$!
+$ set default 'proc_dev_dir'
+$ sys_inc = "''curl_sys_inc1', ''curl_sys_inc2', ''curl_logical'"
+$ if curl_sys_krbinc .nes. ""
+$ then
+$   sys_inc = sys_inc + ",''curl_sys_krbinc'"
+$ endif
+$ if curl_sys_zlibinc .nes. ""
+$ then
+$   sys_inc = sys_inc + ",''curl_sys_zlibinc'"
+$ endif
+$! Build LIB
+$ cc_include = "/include=([-.lib],[-.lib.vtls],[-.packages.vms]"
+$ cc_include = cc_include + ",[-.packages.vms.''arch_name'])"
+$ call build "[--.lib]" "*.c" "''objdir'CURLLIB.OLB" "amigaos, nwlib, nwos"
+$ if ($status .eq. ctrl_y) then goto Common_Exit
+$! Build VTLS
+$ cc_include = "/include=([--.lib.vtls],[--.lib],[--.src]"
+$ cc_include = cc_include + ",[--.packages.vms],[--.packages.vms.''arch_name'])"
+$ call build "[--.lib.vtls]" "*.c" "''objdir'CURLLIB.OLB" "amigaos, nwlib, nwos"
+$! Build SRC
+$ cc_include = "/include=([-.src],[-.lib],[-.lib.vtls]"
+$ cc_include = cc_include + ",[-.packages.vms],[-.packages.vms.''arch_name'])"
+$ call build "[--.src]" "*.c" "''objdir'CURLSRC.OLB"
+$ if ($status .eq. ctrl_y) then goto Common_Exit
+$! Build MSG
+$ call build "[]" "*.msg" "''objdir'CURLSRC.OLB"
+$ if ($status .eq. ctrl_y) then goto Common_Exit
+$!
+$!
+$ 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
+$!
+$!
+$! GNV helper files for building the test curl binary.
+$!-----------------------------------------------
+$ create 'exedir'gnv$curl.opt
+$ open/append opt 'exedir'gnv$curl.opt
+$ if libzshr_line .nes. "" then write opt libzshr_line
+$ if gssrtlshr_line .nes. "" then write opt gssrtlshr_line
+$ if libcryptoshr_line .nes. "" then write opt libcryptoshr_line
+$ if libsslshr_line .nes. "" then write opt libsslshr_line
+$ close opt
+$!
+$!
+$! Create the libcurl
+$!------------------------------------------------------
+$ create 'exedir'gnv_libcurl_linker.opt
+$ open/append opt 'exedir'gnv_libcurl_linker.opt
+$ if libzshr_line .nes. "" then write opt libzshr_line
+$ if gssrtlshr_line .nes. "" then write opt gssrtlshr_line
+$ if libcryptoshr_line .nes. "" then write opt libcryptoshr_line
+$ if libsslshr_line .nes. "" then write opt libsslshr_line
+$ close opt
+$!
+$!
+$! If we are not on VAX, then we want the debug symbol table in
+$! a separate file.
+$! VAX needs the tool_main unquoted in uppercase,
+$! Alpha and IA64 need tool_main quoted in exact case when parse style is
+$! extended.
+$ link_dsf1 = ""
+$ link_dsf2 = ""
+$ tool_main = "tool_main"
+$ if arch_name .nes. "VAX"
+$ then
+$   if parse_style .eqs. "EXTENDED"
+$   then
+$      tool_main = """tool_main"""
+$   endif
+$   link_dsf1 = "/dsf=" + exedir + "CURL.DSF"
+$   link_dsf2 = "/dsf=" + exedir + "CURL_DEBUG.DSF"
+$ endif
+$ if (list .eq. 0)
+$ then
+$   link_map1 = "/nomap"
+$   link_map2 = "/nomap"
+$ else
+$   link_map1 = "/map=" + exedir + "CURL.MAP"
+$   link_map2 = "/map=" + exedir + "CURL_DEBUG.MAP"
+$ endif
+$!
+$!
+$! Make a normal image.
+$ set ver
+$ link 'link_map1' 'link_dsf1' /executable = 'exedir'CURL.EXE -
+   'objdir'curlsrc.olb /library /include = ('tool_main', curlmsg), -
+   'objdir'curllib.olb /library, -
+   'exedir'gnv$curl.opt/opt
+$!
+$! Also make a debug copy.
+$ link/debug 'link_map2' 'link_dsf2' /executable = 'exedir'CURL_DEBUG.EXE -
+   'objdir'curlsrc.olb /library /include = ('tool_main', curlmsg), -
+   'objdir'curllib.olb /library, -
+   'exedir'gnv$curl.opt/opt
+$ set nover
+$!
+$ 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 = "sys$disk:" + 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
+$       define/user curl 'curl_logical'
+$       if curl_sys_krbinc .nes. "" then define/user gssapi 'curl_sys_krbinc'
+$       define/user decc$system_include 'sys_inc'
+$       CC 'cc_defs' -
+         'cc_qual1' -
+         'cc_qual2' -
+         'cc_include' -
+         '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'
+$ exit
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/clean_gnv_curl.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/clean_gnv_curl.com
new file mode 100644
index 0000000..ba0173f
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/clean_gnv_curl.com
@@ -0,0 +1,250 @@
+$! File: clean_gnv_curl.COM
+$!
+$! $Id$
+$!
+$! The GNV environment leaves behind some during the configure and build
+$! procedure that need to be cleaned up.
+$!
+$! The default is to remove all the left over stuff from running the
+$! configure script and to remove all intermediate binary files.
+$!
+$! This should be run with no parameters after the gnv_curl_configure.sh
+$! script is run.
+$!
+$! Parameter P1: REALCLEAN
+$!   This removes all build products and brings the environment back to
+$!   the point where the gnv_curl_configure.sh procedure needs to be run again.
+$!
+$! Copyright 2009, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$!
+$! 07-Jul-2009	J. Malmberg
+$!============================================================================
+$!
+$! Save this so we can get back.
+$ default_dir = f$environment("default")
+$!
+$!
+$! Move to where the base directory is.
+$ set def [--]
+$!
+$!
+$ file = "sys$login:sh*."
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "sys$login:make*."
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[]confdefs.h"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[]conftest.dsf"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[]conftest.lis"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[]conftest.sym"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$!
+$ file = "lcl_root:[.conf*...]*.*"
+$ if f$search(file) .nes. "" then delete 'file';*
+$ file = "lcl_root:[]conf*.dir
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$!
+$ file = "lcl_root:[.lib]*.out"
+$ if f$search(file) .nes. "" then delete 'file';*
+$ file = "lcl_root:[.lib]*.o"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$!
+$ file = "lcl_root:[.lib]*.lis"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.src]*.lis"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.src]cc_temp*."
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.src]*.dsf"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.src]*.o"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.lib]ar*."
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.lib]cc_temp*."
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[...]*.lo"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[...]*.a"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[...]*.la"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[...]*.lai"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.include.curl]curlbuild.h_old"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.packages.vms]curl-*_original_src.bck"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.packages.vms]curl_d-*_original_src.bck"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.packages.vms]curl-*_vms_src.bck"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.packages.vms]curl_d-*_vms_src.bck"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.packages.vms]curl-*.release_notes"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.packages.vms]curl_d-*.release_notes"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.packages.vms]*-curl-*.pcsi$desc"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.packages.vms]*-curl_d-*.pcsi$desc"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.packages.vms]*-curl-*.pcsi$text"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.packages.vms]*-curl_d-*.pcsi$text"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$!======================================================================
+$!
+$ if p1 .nes. "REALCLEAN" then goto all_exit
+$!
+$ file = "lcl_root:[...]*.obj"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[...]Makefile."
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[...]libtool."
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[...]*.lis"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[...]POTFILES."
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[]libcurl.pc"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[]curl-config."
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[]config.h"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.include.curl]curlbuild.h"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.src]config.h"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.src]curl."
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.tests]configurehelp.pm"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.lib]config.h"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.lib]curl_config.h"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.lib]libcurl.vers"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[]ca-bundle.h"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[]config.log"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[]config.status"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[]conftest.dangle"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[]CXX$DEMANGLER_DB."
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[]stamp-h1."
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[...]stamp-h1."
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[...]stamp-h2."
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[...]stamp-h3."
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.lib]*.a"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[...]*.spec"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[...]gnv$*.*"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[...]gnv*.opt"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.packages.EPM]curl.list"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.packages.vms]macro32_exactcase.exe"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.packages.vms]report_openssl_version.exe"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.packages.vms]hp_ssl_release_info.txt"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$ file = "lcl_root:[.src]curl.exe"
+$ if f$search(file) .nes. "" then delete 'file';*
+$!
+$all_exit:
+$!
+$! Put the default back.
+$!-----------------------
+$ set def 'default_dir'
+$!
+$ exit
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/compare_curl_source.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/compare_curl_source.com
new file mode 100644
index 0000000..eeaec31
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/compare_curl_source.com
@@ -0,0 +1,371 @@
+$! Compare_curl_source.com
+$!
+$! $Id$
+$!
+$! This procedure compares the files in two directories and reports the
+$! differences.  It is customized for the vmsports repository layout.
+$!
+$! It needs to be customized to the local site directories.
+$!
+$! This is used by me for these purposes:
+$!     1. Compare the original source of a project with an existing
+$!        VMS port.
+$!     2. Compare the checked out repository of a project with the
+$!        the local working copy to make sure they are in sync.
+$!     3. Keep a copy directory up to date.  The third is needed by
+$!        me because VMS Backup can create a saveset of files from a
+$!        NFS mounted volume.
+$!
+$! First the files in the original source directory which is assumed to be
+$! under source codde control are compared with the copy directory.
+$!
+$! Then the files are are only in the copy directory are listed.
+$!
+$! The result will five diagnostics about of files:
+$!    1. Files that are not generation 1.
+$!    2. Files missing in the copy directory.
+$!    3. Files in the copy directory not in the source directory.
+$!    4. Files different from the source directory.
+$!    5. Files that VMS DIFF can not process.
+$!
+$! This needs to be run on an ODS-5 volume.
+$!
+$! If UPDATE is given as a second parameter, files missing or different in the
+$! copy directory will be updated.
+$!
+$! By default:
+$!    The directory src_root:[project_name] will be translated to something like
+$!    DISK:[dir.dir.reference.project_name] and this will be used
+$!    to calculate DISK:[dir.dir.vms_source.project_name] for the VMS specific
+$!    source directory.
+$!
+$!    The copy directory is vms_root:[project_name]
+$!    The UPDATE parameter is ignored.
+$!
+$!    This setting is used to make sure that the working vms directory
+$!    and the repository checkout directory have the same contents.
+$!
+$! If P1 is "SRCBCK" then this
+$!     The source directory tree is: src_root:[project_name]
+$!     The copy directory is src_root1:[project_name]
+$!
+$!   src_root1:[project_name] is used by me to work around that VMS backup will
+$!   not use NFS as a source directory so I need to make a copy.
+$!
+$!   This is to make sure that the backup save set for the unmodified
+$!   source is up to date.
+$!
+$!   If your repository checkout is not on an NFS mounted volume, you do not
+$!   need to use this option or have the logical name src_root1 defined.
+$!
+$! If P1 is "VMSBCK" then this changes the two directories:
+$!    The source directory is vms_root:[project_name]
+$!    The copy directory is vms_root1:[project_name]
+$!
+$!   vms_root:[project_name] is where I do the VMS specific edits.
+$!   vms_root1:[project_name] is used by me to work around that VMS backup will
+$!   not use NFS as a source directory so I need to make a copy.
+$!
+$!   This is to make sure that the backup save set for the unmodified
+$!   source is up to date.
+$!
+$! Copyright 2011, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$! 18-Aug-2011  J. Malmberg
+$!==========================================================================
+$!
+$! Update missing/changed files.
+$ update_file = 0
+$ if (p2 .eqs. "UPDATE")
+$ then
+$   update_file = 1
+$ endif
+$!
+$ myproc = f$environment("PROCEDURE")
+$ myprocdir = f$parse(myproc,,,"DIRECTORY") - "[" - "]" - "<" - ">"
+$ myprocdir = f$edit(myprocdir, "LOWERCASE")
+$ mydefault = f$environment("DEFAULT")
+$ mydir = f$parse(mydefault,,,"DIRECTORY")
+$ mydir = f$edit(mydir, "LOWERCASE")
+$ odelim = f$extract(0, 1, mydir)
+$ mydir = mydir - "[" - "]" - "<" - ">"
+$ mydev = f$parse(mydefault,,,"DEVICE")
+$!
+$ ref = ""
+$ if P1 .eqs. ""
+$ then
+$   ref_base_dir = myprocdir
+$   wrk_base_dir = mydir
+$   update_file = 0
+$   resultd = f$parse("src_root:",,,,"NO_CONCEAL")
+$   resultd = f$edit(resultd, "LOWERCASE")
+$   resultd = resultd - "][" - "><" - ".;" - ".."
+$   resultd_len = f$length(resultd) - 1
+$   delim = f$extract(resultd_len, 1, resultd)
+$   ref_root_base = mydir + delim
+$   resultd = resultd - ref_root_base - "reference." + "vms_source."
+$   ref = resultd + ref_base_dir
+$   wrk = "VMS_ROOT:" + odelim + wrk_base_dir
+$   resultd_len = f$length(resultd) - 1
+$   resultd = f$extract(0, resultd_len, resultd) + delim
+$   ref_root_dir = f$parse(resultd,,,"DIRECTORY")
+$   ref_root_dir = f$edit(ref_root_dir, "LOWERCASE")
+$   ref_root_dir = ref_root_dir - "[" - "]"
+$   ref_base_dir = ref_root_dir + "." + ref_base_dir
+$ endif
+$!
+$ if p1 .eqs. "SRCBCK"
+$ then
+$   ref_base_dir = "curl"
+$   wrk_base_dir = "curl"
+$   ref = "src_root:[" + ref_base_dir
+$   wrk = "src_root1:[" + wrk_base_dir
+$   if update_file
+$   then
+$       if f$search("src_root1:[000000]curl.dir") .eqs. ""
+$       then
+$           create/dir/prot=o:rwed src_root1:[curl]
+$       endif
+$   endif
+$ endif
+$!
+$!
+$ if p1 .eqs. "VMSBCK"
+$ then
+$   ref_base_dir = "curl"
+$   wrk_base_dir = "curl"
+$   ref = "vms_root:[" + ref_base_dir
+$   wrk = "vms_root1:[" + wrk_base_dir
+$   if update_file
+$   then
+$       if f$search("vms_root1:[000000]curl.dir") .eqs. ""
+$       then
+$           create/dir/prot=o:rwed vms_root1:[curl]
+$       endif
+$   endif
+$ endif
+$!
+$!
+$ if ref .eqs. ""
+$ then
+$   write sys$output "Unknown compare type specified!"
+$   exit 44
+$ endif
+$!
+$!
+$! Future - check the device types involved for the
+$! the syntax to check.
+$ ODS2_SYNTAX = 0
+$ NFS_MANGLE = 0
+$ PWRK_MANGLE = 0
+$!
+$ vax = f$getsyi("HW_MODEL") .lt. 1024
+$ if vax
+$ then
+$   ODS2_SYNTAX = 1
+$ endif
+$!
+$ report_missing = 1
+$!
+$ if .not. ODS2_SYNTAX
+$ then
+$   set proc/parse=extended
+$ endif
+$!
+$loop:
+$   ref_spec = f$search("''ref'...]*.*;",1)
+$   if ref_spec .eqs. "" then goto loop_end
+$!
+$   ref_dev = f$parse(ref_spec,,,"DEVICE")
+$   ref_dir = f$parse(ref_spec,,,"DIRECTORY")
+$   ref_dir = f$edit(ref_dir, "LOWERCASE")
+$   ref_name = f$parse(ref_spec,,,"NAME")
+$   ref_type = f$parse(ref_spec,,,"TYPE")
+$!
+$!
+$   rel_path = ref_dir - "[" - ref_base_dir
+$!  rel_path_len = f$length(rel_path) - 1
+$!  delim = f$extract(rel_path_len, 1, rel_path)
+$!  rel_path = rel_path - ".]" - ".>" - "]" - ">"
+$!  rel_path = rel_path + delim
+$!
+$   if ODS2_SYNTAX
+$   then
+$!       if rel_path .eqs. ".examples.scripts^.noah]"
+$!       then
+$!           rel_path = ".examples.scripts_noah]"
+$!       endif
+$!       if rel_path .eqs. ".examples.scripts^.v2]"
+$!       then
+$!           rel_path = ".examples.scripts_v2]"
+$!       endif
+$   endif
+$!
+$   wrk_path = wrk + rel_path
+$!
+$   ref_name_type = ref_name + ref_type
+$!
+$   if ODS2_SYNTAX
+$   then
+$   endif
+$!
+$   wrk_spec = wrk_path + ref_name_type
+$!
+$!
+$   wrk_chk = f$search(wrk_spec, 0)
+$   if wrk_chk .eqs. ""
+$   then
+$       if report_missing
+$       then
+$           write sys$output "''wrk_spec' is missing"
+$        endif
+$        if update_file
+$        then
+$            copy/log 'ref_spec' 'wrk_spec'
+$        endif
+$        goto loop
+$   endif
+$!
+$   wrk_name = f$parse(wrk_spec,,,"NAME")
+$   wrk_type = f$parse(wrk_spec,,,"TYPE")
+$   wrk_fname = wrk_name + wrk_type"
+$   ref_fname = ref_name + ref_type
+$!
+$   if ref_fname .nes. wrk_fname
+$   then
+$       write sys$output "''wrk_spc' wrong name, should be ""''ref_fname'"""
+$   endif
+$!
+$   ref_type = f$edit(ref_type, "UPCASE")
+$   if ref_type .eqs. ".DIR" then goto loop
+$!
+$   if ODS2_SYNTAX
+$   then
+$       ref_fname = f$edit(ref_fname, "LOWERCASE")
+$   endif
+$!
+$!  These files are in the wrong format for VMS diff, and we don't change them.
+$   ref_skip = 0
+$   if ref_type .eqs. ".PDF" then ref_skip = 1
+$   if ref_type .eqs. ".HTML" then ref_skip = 1
+$   if ref_type .eqs. ".HQX" then ref_skip = 1
+$   if ref_type .eqs. ".P12" then ref_skip = 1
+$   if ref_type .eqs. "."
+$   then
+$       if f$locate("test", ref_fname) .eq. 0 then ref_skip = 1
+$       if ref_fname .eqs. "configure." then ref_skip = 1
+$   endif
+$   if ref_fname .eqs. "MACINSTALL.TXT" then ref_skip = 1
+$   if ref_fname .eqs. "$macinstall.txt" then ref_skip = 1
+$   if ref_fname .eqs. "curl.mcp$5nxml$5nsit$5nhqx" then ref_skip = 1
+$   if ref_fname .eqs. "curl_GUSIConfig.cpp" then ref_skip = 1
+$   if ref_fname .eqs. "curl_$gusic$onfig.cpp" then ref_skip = 1
+$   if ref_fname .eqs. "macos_main.cpp" then ref_skip = 1
+$!
+$!
+$   if ref_skip .ne. 0
+$   then
+$      if report_missing
+$      then
+$          write sys$output "Skipping diff of ''ref_fname'"
+$      endif
+$      goto loop
+$   endif
+$!
+$!
+$   wrk_ver = f$parse(wrk_chk,,,"VERSION")
+$   if wrk_ver .nes. ";1"
+$   then
+$       write sys$output "Version for ''wrk_spec' is not 1"
+$   endif
+$   set noon
+$   diff/out=nl: 'wrk_spec' 'ref_spec'
+$   if $severity .nes. "1"
+$   then
+$       write sys$output "''wrk_spec' is different from ''ref_spec'"
+$       if update_file
+$       then
+$           delete 'wrk_spec';*
+$           copy/log 'ref_spec' 'wrk_spec'
+$       endif
+$   endif
+$   set on
+$
+$!
+$   goto loop
+$loop_end:
+$!
+$!
+$missing_loop:
+$!  For missing loop, check the latest generation.
+$   ref_spec = f$search("''wrk'...]*.*;")
+$   if ref_spec .eqs. "" then goto missing_loop_end
+$!
+$   ref_dev = f$parse(ref_spec,,,"DEVICE")
+$   ref_dir = f$parse(ref_spec,,,"DIRECTORY")
+$   ref_dir = f$edit(ref_dir, "LOWERCASE")
+$   ref_name = f$parse(ref_spec,,,"NAME")
+$   ref_type = f$parse(ref_spec,,,"TYPE")
+$   ref_name_type = ref_name + ref_type
+$!
+$   rel_path = ref_dir - "[" - wrk_base_dir
+$!
+$!
+$   wrk_path = ref + rel_path
+$   wrk_spec = wrk_path + ref_name + ref_type
+$   wrk_name = f$parse(wrk_spec,,,"NAME")
+$   wrk_type = f$parse(wrk_spec,,,"TYPE")
+$!
+$   wrk_fname = wrk_name + wrk_type"
+$   ref_fname = ref_name + ref_type
+$!
+$   wrk_skip = 0
+$   ref_utype = f$edit(ref_type,"UPCASE")
+$   ref_ufname = f$edit(ref_fname,"UPCASE")
+$!
+$   if wrk_skip .eq. 0
+$   then
+$       wrk_chk = f$search(wrk_spec, 0)
+$       if wrk_chk .eqs. ""
+$       then
+$           if report_missing
+$           then
+$               write sys$output "''wrk_spec' is missing"
+$           endif
+$           goto missing_loop
+$       endif
+$   else
+$       goto missing_loop
+$   endif
+$!
+$   if ref_fname .nes. wrk_fname
+$   then
+$       write sys$output "''wrk_spc' wrong name, should be ""''ref_fname'"""
+$   endif
+$!
+$   if ref_utype .eqs. ".DIR" then goto missing_loop
+$!
+$   wrk_ver = f$parse(wrk_chk,,,"VERSION")
+$   if wrk_ver .nes. ";1"
+$   then
+$      write sys$output "Version for ''wrk_spec' is not 1"
+$   endif
+$!
+$   goto missing_loop
+$!
+$!
+$missing_loop_end:
+$!
+$exit
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/config_h.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/config_h.com
new file mode 100644
index 0000000..2a5503f
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/config_h.com
@@ -0,0 +1,2184 @@
+$! File: config_h.com
+$!
+$! $Id: config_h.com,v 1.1.1.1 2012/12/02 19:25:21 wb8tyw Exp $
+$!
+$! This procedure attempts to figure out how to build a config.h file
+$! for the current project.
+$!
+$! P1 specifies the config.h.in file or equivalent.  If it is not specified
+$! then this procedure will search for several common names of the file.
+$!
+$! The CONFIGURE shell script will be examined for hints and a few symbols
+$! but most of the tests will not produce valid results on OpenVMS.  Some
+$! will produce false positives and some will produce false negatives.
+$!
+$! It is easier to just read the config.h_in file and make up tests based
+$! on what is in it!
+$!
+$! This file will create an empty config_vms.h file if one does not exist.
+$! The config_vms.h is intended for manual edits to handle things that
+$! this procedure can not.
+$!
+$! The config_vms.h will be invoked by the resulting config.h file.
+$!
+$! This procedure knows about the DEC C RTL on the system it is on.
+$! Future versions may be handle the GNV, the OpenVMS porting library,
+$! and others.
+$!
+$! This procedure may not guess the options correctly for all architectures,
+$! and is a work in progress.
+$!
+$! Copyright 2011, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$! 15-Jan-2001	J. Malmberg	Original
+$! 29-Apr-2001	J. Malmberg	Also look for config.*in* in a [.include]
+$!				subdirectory
+$! 30-Apr-2001	J. Malmberg	Update for SAMBA checks
+$! 09-Apr-2005	J. Malmberg	Update for RSYNC and large file.
+$! 29-Sep-2011	J. Malmberg	Update for Bash 4.2
+$! 01-Mar-2012	J. Malmberg	Warn about getcwd(0,0)
+$! 21-Dec-2012	J. Malmberg	Update for gawk
+$! 29-Dec-2012	J. Malmberg	Update for curl
+$!============================================================================
+$!
+$ss_normal = 1
+$ss_abort = 44
+$ss_control_y = 1556
+$status = ss_normal
+$on control_y then goto control_y
+$on warning then goto general_error
+$!on warning then set ver
+$!
+$! Some information for writing timestamps to created files
+$!----------------------------------------------------------
+$my_proc = f$environment("PROCEDURE")
+$my_proc_file = f$parse(my_proc,,,"NAME") + f$parse(my_proc,,,"TYPE")
+$tab[0,8] = 9
+$datetime = f$element(0,".",f$cvtime(,"ABSOLUTE","DATETIME"))
+$username = f$edit(f$getjpi("","USERNAME"),"TRIM")
+$!
+$pid = f$getjpi("","PID")
+$tfile1 = "SYS$SCRATCH:config_h_temp1_''pid'.TEMP"
+$dchfile = "SYS$SCRATCH:config_h_decc_''pid'.TEMP"
+$starhfile = "SYS$SCRATCH:config_h_starlet_''pid'.TEMP"
+$configure_script = "SYS$SCRATCH:configure_script_''pid'.TEMP"
+$!
+$!  Get the system type
+$!----------------------
+$arch_type = f$getsyi("arch_type")
+$!
+$! Does config_vms.h exist?
+$!-------------------------
+$update_config_vms = 0
+$file = f$search("sys$disk:[]config_vms.h")
+$if file .nes. ""
+$then
+$   write sys$output "Found existing custom file ''file'."
+$else
+$   update_config_vms = 1
+$   write sys$output "Creating new sys$disk:[]config_vms.h for you."
+$   gosub write_config_vms
+$endif
+$!
+$!
+$! On some platforms, DCL search has problems with searching a file
+$! on a NFS mounted volume.  So copy it to sys$scratch:
+$!
+$if f$search(configure_script) .nes. "" then delete 'configure_script';*
+$copy sys$disk:[]configure 'configure_script'
+$!
+$ssl_header_dir = "OPENSSL:"
+$if f$trnlnm("OPENSSL") .eqs. ""
+$then
+$    ssl_header_dir = "SSL$INCLUDE:"
+$endif
+$!
+$!
+$! Write out the header
+$!----------------------
+$gosub write_config_h_header
+$!
+$!
+$!
+$! config.h.in could have at least five different names depending
+$! on how it was transferred to OpenVMS
+$!------------------------------------------------------------------
+$if p1 .nes. ""
+$then
+$   cfile = p1
+$else
+$   cfile = f$search("sys$disk:[]config.h.in")
+$   if cfile .eqs. ""
+$   then
+$	cfile = f$search("sys$disk:[]config.h_in")
+$	if cfile .eqs. ""
+$	then
+$	    cfile = f$search("sys$disk:[]configh.in")
+$	    if cfile .eqs. ""
+$	    then
+$		cfile = f$search("sys$disk:[]config__2eh.in")
+$		if cfile .eqs. ""
+$		then
+$		    cfile = f$search("sys$disk:[]config.h__2ein")
+$		endif
+$	    endif
+$	endif
+$   endif
+$endif
+$if f$trnlnm("PRJ_INCLUDE") .nes. ""
+$then
+$   cfile = f$search("PRJ_INCLUDE:config.h.in")
+$   if cfile .eqs. ""
+$   then
+$	cfile = f$search("PRJ_INCLUDE:config.h_in")
+$	if cfile .eqs. ""
+$	then
+$	    cfile = f$search("PRJ_INCLUDE:config__2eh.in")
+$	    if cfile .eqs. ""
+$	    then
+$		cfile = f$search("PRJ_INCLUDE:config__2eh.in")
+$		if cfile .eqs. ""
+$		then
+$		    cfile = f$search("PRJ_INCLUDE:config.h__2ein")
+$		endif
+$	    endif
+$	endif
+$    endif
+$endif
+$if cfile .eqs. ""
+$then
+$   write sys$output "Can not find sys$disk:config.h.in"
+$   line_out = "Looked for config.h.in, config.h_in, configh.in, "
+$   line_out = line_out + "config__2eh.in, config.h__2ein"
+$   write/symbol sys$output line_out
+$   if f$trnlnm("PRJ_INCLUDE") .nes. ""
+$   then
+$	write sys$output "Also looked in PRJ_INCLUDE: for these files."
+$   endif
+$!
+$   write tf ""
+$   write tf -
+	"   /* Could not find sys$disk:config.h.in                           */"
+$   write tf -
+	"  /*  Looked also for config.h_in, configh.in, config__2eh.in,     */"
+$   write tf -
+	" /*   config.h__2ein						   */"
+$   if f$trnlnm("PRJ_INCLUDE") .nes. ""
+$   then
+$	write tf -
+	" /* Also looked in PRJ_INCLUDE: for these files.		  */"
+$   endif
+$   write tf -
+	"/*--------------------------------------------------------------*/
+$   write tf ""
+$   goto write_tail
+$endif
+$!
+$!
+$! Locate the DECC libraries in use
+$!-----------------------------------
+$decc_rtldef = f$parse("decc$rtldef","sys$library:.tlb;0")
+$decc_starletdef = f$parse("sys$starlet_c","sys$library:.tlb;0")
+$decc_shr = f$parse("decc$shr","sys$share:.exe;0")
+$!
+$! Dump the DECC header names into a file
+$!----------------------------------------
+$if f$search(dchfile) .nes. "" then delete 'dchfile';*
+$if f$search(tfile1) .nes. "" then delete 'tfile1';*
+$define/user sys$output 'tfile1'
+$library/list 'decc_rtldef'
+$open/read/error=rtldef_loop1_end tf1 'tfile1'
+$open/write/error=rtldef_loop1_end tf2 'dchfile'
+$rtldef_loop1:
+$   read/end=rtldef_loop1_end tf1 line_in
+$   line_in = f$edit(line_in,"TRIM,COMPRESS")
+$   key1 = f$element(0," ",line_in)
+$   key2 = f$element(1," ",line_in)
+$   if key1 .eqs. " " .or. key1 .eqs. "" then goto rtldef_loop1
+$   if key2 .nes. " " .and. key2 .nes. "" then goto rtldef_loop1
+$   write tf2 "|",key1,"|"
+$   goto rtldef_loop1
+$rtldef_loop1_end:
+$if f$trnlnm("tf1","lnm$process",,"SUPERVISOR") .nes. "" then close tf1
+$if f$trnlnm("tf2","lnm$process",,"SUPERVISOR") .nes. "" then close tf2
+$if f$search(tfile1) .nes. "" then delete 'tfile1';*
+$!
+$! Dump the STARLET header names into a file
+$!----------------------------------------
+$if f$search(starhfile) .nes. "" then delete 'starhfile';*
+$if f$search(tfile1) .nes. "" then delete 'tfile1';*
+$define/user sys$output 'tfile1'
+$library/list 'decc_starletdef'
+$open/read/error=stardef_loop1_end tf1 'tfile1'
+$open/write/error=stardef_loop1_end tf2 'starhfile'
+$stardef_loop1:
+$   read/end=stardef_loop1_end tf1 line_in
+$   line_in = f$edit(line_in,"TRIM,COMPRESS")
+$   key1 = f$element(0," ",line_in)
+$   key2 = f$element(1," ",line_in)
+$   if key1 .eqs. " " .or. key1 .eqs. "" then goto stardef_loop1
+$   if key2 .nes. " " .and. key2 .nes. "" then goto stardef_loop1
+$   write tf2 "|",key1,"|"
+$   goto stardef_loop1
+$stardef_loop1_end:
+$if f$trnlnm("tf1","lnm$process",,"SUPERVISOR") .nes. "" then close tf1
+$if f$trnlnm("tf2","lnm$process",,"SUPERVISOR") .nes. "" then close tf2
+$if f$search(tfile1) .nes. "" then delete 'tfile1';*
+$!
+$!
+$! Now calculate what should be in the file from reading
+$! config.h.in and CONFIGURE.
+$!---------------------------------------------------------------
+$open/read inf 'cfile'
+$do_comment = 0
+$if_block = 0
+$cfgh_in_loop1:
+$!set nover
+$   read/end=cfgh_in_loop1_end inf line_in
+$   xline = f$edit(line_in,"TRIM,COMPRESS")
+$!
+$!  Blank line handling
+$!---------------------
+$   if xline .eqs. ""
+$   then
+$	write tf ""
+$	goto cfgh_in_loop1
+$   endif
+$   xlen = f$length(xline)
+$   key = f$extract(0,2,xline)
+$!
+$!  deal with comments by copying exactly
+$!-----------------------------------------
+$   if (do_comment .eq. 1) .or. (key .eqs. "/*")
+$   then
+$	do_comment = 1
+$	write tf line_in
+$	key = f$extract(xlen - 2, 2, xline)
+$	if key .eqs. "*/" then do_comment = 0
+$	goto cfgh_in_loop1
+$   endif
+$!
+$!  Some quick parsing
+$!----------------------
+$   keyif = f$extract(0,3,xline)
+$   key1 = f$element(0," ",xline)
+$   key2 = f$element(1," ",xline)
+$   key2a = f$element(0,"_",key2)
+$   key2b = f$element(1,"_",key2)
+$   key2_len = f$length(key2)
+$   key2_h = f$extract(key2_len - 2, 2, key2)
+$   key2_t = f$extract(key2_len - 5, 5, key2)
+$   if key2_t .eqs. "_TYPE" then key2_h = "_T"
+$   key64 = 0
+$   if f$locate("64", xline) .lt. xlen then key64 = 1
+$!
+$!write sys$output "xline = ''xline'"
+$!
+$!  Comment out this section of the ifblock
+$!-----------------------------------------
+$   if if_block .ge. 3
+$   then
+$	write tf "/* ", xline, " */"
+$	if keyif .eqs. "#en" then if_block = 0
+$	goto cfgh_in_loop1
+$   endif
+$!
+$!  Handle the end of an ifblock
+$!-------------------------------
+$   if keyif .eqs. "#en"
+$   then
+$	write tf xline
+$	if_block = 0
+$	goto cfgh_in_loop1
+$   endif
+$!
+$   if key1 .eqs. "#ifndef"
+$   then
+$!	Manual check for _ALL_SOURCE on AIX error
+$!-----------------------------------------------
+$	if key2 .eqs. "_ALL_SOURCE"
+$	then
+$	   write tf "/* ", xline, " */"
+$!
+$!	   Ignore the rest of the block
+$!--------------------------------------
+$	   if_block = 3
+$	   goto cfgh_in_loop1
+$	endif
+$   endif
+$!
+$!
+$!  Default action for an #if/#else/#endif
+$!------------------------------------------
+$   if keyif .eqs. "#if" .or. keyif .eqs. "#el"
+$   then
+$	if_block = 1
+$	write tf xline
+$	goto cfgh_in_loop1
+$   endif
+$!
+$!
+$!  Process "normal?" stuff
+$!---------------------------
+$   if key1 .eqs. "#undef"
+$   then
+$	key2c = f$element(2, "_", key2)
+$	if (key2c .eqs. "_") .or. (key2c .eqs. "H") then key2c = ""
+$	key2d = f$element(3, "_", key2)
+$	if (key2d .eqs. "_") .or. (key2d .eqs. "H") then key2d = ""
+$	key2e = f$element(4, "_", key2)
+$	if (key2e .eqs. "_") .or. (key2e .eqs. "H") then key2e = ""
+$	if key2d .eqs. "T"
+$	then
+$	    if key2e .eqs. "TYPE"
+$	    then
+$		key2_h = "_T"
+$		key2d = ""
+$	    endif
+$	endif
+$!
+$	double_under = 0
+$!
+$!	Process FCNTL directives
+$!-------------------------------------
+$	if (key2b .eqs. "FCNTL") .and. (key2c .eqs. "O") .and. -
+	   (key2d .eqs. "NONBLOCK")
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$!	Process GETADDRINFO directives
+$!-------------------------------------
+$	if key2 .eqs. "GETADDRINFO_THREADSAFE"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$!	Process IOCTL directives
+$!-------------------------------------
+$	if (key2b .eqs. "IOCTL") .and. (key2c .nes. "")
+$	then
+$	    if (key2c .eqs. "FIONBIO") .or. (key2c .eqs. "SIOCGIFADDR")
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' 1"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	endif
+$!
+$!
+$!	Manual check for LL on
+$!-----------------------------------------------
+$	if key2 .eqs. "LL"
+$	then
+$	   write tf "#ifndef __VAX
+$	   write tf "#define HAVE_''key2' 1"
+$	   write tf "#endif"
+$	   goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "bool_t"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' short"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "bits16_t"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' short"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "u_bits16_t"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' unsigned short"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "bits32_t"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' int"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "u_bits32_t"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' unsigned int"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "intmax_t"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#ifdef __VAX"
+$	    write tf "#define ''key2' long"
+$	    write tf "#else"
+$	    write tf "#define ''key2' long long"
+$	    write tf "#endif"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "uintmax_t"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#ifdef __VAX"
+$	    write tf "#define ''key2' unsigned long"
+$	    write tf "#else"
+$	    write tf "#define ''key2' unsigned long long"
+$	    write tf "#endif"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "socklen_t"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' int"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "GETGROUPS_T"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' gid_t"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_DECL_SYS_SIGLIST"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 0"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_SYS_ERRLIST"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_STRUCT_DIRENT_D_INO"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_STRUCT_TIMEVAL"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$!	! The header files have this information, however
+$!      ! The ioctl() call only works on sockets.
+$!	if key2 .eqs. "FIONREAD_IN_SYS_IOCTL"
+$!	then
+$!	    write tf "#ifndef ''key2'"
+$!	    write tf "#define ''key2' 1"
+$!	    write tf "#endif"
+$!	    goto cfgh_in_loop1
+$!	endif
+$!
+$!	! The header files have this information, however
+$!      ! The ioctl() call only works on sockets.
+$!	if key2 .eqs. "GWINSZ_IN_SYS_IOCTL"
+$!	then
+$!	    write tf "#ifndef ''key2'"
+$!	    write tf "#define ''key2' 1"
+$!	    write tf "#endif"
+$!	    goto cfgh_in_loop1
+$!	endif
+$!
+$!	! The header files have this information, however
+$!      ! The ioctl() call only works on sockets.
+$!	if key2 .eqs. "STRUCT_WINSIZE_IN_SYS_IOCTL"
+$!	then
+$!	    write tf "#ifndef ''key2'"
+$!	    write tf "#define ''key2' 0"
+$!	    write tf "#endif"
+$!	    goto cfgh_in_loop1
+$!	endif
+$!
+$	if key2 .eqs. "HAVE_STRUCT_TM_TM_ZONE"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_TM_ZONE"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_TIMEVAL"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "WEXITSTATUS_OFFSET"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 2"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_GETPW_DECLS"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_DECL_CONFSTR"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_DECL_PRINTF"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_DECL_SBRK"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_DECL_STRSIGNAL"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 0"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2a .eqs. "HAVE_DECL_STRTOLD"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 0"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_DECL_STRTOIMAX"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 0"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_DECL_STRTOL"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_DECL_STRTOLL"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_DECL_STRTOUL"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_DECL_STRTOULL"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_DECL_STRTOUMAX"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 0"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "GETPGRP_VOID"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "NAMED_PIPES_MISSING"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "OPENDIR_NOT_ROBUST"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "PGRP_PIPE"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "CAN_REDEFINE_GETENV"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_PRINTF_A_FORMAT"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "CTYPE_NON_ASCII"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_LANGINFO_CODESET"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 0"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$!      This wants execve() to do this automagically to pass.
+$!	if key2 .eqs. "HAVE_HASH_BANG_EXEC"
+$!	then
+$!	    write tf "#ifndef ''key2'"
+$!	    write tf "#define ''key2' 1"
+$!	    write tf "#endif"
+$!	    goto cfgh_in_loop1
+$!	endif
+$!
+$	if key2 .eqs. "ICONV_CONST"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2'"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "VOID_SIGHANDLER"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_POSIX_SIGNALS"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "UNUSABLE_RT_SIGNALS"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2a .eqs. "HAVE_DECL_FPURGE"
+$	then
+$	    write tf "#ifndef ''key2a'"
+$	    write tf "#define ''key2a' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_DECL_SETREGID"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_POSIX_SIGSETJMP"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_LIBDL"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_ENGINE_LOAD_BUILTIN_ENGINES"
+$	then
+$	    if f$search("''ssl_header_dir'engine.h") .nes. ""
+$	    then
+$		search_key = key2 - "HAVE_"
+$		define/user sys$output nl:
+$		define/user sys$error nl:
+$		search/output=nl: 'ssl_header_dir'engine.h 'search_key'
+$		if '$severity' .eq. 1
+$		then
+$		    write tf "#ifndef ''key2'"
+$		    write tf "#define ''key2' 1"
+$		    write tf "#endif"
+$		else
+$		    write tf "/* #undef ''key2' */"
+$		endif
+$	    else
+$		write tf "/* #undef ''key2' */"
+$	    endif
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "HAVE_SSL_GET_SHUTDOWN"
+$	then
+$	    if f$search("''ssl_header_dir'ssl.h") .nes. ""
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' 1"
+$		write tf "#endif"
+$	    else
+$		write tf "/* #undef ''key2' */"
+$	    endif
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2b .eqs. "RAND" .and. key2c .nes. "" .and. key2d .eqs. ""
+$	then
+$	    if (key2c .eqs. "EGD") .or. -
+	       (key2c .eqs. "STATUS") .or. -
+	       (key2c .eqs. "SCREEN")
+$	    then
+$		if f$search("''ssl_header_dir'rand.h") .nes. ""
+$		then
+$		    write tf "#ifndef ''key2'"
+$		    write tf "#define ''key2' 1"
+$		    write tf "#endif"
+$		else
+$		    write tf "/* #undef ''key2' */"
+$		endif
+$	    endif
+$	endif
+$!
+$	if key2 .eqs. "STRCOLL_BROKEN"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if key2 .eqs. "DUP_BROKEN"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#define ''key2' 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$!	This is for a test that getcwd(0,0) works.
+$!	It does not on VMS.
+$!--------------------------
+$	if key2 .eqs. "GETCWD_BROKEN"
+$	then
+$	    write sys$output ""
+$	    write sys$output -
+  "%CONFIG_H-I-NONPORT, ''key2' being tested for!"
+$		   write sys$output -
+ "-CONFIG_H-I-GETCWD, GETCWD(0,0) does not work on VMS."
+$		   write sys$output -
+ "-CONFIG_H-I-GETCWD2, Work around hack probably required."
+$		   write sys$output -
+ "-CONFIG_H-I-REVIEW, Manual Code review required!"
+$		    if update_config_vms
+$		    then
+$			open/append tfcv sys$disk:[]config_vms.h
+$			write tfcv ""
+$			write tfcv -
+		"/* Check config.h for use of ''key2' settings */"
+$			write tfcv ""
+$			close tfcv
+$		    endif
+$
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$	if (key2a .eqs. "HAVE") .or. (key2a .eqs. "STAT") .or. -
+	   (key2 .eqs. "ENABLE_IPV6") .or. (key2b .eqs. "LDAP")
+$	then
+$!
+$!	    Process extra underscores
+$!------------------------------------
+$	    if f$locate("HAVE___", key2) .lt. key2_len
+$	    then
+$		key2b = "__" + key2d
+$		key2d = ""
+$		double_under = 1
+$	    else
+$		if f$locate("HAVE__", key2) .lt. key2_len
+$		then
+$		    key2b = "_" + key2c
+$		    key2c = ""
+$		    double_under = 1
+$		endif
+$	    endif
+$!
+$	    if (key2_h .eqs. "_H") .or. (key2 .eqs. "ENABLE_IPV6") .or. -
+	       (key2b .eqs. "LDAP")
+$	    then
+$!
+$!		Looking for a header file
+$!---------------------------------------
+$		headf = key2b
+$		if key2c .nes. "" then headf = headf + "_" + key2c
+$		if key2d .nes. "" then headf = headf + "_" + key2d
+$!
+$!		   (key2b .eqs. "READLINE")
+$!
+$!		Some special parsing
+$!------------------------------------------
+$		if (key2b .eqs. "SYS") .or. (key2b .eqs. "ARPA") .or. -
+		   (key2b .eqs. "NET") .or. (key2b .eqs. "NETINET")
+$		then
+$		    if key2c .nes. ""
+$		    then
+$			headf = key2c
+$			if key2d .nes. "" then headf = key2c + "_" + key2d
+$		    endif
+$		endif
+$!
+$!		And of course what's life with out some special cases
+$!--------------------------------------------------------------------
+$		if key2 .eqs. "ENABLE_IPV6"
+$		then
+$		    headf = "in6"
+$		endif
+$!
+$		if key2b .eqs. "LDAP"
+$		then
+$		    if (key2 .eqs. "HAVE_LDAP_SSL") .or. -
+		       (key2 .eqs. "HAVE_LDAP_URL_PARSE")
+$		    then
+$			headf = "ldap"
+$		    endif
+$		endif
+$!
+$!
+$		if key2b .eqs. "FILE"
+$		then
+$		   write sys$output ""
+$		   write sys$output -
+  "%CONFIG_H-I-NONPORT, ''key2' being asked for!"
+$		   write sys$output -
+ "-CONFIG_H-I-FILE_OLD, file.h will not be configured as is obsolete!"
+$		   write sys$output -
+ "-CONFIG_H_I-FCNTL_NEW, "Expecting fcntl.h to be configured instead!"
+$		   write sys$output -
+ "-CONFIG_H_I-FCNTL_CHK, "Unable to verify at this time!"
+$		   write sys$output -
+ "-CONFIG_H-I-REVIEW, Manual Code review required!"
+$!
+$		    if update_config_vms
+$		    then
+$			open/append tfcv sys$disk:[]config_vms.h
+$			write tfcv ""
+$			write tfcv -
+		"/* Check config.h for use of fcntl.h instead of file.h */"
+$			write tfcv ""
+$			close tfcv
+$		    endif
+$		endif
+$!
+$!		Now look it up in the DEC C RTL
+$!---------------------------------------------
+$		define/user sys$output nl:
+$		define/user sys$error nl:
+$		search/output=nl: 'dchfile' |'headf'|/exact
+$		if '$severity' .eq. 1
+$		then
+$		    if key64 then write tf "#ifndef __VAX"
+$		    write tf "#ifndef ''key2'"
+$		    write tf "#define ''key2' 1"
+$if p2 .nes. "" then write sys$output "''dchfile' - #define ''key2' 1"
+$		    write tf "#endif"
+$		    if key64 then write tf "#endif"
+$set nover
+$		    goto cfgh_in_loop1
+$		endif
+$!
+$!
+$!		Now look it up in the DEC C STARLET_C
+$!---------------------------------------------
+$		define/user sys$output nl:
+$		define/user sys$error nl:
+$		search/output=nl: 'starhfile' |'headf'|/exact
+$		if '$severity' .eq. 1
+$		then
+$		    if key64 then write tf "#ifndef __VAX"
+$		    write tf "#ifndef ''key2'"
+$		    write tf "#define ''key2' 1"
+$if p2 .nes. "" then write sys$output "''starfile' - #define ''key2' 1"
+$		    write tf "#endif"
+$		    if key64 then write tf "#endif"
+$set nover
+$		    goto cfgh_in_loop1
+$		endif
+$!
+$!		Now look for OPENSSL headers
+$!---------------------------------------------------------
+$		if key2b .eqs. "OPENSSL"
+$		then
+$		    headf = headf - "OPENSSL_"
+$		    header = f$search("''ssl_header_dir'''headf'.h")
+$		    if header .nes. ""
+$		    then
+$			write tf "#ifndef ''key2'"
+$			write tf "#define ''key2' 1"
+$			write tf "#endif"
+$set nover
+$			goto cfgh_in_loop1
+$		    endif
+$		endif
+$!
+$!		Now look for Kerberos
+$!------------------------------------------------------------
+$		if key2b .eqs. "GSSAPI"
+$		then
+$		    header_dir = "sys$sysroot:[kerberos.include]"
+$		    headf = headf - "GSSAPI_"
+$		    header = f$search("''header_dir'''headf'.h")
+$		    if header .nes. ""
+$		    then
+$			write tf "#ifndef ''key2'"
+$			write tf "#define ''key2' 1"
+$			write tf "#endif"
+$set nover
+$			goto cfgh_in_loop1
+$		    endif
+$		endif
+$!
+$set nover
+$	    else
+$!
+$!		Looking for a routine or a symbol
+$!------------------------------------------------
+$		if key2c .eqs. "MACRO"
+$		then
+$		    if (key2b .eqs. "FILE") .or. (key2b .eqs. "DATE") -
+			.or. (key2b .eqs. "LINE") .or. (key2b .eqs. "TIME")
+$		    then
+$			write tf "#ifndef HAVE_''key2b'"
+$			write tf "#define HAVE_''key2b' 1"
+$			write tf "#endif"
+$		    endif
+$		    goto cfgh_in_loop1
+$		endif
+$!
+$!		Special false tests
+$!-------------------------------------
+$		if double_under
+$		then
+$		    if key2b .eqs. "_FCNTL" .or. key2b .eqs. "__FCNTL"
+$		    then
+$			write tf "/* #undef HAVE_''key2b' */"
+$			goto cfgh_in_loop1
+$		    endif
+$!
+$		    if key2b .eqs. "_STAT" .or. key2b .eqs. "__STAT"
+$		    then
+$			write tf "/* #undef HAVE_''key2b' */"
+$			goto cfgh_in_loop1
+$		    endif
+$!
+$		    if key2b .eqs. "_READ" .or. key2b .eqs. "__READ"
+$		    then
+$			write tf "/* #undef HAVE_''key2b' */"
+$			goto cfgh_in_loop1
+$		    endif
+$		endif
+$!
+$		keysym = key2b
+$		if key2c .nes. "" then keysym = keysym + "_" + key2c
+$		if key2d .nes. "" then keysym = keysym + "_" + key2d
+$		if key2e .nes. "" then keysym = keysym + "_" + key2e
+$!
+$!
+$!		Stat structure members
+$!-------------------------------------
+$		if key2b .eqs. "STRUCT"
+$		then
+$		    if key2c .eqs. "STAT" .and (key2d .nes. "")
+$		    then
+$			key2b = key2b + "_" + key2c + "_" + key2d
+$			key2c = key2e
+$			key2d = ""
+$			key2e = ""
+$		    endif
+$		endif
+$		if (key2b .eqs. "ST") .or. (key2b .eqs. "STRUCT_STAT_ST")
+$		then
+$		    keysym = "ST" + "_" + key2c
+$		    keysym = f$edit(keysym,"LOWERCASE")
+$		endif
+$		if key2a .eqs. "STAT"
+$		then
+$		    if (f$locate("STATVFS", key2b) .eq. 0) .and. key2c .eqs. ""
+$		    then
+$			keysym = f$edit(key2b, "LOWERCASE")
+$		    endif
+$!$		    if (key2b .eqs. "STATVFS" .or. key2b .eqs. "STATFS2" -
+$!			.or. key2b .eqs. "STATFS3") .and. key2c .nes. ""
+$!
+$		    if (key2b .eqs. "STATVFS") .and. key2c .nes. ""
+$		    then
+$!			Should really verify that the structure
+$!			named by key2b actually exists first.
+$!------------------------------------------------------------
+$!
+$!			Statvfs structure members
+$!-------------------------------------------------
+$			keysym = "f_" + f$edit(key2c,"LOWERCASE")
+$		    endif
+$		endif
+$!
+$!		UTMPX structure members
+$!--------------------------------------
+$		if key2b .eqs. "UT" .and. key2c .eqs. "UT"
+$		then
+$		    keysym = "ut_" + f$edit(key2d,"LOWERCASE")
+$		endif
+$!
+$		if f$locate("MMAP",key2) .lt. key2_len
+$		then
+$		   write sys$output ""
+$		   write sys$output -
+  "%CONFIG_H-I-NONPORT, ''key2' being asked for!"
+$		   write sys$output -
+ "-CONFIG_H-I-MMAP, MMAP operations only work on STREAM and BINARY files!"
+$		   write sys$output -
+ "-CONFIG_H-I-REVIEW, Manual Code review required!"
+$		    if update_config_vms
+$		    then
+$			open/append tfcv sys$disk:[]config_vms.h
+$			write tfcv ""
+$			write tfcv -
+		"/* Check config.h for use of ''key2' settings */"
+$			write tfcv ""
+$			close tfcv
+$		    endif
+$		endif
+$!
+$!
+$		if keysym .eqs. "CRYPT"
+$		then
+$		   write sys$output ""
+$		   write sys$output -
+  "%CONFIG_H-I-NONPORT, ''key2' being asked for!"
+$		   write sys$output -
+ "-CONFIG_H-I-CRYPT, CRYPT operations on the VMS SYSUAF may not work!"
+$		   write sys$output -
+ "-CONFIG_H-I-REVIEW, Manual Code review required!"
+$		    if update_config_vms
+$		    then
+$			open/append tfcv sys$disk:[]config_vms.h
+$			write tfcv ""
+$			write tfcv -
+		"/* Check config.h for use of ''keysym' */"
+$			write tfcv ""
+$			close tfcv
+$		    endif
+$		endif
+$!
+$!
+$		if keysym .eqs. "EXECL"
+$		then
+$		   write sys$output ""
+$		   write sys$output -
+  "%CONFIG_H-I-NONPORT, ''key2' being asked for!"
+$		   write sys$output -
+ "-CONFIG_H-I-EXCEL, EXECL configured, Will probably not work."
+$		   write sys$output -
+ "-CONFIG_H-I-REVIEW, Manual Code review required!"
+$		    if update_config_vms
+$		    then
+$			open/append tfcv sys$disk:[]config_vms.h
+$			write tfcv ""
+$			write tfcv -
+		"/* Check config.h for use of ''keysym' */"
+$			write tfcv ""
+$			close tfcv
+$		    endif
+$		endif
+$!
+$!
+$!		Process if cpp supports ANSI-C stringizing '#' operator
+$!-----------------------------------------------------------------------
+$		if keysym .eqs. "STRINGIZE"
+$		then
+$		    write tf "#ifndef HAVE_STRINGIZE"
+$		    write tf "#define HAVE_STRINGSIZE 1"
+$		    write tf "#endif"
+$		    goto cfgh_in_loop1
+$		endif
+$!
+$		if keysym .eqs. "VOLATILE"
+$		then
+$		    write tf "#ifndef HAVE_VOLATILE"
+$		    write tf "#define HAVE_VOLATILE 1"
+$		    write tf "#endif"
+$		    goto cfgh_in_loop1
+$		endif
+$!
+$		if keysym .eqs. "ALLOCA"
+$		then
+$		    write tf "#ifndef HAVE_ALLOCA"
+$		    write tf "#define HAVE_ALLOCA 1"
+$		    write tf "#endif"
+$		    goto cfgh_in_loop1
+$		endif
+$!
+$		if keysym .eqs. "ERRNO_DECL"
+$		then
+$		    write tf "#ifndef HAVE_ERRNO_DECL"
+$		    write tf "#define HAVE_ERRNO_DECL 1"
+$		    write tf "#endif"
+$		    goto cfgh_in_loop1
+$		endif
+$!
+$		if keysym .eqs. "LONGLONG"
+$		then
+$		    write tf "#ifndef __VAX"
+$		    write tf "#pragma message disable longlongtype"
+$		    write tf "#ifndef HAVE_LONGLONG"
+$		    write tf "#define HAVE_LONGLONG 1"
+$		    write tf "#endif"
+$		    write tf "#endif"
+$		    goto cfgh_in_loop1
+$		endif
+$!
+$!		May need to test compiler version
+$!-----------------------------------------------
+$		if keysym .eqs. "LONG_LONG"
+$		then
+$		    write tf "#ifndef __VAX"
+$		    write tf "#pragma message disable longlongtype"
+$		    write tf "#ifndef HAVE_LONG_LONG"
+$		    write tf "#define HAVE_LONG_LONG 1"
+$		    write tf "#endif"
+$		    write tf "#endif"
+$		    goto cfgh_in_loop1
+$		endif
+$!
+$!		May need to test compiler version
+$!-----------------------------------------------
+$		if keysym .eqs. "UNSIGNED_LONG_LONG"
+$		then
+$		    write tf "#ifndef __VAX"
+$		    write tf "#pragma message disable longlongtype"
+$		    write tf "#ifndef HAVE_UNSIGNED_LONG_LONG"
+$		    write tf "#define HAVE_UNSIGNED_LONG_LONG 1"
+$		    write tf "#endif"
+$		    write tf "#endif"
+$		    goto cfgh_in_loop1
+$		endif
+$!
+$!		May need to test compiler version
+$!-----------------------------------------------
+$		if keysym .eqs. "UNSIGNED_LONG_LONG_INT"
+$		then
+$		    write tf "#ifndef __VAX"
+$		    write tf "#pragma message disable longlongtype"
+$		    write tf "#ifndef HAVE_UNSIGNED_LONG_LONG_INT"
+$		    write tf "#define HAVE_UNSIGNED_LONG_LONG_INT 1"
+$		    write tf "#endif"
+$		    write tf "#endif"
+$		    goto cfgh_in_loop1
+$		endif
+$!
+$!		May need to test compiler version
+$!-----------------------------------------------
+$		if keysym .eqs. "LONG_DOUBLE"
+$		then
+$		    write tf "#ifndef __VAX"
+$		    write tf "#pragma message disable longlongtype"
+$		    write tf "#ifndef HAVE_LONG_DOUBLE"
+$		    write tf "#define HAVE_LONG_DOUBLE 1"
+$		    write tf "#endif"
+$		    write tf "#endif"
+$		    goto cfgh_in_loop1
+$		endif
+$!
+$		if keysym .eqs. "FCNTL_LOCK"
+$		then
+$		    write sys$output -
+  "%CONFIG_H-I-NONPORT, ''key2' being asked for!
+$		   write sys$output -
+ "-CONFIG_H-I-REVIEW, Manual Code review required!"
+$		    goto cfgh_in_loop1
+$		endif
+$!
+$!
+$!		These libraries are provided by the DEC C RTL
+$!-------------------------------------------------------------
+$		if keysym .eqs. "LIBINET" .or. keysym .eqs. "LIBSOCKET"
+$		then
+$		    write tf "#ifndef HAVE_''keysym'"
+$		    write tf "#define HAVE_''keysym' 1"
+$if p2 .nes. "" then write sys$output "''decc_shr' #define ''keysym' 1"
+$		    write tf "#endif
+$		    goto cfgh_in_loop1
+$		endif
+$!
+$		if keysym .eqs. "HERRNO" then keysym = "h_errno"
+$		if keysym .eqs. "UTIMBUF" then keysym = "utimbuf"
+$		if key2c .eqs. "STRUCT"
+$		then
+$		    keysym = f$edit(key2d,"LOWERCASE")
+$		else
+$		    if key2_h .eqs. "_T"
+$		    then
+$			if key2_t .eqs. "_TYPE"
+$			then
+$			    keysym = f$extract(0, key2_len - 5, key2) - "HAVE_"
+$			endif
+$			keysym = f$edit(keysym,"LOWERCASE")
+$		    endif
+$		endif
+$!
+$!		Check the DEC C RTL shared image first
+$!------------------------------------------------------
+$		if f$search(tfile1) .nes. "" then delete 'tfile1';*
+$		define/user sys$output nl:
+$		define/user sys$error nl:
+$		search/format=nonull/out='tfile1' 'decc_shr' 'keysym'
+$		if '$severity' .eq. 1
+$		then
+$!
+$!		    Not documented, but from observation
+$!------------------------------------------------------
+$		    define/user sys$output nl:
+$		    define/user sys$error nl:
+$		    if arch_type .eq. 3
+$		    then
+$			keyterm = "''keysym'<SOH>"
+$		    else
+$			if arch_type .eq. 2
+$			then
+$			    keyterm = "''keysym'<BS>"
+$			else
+$			    keyterm = "''keysym'<STX>"
+$			endif
+$		    endif
+$		    search/out=nl: 'tfile1' -
+   "$''keyterm'","$g''keyterm'","$__utc_''keyterm'",-
+   "$__utctz_''keyterm'","$__bsd44_''keyterm'","$bsd_''keyterm'",-
+   "$''keysym'decc$","$G''keysym'decc$","$GX''keyterm'"
+$		    severity = '$severity'
+$!
+$!
+$!		    Of course the 64 bit stuff is different
+$!---------------------------------------------------------
+$		    if severity .ne. 1 .and. key64
+$		    then
+$			define/user sys$output nl:
+$		        define/user sys$error nl:
+$			search/out=nl: 'tfile1' "$_''keyterm'"
+$!			search/out 'tfile1' "$_''keyterm'"
+$			severity = '$severity'
+$		    endif
+$!
+$!		    Unix compatability routines
+$!---------------------------------------------
+$		    if severity .ne. 1
+$		    then
+$			define/user sys$output nl:
+$			define/user sys$error nl:
+$			search/out=nl: 'tfile1' -
+    "$__unix_''keyterm'","$__vms_''keyterm'","$_posix_''keyterm'"
+$			severity = '$severity'
+$		    endif
+$!
+$!		    Show the result of the search
+$!------------------------------------------------
+$		    if 'severity' .eq. 1
+$		    then
+$			if key64 then write tf "#ifndef __VAX"
+$			write tf "#ifndef ''key2'"
+$			write tf "#define ''key2' 1"
+$if p2 .nes. "" then write sys$output "''decc_shr' #define ''key2' 1"
+$			write tf "#endif"
+$			if key64 then write tf "#endif"
+$			goto cfgh_in_loop1
+$		    endif
+$		endif
+$		if f$search(tfile1) .nes. "" then delete 'tfile1';*
+$!
+$!		Check the DECC Header files next
+$!----------------------------------------------
+$		define/user sys$output nl:
+$		define/user sys$error nl:
+$		search/out=nl: 'decc_rtldef' -
+		    "''keysym';", "''keysym'[", "struct ''keysym'"/exact
+$		severity = '$severity'
+$		if severity .eq. 1
+$		then
+$		    if key64 then write tf "#ifndef __VAX"
+$		    write tf "#ifndef ''key2'"
+$		    write tf "#define ''key2' 1"
+$if p2 .nes. "" then write sys$output "''decc_rtldef' #define ''key2' 1"
+$		    write tf "#endif"
+$		    if key64 then write tf "#endif"
+$		    goto cfgh_in_loop1
+$		endif
+$!
+$!		Check kerberos
+$!--------------------------------------------
+$		if f$search("SYS$SYSROOT:[kerberos]include.dir") .nes. ""
+$		then
+$		    test_mit = "SYS$SYSROOT:[kerberos.include]gssapi_krb5.h"
+$		    if (key2 .eqs. "HAVE_GSSAPI")
+$		    then
+$			write tf "#ifndef ''key2'"
+$			write tf "#define ''key2' 1"
+$			write tf "#endif"
+$			goto cfgh_in_loop1
+$		    endif
+$!
+$!		    This is really do we have the newer MIT Kerberos
+$!----------------------------------------------------------------------
+$		    if (key2 .eqs. "HAVE_GSSMIT")
+$		    then
+$			if f$search(test_mit) .nes. ""
+$			then
+$			    write tf "#ifndef ''key2'"
+$			    write tf "#define ''key2' 1"
+$			else
+$			    write tf "#ifdef ''key2'"
+$			    write tf "#undef ''key2'"
+$			endif
+$			write tf "#endif"
+$			goto cfgh_in_loop1
+$		    endif
+$!
+$!		    Older MIT looks like Heimdal
+$!------------------------------------------------
+$		    if (key2 .eqs. "HAVE_HEIMDAL")
+$		    then
+$			if f$search(test_mit) .eqs. ""
+$			then
+$			    write tf "#ifndef ''key2'"
+$			    write tf "#define ''key2' 1"
+$			else
+$			    write tf "#ifdef ''key2'"
+$			    write tf "#undef ''key2'"
+$			endif
+$			write tf "#endif"
+$			goto cfgh_in_loop1
+$		    endif
+$		endif
+$!
+$	    endif
+$	    write tf "/* ", xline, " */"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$!
+$!	Process SIZEOF directives found in SAMBA and others
+$!----------------------------------------------------------
+$	if key2a .eqs. "SIZEOF"
+$	then
+$	    if key2b .eqs. "INO" .and. key2_h .eqs. "_T"
+$	    then
+$		write tf "#ifndef SIZEOF_INO_T"
+$		write tf "#if !__USING_STD_STAT
+$		write tf "#define SIZEOF_INO_T 6"
+$		write tf "#else
+$		write tf "#define SIZEOF_INO_T 8"
+$		write tf "#endif
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2b .eqs. "INTMAX" .and. key2_h .eqs. "_T"
+$	    then
+$		write tf "#ifndef SIZEOF_INTMAX_T"
+$		write tf "#ifdef __VAX"
+$		write tf "#define SIZEOF_INTMAX_T 4"
+$		write tf "#else"
+$		write tf "#define SIZEOF_INTMAX_T 8"
+$		write tf "#endif"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2b .eqs. "OFF" .and. key2_h .eqs. "_T"
+$	    then
+$		write tf "#ifndef SIZEOF_OFF_T"
+$		write tf "#if __USE_OFF64_T"
+$		write tf "#define SIZEOF_OFF_T 8"
+$		write tf "#else"
+$		write tf "#define SIZEOF_OFF_T 4"
+$		write tf "#endif"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2b .eqs. "CHAR" .and. key2_h .eqs. "_P"
+$	    then
+$		write tf "#ifndef SIZEOF_CHAR_P"
+$		write tf "#if __INITIAL_POINTER_SIZE == 64"
+$		write tf "#define SIZEOF_CHAR_P 8"
+$		write tf "#else"
+$		write tf "#define SIZEOF_CHAR_P 4"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2b .eqs. "VOIDP"
+$	    then
+$		write tf "#ifndef SIZEOF_VOIDP"
+$		write tf "#if __INITIAL_POINTER_SIZE == 64"
+$		write tf "#define SIZEOF_VOIDP 8"
+$		write tf "#else"
+$		write tf "#define SIZEOF_VOIDP 4"
+$		write tf "#endif"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2b .eqs. "INT"
+$	    then
+$		write tf "#ifndef SIZEOF_INT"
+$		write tf "#define SIZEOF_INT 4"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2b .eqs. "SIZE" .and. key2_h .eqs. "_T"
+$	    then
+$		write tf "#ifndef SIZEOF_SIZE_T"
+$		write tf "#define SIZEOF_SIZE_T 4"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2b .eqs. "TIME" .and. key2_h .eqs. "_T"
+$	    then
+$		write tf "#ifndef SIZEOF_TIME_T"
+$		write tf "#define SIZEOF_TIME_T 4"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2b .eqs. "DOUBLE"
+$	    then
+$		write tf "#ifndef SIZEOF_DOUBLE"
+$		write tf "#define SIZEOF_DOUBLE 8"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2b .eqs. "LONG"
+$	    then
+$		if key2c .eqs. ""
+$		then
+$		    write tf "#ifndef SIZEOF_LONG"
+$		    write tf "#define SIZEOF_LONG 4"
+$		    write tf "#endif"
+$		else
+$		    write tf "#ifndef SIZEOF_LONG_LONG"
+$		    write tf "#ifndef __VAX"
+$		    write tf "#define SIZEOF_LONG_LONG 8"
+$		    write tf "#endif"
+$		    write tf "#endif"
+$		endif
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2b .eqs. "SHORT"
+$	    then
+$		write tf "#ifndef SIZEOF_SHORT"
+$		write tf "#define SIZEOF_SHORT 2"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    write tf "/* ", xline, " */"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$!	Process NEED directives
+$!-------------------------------
+$	if key2a .eqs. "NEED"
+$	then
+$	    if key2b .eqs. "STRINGS" .and. key2_h .eqs. "_H"
+$	    then
+$		write tf "#ifndef NEED_STRINGS_H"
+$		write tf "#define NEED_STRINGS_H 1"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    write tf "/* ", xline, " */"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$!	Process GETHOSTNAME directives
+$!-------------------------------------
+$	if key2 .eqs. "GETHOSTNAME_TYPE_ARG2"
+$	then
+$	    write tf "#ifndef ''key2'"
+$	    write tf "#ifdef _DECC_V4_SOURCE"
+$	    write tf "#define ''key2' int"
+$	    write tf "#else"
+$	    write tf "#define ''key2' size_t"
+$	    write tf "#endif"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$!	Process GETNAMEINFO directives
+$!-------------------------------------
+$	if key2a .eqs. "GETNAMEINFO"
+$	then
+$	    if key2 .eqs. "GETNAMEINFO_QUAL_ARG1"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' const"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "GETNAMEINFO_TYPE_ARG1"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' struct sockaddr *"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "GETNAMEINFO_TYPE_ARG2"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' size_t"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "GETNAMEINFO_TYPE_ARG46"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' size_t"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "GETNAMEINFO_TYPE_ARG7"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' int"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	endif
+$!
+$!	Process RECV directives
+$!-------------------------------------
+$	if key2a .eqs. "RECV"
+$	then
+$	    if key2 .eqs. "RECV_TYPE_ARG1"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' int"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "RECV_TYPE_ARG2"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' void *"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "RECV_TYPE_ARG3"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' size_t"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "RECV_TYPE_ARG4"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' int"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "RECV_TYPE_RETV"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' int"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	endif
+$!
+$!
+$!	Process RECVFROM directives
+$!-------------------------------------
+$	if key2a .eqs. "RECVFROM"
+$	then
+$	    if key2 .eqs. "RECVFROM_QUAL_ARG5"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2'"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "RECVFROM_TYPE_ARG1"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' int"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "RECVFROM_TYPE_ARG2"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' void *"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "RECVFROM_TYPE_ARG3"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' size_t"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "RECVFROM_TYPE_ARG4"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' int"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "RECVFROM_TYPE_ARG5"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' struct sockaddr"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "RECVFROM_TYPE_ARG6"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' unsigned int"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "RECVFROM_TYPE_RETV"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' int"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	endif
+$!
+$!	Process SELECT directives
+$!-------------------------------------
+$	if key2a .eqs. "SELECT"
+$	then
+$	    if key2 .eqs. "SELECT_QUAL_ARG5"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' const"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "SELECT_TYPE_ARG1"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' int"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "SELECT_TYPE_ARG2"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' void *"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "SELECT_TYPE_ARG234"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' fd_set *"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "SELECT_TYPE_ARG5"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' struct timeval *"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "SELECT_TYPE_RETV"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' int"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	endif
+$!
+$!	Process SEND directives
+$!-------------------------------------
+$	if key2a .eqs. "SEND"
+$	then
+$	    if key2 .eqs. "SEND_QUAL_ARG2"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' const"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "SEND_TYPE_ARG1"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' int"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "SEND_TYPE_ARG2"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' void *"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "SEND_TYPE_ARG3"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' size_t"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "SEND_TYPE_ARG4"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' int"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	    if key2 .eqs. "SEND_TYPE_RETV"
+$	    then
+$		write tf "#ifndef ''key2'"
+$		write tf "#define ''key2' int"
+$		write tf "#endif"
+$		goto cfgh_in_loop1
+$	    endif
+$	endif
+$!
+$!
+$!	Process STATFS directives
+$!-------------------------------
+$!	if key2a .eqs. "STATFS"
+$!	then
+$!	    write tf "/* ", xline, " */"
+$!	    goto cfgh_in_loop1
+$!	endif
+$!
+$!	Process inline directive
+$!------------------------------
+$	if key2 .eqs. "inline"
+$	then
+$	    write tf "#ifndef inline"
+$	    write tf "#define inline __inline"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$!	Process restrict directive
+$!--------------------------------
+$	if key2 .eqs. "restrict"
+$	then
+$	    write tf "#ifndef restrict"
+$	    write tf "#define restrict __restrict"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$!	Process RETSIGTYPE directive
+$!----------------------------------
+$	if key2 .eqs. "RETSIGTYPE"
+$	then
+$	    write tf "#ifndef RETSIGTYPE"
+$	    write tf "#define RETSIGTYPE void"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$!	Process STDC_HEADERS (SAMBA!)
+$!---------------------------
+$	if key2 .eqs. "STDC_HEADERS"
+$	then
+$	    write tf "#ifndef STDC_HEADERS"
+$	    write tf "#define STDC_HEADERS 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$!	Process PROTOTYPES directive
+$!-------------------------------------
+$	if key2 .eqs. "PROTOTYPES"
+$	then
+$	    write tf "#ifndef PROTOTYPES"
+$	    write tf "#define PROTOTYPES 1"
+$	    write tf "#endif"
+$	    goto cfgh_in_loop1
+$	endif
+$!
+$!	Special for SEEKDIR_RETURNS_VOID
+$!---------------------------------------
+$	if key2 .eqs. "SEEKDIR_RETURNS_VOID"
+$	then
+$	    write tf "#ifndef SEEKDIR_RETURNS_VOID"
+$	    write tf "#define SEEKDIR_RETURNS_VOID 1"
+$	    write tf "#endif"
+$	endif
+$!
+$!	Unknown - See if CONFIGURE can give a clue for this
+$!----------------------------------------------------------
+$	pflag = 0
+$	set_flag = 0
+$!	gproj_name = proj_name - "_VMS" - "-VMS"
+$	if f$search(tfile1) .nes. "" then delete 'tfile1';*
+$	define/user sys$output nl:
+$	define/user sys$error nl:
+$!	if f$locate("FILE", key2) .lt. key2_len then pflag = 1
+$!	if f$locate("DIR", key2) .eq. key2_len - 3 then pflag = 1
+$!	if f$locate("PATH", key2) .eq. key2_len - 4 then pflag = 1
+$!
+$	search/out='tfile1' 'configure_script' "''key2'="/exact
+$	search_sev = '$severity'
+$	if 'search_sev' .eq. 1
+$	then
+$	    open/read/err=unknown_cf_rd_error sf 'tfile1'
+$search_file_rd_loop:
+$	    read/end=unknown_cf_rd_err sf line_in
+$	    line_in = f$edit(line_in, "TRIM")
+$	    skey1 = f$element(0,"=",line_in)
+$	    if skey1 .eqs. key2
+$	    then
+$		skey2 = f$element(1,"=",line_in)
+$		skey2a = f$extract(0,2,skey2)
+$!
+$!
+$!		We can not handle assignment to shell symbols.
+$!		For now skip them.
+$!------------------------------------------------------------
+$		if f$locate("$", skey2) .lt. f$length(skey2)
+$		then
+$		    write tf "/* ", xline, " */"
+$		    set_flag = 1
+$		    goto found_in_configure
+$		endif
+$!
+$!		Keep these two cases separate to make it easier to add
+$!		more future intelligence to this routine
+$!----------------------------------------------------------------------
+$		if skey2a .eqs. """`"
+$		then
+$!		    if pflag .eq. 1
+$!		    then
+$!			write tf "#ifndef ''key2'"
+$!			write tf "#define ",key2," """,gproj_name,"_",key2,""""
+$!			write tf "#endif"
+$!		    else
+$!			Ignore this for now
+$!------------------------------------------
+$			write tf "/* ", xline, " */"
+$!		    endif
+$		    set_flag = 1
+$		    goto found_in_configure
+$		endif
+$		if skey2a .eqs. """$"
+$		then
+$!		    if pflag .eq. 1
+$!		    then
+$!			write tf "#ifndef ''key2'"
+$!			write tf "#define ",key2," """,gproj_name,"_",key2,""""
+$!			write tf "#endif"
+$!		    else
+$!			Ignore this for now
+$!-------------------------------------------
+$			write tf "/* ", xline, " */"
+$!		    endif
+$		    set_flag = 1
+$		    goto found_in_configure
+$		endif
+$!
+$!		Remove multiple layers of quotes if present
+$!----------------------------------------------------------
+$		if f$extract(0, 1, skey2) .eqs. "'"
+$		then
+$		    skey2 = skey2 - "'" - "'" - "'" - "'"
+$		endif
+$		if f$extract(0, 1, skey2) .eqs. """"
+$		then
+$		    skey2 = skey2 - """" - """" - """" - """"
+$		endif
+$		write tf "#ifndef ''key2'"
+$		if skey2 .eqs. ""
+$		then
+$		    write tf "#define ",key2
+$		else
+$!		    Only quote non-numbers
+$!----------------------------------------
+$		    if f$string(skey2+0) .eqs. skey2
+$		    then
+$			write tf "#define ",key2," ",skey2
+$		    else
+$			write tf "#define ",key2," """,skey2,""""
+$		    endif
+$		endif
+$		write tf "#endif"
+$		set_flag = 1
+$	    else
+$		goto search_file_rd_loop
+$!		if pflag .eq. 1
+$!		then
+$!		    write tf "#ifndef ''key2'"
+$!		    write tf "#define ",key2," """,gproj_name,"_",key2,""""
+$!		    write tf "#endif"
+$!		    set_flag = 1
+$!		endif
+$	    endif
+$found_in_configure:
+$unknown_cf_rd_err:
+$	    if f$trnlnm("sf","lnm$process",,"SUPERVISOR") .nes. ""
+$	    then
+$		close sf
+$	    endif
+$	    if f$search(tfile1) .nes. "" then delete 'tfile1';*
+$	    if set_flag .eq. 1 then goto cfgh_in_loop1
+$	endif
+$   endif
+$!
+$!
+$!
+$!  If it falls through everything else, comment it out
+$!-----------------------------------------------------
+$   write tf "/* ", xline, " */"
+$   goto cfgh_in_loop1
+$cfgh_in_loop1_end:
+$close inf
+$!
+$!
+$! Write out the tail
+$!--------------------
+$write_tail:
+$gosub write_config_h_tail
+$!
+$! Exit and clean up
+$!--------------------
+$general_error:
+$status = '$status'
+$all_exit:
+$set noon
+$if f$trnlnm("sf","lnm$process",,"SUPERVISOR") .nes. "" then close sf
+$if f$trnlnm("tf","lnm$process",,"SUPERVISOR") .nes. "" then close tf
+$if f$trnlnm("inf","lnm$process",,"SUPERVISOR") .nes. "" then close inf
+$if f$trnlnm("tf1","lnm$process",,"SUPERVISOR") .nes. "" then close tf1
+$if f$trnlnm("tf2","lnm$process",,"SUPERVISOR") .nes. "" then close tf2
+$if f$trnlnm("tfcv","lnm$process",,"SUPERVISOR") .nes. "" then close tfcv
+$if f$type(tfile1) .eqs. "STRING"
+$then
+$   if f$search(tfile1) .nes. "" then delete 'tfile1';*
+$endif
+$if f$type(dchfile) .eqs. "STRING"
+$then
+$   if f$search(dchfile) .nes. "" then delete 'dchfile';*
+$endif
+$if f$type(starhfile) .eqs. "STRING"
+$then
+$   if f$search(starhfile) .nes. "" then delete 'starhfile';*
+$endif
+$if f$type(configure_script) .eqs. "STRING"
+$then
+$   if f$search(configure_script) .nes. "" then delete 'configure_script';*
+$endif
+$exit 'status'
+$!
+$!
+$control_y:
+$   status = ss_control_y
+$   goto all_exit
+$!
+$!
+$!
+$! Gosub to write a new config_vms.h
+$!-----------------------------------
+$write_config_vms:
+$outfile = "sys$disk:[]config_vms.h"
+$create 'outfile'
+$open/append tf 'outfile'
+$write tf "/* File: config_vms.h"
+$write tf "**"
+$write tf "** This file contains the manual edits needed for porting"
+$!write tf "** the ''proj_name' package to OpenVMS.
+$write tf "**"
+$write tf "** Edit this file as needed.  The procedure that automatically"
+$write tf "** generated this header stub will not overwrite or make any"
+$write tf "** changes to this file."
+$write tf "**"
+$write tf -
+ "** ", datetime, tab, username, tab, "Generated by ''my_proc_file'"
+$write tf "**"
+$write tf -
+ "**========================================================================*/"
+$write tf ""
+$close tf
+$return
+$!
+$! gosub to write out a documentation header for config.h
+$!----------------------------------------------------------------
+$write_config_h_header:
+$outfile = "sys$disk:[]config.h"
+$create 'outfile'
+$open/append tf 'outfile'
+$write tf "#ifndef CONFIG_H"
+$write tf "#define CONFIG_H"
+$write tf "/* File: config.h"
+$write tf "**"
+$write tf -
+  "** This file contains the options needed for porting "
+$write tf "** the project on a VMS system."
+$write tf "**"
+$write tf "** Try not to make any edits to this file, as it is"
+$write tf "** automagically generated."
+$write tf "**"
+$write tf "** Manual edits should be made to the config_vms.h file."
+$write tf "**"
+$write tf -
+ "** ", datetime, tab, username, tab, "Generated by ''my_proc_file'"
+$write tf "**"
+$write tf -
+ "**========================================================================*/"
+$write tf ""
+$write tf "#if (__CRTL_VER >= 70200000) && !defined (__VAX)"
+$write tf "#define _LARGEFILE 1"
+$write tf "#endif"
+$write tf ""
+$write tf "#ifndef __VAX"
+$write tf "#ifdef __CRTL_VER"
+$write tf "#if __CRTL_VER >= 80200000"
+$write tf "#define _USE_STD_STAT 1"
+$write tf "#endif"
+$write tf "#endif"
+$write tf "#endif"
+$write tf ""
+$!
+$write tf " /* Allow compiler builtins */"
+$write tf "/*-------------------------*/"
+$write tf "#ifdef __DECC_VER"
+$write tf "#include <non_existant_dir:builtins.h>"
+$write tf "#endif"
+$!
+$write tf ""
+$return
+$!
+$! gosub to write out the tail for config.h and close it
+$!---------------------------------------------------------
+$write_config_h_tail:
+$write tf ""
+$write tf " /* Include the hand customized settings */"
+$write tf "/*--------------------------------------*/"
+$write tf "#include ""config_vms.h"""
+$write tf ""
+$write tf "#endif /* CONFIG_H */"
+$close tf
+$return
+$!
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/curl_crtl_init.c b/ap/lib/libcurl/curl-7.54.1/packages/vms/curl_crtl_init.c
new file mode 100644
index 0000000..01a34e5
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/curl_crtl_init.c
@@ -0,0 +1,311 @@
+/* File: curl_crtl_init.c
+ *
+ * This file makes sure that the DECC Unix settings are correct for
+ * the mode the the program is run in.
+ *
+ * The CRTL has not been initialized at the time that these routines
+ * are called, so many routines can not be called.
+ *
+ * This is a module that provides a LIB$INITIALIZE routine that
+ * will turn on some CRTL features that are not enabled by default.
+ *
+ * The CRTL features can also be turned on via logical names, but that
+ * impacts all programs and some aren't ready, willing, or able to handle
+ * those settings.
+ *
+ * On VMS versions that are too old to use the feature setting API, this
+ * module falls back to using logical names.
+ *
+ * Copyright 2013, John Malmberg
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+ * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+/* Unix headers */
+#include <stdio.h>
+#include <string.h>
+
+/* VMS specific headers */
+#include <descrip.h>
+#include <lnmdef.h>
+#include <stsdef.h>
+
+#pragma member_alignment save
+#pragma nomember_alignment longword
+#pragma message save
+#pragma message disable misalgndmem
+struct itmlst_3 {
+  unsigned short int buflen;
+  unsigned short int itmcode;
+  void *bufadr;
+  unsigned short int *retlen;
+};
+#pragma message restore
+#pragma member_alignment restore
+
+#ifdef __VAX
+#define ENABLE "ENABLE"
+#define DISABLE "DISABLE"
+#else
+
+#define ENABLE TRUE
+#define DISABLE 0
+int   decc$feature_get_index (const char *name);
+int   decc$feature_set_value (int index, int mode, int value);
+#endif
+
+int   SYS$TRNLNM(
+    const unsigned long * attr,
+    const struct dsc$descriptor_s * table_dsc,
+    struct dsc$descriptor_s * name_dsc,
+    const unsigned char * acmode,
+    const struct itmlst_3 * item_list);
+int   SYS$CRELNM(
+    const unsigned long * attr,
+    const struct dsc$descriptor_s * table_dsc,
+    const struct dsc$descriptor_s * name_dsc,
+    const unsigned char * acmode,
+    const struct itmlst_3 * item_list);
+
+
+/* Take all the fun out of simply looking up a logical name */
+static int sys_trnlnm
+   (const char * logname,
+    char * value,
+    int value_len)
+{
+    const $DESCRIPTOR(table_dsc, "LNM$FILE_DEV");
+    const unsigned long attr = LNM$M_CASE_BLIND;
+    struct dsc$descriptor_s name_dsc;
+    int status;
+    unsigned short result;
+    struct itmlst_3 itlst[2];
+
+    itlst[0].buflen = value_len;
+    itlst[0].itmcode = LNM$_STRING;
+    itlst[0].bufadr = value;
+    itlst[0].retlen = &result;
+
+    itlst[1].buflen = 0;
+    itlst[1].itmcode = 0;
+
+    name_dsc.dsc$w_length = strlen(logname);
+    name_dsc.dsc$a_pointer = (char *)logname;
+    name_dsc.dsc$b_dtype = DSC$K_DTYPE_T;
+    name_dsc.dsc$b_class = DSC$K_CLASS_S;
+
+    status = SYS$TRNLNM(&attr, &table_dsc, &name_dsc, 0, itlst);
+
+    if ($VMS_STATUS_SUCCESS(status)) {
+
+         /* Null terminate and return the string */
+        /*--------------------------------------*/
+        value[result] = '\0';
+    }
+
+    return status;
+}
+
+/* How to simply create a logical name */
+static int sys_crelnm
+   (const char * logname,
+    const char * value)
+{
+    int ret_val;
+    const char * proc_table = "LNM$PROCESS_TABLE";
+    struct dsc$descriptor_s proc_table_dsc;
+    struct dsc$descriptor_s logname_dsc;
+    struct itmlst_3 item_list[2];
+
+    proc_table_dsc.dsc$a_pointer = (char *) proc_table;
+    proc_table_dsc.dsc$w_length = strlen(proc_table);
+    proc_table_dsc.dsc$b_dtype = DSC$K_DTYPE_T;
+    proc_table_dsc.dsc$b_class = DSC$K_CLASS_S;
+
+    logname_dsc.dsc$a_pointer = (char *) logname;
+    logname_dsc.dsc$w_length = strlen(logname);
+    logname_dsc.dsc$b_dtype = DSC$K_DTYPE_T;
+    logname_dsc.dsc$b_class = DSC$K_CLASS_S;
+
+    item_list[0].buflen = strlen(value);
+    item_list[0].itmcode = LNM$_STRING;
+    item_list[0].bufadr = (char *)value;
+    item_list[0].retlen = NULL;
+
+    item_list[1].buflen = 0;
+    item_list[1].itmcode = 0;
+
+    ret_val = SYS$CRELNM(NULL, &proc_table_dsc, &logname_dsc, NULL, item_list);
+
+    return ret_val;
+}
+
+
+ /* Start of DECC RTL Feature handling */
+
+/*
+** Sets default value for a feature
+*/
+#ifdef __VAX
+static void set_feature_default(const char *name, const char *value)
+{
+    sys_crelnm(name, value);
+}
+#else
+static void set_feature_default(const char *name, int value)
+{
+    int index;
+
+    index = decc$feature_get_index(name);
+
+    if (index > 0)
+        decc$feature_set_value (index, 0, value);
+}
+#endif
+
+static void set_features(void)
+{
+    int status;
+    char unix_shell_name[255];
+    int use_unix_settings = 1;
+
+    status = sys_trnlnm("GNV$UNIX_SHELL",
+                        unix_shell_name, sizeof unix_shell_name -1);
+    if (!$VMS_STATUS_SUCCESS(status)) {
+        unix_shell_name[0] = 0;
+        use_unix_settings = 0;
+    }
+
+    /* ACCESS should check ACLs or it is lying. */
+    set_feature_default("DECC$ACL_ACCESS_CHECK", ENABLE);
+
+    /* We always want the new parse style */
+    set_feature_default ("DECC$ARGV_PARSE_STYLE" , ENABLE);
+
+
+    /* Unless we are in POSIX compliant mode, we want the old POSIX root
+     * enabled.
+     */
+    set_feature_default("DECC$DISABLE_POSIX_ROOT", DISABLE);
+
+    /* EFS charset, means UTF-8 support */
+    /* VTF-7 support is controlled by a feature setting called UTF8 */
+    set_feature_default ("DECC$EFS_CHARSET", ENABLE);
+    set_feature_default ("DECC$EFS_CASE_PRESERVE", ENABLE);
+
+    /* Support timestamps when available */
+    set_feature_default ("DECC$EFS_FILE_TIMESTAMPS", ENABLE);
+
+    /* Cache environment variables - performance improvements */
+    set_feature_default ("DECC$ENABLE_GETENV_CACHE", ENABLE);
+
+    /* Start out with new file attribute inheritance */
+#ifdef __VAX
+    set_feature_default ("DECC$EXEC_FILEATTR_INHERITANCE", "2");
+#else
+    set_feature_default ("DECC$EXEC_FILEATTR_INHERITANCE", 2);
+#endif
+
+    /* Don't display trailing dot after files without type */
+    set_feature_default ("DECC$READDIR_DROPDOTNOTYPE", ENABLE);
+
+    /* For standard output channels buffer output until terminator */
+    /* Gets rid of output logs with single character lines in them. */
+    set_feature_default ("DECC$STDIO_CTX_EOL", ENABLE);
+
+    /* Fix mv aa.bb aa  */
+    set_feature_default ("DECC$RENAME_NO_INHERIT", ENABLE);
+
+    if (use_unix_settings) {
+
+        /* POSIX requires that open files be able to be removed */
+        set_feature_default ("DECC$ALLOW_REMOVE_OPEN_FILES", ENABLE);
+
+        /* Default to outputting Unix filenames in VMS routines */
+        set_feature_default ("DECC$FILENAME_UNIX_ONLY", ENABLE);
+        /* FILENAME_UNIX_ONLY Implicitly sets */
+        /* decc$disable_to_vms_logname_translation */
+
+        set_feature_default ("DECC$FILE_PERMISSION_UNIX", ENABLE);
+
+        set_feature_default ("DECC$FILE_SHARING", ENABLE);
+
+        set_feature_default ("DECC$FILE_OWNER_UNIX", ENABLE);
+        set_feature_default ("DECC$POSIX_SEEK_STREAM_FILE", ENABLE);
+
+    } else {
+        set_feature_default("DECC$FILENAME_UNIX_REPORT", ENABLE);
+    }
+
+    /* When reporting Unix filenames, glob the same way */
+    set_feature_default ("DECC$GLOB_UNIX_STYLE", ENABLE);
+
+    /* The VMS version numbers on Unix filenames is incompatible with most */
+    /* ported packages. */
+    set_feature_default("DECC$FILENAME_UNIX_NO_VERSION", ENABLE);
+
+    /* The VMS version numbers on Unix filenames is incompatible with most */
+    /* ported packages. */
+    set_feature_default("DECC$UNIX_PATH_BEFORE_LOGNAME", ENABLE);
+
+    /* Set strtol to proper behavior */
+    set_feature_default("DECC$STRTOL_ERANGE", ENABLE);
+
+    /* Commented here to prevent future bugs:  A program or user should */
+    /* never ever enable DECC$POSIX_STYLE_UID. */
+    /* It will probably break all code that accesses UIDs */
+    /*  do_not_set_default ("DECC$POSIX_STYLE_UID", TRUE); */
+}
+
+
+/* Some boilerplate to force this to be a proper LIB$INITIALIZE section */
+
+#pragma nostandard
+#pragma extern_model save
+#ifdef __VAX
+#pragma extern_model strict_refdef "LIB$INITIALIZE" nowrt, long, nopic
+#else
+#pragma extern_model strict_refdef "LIB$INITIALIZE" nowrt, long
+#    if __INITIAL_POINTER_SIZE
+#        pragma __pointer_size __save
+#        pragma __pointer_size 32
+#    else
+#        pragma __required_pointer_size __save
+#        pragma __required_pointer_size 32
+#    endif
+#endif
+/* Set our contribution to the LIB$INITIALIZE array */
+void (* const iniarray[])(void) = {set_features, } ;
+#ifndef __VAX
+#    if __INITIAL_POINTER_SIZE
+#        pragma __pointer_size __restore
+#    else
+#        pragma __required_pointer_size __restore
+#    endif
+#endif
+
+
+/*
+** Force a reference to LIB$INITIALIZE to ensure it
+** exists in the image.
+*/
+int LIB$INITIALIZE(void);
+#ifdef __DECC
+#pragma extern_model strict_refdef
+#endif
+    int lib_init_ref = (int) LIB$INITIALIZE;
+#ifdef __DECC
+#pragma extern_model restore
+#pragma standard
+#endif
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/curl_gnv_build_steps.txt b/ap/lib/libcurl/curl-7.54.1/packages/vms/curl_gnv_build_steps.txt
new file mode 100644
index 0000000..3420aae
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/curl_gnv_build_steps.txt
@@ -0,0 +1,288 @@
+From File: curl_gnv_build_steps.txt
+
+ Copyright 2009, John Malmberg
+
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+Currently building Curl using GNV takes longer than building Curl via DCL.
+The GNV procedure actually uses the same configure and makefiles that
+Unix builds use.
+
+Building CURL on OpenVMS using GNV requires GNV V2.1-2 or the updated
+images that are available via anonymous FTP at encompasserve.org in the gnv
+directory.  It also requires the GNV Bash 4.2.45 kit as an update from the
+same location or from the sourceforge.net GNV project.
+
+The HP C 7.x compiler was used for building the GNV version.
+
+The source kits are provided in backup savesets inside of the PCSI install kit.
+
+Backup save sets are currently the only distribution medium that I can be
+sure is installed on a target VMS system that will correctly unpack files
+with extended character sets in them.  You may need to adjust the ownership
+of the restored files, since /Interchange/noconvert was not available at the
+time that this document was written.
+
+[gnv.common_src]curl_*_original_src.bck is the original source of the curl kit
+as provided by the curl project.  [gnv.vms_src]curl-*_vms_src.bck, if present,
+has the OpenVMS specific files that are used for building that are not yet in
+the curl source kits for that release distributed https://curl.haxx.se
+
+These backup savesets should be restored to different directory trees on
+an ODS-5 volume(s) which are referenced by concealed rooted logical names.
+
+SRC_ROOT: is for the source files common to all platforms.
+VMS_ROOT: is for the source files that are specific to OpenVMS.
+          Note, you should create the VMS_ROOT: directory tree even if it is
+          initially empty.  This is where you should put edits if you are
+          making changes.
+LCL_ROOT: is manually created to have the same base and sub-directories as
+          SRC_ROOT: and VMS_ROOT:
+
+The logical name REF_ROOT: may be defined to be a search list for
+VMS_ROOT:,SRC_ROOT:
+
+The logical name PRJ_ROOT: is defined to be a search list for
+LCL_ROOT:,VMS_ROOT:,SRC_ROOT:
+
+For the make install process to work, it must have write access to the
+directories referenced by the GNU: logical name.
+
+In future releases of GNV, and with GNV Bash 4.3.30 installed, this name
+should be GNV$GNU:
+
+As directly updating those directories would probably be disruptive to other
+users of the system and require elevated privilege, this can be handled by
+creating a separate directory tree to install into which can be referenced
+by the concealed rooted logical name new_gnu:.  A concealed logical name of
+OLD_GNU: can be set up to reference the real GNV directory tree.
+
+Then a local copy of the GNU/GNV$GNU logical names can be set up as a search
+list such as NEW_GNU:,OLD_GNU:
+
+The directory NEW_GNU:[usr] should be created.  The make install phase should
+create all the other directories.
+
+The make install process may abort if curl is already because it can not
+uninstall the older version of curl because it does not have permission.
+
+The file stage_curl_install.com is used set up a new_gnu: directory tree
+for testing.  The PCSI kitting procedure uses these files as input.
+
+These files do not create the directories in the VMS_ROOT and LCL_ROOT
+directory trees.  You can create them with commands similar to:
+
+  $ create/dir lcl_root:[curl]/prot=w:re
+  $ copy src_root:[curl...]*.dir -
+    lcl_root:[curl...]/prot=(o:rwed,w:re)
+  $ create/dir vms_root:[curl]/prot=w:re
+  $ copy src_root:[curl...]*.dir -
+    vms_root:[curl...]/prot=(o:rwed,w:re)
+
+One of the ways with to protect the source from being modified is to have
+the directories under src_root: owned by a user or resource where the build
+username only has read access to it.
+
+
+Note to builders:
+
+GNV currently has a bug where configure scripts take a long time to run.
+Some of the configure steps take a while to complete, and on a 600 Mhz
+DS10 with IDE disks, taking an hour to run the CURL configure is normal.
+
+The following messages can be ignored and may get fixed in a future version
+of GNV.  The GNV$*.OPT files are used to find the libraries as many have
+different names on VMS than on Unix.  The Bash environment variable
+GNV_CC_QUALIFIERS can override all other settings for the C Compiler.
+
+? cc: No support for switch -warnprotos
+? cc: Unrecognized file toomanyargs
+? cc: Warning: library "ssl" not found
+? cc: Warning: library "crypto" not found
+? cc: Warning: library "gssapi" not found
+? cc: Warning: library "z" not found
+u unimplemented switch - ignored
+
+
+With these search lists set up and the properly, curl can be built by
+setting your default to PRJ_ROOT:[curl.packages.vms] and then issuing
+either the command:
+
+  $ @pcsi_product_gnv_curl.com
+
+or
+
+  $ @build_gnv_curl.com.
+
+The GNV configure procedure takes considerably longer than the DCL build
+procecure takes.  It is of use for testing the GNV build environment, and
+may not have been kept up to date.
+
+The pcsi_product_gnv_curl.com needs the following logical names which
+are described in the section below:
+
+  gnv_pcsi_producer
+  gnv_pcsi_producer_full_name
+  stage_root
+  vms_root1 (Optional if vms_root is on a NFS volume)
+  src_root1 (Optional if src_root is on a NFS volume)
+
+The pcsi_product_gnv_curl.com is described in more detail below.  It does
+the following steps.  The build steps are only done if they are needed to
+allow using either DCL or GNV based building procedures.
+
+  $ @build_vms list
+
+  $ @gnv_link_curl.com
+
+  $ @build_gnv_curl_release_notes.com
+
+  $ @backup_gnv_curl_src.com
+
+  $ @build_gnv_curl_pcsi_desc.com
+
+  $ @build_gnv_curl_pcsi_text.com
+
+  $ @stage_curl_install remove
+  $ @stage_curl_install
+
+  Then builds the kit.
+
+The build_gnv_curl.com command procedure does the following:
+
+  $ @setup_gnv_curl_build.com
+
+  $ bash gnv_curl_configure.sh
+
+  $ @clean_gnv_curl.com
+
+  $ bash make_gnv_curl_install.sh
+
+  $ @gnv_link_curl.com
+
+  $ @stage_curl_install.com
+
+  $ purge new_gnu:[*...]/log
+
+To clean up after a GNV based build to start over, the following commands are
+used:
+
+   $ bash
+   bash$ cd ../..
+   bash$ make clean
+   bash$ exit
+
+Then run the @clean_gnv_curl.com.  Use the parameter "realclean" if you are
+going to run the setup_gnv_curl_build.com and configure script again.
+
+   $ @clean_gnv_curl.com realclean
+
+If new public symbols have been added, adjust the file gnv_libcurl_symbols.opt
+to have the new symbols.  If the symbols are longer than 32 characters,
+then they will need to have the original be exact case CRC shortened and
+an alias in upper case with CRC shortened, in addition to having an exact
+case truncated alias and an uppercase truncated alias.
+
+The *.EXE files are not moved to the new_gnu: directory.
+
+After you are satisfied with the results of your build, you can move the
+files from new_gnu: to old_gnu: at your convenience.
+
+Building a PCSI kit for an archictecture takes the following steps after
+making sure that you have a working build environment.
+
+Note that it requires manually creating two logical names as described
+below.  It is intentional that they be manually set.  This is for
+branding the PCSI kit based on who is making the kit.
+
+   1. Make sure that you have a staging directory that can be referenced
+      by the path STAGE_ROOT:[KIT]
+
+   2. Edit the file curl_release_note_start.txt or other text files to
+      reflect any changes.
+
+   3. Define the logical name GNV_PCSI_PRODUCER to indicate who is making
+      the distribution.  For making updates to an existing open source
+      kit you may need to keep the producer the same.
+
+   4. Define the logical name GNV_PCSI_PRODUCER_FULL_NAME to be your full
+      name or full name of your company.
+
+   5. If you are producing an update kit, then update the file
+      vms_eco_level.h by changing the value for the VMS_ECO_LEVEL macro.
+      This file is currently only used in building the PCSI kit.
+
+   6. Edit the file PCSI_GNV_CURL_FILE_LIST.TXT if there are new files added
+      to the kit.  These files should all be ODS-2 legal filenames and
+      directories.
+
+      A limitation of the PCSI kitting procedure is that when selecting files,
+      it tends to ignore the directory structure and assumes that all files
+      with the same name are the same file, so every file placed in the kit
+      must have a unique name.  Then a procedure needs to be added to the kit
+      to create an alias link on install and remove the link on remove.
+
+      Since at this time curl does not need this alias procedure, the steps
+      to automatically build it are not included here.
+
+      While newer versions of PCSI can support ODS-5 filenames, not all versions
+      of PCSI on systems that have ODS-5 filenames do.  So as a post install
+      step, the PCSI kit built by these steps does a rename to the correct
+      case as a post install step.
+
+   7. Edit the build_curl_pcsi_desc.com and build_curl_pcsi_text.com if you
+      have changed the version of ZLIB that curl is built against.
+
+   8. Prepare to backup the files for building the kit.
+
+      Note that if src_root: or vms_root: are NFS mounted disks, the
+      step of backing up the source files will probably hang or fail.
+
+      You need to copy the source files to VMS mounted disks and create
+      logical names SRC_ROOT1 and VMS_ROOT1 to work around this to to
+      reference local disks.  Make sure src_root1:[000000] and
+      vms_root1:[000000] exist and can be written to.
+
+      The command procedure compare_curl_source can be used to check
+      those directories and keep them up to date.
+
+         @compare_curl_source.com SRCBCK UPDATE
+
+         This compares the reference project source with the backup
+         staging directory for it and updates with any changes.
+
+         @compare_curl_source.com VMSBCK UPDATE
+
+         This compares the VMS specific source with the backup
+         staging directory for it and updates with any changes.
+
+         Leave off "UPDATE" to just check without doing any changes.
+
+      If you are not using NFS mounted disks and do not want to have a
+      separate directory for staging the sources for backup make sure
+      that src_root1: and vms_root1: do not exist.
+
+   9. Build the PCSI kit with @pcsi_product_gnv_curl.com
+
+       The following message is normal:
+          %PCSI-I-CANNOTVAL, cannot validate
+            EAGLE$DQA0:[stage_root.][kit]VMSPORTS-AXPVMS-CURL-V0731-0-1.PCSI;1
+          -PCSI-I-NOTSIGNED, product kit is not signed and therefore has
+          no manifest file
+
+       This will result in an uncompressed kit for the target platform.
+       On Alpha and Integrity, the pcsi_product_gnv_curl.com can be used with
+       the "COMPRESSED" parameter to build both a compressed and uncompressed
+       kits.
+
+Good Luck.
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/curl_release_note_start.txt b/ap/lib/libcurl/curl-7.54.1/packages/vms/curl_release_note_start.txt
new file mode 100644
index 0000000..977dce1
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/curl_release_note_start.txt
@@ -0,0 +1,77 @@
+From file: CURL_RELEASE_NOTE_START.TXT
+
+Note: These kits are produced by a hobbyist and are providing any support
+or any commitment to supply bug fixes or future releases.  This code is
+as-is with no warrantees.
+
+The testing of this build of curl was minimal and involved building some of
+the sample and test programs, accessing a public HTTPS: website, doing a
+form post of some VMS test files, and FTP upload of some text files.
+
+Due to the way that PCSI identifies packages, if you install a package from
+one producer and then want to upgrade it from another producer, you will
+probably need to uninstall the previous package first.
+
+OpenVMS specific building and kitting instructions are after the standard
+curl readme file.
+
+This product may be available for your platform in a PCSI kit.  The source kit
+contains files for building CURL using GNV or with a DCL procedure.
+
+The GNV based build creates a libcurl share imaged which is supplied in the
+PCSI kit.
+
+This version of CURL will return VMS compatible status codes when run from
+DCL and Unix compatible exit codes and messages when run with the SHELL
+environment variable set.
+
+This port of Curl uses the OpenSSL, Ldap, and Kerberos V5 that are bundled
+with OpenVMS or supplied as updates by HP.  Ldap and Kerberos are not available
+on the VAX platform.  See section below for a special note about HP OpenSSL
+on Alpha and IA64.
+
+The supplied CURL_STARTUP.COM procedure that is installed in
+[VMS$COMMON.SYS$STARTUP] can be put in your VMS startup procedure to install
+the GNV$LIBCURL shared image and create logical names GNV$LIBCURL to reference
+it.  It will create the GNV$CURL_INCLUDE logical name for build procedures
+to access the header files.
+
+Normally to use curl from DCL, just create a foreign command as:
+   curl :== $gnv$gnu:[usr.bin]gnv$curl.exe
+
+If you need to work around having the older HP SSL kit installed, then
+for DCL create this command procedure:
+
+ $ create/dir gnv$gnu:[vms_bin]/prot=w:re
+ $ create gnv$gnu:[vms_bin]curl.com
+ $ curl := $gnv$gnu:[usr.bin]gnv$curl.exe
+ $ define/user ssl$libcrypto_shr32 gnv$curl_ssl_libcryptoshr32
+ $ curl "''p1'" "''p2'" "''p3'" "''p4'" "''p5'" "''p6'" "''p7'" "''p8'"
+ ^Z
+
+Then you can use: curl :== @gnv$gnu:[vms_bin]curl.com to run curl.
+
+For the HP SSL work around to work for GNV do the following:
+ $ create/dir gnv$gnu:[usr.local.bin]/prot=w:re
+ $ create gnv$gnu:[usr.local.bin]curl.
+ #! /bin/sh
+ dcl @gnv\$gnu:[vms_bin]curl.com $*
+ ^Z
+
+Similar work arounds will be needed for any program linked with GNV$LIBCURL
+until the HP OpenSSL is upgraded to the current 1.4 version or later.
+
+If you are installing a "daily" build instead of a release build of Curl, some
+things have been changed so that it can be installed at the same time as
+a production build with out conflicts.
+
+   The CURL_DAILY_STARTUP.COM will be supplied instead of CURL_STARTUP.COM.
+   This file is actually not used with the daily package and is provided as
+   a preview of what the next CURL_STARTUP.COM will be for the next release.
+   Do not run it.
+
+   The files that are normally installed in [VMS$COMMON.GNV.usr], for the
+   daily build are installed in [VMS$COMMON.GNV.beta] directory.
+
+   To use the daily GNV$LIBCURL image, you will need to define the logical
+   name GNV$LIBCURL to the image.
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/curl_startup.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/curl_startup.com
new file mode 100644
index 0000000..84760a0
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/curl_startup.com
@@ -0,0 +1,100 @@
+$! File: curl_Startup.com
+$!
+$! $Id$
+$!
+$! Procedure to setup the CURL libraries for use by programs from the
+$! VMS SYSTARTUP*.COM procedure.
+$!
+$! Copyright 2009, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$! 15-Jun-2009 J. Malmberg
+$! 30-Jul-2013 J. Malmberg  Update for Curl 7.32
+$!========================================================================
+$!
+$!
+$! GNV$GNU if needed.
+$ if f$trnlnm("GNV$GNU") .eqs. ""
+$ then
+$   x = f$trnlnm("GNU","LNM$SYSTEM_TABLE")
+$   if x .eqs. ""
+$   then
+$       write sys$output "GNV must be started up before this procedure.
+$       exit 44
+$   endif
+$   define/system/exec/trans=conc GNV$GNU 'x'
+$ endif
+$!
+$!
+$ myproc = f$environment("procedure")
+$!
+$! ZLIB needed.
+$ if f$trnlnm("GNV$LIBZSHR32") .eqs. ""
+$ then
+$   zlib_startup = f$parse("gnv$zlib_startup.com;0", myproc,,,)
+$   if f$search(zlib_startup) .nes. ""
+$   then
+$       @'zlib_startup
+$   else
+$       write sys$output "ZLIB package not found and is required."
+$       exit 44
+$   endif
+$ endif
+$!
+$!
+$ curl_ssl_libcrypto32 = ""
+$ curl_ssl_libssl32 = ""
+$ gnv_ssl_libcrypto32 = "gnv$gnu:[lib]ssl$libcrypto_shr32.exe"
+$ gnv_ssl_libssl32 = "gnv$gnu:[lib]ssl$libssl_shr32.exe"
+$ if f$search(gnv_ssl_libcrypto32) .nes. ""
+$ then
+$   curl_ssl_libcrypto32 = gnv_ssl_libcrypto32
+$   curl_ssl_libssl32 = gnv_ssl_libssl32
+$ else
+$   hp_ssl_libcrypto32 = "sys$share:ssl$libcrypto_shr32.exe"
+$   hp_ssl_libssl32 = "sys$share:ssl$libssl_shr32.exe"
+$   if f$search(hp_ssl_libcrypto32) .nes. ""
+$   then
+$       curl_ssl_libcrypto32 = hp_ssl_libcrypto32
+$       curl_ssl_libssl32 = hp_ssl_libssl32
+$   else
+$       write sys$output "HP SSL package not found and is required."
+$   endif
+$ endif
+$!
+$ define/system/exec gnv$curl_ssl_libcryptoshr32 'curl_ssl_libcrypto32'
+$ define/system/exec gnv$curl_ssl_libsslshr32 'curl_ssl_libssl32'
+$!
+$!
+$! CURL setup
+$ define/system/exec gnv$libcurl gnv$gnu:[usr.lib]GNV$LIBCURL.EXE
+$ define/system/exec gnv$curl_include gnv$gnu:[usr.include.curl]
+$ if .not. f$file_attributes("gnv$libcurl", "known")
+$ then
+$   install ADD gnv$libcurl/OPEN/SHARE/HEADER
+$ else
+$   install REPLACE gnv$libcurl/OPEN/SHARE/HEADER
+$ endif
+$!
+$!
+$ curl_exe = "gnv$gnu:[usr.bin]gnv$curl.exe"
+$ if .not. f$file_attributes(curl_exe, "known")
+$ then
+$   install ADD 'curl_exe'/OPEN/SHARE/HEADER
+$ else
+$   install REPLACE 'curl_exe'/OPEN/SHARE/HEADER
+$ endif
+$!
+$all_exit:
+$ exit
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/curlmsg.h b/ap/lib/libcurl/curl-7.54.1/packages/vms/curlmsg.h
new file mode 100644
index 0000000..424a382
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/curlmsg.h
@@ -0,0 +1,141 @@
+#ifndef HEADER_CURLMSG_H
+#define HEADER_CURLMSG_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#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_WEIRD_SERVER_REPLY 251756618
+#define CURL_FTP_WEIRD_SERVER_REPLY CURL_WEIRD_SERVER_REPLY
+#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/ap/lib/libcurl/curl-7.54.1/packages/vms/curlmsg.msg b/ap/lib/libcurl/curl-7.54.1/packages/vms/curlmsg.msg
new file mode 100644
index 0000000..492657c
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/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>
+WEIRD_SERVER_REPLY	<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/ap/lib/libcurl/curl-7.54.1/packages/vms/curlmsg.sdl b/ap/lib/libcurl/curl-7.54.1/packages/vms/curlmsg.sdl
new file mode 100644
index 0000000..db5baad
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/curlmsg.sdl
@@ -0,0 +1,116 @@
+
+
+ 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 ""
+       ,"WEIRD_SERVER_REPLY" EQUALS %X0F01804A 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/ap/lib/libcurl/curl-7.54.1/packages/vms/curlmsg_vms.h b/ap/lib/libcurl/curl-7.54.1/packages/vms/curlmsg_vms.h
new file mode 100644
index 0000000..b7ff7a0
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/curlmsg_vms.h
@@ -0,0 +1,141 @@
+#ifndef HEADER_CURLMSG_VMS_H
+#define HEADER_CURLMSG_VMS_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+/*                                                                          */
+/* 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_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/ap/lib/libcurl/curl-7.54.1/packages/vms/generate_config_vms_h_curl.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/generate_config_vms_h_curl.com
new file mode 100644
index 0000000..90a83d5
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/generate_config_vms_h_curl.com
@@ -0,0 +1,484 @@
+$! File: GENERATE_CONFIG_H_CURL.COM
+$!
+$! $Id$
+$!
+$! Curl like most open source products uses a variant of a config.h file.
+$! Depending on the curl version, this could be config.h or curl_config.h.
+$!
+$! For GNV based builds, the configure script is run and that produces
+$! a [curl_]config.h file.  Configure scripts on VMS generally do not
+$! know how to do everything, so there is also a [-.lib]config-vms.h file
+$! that has VMS specific code that compensates for bugs in some of the
+$! VMS shared images.
+$!
+$! This generates a [curl_]config.h file and also a config_vms.h file,
+$! which is used to supplement that file.  Note that the config_vms.h file
+$! and the [.lib]config-vms.h file do two different tasks and that the
+$! filenames are slightly different.
+$!
+$!
+$! Copyright 2013, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$!
+$! 06-Jan-2013	J. Malmberg
+$!
+$!=========================================================================
+$!
+$! Allow arguments to be grouped together with comma or separated by spaces
+$! Do no know if we will need more than 8.
+$args = "," + p1 + "," + p2 + "," + p3 + "," + p4 + ","
+$args = args + p5 + "," + p6 + "," + p7 + "," + p8 + ","
+$!
+$! Provide lower case version to simplify parsing.
+$args_lower = f$edit(args, "LOWERCASE")
+$!
+$args_len = f$length(args)
+$!
+$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
+$!
+$!
+$nossl = 0
+$nohpssl = 1
+$hpssl = 0
+$libidn = 0
+$libssh2 = 0
+$noldap = 0
+$nozlib = 0
+$nokerberos = 0
+$!
+$! First check to see if SSL is disabled.
+$!---------------------------------------
+$if f$locate(",nossl,", args_lower) .lt. args_len then nossl = 1
+$if .not. nossl
+$then
+$!
+$!  ssl$* logicals means HP ssl is present
+$!----------------------------------------
+$   if f$trnlnm("ssl$root") .nes. ""
+$   then
+$	nohpssl = 0
+$	hpssl = 1
+$   endif
+$!
+$!  HP defines OPENSSL as SSL$INCLUDE as a convenience for linking.
+$!  As it is a violation of VMS standards for this to be provided,
+$!  some sites may have removed it, but if present, assume that
+$!  it indicates which OpenSSL to use.
+$!------------------------------------
+$   openssl_lnm = f$trnlnm("OPENSSL")
+$   if (openssl_lnm .nes. "SYS$INCLUDE")
+$   then
+$!	Non HP SSL is installed, default to use it.
+$	nohpssl = 1
+$	hpssl = 0
+$   endif
+$!
+$!  Now check to see if hpssl has been specifically disabled
+$!----------------------------------------------------------
+$   if f$locate(",nohpssl,", args_lower) .lt. args_len
+$   then
+$	nohpssl = 1
+$	hpssl = 0
+$   endif
+$!
+$!  Finally check to see if hp ssl has been specifically included.
+$!----------------------------------------------------------------
+$   if f$locate(",nohpssl,", args_lower) .lt. args_len
+$   then
+$	nohpssl = 1
+$	hpssl = 0
+$   endif
+$endif
+$!
+$! Did someone port LIBIDN in the GNV compatible way?
+$!------------------------------------------------------
+$if f$trnlnm("GNV$LIBIDNSHR") .nes. ""
+$then
+$   write sys$output "NOTICE:  A LIBIDN port has been detected."
+$   write sys$output " This port of curl for VMS has not been tested with it."
+$   if f$locate(",libidn,", args_lower) .lt. args_len
+$   then
+$	libidn = 1
+$   endif
+$   if .not. libidn
+$   then
+$	write sys$output " LIBIDN support is not enabled."
+$	write sys$output "Run with the ""libidn"" parameter to attempt to use."
+$   else
+$	write sys$output " Untested LIBIDN support requested."
+$   endif
+$endif
+$!
+$! Did someone port LIBSSH2 in the GNV compatible way?
+$!------------------------------------------------------
+$if f$trnlnm("GNV$LIBSSH2SHR") .nes. ""
+$then
+$   write sys$output "NOTICE:  A LIBSSH2 port has been detected."
+$   write sys$output " This port of curl for VMS has not been tested with it."
+$   if f$locate(",libssh2,", args_lower) .lt. args_len
+$   then
+$	libssh2 = 1
+$   endif
+$   if .not. libssh2
+$   then
+$	write sys$output " LIBSSH2 support is not enabled."
+$	write sys$output "Run with the ""libssh2"" parameter to attempt to use."
+$   else
+$	write sys$output " Untested LIBSSH2 support requested."
+$   endif
+$endif
+$!
+$! LDAP suppressed?
+$if f$locate(",noldap,", args_lower) .lt. args_len
+$then
+$   noldap = 1
+$endif
+$if f$search("SYS$SHARE:LDAP$SHR.EXE") .eqs. ""
+$then
+$   noldap = 1
+$endif
+$!
+$if f$locate(",nokerberos,", args_lower) .lt. args_len then nokerberos = 1
+$if .not. nokerberos
+$then
+$!  If kerberos is installed: sys$share:gss$rtl.exe exists.
+$   if f$search("sys$shsare:gss$rtl.exe") .eqs. ""
+$   then
+$	nokerberos = 1
+$   endif
+$endif
+$!
+$!
+$! Is GNV compatible LIBZ present?
+$!------------------------------------------------------
+$if f$trnlnm("GNV$LIBZSHR") .nes. ""
+$then
+$   if f$locate(",nozlib,", args_lower) .lt. args_len
+$   then
+$	nozlib = 1
+$   endif
+$!   if .not. nozlib
+$!   then
+$!	write sys$output " GNV$LIBZSHR support is enabled."
+$!   else
+$!	write sys$output " GNV$LIBZSHR support is disabled by nozlib."
+$!   endif
+$else
+$   nozlib = 1
+$endif
+$!
+$!
+$! Start the configuration file.
+$! Need to do a create and then an append to make the file have the
+$! typical file attributes of a VMS text file.
+$create sys$disk:[curl.lib]config_vms.h
+$open/append cvh sys$disk:[curl.lib]config_vms.h
+$!
+$! Write the defines to prevent multiple includes.
+$! These are probably not needed in this case,
+$! but are best practice to put on all header files.
+$write cvh "#ifndef __CONFIG_VMS_H__"
+$write cvh "#define __CONFIG_VMS_H__"
+$write cvh ""
+$write cvh "/* Define cpu-machine-OS */"
+$!
+$! Curl uses an OS macro to set the build environment.
+$!----------------------------------------------------
+$! Now the DCL builds usually say xxx-HP-VMS and configure scripts
+$! may put DEC or COMPAQ or HP for the middle part.
+$!
+$write cvh "#if defined(__alpha)"
+$write cvh "#define OS ""ALPHA-HP-VMS"""
+$write cvh "#elif defined(__vax)"
+$write cvh "#define OS ""VAX-HP-VMS"""
+$write cvh "#elif defined(__ia64)"
+$write cvh "#define OS ""IA64-HP-VMS""
+$write cvh "#else"
+$write cvh "#define OS ""UNKNOWN-HP-VMS""
+$write cvh "#endif"
+$write cvh ""
+$!
+$! We are now setting this on the GNV build, so also do this
+$! for compatibility.
+$write cvh "/* Location of default ca path */"
+$write cvh "#define curl_ca_path ""gnv$curl_ca_path"""
+$!
+$! NTLM_WB_ENABLED requires fork() but configure does not know this
+$! We have to disble this in th configure command line.
+$! config_h.com finds that configure defaults to it being enabled so
+$! reports it.  So we need to turn it off here.
+$!
+$write cvh "#ifdef NTLM_WB_ENABLED"
+$write cvh "#undef NTLM_WB_ENABLED"
+$write cvh "#endif"
+$!
+$! The config_h.com finds a bunch of default disable commands in
+$! configure and will incorrectly disable these options.  The config_h.com
+$! is a generic procedure and it would break more things to try to fix it
+$! to special case it for curl.  So we will fix it here.
+$!
+$! We do them all here, even the ones that config_h.com currently gets correct.
+$!
+$write cvh "#ifdef CURL_DISABLE_COOKIES"
+$write cvh "#undef CURL_DISABLE_COOKIES"
+$write cvh "#endif"
+$write cvh "#ifdef CURL_DISABLE_CRYPTO_AUTH"
+$write cvh "#undef CURL_DISABLE_CRYPTO_AUTH"
+$write cvh "#endif"
+$write cvh "#ifdef CURL_DISABLE_DICT"
+$write cvh "#undef CURL_DISABLE_DICT"
+$write cvh "#endif"
+$write cvh "#ifdef CURL_DISABLE_FILE"
+$write cvh "#undef CURL_DISABLE_FILE"
+$write cvh "#endif"
+$write cvh "#ifdef CURL_DISABLE_FTP"
+$write cvh "#undef CURL_DISABLE_FTP"
+$write cvh "#endif"
+$write cvh "#ifdef CURL_DISABLE_GOPHER"
+$write cvh "#undef CURL_DISABLE_GOPHER"
+$write cvh "#endif"
+$write cvh "#ifdef CURL_DISABLE_HTTP"
+$write cvh "#undef CURL_DISABLE_HTTP"
+$write cvh "#endif"
+$write cvh "#ifdef CURL_DISABLE_IMAP"
+$write cvh "#undef CURL_DISABLE_IMAP"
+$write cvh "#endif"
+$if .not. noldap
+$then
+$   write cvh "#ifdef CURL_DISABLE_LDAP"
+$   write cvh "#undef CURL_DISABLE_LDAP"
+$   write cvh "#endif"
+$   if .not. nossl
+$   then
+$	write cvh "#ifdef CURL_DISABLE_LDAPS"
+$	write cvh "#undef CURL_DISABLE_LDAPS"
+$	write cvh "#endif"
+$   endif
+$endif
+$write cvh "#ifdef CURL_DISABLE_LIBCURL_OPTION"
+$write cvh "#undef CURL_DISABLE_LIBCURL_OPTION"
+$write cvh "#endif"
+$write cvh "#ifndef __VAX"
+$write cvh "#ifdef CURL_DISABLE_NTLM"
+$write cvh "#undef CURL_DISABLE_NTLM"
+$write cvh "#endif"
+$write cvh "#else"
+$! NTLM needs long long or int64 support, missing from DECC C.
+$write cvh "#ifdef __DECC
+$write cvh "#ifndef CURL_DISABLE_NTLM"
+$write cvh "#define CURL_DISABLE_NTLM 1"
+$write cvh "#endif"
+$write cvh "#endif"
+$write cvh "#endif"
+$write cvh "#ifdef CURL_DISABLE_POP3"
+$write cvh "#undef CURL_DISABLE_POP3"
+$write cvh "#endif"
+$write cvh "#ifdef CURL_DISABLE_PROXY"
+$write cvh "#undef CURL_DISABLE_PROXY"
+$write cvh "#endif"
+$write cvh "#ifdef CURL_DISABLE_RTSP"
+$write cvh "#undef CURL_DISABLE_RTSP"
+$write cvh "#endif"
+$write cvh "#ifdef CURL_DISABLE_SMTP"
+$write cvh "#undef CURL_DISABLE_SMTP"
+$write cvh "#endif"
+$write cvh "#ifdef CURL_DISABLE_TELNET"
+$write cvh "#undef CURL_DISABLE_TELNET"
+$write cvh "#endif"
+$write cvh "#ifdef CURL_DISABLE_TFTP"
+$write cvh "#undef CURL_DISABLE_TFTP"
+$write cvh "#endif"
+$write cvh "#ifdef CURL_DISABLE_POP3"
+$write cvh "#undef CURL_DISABLE_POP3"
+$write cvh "#endif"
+$if .not. nossl
+$then
+$   write cvh "#ifdef CURL_DISABLE_TLS_SRP"
+$   write cvh "#undef CURL_DISABLE_TLS_SRP"
+$   write cvh "#endif"
+$!
+$endif
+$write cvh "#ifdef CURL_DISABLE_VERBOSE_STRINGS"
+$write cvh "#undef CURL_DISABLE_VERBOSE_STRINGS"
+$write cvh "#endif"
+$!
+$! configure defaults to USE_*, a real configure on VMS chooses different.
+$write cvh "#ifdef USE_ARES"
+$write cvh "#undef USE_ARES"
+$write cvh "#endif"
+$write cvh "#ifdef USE_AXTLS"
+$write cvh "#undef USE_AXTLS"
+$write cvh "#endif"
+$write cvh "#ifdef USE_CYASSL"
+$write cvh "#undef USE_CYASSL"
+$write cvh "#endif"
+$write cvh "#ifdef USE_DARWINSSL"
+$write cvh "#undef USE_DARWINSSL"
+$write cvh "#endif"
+$write cvh "#ifdef USE_GNUTLS"
+$write cvh "#undef USE_GNUTLS"
+$write cvh "#endif"
+$write cvh "#ifdef USE_GNUTLS_NETTLE"
+$write cvh "#undef USE_GNUTLS_NETTLE"
+$write cvh "#endif"
+$write cvh "#ifdef USE_LIBRTMP"
+$write cvh "#undef USE_LIBRTMP"
+$write cvh "#endif"
+$write cvh "#ifdef USE_MANUAL"
+$write cvh "#undef USE_MANUAL"
+$write cvh "#endif"
+$write cvh "#ifdef USE_NGHTTP2"
+$write cvh "#undef USE_NGHTTP2"
+$write cvh "#endif"
+$write cvh "#ifdef USE_NSS"
+$write cvh "#undef USE_NSS"
+$write cvh "#endif"
+$write cvh "#ifdef USE_OPENLDAP"
+$write cvh "#undef USE_OPENLDAP"
+$write cvh "#endif"
+$write cvh "#ifdef USE_POLARSSL"
+$write cvh "#undef USE_POLARSSL"
+$write cvh "#endif"
+$write cvh "#ifdef USE_SCHANNEL"
+$write cvh "#undef USE_SCHANNEL"
+$write cvh "#endif"
+$write cvh "#ifdef USE_THREADS_POSIX"
+$write cvh "#undef USE_THREADS_POSIX"
+$write cvh "#endif"
+$write cvh "#ifdef USE_TLS_SRP"
+$write cvh "#undef USE_TLS_SRP"
+$write cvh "#endif"
+$write cvh "#ifdef USE_UNIX_SOCKETS"
+$write cvh "#undef USE_UNIX_SOCKETS"
+$write cvh "#endif"
+$write cvh "#ifdef USE_WINDOWS_SSPI"
+$write cvh "#undef USE_WINDOWS_SSPI"
+$write cvh "#endif"
+$!
+$write cvh "#ifndef HAVE_OLD_GSSMIT"
+$write cvh "#define gss_nt_service_name GSS_C_NT_HOSTBASED_SERVICE"
+$write cvh "#endif"
+$!
+$!
+$! Note:
+$! The CURL_EXTERN_SYMBOL is used for platforms that need the compiler
+$! to know about universal symbols.  VMS does not need this support so
+$! we do not set it here.
+$!
+$!
+$! I can not figure out where the C compiler is finding the ALLOCA.H file
+$! in the text libraries, so CONFIG_H.COM can not find it either.
+$! Usually the header file name is the module name in the text library.
+$! It does not appear to hurt anything to not find header file, so we
+$! are not overriding it here.
+$!
+$!
+$! Check to see if OpenSSL is present.
+$!----------------------------------
+$ssl_include = f$trnlnm("OPENSSL")
+$if ssl_include .eqs. ""
+$then
+$    ssl_include = f$trnlnm("ssl$include")
+$endif
+$if ssl_include .eqs. "" then nossl = 1
+$!
+$if .not. nossl
+$then
+$!
+$   write cvh "#ifndef USE_OPENSSL"
+$   write cvh "#define USE_OPENSSL 1"
+$   write cvh "#endif"
+$   write cvh "#ifndef USE_SSLEAY"
+$   write cvh "#define USE_SSLEAY 1"
+$   write cvh "#endif"
+$   if arch_name .eqs. "VAX"
+$   then
+$       old_mes = f$enviroment("message")
+$       set message/notext/nofaci/noseve/noident
+$       search/output=nla0: ssl$include:*.h CONF_MFLAGS_IGNORE_MISSING_FILE
+$       status = $severity
+$       set message'old_mes'
+$       if status .nes. "1"
+$       then
+$           write cvh "#define VMS_OLD_SSL 1"
+$       endif
+$   endif
+$endif
+$!
+$!
+$! LibIDN not ported to VMS at this time.
+$! This is for international domain name support.
+$! Allow explicit experimentation.
+$if libidn
+$then
+$   write cvh "#define HAVE_IDNA_STRERROR 1"
+$   write cvh "#define HAVE_IDNA_FREE 1"
+$   write cvh "#define HAVE_IDNA_FREE_H 1"
+$   write cvh "#define HAVE_LIBIDN 1"
+$else
+$   write cvh "#ifdef HAVE_LIBIDN"
+$   write cvh "#undef HAVE_LIBIDN"
+$   write cvh "#endif"
+$endif
+$!
+$!
+$! LibSSH2 not ported to VMS at this time.
+$! Allow explicit experimentation.
+$if libssh2
+$then
+$   write cvh "#define HAVE_LIBSSH2_EXIT 1"
+$   write cvh "#define HAVE_LIBSSH2_H 1"
+$   write cvh "#define HAVE_LIBSSH2_INIT 1"
+$   write cvh "#define HAVE_LIBSSH2_SCP_SEND64 1"
+$   write cvh "#define HAVE_LIBSSH2_SESSION_HANDSHAKE 1"
+$   write cvh "#define HAVE_LIBSSH2_VERSION 1
+$   write cvh "#define HAVE_LIBSSH2 1
+$!
+$   write cvh "#ifndef USE_LIBSSH2"
+$   write cvh "#define USE_LIBSSH2 1"
+$   write cvh "#endif"
+$else
+$   write cvh "#ifdef USE_LIBSSH2"
+$   write cvh "#undef USE_LIBSSH2"
+$   write cvh "#endif"
+$endif
+$!
+$!
+$!
+$if .not. nozlib
+$then
+$   write cvh "#define HAVE_LIBZ 1"
+$   write cvh "#define HAVE_ZLIB_H 1"
+$endif
+$!
+$!
+$! Suppress a message in curl_gssapi.c compile.
+$write cvh "#pragma message disable notconstqual"
+$!
+$! Close out the file
+$!
+$write cvh ""
+$write cvh "#endif /* __CONFIG_VMS_H__ */"
+$close cvh
+$!
+$all_exit:
+$exit
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/generate_vax_transfer.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/generate_vax_transfer.com
new file mode 100644
index 0000000..92391f9
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/generate_vax_transfer.com
@@ -0,0 +1,274 @@
+$! File: generate_vax_transfer.com
+$!
+$! $Id$
+$!
+$! File to generate and compile the VAX transfer vectors from reading in the
+$! Alpha/Itanium gnv_libcurl_symbols.opt file.
+$!
+$! This procedure patches the VAX Macro32 assembler to be case sensitive
+$! and then compiles the generated
+$!
+$! The output of this procedure is:
+$!     gnv_libcurl_xfer.mar_exact
+$!     gnv_libcurl_xfer.obj
+$!     gnv_libcurl_xfer.opt
+$!     macro32_exactcase.exe
+$!
+$! Copyright 2013, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$! 20-Jul-2013  J. Malmberg
+$!============================================================================
+$!
+$! Save this so we can get back.
+$ default_dir = f$environment("default")
+$!
+$ on warning then goto all_exit
+$!
+$! Want hard tabs in the generated file.
+$ tab[0,8] = 9
+$!
+$! This procedure is used on VAX only
+$ if (f$getsyi("HW_MODEL") .ge. 1024)
+$ then
+$   write sys$output "This procedure is only used on VAX."
+$   goto all_exit
+$ endif
+$!
+$!
+$! Get the libcurl version to generate the ident string.
+$! ident string is max of 31 characters.
+$!
+$ ident_string = "unknown"
+$ open/read cver [-.-.include.curl]curlver.h
+$cver_loop:
+$ read/end=cver_loop_end cver line_in
+$ line_in = f$edit(line_in, "COMPRESS,TRIM")
+$ if line_in .eqs. "" then goto cver_loop
+$ code = f$extract(0, 1, line_in)
+$ if code .nes. "#" then goto cver_loop
+$ directive = f$element(0, " ", line_in)
+$ if directive .nes. "#define" then goto cver_loop
+$ name = f$element(1, " ", line_in)
+$ if name .nes. "LIBCURL_VERSION" then goto cver_loop
+$ ident_string = f$element(2, " ", line_in) - "" - ""
+$cver_loop_end:
+$ close cver
+$!
+$ open/read aopt gnv_libcurl_symbols.opt
+$!
+$! Write out the header
+$ gosub do_header
+$!
+$ open/append vopt gnv_libcurl_xfer.mar_exact
+$ write vopt tab,".IDENT /", ident_string, "/"
+$!
+$ write vopt tab, ".PSECT LIBCURL_XFERVECTORS  -"
+$ write vopt tab,tab,tab, "PIC,USR,CON,REL,GBL,SHR,EXE,RD,NOWRT,QUAD"
+$ write vopt ""
+$ write vopt tab, "SPARE", tab, "; never delete this spare"
+$ write vopt ";"
+$ write vopt ";", tab, "Exact case and upper case transfer vectors"
+$!
+$ alias_count = 0
+$vector_loop:
+$!
+$!  Read in symbol_vector
+$!
+$   read/end=vector_loop_end aopt line_in
+$   line = f$edit(line_in, "UNCOMMENT,COMPRESS,TRIM")
+$   if line .eqs. "" then goto vector_loop
+$!
+$   line_u = f$edit(line, "UPCASE")
+$   key = f$element(0, "=", line_u)
+$   if (key .eqs. "SYMBOL_VECTOR")
+$   then
+$       symbol_string = f$element(1, "=", line) - "("
+$       symbol_type = f$element(2, "=", line_u) - ")"
+$       symbol_name = f$element(1, "/", symbol_string)
+$       if symbol_type .nes. "PROCEDURE"
+$       then
+$           write sys$output "%CURLBUILD-W-NOTPROC, " + -
+$                            "This procedure can only handle procedure vectors"
+$           write sys$output -
+"Data vectors require manual construction for which this procedure or"
+$           write sys$output -
+"the shared library needs to be updated to resolve."
+$           write sys$output -
+"the preferred solution is to have a procedure return the address of the "
+$           write sys$output -
+"the variable instead of having a variable, as if the size of the variable "
+            write sys$output -
+"changes, the symbol vector is no longer backwards compatible."
+$       endif
+$       if (symbol_name .eqs. "/")
+$       then
+$           symbol_name = symbol_string
+$           write vopt tab, symbol_type, tab, symbol_name
+$       else
+$           alias_count = alias_count + 1
+$           symbol_alias = f$element(0, "/", symbol_string)
+$           write vopt -
+                  tab, "''symbol_type_U", tab, symbol_name, tab, symbol_alias
+$       endif
+$   endif
+$   goto vector_loop
+$vector_loop_end:
+$!
+$! End of pass one, second pass needed if aliases exist
+$ close aopt
+$!
+$ if alias_count .eq. 0 then goto finish_file
+$!
+$! Start pass 2, write stub routine header
+$!
+$ open/read aopt gnv_libcurl_symbols.opt
+$!
+$alias_loop:
+$!
+$!  Read in symbol_vector
+$!
+$   read/end=alias_loop_end aopt line_in
+$   line = f$edit(line_in, "UNCOMMENT,COMPRESS,TRIM")
+$   if line .eqs. "" then goto alias_loop
+$!
+$   line_u = f$edit(line, "UPCASE")
+$   key = f$element(0, "=", line_u)
+$   if (key .eqs. "SYMBOL_VECTOR")
+$   then
+$       symbol_string = f$element(1, "=", line) - "("
+$       symbol_type = f$element(2, "=", line_u) - ")"
+$       symbol_name = f$element(1, "/", symbol_string)
+$       if (symbol_name .eqs. "/")
+$       then
+$           symbol_name = symbol_string
+$       else
+$           alias_count = alias_count + 1
+$           symbol_alias = f$element(0, "/", symbol_string)
+$           write vopt tab, ".ENTRY", tab, symbol_alias, ", ^M<>"
+$       endif
+$   endif
+$   goto alias_loop
+$! read in symbol_vector
+$! if not alias, then loop
+$! write out subroutine name
+$!
+$alias_loop_end:
+$!
+$ write vopt tab, "MOVL #1, R0"
+$ write vopt tab, "RET"
+$!
+$finish_file:
+$!
+$ write vopt ""
+$ write vopt tab, ".END"
+$!
+$ close aopt
+$ close vopt
+$!
+$! Patch the Macro32 compiler
+$!----------------------------
+$ patched_macro = "sys$disk:[]macro32_exactcase.exe"
+$ if f$search(patched_macro) .eqs. ""
+$ then
+$   copy sys$system:macro32.exe 'patched_macro'
+$   patch @macro32_exactcase.patch
+$ endif
+$ define/user macro32 'patched_macro'
+$ macro/object=gnv_libcurl_xfer.obj gnv_libcurl_xfer.mar_exact
+$!
+$! Create the option file for linking the shared image.
+$ create gnv_libcurl_xfer.opt
+$ open/append lco gnv_libcurl_xfer.opt
+$ write lco "gsmatch=lequal,1,1"
+$ write lco "cluster=transfer_vector,,,''default_dir'gnv_libcurl_xfer"
+$ write lco "collect=libcurl_global, libcurl_xfervectors"
+$ close lco
+$!
+$!
+$ goto all_exit
+$!
+$! Process the header
+$do_header:
+$!
+$! Force the mode of the file to same as text editor generated.
+$ create gnv_libcurl_xfer.mar_exact
+$deck
+; File: gnv_libcurl_xfer.mar_exact
+;
+; VAX transfer vectors
+;
+; This needs to be compiled with a specialized patch on Macro32 to make it
+; preserve the case of symbols instead of converting it to uppercase.
+;
+; This patched Macro32 requires all directives to be in upper case.
+;
+; There are three sets of symbols for transfer vectors here.
+;
+; The first for upper case which matches the tradition method of generating
+; VAX transfer vectors.
+;
+; The second is the exact case for compatibility with open source C programs
+; that expect exact case symbols in images.  These are separated because a
+; previous kit had only upper case symbols.
+;
+; The third is the routine stub that is used to resolve part of the upper
+; case transfer vectors, with exact case entry symbols.
+;
+; When you add routines, you need to add them after the second set of transfer
+; vectors for both upper and exact case, and then additional entry points
+; in upper case added to stub routines.
+;
+;*************************************************************************
+
+        .TITLE libcurl_xfer - Transfer vector for libcurl
+        .DISABLE GLOBAL
+
+;
+; Macro to generate a transfer vector entry
+;
+        .MACRO  PROCEDURE       NAME
+        .EXTRN          'NAME
+        .ALIGN  QUAD
+        .TRANSFER       'NAME
+        .MASK           'NAME
+        JMP             'NAME+2
+        .ENDM
+
+        .MACRO  PROCEDUREU      NAME    NAMEU
+        .EXTRN          'NAME
+        .ALIGN  QUAD
+        .TRANSFER       'NAMEU
+        .MASK           'NAME
+        JMP             'NAME+2
+
+        .ENDM
+;
+;
+; Macro to reserve a spare entry.
+;
+        .MACRO  SPARE
+        .ALIGN QUAD
+        .ALIGN QUAD
+        .QUAD   0
+        .ENDM
+
+$EOD
+$!
+$!
+$ return
+$!
+$all_exit:
+$set def 'default_dir'
+$exit '$status'
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/gnv_conftest.c_first b/ap/lib/libcurl/curl-7.54.1/packages/vms/gnv_conftest.c_first
new file mode 100644
index 0000000..8645b0e
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/gnv_conftest.c_first
@@ -0,0 +1,61 @@
+/* File: GNV$CONFTEST.C_FIRST
+ *
+ * $Id$
+ *
+ * Copyright 2009, John Malmberg
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+ * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+/* This is needed for Configure tests to get the correct exit status */
+void __posix_exit(int __status);
+#define exit(__p1) __posix_exit(__p1)
+
+/* Fake pass the test to find a standard ldap routine that we know is */
+/* present on VMS, but with the wrong case for the symbol */
+char ldap_url_parse(void) {return 0;}
+
+/* These are to pass the test that does not use headers */
+/* Because configure does an #undef which keeps us from using #define */
+/* char CRYPTO_add_lock(void) {return 0;} */
+char SSL_connnect(void) {return 0;}
+char ENGINE_init(void) {return 0;}
+char RAND_status(void) {return 0;}
+/* char RAND_screen(void) {return 0;} In headers, but not present */
+char RAND_egd(void) {return 0;}
+char CRYPTO_cleanup_all_ex_data(void) {return 0;}
+char SSL_get_shutdown(void) {return 0;}
+char ENGINE_load_builtin_engines (void) {return 0;}
+
+/* And these are to pass the test that uses headers. */
+/* Because the HP OpenSSL transfer vectors are currently in Upper case only */
+#pragma message disable macroredef
+#define CRYPTO_add_lock CRYPTO_ADD_LOCK
+#define SSL_connect SSL_CONNECT
+#define ENGINE_init ENGINE_INIT
+#define RAND_status RAND_STATUS
+/* #define RAND_screen RAND_SCREEN */
+#define RAND_egd RAND_EGD
+#define CRYPTO_cleanup_all_ex_data CRYPTO_CLEANUP_ALL_EX_DATA
+#define SSL_get_shutdown SSL_GET_SHUTDOWN
+#define ENGINE_load_builtin_engines ENGINE_LOAD_BUILTIN_ENGINES
+
+/* Can not use the #define macro to fix the case on CRYPTO_lock because */
+/* there is a macro CRYPTO_LOCK that is a number */
+
+/* After all the work to get configure to pass the CRYPTO_LOCK tests,
+ * it turns out that VMS does not have the CRYPTO_LOCK symbol in the
+ * transfer vector, even though it is in the header file.
+ */
+
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/gnv_curl_configure.sh b/ap/lib/libcurl/curl-7.54.1/packages/vms/gnv_curl_configure.sh
new file mode 100644
index 0000000..2eeb209
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/gnv_curl_configure.sh
@@ -0,0 +1,46 @@
+# File: gnv_curl_configure.sh
+#
+# $Id$
+#
+# Set up and run the configure script for Curl so that it can find the
+# proper options for VMS.
+#
+# Copyright 2009, John Malmberg
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+# 06-Jun-2009	J. Malmberg
+# 28-Dec-2012	J. Malmberg	Update for Bash 4.2.39
+#==========================================================================
+#
+# POSIX exit mode is needed for Unix shells.
+export GNV_CC_MAIN_POSIX_EXIT=1
+#
+# Where to look for the helper files.
+export GNV_OPT_DIR=.
+#
+# How to find the SSL library files.
+export LIB_OPENSSL=/SSL_LIB
+#
+# Override configure adding -std1 which is too strict for what curl
+# actually wants.
+export GNV_CC_QUALIFIERS=/STANDARD=RELAXED
+#
+# Set the directory to where the Configure script actually is.
+cd ../..
+#
+#
+./configure  --prefix=/usr --exec-prefix=/usr --disable-dependency-tracking \
+ --disable-libtool-lock --with-gssapi --disable-ntlm-wb \
+ --with-ca-path=gnv\$curl_ca_path
+#
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/gnv_libcurl_symbols.opt b/ap/lib/libcurl/curl-7.54.1/packages/vms/gnv_libcurl_symbols.opt
new file mode 100644
index 0000000..8465592
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/gnv_libcurl_symbols.opt
@@ -0,0 +1,181 @@
+! File GNV$LIBCURL_SYMBOLS.OPT
+!
+! $Id$
+!
+! This file must be manually maintained to allow upward compatibility
+! The SYMBOL_VECTORs are set up so that applications can be compiled
+! with either case sensitive symbol names or the default of uppercase.
+! This is because many of the Open Source applications that would call
+! the LIBCURL library need to be built with case sensitive names.
+!
+! Automatic generation is currently not practical because the order of
+! the entries are important for upward compatibility.
+!
+! The GSMATCH is manually set to the major version of 1, with the minor
+! version being the next two sections multiplied by a power of 10 to
+! become the minor version.
+! So LIBCURL 7.18.1 becomes 1,718010.
+! And a future LIBCURL of 7.18.2 would be 1,718020 if new routines were added.
+!
+! This leaves some spare digits for minor patches.
+!
+! Note that the GSMATCH does not need to have any real relationship to the
+! actual package version number.
+!
+! New SYMBOL_VECTORs must be added to the end of this list, and added
+! in pairs for both exact and with an uppercase alias.
+! If the public symbol is more than 31 characters long, then a special
+! shortened symbol will be exported, and three aliases should be created,
+! The aliases will be the special shortened uppercase alias, and both
+! upper and lowercase versions of a truncated name (preferred) or a
+! modified manually shortened name if a truncated name will not be
+! unique.
+!
+! Routines can not be removed, the functionality must be maintained.
+! If a new routine is supplied where the arguments are incompatible with
+! the older version, both versions are needed to be maintained.
+! The old version can be given a different name, but must be in the same
+! SYMBOL_VECTOR positions in this file.
+!
+! Changing the number of parameters for an existing routine does not require
+! maintaining multiple versions as long as the routine can be called with
+! the old number of parameters.
+!
+! Copyright 2009, John Malmberg
+!
+! Permission to use, copy, modify, and/or distribute this software for any
+! purpose with or without fee is hereby granted, provided that the above
+! copyright notice and this permission notice appear in all copies.
+!
+! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+!============================================================================
+GSMATCH=LEQUAL,1,719050
+CASE_SENSITIVE=YES
+SYMBOL_VECTOR=(curl_strequal=PROCEDURE)
+SYMBOL_VECTOR=(CURL_STREQUAL/curl_strequal=PROCEDURE)
+SYMBOL_VECTOR=(curl_strnequal=PROCEDURE)
+SYMBOL_VECTOR=(CURL_STRNEQUAL/curl_strnequal=PROCEDURE)
+SYMBOL_VECTOR=(curl_formadd=PROCEDURE)
+SYMBOL_VECTOR=(CURL_FORMADD/curl_formadd=PROCEDURE)
+SYMBOL_VECTOR=(curl_formget=PROCEDURE)
+SYMBOL_VECTOR=(CURL_FORMGET/curl_formget=PROCEDURE)
+SYMBOL_VECTOR=(curl_formfree=PROCEDURE)
+SYMBOL_VECTOR=(CURL_FORMFREE/curl_formfree=PROCEDURE)
+SYMBOL_VECTOR=(curl_getenv=PROCEDURE)
+SYMBOL_VECTOR=(CURL_GETENV/curl_getenv=PROCEDURE)
+SYMBOL_VECTOR=(curl_version=PROCEDURE)
+SYMBOL_VECTOR=(CURL_VERSION/curl_version=PROCEDURE)
+SYMBOL_VECTOR=(curl_easy_escape=PROCEDURE)
+SYMBOL_VECTOR=(CURL_EASY_ESCAPE/curl_easy_escape=PROCEDURE)
+SYMBOL_VECTOR=(curl_escape=PROCEDURE)
+SYMBOL_VECTOR=(CURL_ESCAPE/curl_escape=PROCEDURE)
+SYMBOL_VECTOR=(curl_easy_unescape=PROCEDURE)
+SYMBOL_VECTOR=(CURL_EASY_UNESCAPE/curl_easy_unescape=PROCEDURE)
+SYMBOL_VECTOR=(curl_unescape=PROCEDURE)
+SYMBOL_VECTOR=(CURL_UNESCAPE/curl_unescape=PROCEDURE)
+SYMBOL_VECTOR=(curl_free=PROCEDURE)
+SYMBOL_VECTOR=(CURL_FREE/curl_free=PROCEDURE)
+SYMBOL_VECTOR=(curl_global_init=PROCEDURE)
+SYMBOL_VECTOR=(CURL_GLOBAL_INIT/curl_global_init=PROCEDURE)
+SYMBOL_VECTOR=(curl_global_init_mem=PROCEDURE)
+SYMBOL_VECTOR=(CURL_GLOBAL_INIT_MEM/curl_global_init_mem=PROCEDURE)
+SYMBOL_VECTOR=(curl_global_cleanup=PROCEDURE)
+SYMBOL_VECTOR=(CURL_GLOBAL_CLEANUP/curl_global_cleanup=PROCEDURE)
+SYMBOL_VECTOR=(curl_slist_append=PROCEDURE)
+SYMBOL_VECTOR=(CURL_SLIST_APPEND/curl_slist_append=PROCEDURE)
+SYMBOL_VECTOR=(curl_slist_free_all=PROCEDURE)
+SYMBOL_VECTOR=(CURL_SLIST_FREE_ALL/curl_slist_free_all=PROCEDURE)
+SYMBOL_VECTOR=(curl_getdate=PROCEDURE)
+SYMBOL_VECTOR=(CURL_GETDATE/curl_getdate=PROCEDURE)
+SYMBOL_VECTOR=(curl_share_init=PROCEDURE)
+SYMBOL_VECTOR=(CURL_SHARE_INIT/curl_share_init=PROCEDURE)
+SYMBOL_VECTOR=(curl_share_setopt=PROCEDURE)
+SYMBOL_VECTOR=(CURL_SHARE_SETOPT/curl_share_setopt=PROCEDURE)
+SYMBOL_VECTOR=(curl_share_cleanup=PROCEDURE)
+SYMBOL_VECTOR=(CURL_SHARE_CLEANUP/curl_share_cleanup=PROCEDURE)
+SYMBOL_VECTOR=(curl_version_info=PROCEDURE)
+SYMBOL_VECTOR=(CURL_VERSION_INFO/curl_version_info=PROCEDURE)
+SYMBOL_VECTOR=(curl_easy_strerror=PROCEDURE)
+SYMBOL_VECTOR=(CURL_EASY_STRERROR/curl_easy_strerror=PROCEDURE)
+SYMBOL_VECTOR=(curl_share_strerror=PROCEDURE)
+SYMBOL_VECTOR=(CURL_SHARE_STRERROR/curl_share_strerror=PROCEDURE)
+SYMBOL_VECTOR=(curl_easy_pause=PROCEDURE)
+SYMBOL_VECTOR=(CURL_EASY_PAUSE/curl_easy_pause=PROCEDURE)
+!
+! easy.h
+SYMBOL_VECTOR=(curl_easy_init=PROCEDURE)
+SYMBOL_VECTOR=(CURL_EASY_INIT/curl_easy_init=PROCEDURE)
+SYMBOL_VECTOR=(curl_easy_setopt=PROCEDURE)
+SYMBOL_VECTOR=(CURL_EASY_SETOPT/curl_easy_setopt=PROCEDURE)
+SYMBOL_VECTOR=(curl_easy_perform=PROCEDURE)
+SYMBOL_VECTOR=(CURL_EASY_PERFORM/curl_easy_perform=PROCEDURE)
+SYMBOL_VECTOR=(curl_easy_cleanup=PROCEDURE)
+SYMBOL_VECTOR=(CURL_EASY_CLEANUP/curl_easy_cleanup=PROCEDURE)
+SYMBOL_VECTOR=(curl_easy_getinfo=PROCEDURE)
+SYMBOL_VECTOR=(CURL_EASY_GETINFO/curl_easy_getinfo=PROCEDURE)
+SYMBOL_VECTOR=(curl_easy_duphandle=PROCEDURE)
+SYMBOL_VECTOR=(CURL_EASY_DUPHANDLE/curl_easy_duphandle=PROCEDURE)
+SYMBOL_VECTOR=(curl_easy_reset=PROCEDURE)
+SYMBOL_VECTOR=(CURL_EASY_RESET/curl_easy_reset=PROCEDURE)
+SYMBOL_VECTOR=(curl_easy_recv=PROCEDURE)
+SYMBOL_VECTOR=(CURL_EASY_RECV/curl_easy_recv=PROCEDURE)
+SYMBOL_VECTOR=(curl_easy_send=PROCEDURE)
+SYMBOL_VECTOR=(CURL_EASY_SEND/curl_easy_send=PROCEDURE)
+!
+! multi.h
+SYMBOL_VECTOR=(curl_multi_init=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MULTI_INIT/curl_multi_init=PROCEDURE)
+SYMBOL_VECTOR=(curl_multi_add_handle=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MULTI_ADD_HANDLE/curl_multi_add_handle=PROCEDURE)
+SYMBOL_VECTOR=(curl_multi_remove_handle=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MULTI_REMOVE_HANDLE/curl_multi_remove_handle=PROCEDURE)
+SYMBOL_VECTOR=(curl_multi_fdset=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MULTI_FDSET/curl_multi_fdset=PROCEDURE)
+SYMBOL_VECTOR=(curl_multi_perform=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MULTI_PERFORM/curl_multi_perform=PROCEDURE)
+SYMBOL_VECTOR=(curl_multi_cleanup=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MULTI_CLEANUP/curl_multi_cleanup=PROCEDURE)
+SYMBOL_VECTOR=(curl_multi_info_read=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MULTI_INFO_READ/curl_multi_info_read=PROCEDURE)
+SYMBOL_VECTOR=(curl_multi_strerror=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MULTI_STRERROR/curl_multi_strerror=PROCEDURE)
+SYMBOL_VECTOR=(curl_multi_socket=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MULTI_SOCKET/curl_multi_socket=PROCEDURE)
+SYMBOL_VECTOR=(curl_multi_socket_action=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MULTI_SOCKET_ACTION/curl_multi_socket_action=PROCEDURE)
+SYMBOL_VECTOR=(curl_multi_socket_all=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MULTI_SOCKET_ALL/curl_multi_socket_all=PROCEDURE)
+SYMBOL_VECTOR=(curl_multi_timeout=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MULTI_TIMEOUT/curl_multi_timeout=PROCEDURE)
+SYMBOL_VECTOR=(curl_multi_setopt=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MULTI_SETOPT/curl_multi_setopt=PROCEDURE)
+SYMBOL_VECTOR=(curl_multi_assign=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MULTI_ASSIGN/curl_multi_assign=PROCEDURE)
+!
+! mprintf.h
+SYMBOL_VECTOR=(curl_mprintf=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MPRINTF/curl_mprintf=PROCEDURE)
+SYMBOL_VECTOR=(curl_mfprintf=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MFPRINTF/curl_mfprintf=PROCEDURE)
+SYMBOL_VECTOR=(curl_msprintf=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MSPRINTF/curl_msprintf=PROCEDURE)
+SYMBOL_VECTOR=(curl_msnprintf=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MSNPRINTF/curl_msnprintf=PROCEDURE)
+SYMBOL_VECTOR=(curl_mvprintf=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MVPRINTF/curl_mvprintf=PROCEDURE)
+SYMBOL_VECTOR=(curl_mvfprintf=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MVFPRINTF/curl_mvfprintf=PROCEDURE)
+SYMBOL_VECTOR=(curl_mvsprintf=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MVSPRINTF/curl_mvsprintf=PROCEDURE)
+SYMBOL_VECTOR=(curl_mvsnprintf=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MVSNPRINTF/curl_mvsnprintf=PROCEDURE)
+SYMBOL_VECTOR=(curl_maprintf=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MAPRINTF/curl_maprintf=PROCEDURE)
+SYMBOL_VECTOR=(curl_mvaprintf=PROCEDURE)
+SYMBOL_VECTOR=(CURL_MVAPRINTF/curl_mvaprintf=PROCEDURE)
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/gnv_link_curl.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/gnv_link_curl.com
new file mode 100644
index 0000000..add4be9
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/gnv_link_curl.com
@@ -0,0 +1,852 @@
+$! File: gnv_link_curl.com
+$!
+$! $Id$
+$!
+$! File to build images using gnv$libcurl.exe
+$!
+$! Copyright 2009, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$! 10-Jun-2009  J. Malmberg
+$!============================================================================
+$!
+$! Save this so we can get back.
+$ default_dir = f$environment("default")
+$ define/job gnv_packages_vms 'default_dir'
+$!
+$ on warning then goto all_exit
+$!
+$! On VAX, we need to generate a Macro transfer vector.
+$ parse_style = "TRADITIONAL"
+$ if (f$getsyi("HW_MODEL") .lt. 1024)
+$ then
+$   @generate_vax_transfer.com
+$   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"
+$!
+$!   Extended parsing option starts with VMS 7.3-1.
+$!   There is no 7.4, so that simplifies the parse a bit.
+$!
+$    node_swvers = f$getsyi("node_swvers")
+$    version_patch = f$extract(1, f$length(node_swvers), node_swvers)
+$    maj_ver = f$element(0, ".", version_patch)
+$    min_ver_patch = f$element(1, ".", version_patch)
+$    min_ver = f$element(0, "-", min_ver_patch)
+$    patch = f$element(1, "-", min_ver_patch)
+$    if patch .eqs. "-" then patch = ""
+$    parse_x = 0
+$    if maj_ver .ges. "8"
+$    then
+$       parse_x = 1
+$    else
+$       if maj_ver .eqs. "7" .and. min_ver .ges. "3" .and. patch .nes. ""
+$       then
+$          parse_x = 1
+$       endif
+$    endif
+$    if parse_x
+$    then
+$       parse_style = f$getjpi("", "parse_style_perm")
+$    endif
+$ endif
+$!
+$!
+$! Move to where the base directories.
+$ set def [--]
+$!
+$!
+$! Build the Message file.
+$!--------------------------
+$ if f$search("[.packages.vms]curlmsg.obj") .eqs. ""
+$ then
+$   message [.packages.vms]curlmsg.msg/object=[.packages.vms]
+$ endif
+$ if f$search("gnv$curlmsg.exe") .eqs. ""
+$ then
+$   link/share=gnv$curlmsg.exe [.packages.vms]curlmsg.obj
+$ endif
+$!
+$!
+$! Need to build the common init module.
+$!-------------------------------------------
+$ cflags = "/list/show=(expan,includ)"
+$ init_obj = "[.packages.vms]curl_crtl_init.obj"
+$ if f$search(init_obj) .eqs. ""
+$ then
+$   cc'cflags' 'default_dir'curl_crtl_init.c/obj='init_obj'
+$ endif
+$ purge 'init_obj'
+$ rename 'init_obj' ;1
+$!
+$!
+$! Need to build the module to test the HP OpenSSL version
+$!--------------------------------------------------------
+$ if arch_name .nes. "VAX"
+$ then
+$   rpt_obj = "[.packages.vms]report_openssl_version.obj
+$   if f$search(rpt_obj) .eqs. ""
+$   then
+$       cc'cflags' 'default_dir'report_openssl_version.c/obj='rpt_obj'
+$   endif
+$   purge 'rpt_obj'
+$   rename 'rpt_obj' ;1
+$!
+$   link/exe='default_dir'report_openssl_version.exe 'rpt_obj'
+$   report_openssl_version := $'default_dir'report_openssl_version.exe
+$ endif
+$!
+$!
+$ base_link_opt_file = "[.packages.vms.''arch_name']gnv_libcurl_linker.opt"
+$ share_link_opt_file = "[.packages.vms.''arch_name']gnv_ssl_libcurl_linker.opt"
+$ if f$search(base_link_opt_file) .eqs. ""
+$ then
+$   base_link_opt_file = "[.packages.vms]gnv_libcurl_linker.opt"
+$   share_link_opt_file = "[.packages.vms]gnv_ssl_libcurl_linker.opt"
+$   if f$search(base_link_opt_file) .eqs. ""
+$   then
+$       write sys$output "Can not find base library option file!"
+$       goto all_exit
+$   endif
+$ endif
+$!
+$! Create the a new option file with special fixup for HP SSL
+$! For a shared image, we always want ZLIB and 32 bit HPSSL
+$!
+$ if f$search("gnv$libzshr32") .eqs. ""
+$ then
+$   write sys$output "VMSPORTS/GNV LIBZ Shared image not found!"
+$   goto all_exit
+$ endif
+$!
+$!
+$! Need to check the version of the HP SSL shared image.
+$!
+$! VAX platform can not be checked this way, it appears symbol lookup
+$! was disabled.  VAX has not been updated in a while.
+$ if arch_name .eqs. "VAX"
+$ then
+$   hp_ssl_libcrypto32 = "sys$common:[syslib]ssl$libcrypto_shr32.exe"
+$   hp_ssl_libssl32 = "sys$common:[syslib]ssl$libssl_shr32.exe"
+$   if f$search(hp_ssl_libcrypto32) .nes. ""
+$   then
+$       use_hp_ssl = 1
+$       curl_ssl_libcrypto32 = hp_ssl_libcrypto32
+$       curl_ssl_libssl32 = hp_ssl_libssl32
+$       curl_ssl_version = "OpenSSL/0.9.6g"
+$   else
+$       write sys$output "HP OpenSSL Shared images not found!"
+$       goto all_exit
+$   endif
+$ else
+$!
+$!   Minimum HP version we can use reports:
+$!   "OpenSSL 0.9.8w 23 Apr 2012"
+$!
+$   use_hp_ssl = 0
+$   hp_ssl_libcrypto32 = "sys$share:ssl$libcrypto_shr32.exe"
+$   hp_ssl_libssl32 = "sys$share:ssl$libssl_shr32.exe"
+$   if f$search(hp_ssl_libcrypto32) .nes. ""
+$   then
+$       curl_ssl_libcrypto32 = hp_ssl_libcrypto32
+$       curl_ssl_libssl32 = hp_ssl_libssl32
+$       report_openssl_version 'hp_ssl_libcrypto32' hp_ssl_version
+$   endif
+$!
+$   if f$type(hp_ssl_version) .eqs. "STRING"
+$   then
+$       curl_ssl_version = hp_ssl_version
+$       full_version = f$element(1, " ", hp_ssl_version)
+$       ver_maj = f$element(0, ".", full_version)
+$       ver_min = f$element(1, ".", full_version)
+$       ver_patch = f$element(2, ".", full_version)
+$!      ! ver_patch is typically both a number and some letters
+$       ver_patch_len = f$length(ver_patch)
+$       ver_patchltr = ""
+$ver_patch_loop:
+$           ver_patchltr_c = f$extract(ver_patch_len - 1, 1, ver_patch)
+$           if ver_patchltr_c .les. "9" then goto ver_patch_loop_end
+$           ver_patchltr = ver_patchltr_c + ver_patchltr
+$           ver_patch_len = ver_patch_len - 1
+$           goto ver_patch_loop
+$ver_patch_loop_end:
+$       ver_patchnum = ver_patch - ver_patchltr
+$       if 'ver_maj' .ge. 0
+$       then
+$           if 'ver_min' .ge. 9
+$           then
+$               if 'ver_patchnum' .ge. 8
+$               then
+$                   if ver_patchltr .ges. "w" then use_hp_ssl = 1
+$               endif
+$           endif
+$       endif
+$set nover
+$       if use_hp_ssl .eq. 0
+$       then
+$           write sys$output -
+   " HP OpenSSL version of ""''hp_ssl_version'"" is too old for shared libcurl!"
+$       endif
+$   else
+$       write sys$output "Unable to get version of HP OpenSSL"
+$   endif
+$!
+$   gnv_ssl_libcrypto32 = "gnv$gnu:[lib]ssl$libcrypto_shr32.exe"
+$   gnv_ssl_libssl32 = "gnv$gnu:[lib]ssl$libssl_shr32.exe"
+$   if f$search(gnv_ssl_libcrypto32) .nes. ""
+$   then
+$       report_openssl_version 'gnv_ssl_libcrypto32' gnv_ssl_version
+$   endif
+$!
+$   use_gnv_ssl = 0
+$   if f$type(gnv_ssl_version) .eqs. "STRING"
+$   then
+$       gnv_full_version = f$element(1, " ", gnv_ssl_version)
+$       gnv_ver_maj = f$element(0, ".", gnv_full_version)
+$       gnv_ver_min = f$element(1, ".", gnv_full_version)
+$       gnv_ver_patch = f$element(2, ".", gnv_full_version)
+$       gnv_ver_patch_len = f$length(gnv_ver_patch)
+$       gnv_ver_patchnum = f$extract(0, gnv_ver_patch_len - 1, gnv_ver_patch)
+$       gnv_ver_patchltr = f$extract(gnv_ver_patch_len - 1, 1, gnv_ver_patch)
+$       if 'gnv_ver_maj' .ge. 0
+$       then
+$           if 'gnv_ver_min' .ge. 9
+$           then
+$               if 'gnv_ver_patchnum' .ge. 8
+$               then
+$                   if gnv_ver_patchltr .ges. "w" then use_gnv_ssl = 1
+$               endif
+$           endif
+$       endif
+$       if use_gnv_ssl .eq. 0
+$       then
+$           write sys$output -
+   "GNV OpenSSL version of ""''gnv_ssl_version'" is too old for shared libcurl!"
+$       endif
+$!
+$!      Prefer to break the tie with the lowest supported version
+$!      For simplicity, if the GNV image is present, it will be used.
+$!      Version tuple is not a simple compare.
+$!
+$       if use_gnv_ssl .eq. 1 then
+$           curl_ssl_libcrypto32 = gnv_ssl_libcrypto32
+$           curl_ssl_libssl32 = gnv_ssl_libssl32
+$           curl_ssl_version = gnv_ssl_version
+$           use_hp_ssl = 0
+$       endif
+!$!
+$   else
+$       write sys$output "Unable to get version of GNV OpenSSL"
+$   endif
+$!
+$!  Need to write a release note section about HP OpenSSL
+$!
+$create 'default_dir'hp_ssl_release_info.txt
+$deck
+This package is built on with the OpenSSL version listed below and requires
+the shared images from the HP OpenSSL product that is kitted with that
+version or a compatible later version.
+
+For Alpha and IA64 platforms, see the url below to register to get the
+download URL.  The kit will be HP 1.4-467 or later.
+  http://h71000.www7.hp.com/openvms/products/ssl/ssl.html
+
+For VAX, use the same registration, but remove the kit name from any of the
+download URLs provided and put in CPQ-VAXVMS-SSL-V0101-B-1.PCSI-DCX_VAXEXE
+
+If your system can not be upgraded to a compatible version of OpenSSL, then
+you can extract the two shared images from the kit and place them in the
+[vms$common.gnv.lib]directory of the volume that you are installing GNV and
+or GNV compatible components like Curl.
+
+If GNV is installed, you must run the GNV startup procedure before these steps
+and before installing Curl.
+
+
+  1.  make sure that [vms$common.gnv.lib] exists by using the following
+      commands.  We want the directory to be in lowercase except on VAX.
+
+    $SET PROCESS/PARSE=extend !If not VAX.
+    $CREATE/DIR device:[vms$common.gnv.lib]/prot=w:re
+
+  2. Extract the ssl$crypto_shr32.exe and ssl$libssl_shr32.exe images.
+
+    $PRODUCT EXTRACT FILE -
+      /select=(ssl$libcrypto_shr32.exe,ssl$libssl_shr32.exe)-
+      /source=device:[dir] -
+      /options=noconfirm -
+      /destination=device:[vms$common.gnv.lib] SSL
+
+The [vms$common.sys$startup}curl_startup.com procedure will then configure
+libcurl to use these shared images instead of the system ones.
+
+When you upgrade SSL on VMS to the newer version of HP SSL, then these copies
+should be deleted.
+
+$eod
+$!
+$ open/append sslr 'default_dir'hp_ssl_release_info.txt
+$ write sslr "OpenSSL version used for building this kit: ",curl_ssl_version
+$ write sslr ""
+$ close sslr
+$!
+$!
+$! LIBZ
+$ libzshr_line = ""
+$ try_shr = "gnv$libzshr32"
+$ if f$search(try_shr) .nes. ""
+$ then
+$   libzshr_line = "''try_shr'/share"
+$ else
+$   write sys$output "''try_shr' image not found!"
+$   goto all_exit
+$ endif
+$!
+$!
+$ gssrtlshr_line = ""
+$ if arch_name .nes. "VAX"
+$ then
+$   try_shr = "sys$share:gss$rtl"
+$   if f$search("''try_shr'.exe") .nes. ""
+$   then
+$       gssrtlshr_line = "''try_shr'/share"
+$   else
+$       write sys$output "''try_shr' image not found!"
+$       goto all_exit
+$   endif
+$ endif
+$!
+$!
+$!
+$ if f$search(share_link_opt_file) .eqs. ""
+$ then
+$   create 'share_link_opt_file'
+$   open/append slopt 'share_link_opt_file'
+$   if libzshr_line .nes. "" then write slopt libzshr_line
+$   if gssrtlshr_line .nes. "" then write slopt gssrtlshr_line
+$   write slopt "gnv$curl_ssl_libcryptoshr32/share"
+$   write slopt "gnv$curl_ssl_libsslshr32/share"
+$   close slopt
+$ endif
+$!
+$! DCL build puts curllib in architecture directory
+$! GNV build uses the makefile.
+$ libfile = "[.packages.vms.''arch_name']curllib.olb"
+$ if f$search(libfile) .nes. ""
+$ then
+$   olb_file = libfile
+$ else
+$   ! GNV based build
+$   libfile = "[.lib.^.libs]libcurl.a"
+$   if f$search(libfile) .nes. ""
+$   then
+$       olb_file = libfile
+$   else
+$       write sys$output -
+  "Can not build shared image, libcurl object library not found!"
+$       goto all_exit
+$   endif
+$ endif
+$!
+$gnv_libcurl_share = "''default_dir'gnv$libcurl.exe"
+$!
+$ if f$search(gnv_libcurl_share) .eqs. ""
+$ then
+$   if arch_name .nes. "VAX"
+$   then
+$       define/user gnv$curl_ssl_libcryptoshr32 'curl_ssl_libcrypto32'
+$       define/user gnv$curl_ssl_libsslshr32 'curl_ssl_libssl32'
+$       link/dsf='default_dir'gnv$libcurl.dsf/share='gnv_libcurl_share' -
+            /map='default_dir'gnv$libcurl.map -
+            gnv_packages_vms:gnv_libcurl_symbols.opt/opt,-
+            'olb_file'/lib,-
+            'share_link_opt_file'/opt
+$   else
+$!      VAX will not allow the logical name hack for the
+$!      SSL libcryto library, it is pulling it in twice if I try it.
+$       link/share='gnv_libcurl_share'/map='default_dir'gnv$libcurl.map -
+            gnv_packages_vms:gnv_libcurl_xfer.opt/opt,-
+            'olb_file'/lib,-
+            'base_link_opt_file'/opt
+$   endif
+$ endif
+$!
+$!
+$ if f$search("[.src]curl-tool_main.o") .nes. ""
+$ then
+$!  From src/makefile.inc:
+$!  # libcurl has sources that provide functions named curlx_* that aren't
+$!  # part of the official API, but we re-use the code here to avoid
+$!  # duplication.
+$!
+$!
+$   if f$search("[.src]curl.exe") .eqs. ""
+$   then
+$       define/user gnv$libcurl 'gnv_libcurl_share'
+$       link'ldebug'/exe=[.src]curl.exe/dsf=[.src]curl.dsf -
+           [.src]curl-tool_main.o, [.src]curl-tool_binmode.o, -
+           [.src]curl-tool_bname.o, [.src]curl-tool_cb_dbg.o, -
+           [.src]curl-tool_cb_hdr.o, [.src]curl-tool_cb_prg.o, -
+           [.src]curl-tool_cb_rea.o, [.src]curl-tool_cb_see.o, -
+           [.src]curl-tool_cb_wrt.o, [.src]curl-tool_cfgable.o, -
+           [.src]curl-tool_convert.o, [.src]curl-tool_dirhie.o, -
+           [.src]curl-tool_doswin.o, [.src]curl-tool_easysrc.o, -
+           [.src]curl-tool_formparse.o, [.src]curl-tool_getparam.o, -
+           [.src]curl-tool_getpass.o, [.src]curl-tool_help.o, -
+           [.src]curl-tool_helpers.o, [.src]curl-tool_homedir.o, -
+           [.src]curl-tool_hugehelp.o, [.src]curl-tool_libinfo.o, -
+           [.src]curl-tool_metalink.o, [.src]curl-tool_mfiles.o, -
+           [.src]curl-tool_msgs.o, [.src]curl-tool_operate.o, -
+           [.src]curl-tool_operhlp.o, [.src]curl-tool_panykey.o, -
+           [.src]curl-tool_paramhlp.o, [.src]curl-tool_parsecfg.o, -
+           [.src]curl-tool_setopt.o, [.src]curl-tool_sleep.o, -
+           [.src]curl-tool_urlglob.o, [.src]curl-tool_util.o, -
+           [.src]curl-tool_vms.o, [.src]curl-tool_writeenv.o, -
+           [.src]curl-tool_writeout.o, [.src]curl-tool_xattr.o, -
+           [.src]curl-strtoofft.o, [.src]curl-strdup.o, [.src]curl-strcase.o, -
+           [.src]curl-nonblock.o, gnv_packages_vms:curlmsg.obj,-
+           sys$input:/opt
+gnv$libcurl/share
+gnv_packages_vms:curl_crtl_init.obj
+$   endif
+$ else
+$   curl_exe = "[.src]curl.exe"
+$   curl_dsf = "[.src]curl.dsf"
+$   curl_main = "[.packages.vms.''arch_name']tool_main.obj"
+$   curl_src = "[.packages.vms.''arch_name']curlsrc.olb"
+$   curl_lib = "[.packages.vms.''arch_name']curllib.olb"
+$   strcase = "strcase"
+$   nonblock = "nonblock"
+$   warnless = "warnless"
+$!
+$!  Extended parse style requires special quoting
+$!
+$   if (arch_name .nes. "VAX") .and. (parse_style .eqs. "EXTENDED")
+$   then
+$       strcase = """strcase"""
+$       nonblock = """nonblock"""
+$       warnless = """warnless"""
+$   endif
+$   if f$search(curl_exe) .eqs. ""
+$   then
+$       define/user gnv$libcurl 'gnv_libcurl_share'
+$       link'ldebug'/exe='curl_exe'/dsf='curl_dsf' -
+           'curl_main','curl_src'/lib, -
+           'curl_lib'/library/include=-
+           ('strcase','nonblock','warnless'),-
+           gnv_packages_vms:curlmsg.obj,-
+           sys$input:/opt
+gnv$libcurl/share
+gnv_packages_vms:curl_crtl_init.obj
+$   endif
+$ endif
+$!
+$!
+$!
+$! in6addr_missing so skip building:
+$! [.server]sws.o
+$! [.server]sockfilt.o
+$! [.server]tftpd.o
+$!
+$!
+$ target = "10-at-a-time"
+$ if f$search("[.docs.examples]''target'.o") .eqs. ""
+$ then
+$   write sys$output "examples not built"
+$   goto all_exit
+$ endif
+$ if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$ then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$ endif
+$!
+$!
+$ target = "anyauthput"
+$ if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$ then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$ endif
+$!
+$!
+$ target = "certinfo"
+$ if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$ then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$ endif
+$!
+$!
+$ target = "cookie_interface"
+$ if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$ then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$ endif
+$!
+$!
+$ target = "debug"
+$ if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$ then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$ endif
+$!
+$!
+$ target = "fileupload"
+$ if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$ then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$ endif
+$!
+$!
+$ target = "fopen"
+$ if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$ then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$ endif
+$!
+$!
+$target = "ftpget"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "ftpgetresp"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "ftpupload"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "getinfo"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "getinmemory"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "http-post"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "httpcustomheader"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "httpput"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "https"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "multi-app"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "multi-debugcallback"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "multi-double"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "multi-post"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "multi-single"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "persistant"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "post-callback"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "postit2"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "sendrecv"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "sepheaders"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "simple"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "simplepost"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$!
+$target = "simplessl"
+$if f$search("[.docs.examples]''target'.exe") .eqs. ""
+$then
+$   define/user gnv$libcurl 'gnv_libcurl_share'
+$   link'ldebug'/exe=[.docs.examples]'target'.exe-
+    /dsf=[.docs.examples]'target'.dsf -
+    [.docs.examples]'target'.o,-
+    gnv$'target'.opt/opt,-
+    sys$input:/opt
+gnv$libcurl/share
+$endif
+$!
+$! =============== End of docs/examples =========================
+$!
+$!
+$all_exit:
+$set def 'default_dir'
+$exit '$status'
+$!
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/macro32_exactcase.patch b/ap/lib/libcurl/curl-7.54.1/packages/vms/macro32_exactcase.patch
new file mode 100644
index 0000000..eda5cac
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/macro32_exactcase.patch
@@ -0,0 +1,11 @@
+macro32_exactcase.exe
+SE EC
+^X00000001
+RE /I
+^X00012B1D
+'BICB2 #^X00000020,R3'
+EXIT
+'BICB2 #^X00000000,R3'
+EXI
+U
+EXI
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/make_gnv_curl_install.sh b/ap/lib/libcurl/curl-7.54.1/packages/vms/make_gnv_curl_install.sh
new file mode 100644
index 0000000..5099fe4
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/make_gnv_curl_install.sh
@@ -0,0 +1,45 @@
+# File: make_gnv_curl_install.sh
+#
+# $Id$
+#
+# Set up and run the make script for Curl.
+#
+# This makes the library, the curl binary and attempts an install.
+# A search list should be set up for GNU (GNV$GNU).
+#
+# Copyright 2009, John Malmberg
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+# 06-Jun-2009	J. Malmberg
+#==========================================================================
+#
+#
+# Needed VMS build setups for GNV.
+export GNV_OPT_DIR=.
+export GNV_CC_QUALIFIERS=/DEBUG/OPTIMIZE/STANDARD=RELAXED\
+/float=ieee_float/ieee_mode=denorm_results
+export GNV_CXX_QUALIFIERS=/DEBUG/OPTIMIZE/float=ieee/ieee_mode=denorm_results
+export GNV_CC_NO_INC_PRIMARY=1
+#
+#
+# POSIX exit mode is needed for Unix shells.
+export GNV_CC_MAIN_POSIX_EXIT=1
+make
+cd ../..
+# adjust the libcurl.pc file, GNV currently ignores the Lib: line.
+# but is noisy about it, so we just remove it.
+sed -e 's/^Libs:/#Libs:/g' libcurl.pc > libcurl.pc_new
+rm libcurl.pc
+mv libcurl.pc_new libcurl.pc
+make install
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/make_pcsi_curl_kit_name.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/make_pcsi_curl_kit_name.com
new file mode 100644
index 0000000..f644fe3
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/make_pcsi_curl_kit_name.com
@@ -0,0 +1,190 @@
+$! File: MAKE_PCSI_CURL_KIT_NAME.COM
+$!
+$! $Id$
+$!
+$! Calculates the PCSI kit name for use in building an installation kit.
+$! PCSI is HP's PolyCenter Software Installation Utility.
+$!
+$! The results are stored in as logical names so that other procedures
+$! can use them.
+$!
+$! Copyright 2009, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$! 11-Jun-2009 J. Malmberg
+$!
+$!========================================================================
+$!
+$! Save default
+$ default_dir = f$environment("DEFAULT")
+$!
+$! Move to the base directories
+$ set def [--]
+$!
+$! Put things back on error.
+$ on warning then goto all_exit
+$!
+$! The producer is the name or common abbreviation for the entity that is
+$! making the kit.  It must be set as a logical name before running this
+$! procedure.
+$!
+$! HP documents the producer as the legal owner of the software, but for
+$! open source work, it should document who is creating the package for
+$! distribution.
+$!
+$ producer = f$trnlnm("GNV_PCSI_PRODUCER")
+$ if producer .eqs. ""
+$ then
+$   write sys$output "The logical name GNV_PCSI_PRODUCER needs to be defined."
+$   write sys$output "This should be set to the common abbreviation or name of"
+$   write sys$output "the entity creating this kit.  If you are an individual"
+$   write sys$output "then use your initials."
+$   goto all_exit
+$ endif
+$ producer_full_name = f$trnlnm("GNV_PCSI_PRODUCER_FULL_NAME")
+$ if producer_full_name .eqs. ""
+$ then
+$   write sys$output "The logical name GNV_PCSI_PRODUCER_FULL_NAME needs to"
+$   write sys$output "be defined.  This should be set to the full name of"
+$   write sys$output "the entity creating this kit.  If you are an individual"
+$   write sys$output "then use your name."
+$   write sys$output "EX: DEFINE GNV_PCSI_PRODUCER_FULL_NAME ""First M. Last"""
+$   goto all_exit
+$ endif
+$!
+$ write sys$output "*****"
+$ write sys$output "***** Producer = ''producer'"
+$ write sys$output "*****"
+$!
+$!
+$! Base is one of 'VMS', 'AXPVMS', 'I64VMS', 'VAXVMS' and indicates what
+$! binaries are in the kit.  A kit with just 'VMS' can be installed on all
+$! architectures.
+$!
+$ base = "VMS"
+$ arch_type = f$getsyi("ARCH_NAME")
+$ code = f$extract(0, 1, arch_type)
+$ if (code .eqs. "I") then base = "I64VMS"
+$ if (code .eqs. "V") then base = "VAXVMS"
+$ if (code .eqs. "A") then base = "AXPVMS"
+$!
+$!
+$ product = "curl"
+$!
+$!
+$! We need to get the version from curlver_h.  It will have a line like
+$! #define LIBCURL_VERSION "7.31.0"
+$!   or
+$! #define LIBCURL_VERSION "7.32.0-20130731".
+$!
+$! The dash indicates that this is a daily pre-release.
+$!
+$!
+$ open/read/error=version_loop_end vhf [.include.curl]curlver.h
+$ version_loop:
+$   read vhf line_in
+$   if line_in .eqs. "" then goto version_loop
+$   if f$locate("#define LIBCURL_VERSION ", line_in) .ne. 0
+$   then
+$       goto version_loop
+$   endif
+$   raw_version = f$element(2," ", line_in) - """" - """"
+$ version_loop_end:
+$ close vhf
+$!
+$!
+$ eco_level = ""
+$ if f$search("''default_dir'vms_eco_level.h") .nes. ""
+$ then
+$   open/read ef 'default_dir'vms_eco_level.h
+$ecolevel_loop:
+$       read/end=ecolevel_loop_end ef line_in
+$       prefix = f$element(0, " ", line_in)
+$       if prefix .nes. "#define" then goto ecolevel_loop
+$       key = f$element(1, " ", line_in)
+$       value = f$element(2, " ", line_in) - """" - """"
+$       if key .eqs. "VMS_ECO_LEVEL"
+$       then
+$           eco_level = "''value'"
+$           if eco_level .eqs. "0"
+$           then
+$               eco_level = ""
+$           else
+$               eco_level = "E" + eco_level
+$           endif
+$           goto ecolevel_loop_end
+$       endif
+$       goto ecolevel_loop
+$ecolevel_loop_end:
+$   close ef
+$ endif
+$!
+$!
+$! This translates to V0732-0 or D0732-0
+$! We encode the snapshot date into the version as an ECO since a daily
+$! can never have an ECO.
+$!
+$! version_type = 'V' for a production release, and 'D' for a build from a
+$! daiy snapshot of the curl source.
+$ majorver = f$element(0, ".", raw_version)
+$ minorver = f$element(1, ".", raw_version)
+$ raw_update = f$element(2, ".", raw_version)
+$ update = f$element(0, "-", raw_update)
+$ if update .eqs. "0" then update = ""
+$ daily_tag = f$element(1, "-", raw_update)
+$ vtype = "V"
+$ patch = ""
+$ if daily_tag .nes. "-"
+$ then
+$   vtype = "D"
+$   daily_tag_len = f$length(daily_tag)
+$   daily_tag = f$extract(4, daily_tag_len - 4, daily_tag)
+$   patch = vtype + daily_tag
+$   product = product + "_d"
+$ else
+$   daily_tag = ""
+$   if eco_level .nes. "" then patch = eco_level
+$ endif
+$!
+$!
+$ version_fao = "!2ZB!2ZB"
+$ mmversion = f$fao(version_fao, 'majorver', 'minorver')
+$ version = vtype + "''mmversion'"
+$ if update .nes. "" .or. patch .nes. ""
+$ then
+$!  The presence of a patch implies an update
+$   if update .eqs. "" .and. patch .nes. "" then update = "0"
+$   version = version + "-" + update + patch
+$   fversion = version
+$ else
+$   fversion = version
+$   version = version + "-"
+$ endif
+$!
+$! Kit type 1 is complete kit, the only type that this procedure will make.
+$ kittype = 1
+$!
+$! Write out a logical name for the resulting base kit name.
+$ name = "''producer'-''base'-''product'-''version'-''kittype'"
+$ define GNV_PCSI_KITNAME "''name'"
+$ fname = "''product'-''fversion'"
+$ define GNV_PCSI_FILENAME_BASE "''fname'"
+$ write sys$output "*****"
+$ write sys$output "***** GNV_PCSI_KITNAME = ''name'."
+$ write sys$output "***** GNV_PCSI_FILENAME_BASE = ''fname'."
+$ write sys$output "*****"
+$!
+$all_exit:
+$ set def 'default_dir'
+$ exit '$status'
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/pcsi_gnv_curl_file_list.txt b/ap/lib/libcurl/curl-7.54.1/packages/vms/pcsi_gnv_curl_file_list.txt
new file mode 100644
index 0000000..ab5b633
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/pcsi_gnv_curl_file_list.txt
@@ -0,0 +1,127 @@
+! File: PCSI_GNV_CURL_FILE_LIST.TXT
+!
+! $Id$
+!
+! File list for building a PCSI kit.
+! Very simple format so that the parsing logic can be simple.
+! links first, directory second, and files third.
+!
+! link -> file tells procedure to create/remove a link on install/uninstall
+! If more than one link, consider using an alias file.
+!
+! [xxx.yyy]foo.dir is a directory file for the rename phase.
+! [xxx.yyy.foo] is a directory file for the create phase.
+! Each subdirectory needs to be on its own pair of lines.
+!
+! [xxx.yyy]file.ext is a file for the rename and add phases.
+!
+! Copyright 2009, John Malmberg
+!
+! Permission to use, copy, modify, and/or distribute this software for any
+! purpose with or without fee is hereby granted, provided that the above
+! copyright notice and this permission notice appear in all copies.
+!
+! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+!
+! 15-Jun-2009  J. Malmberg
+!============================================================================
+[gnv.usr.bin]curl. -> [gnv.usr.bin]gnv$curl.exe
+[gnv.usr.bin]curl.exe -> [gnv.usr.bin]gnv$curl.exe
+[gnv]
+[000000]gnv.dir
+[gnv.usr]
+[gnv]usr.dir
+[gnv.usr]bin.dir
+[gnv.usr.bin]
+[gnv.usr]include.dir
+[gnv.usr.include]
+[gnv.usr.include]curl.dir
+[gnv.usr.include.curl]
+[gnv.usr]lib.dir
+[gnv.usr.lib]
+[gnv.usr.lib]pkgconfig.dir
+[gnv.usr.lib.pkgconfig]
+[gnv.usr]share.dir
+[gnv.usr.share]
+[gnv.usr.share]man.dir
+[gnv.usr.share.man]
+[gnv.usr.share.man]man1.dir
+[gnv.usr.share.man.man1]
+[gnv.usr.share.man]man3.dir
+[gnv.usr.share.man.man3]
+[gnv.usr.bin]curl-config.
+[gnv.usr.bin]gnv$curl.exe
+[gnv.usr.include.curl]curl.h
+[gnv.usr.include.curl]curlbuild.h
+[gnv.usr.include.curl]curlrules.h
+[gnv.usr.include.curl]curlver.h
+[gnv.usr.include.curl]easy.h
+[gnv.usr.include.curl]mprintf.h
+[gnv.usr.include.curl]multi.h
+[gnv.usr.include.curl]stdcheaders.h
+[gnv.usr.include.curl]typecheck-gcc.h
+[gnv.usr.lib]gnv$libcurl.exe
+[gnv.usr.lib]gnv$curlmsg.exe
+[gnv.usr.lib.pkgconfig]libcurl.pc
+[gnv.usr.share.man.man1]curl-config.1
+[gnv.usr.share.man.man1]curl.1
+[gnv.usr.share.man.man3]curl_easy_cleanup.3
+[gnv.usr.share.man.man3]curl_easy_duphandle.3
+[gnv.usr.share.man.man3]curl_easy_escape.3
+[gnv.usr.share.man.man3]curl_easy_getinfo.3
+[gnv.usr.share.man.man3]curl_easy_init.3
+[gnv.usr.share.man.man3]curl_easy_pause.3
+[gnv.usr.share.man.man3]curl_easy_perform.3
+[gnv.usr.share.man.man3]curl_easy_recv.3
+[gnv.usr.share.man.man3]curl_easy_reset.3
+[gnv.usr.share.man.man3]curl_easy_send.3
+[gnv.usr.share.man.man3]curl_easy_setopt.3
+[gnv.usr.share.man.man3]curl_easy_strerror.3
+[gnv.usr.share.man.man3]curl_easy_unescape.3
+[gnv.usr.share.man.man3]curl_escape.3
+[gnv.usr.share.man.man3]curl_formadd.3
+[gnv.usr.share.man.man3]curl_formfree.3
+[gnv.usr.share.man.man3]curl_formget.3
+[gnv.usr.share.man.man3]curl_free.3
+[gnv.usr.share.man.man3]curl_getdate.3
+[gnv.usr.share.man.man3]curl_getenv.3
+[gnv.usr.share.man.man3]curl_global_cleanup.3
+[gnv.usr.share.man.man3]curl_global_init.3
+[gnv.usr.share.man.man3]curl_global_init_mem.3
+[gnv.usr.share.man.man3]curl_mprintf.3
+[gnv.usr.share.man.man3]curl_multi_add_handle.3
+[gnv.usr.share.man.man3]curl_multi_assign.3
+[gnv.usr.share.man.man3]curl_multi_cleanup.3
+[gnv.usr.share.man.man3]curl_multi_fdset.3
+[gnv.usr.share.man.man3]curl_multi_info_read.3
+[gnv.usr.share.man.man3]curl_multi_init.3
+[gnv.usr.share.man.man3]curl_multi_perform.3
+[gnv.usr.share.man.man3]curl_multi_remove_handle.3
+[gnv.usr.share.man.man3]curl_multi_setopt.3
+[gnv.usr.share.man.man3]curl_multi_socket.3
+[gnv.usr.share.man.man3]curl_multi_socket_action.3
+[gnv.usr.share.man.man3]curl_multi_strerror.3
+[gnv.usr.share.man.man3]curl_multi_timeout.3
+[gnv.usr.share.man.man3]curl_multi_wait.3
+[gnv.usr.share.man.man3]curl_share_cleanup.3
+[gnv.usr.share.man.man3]curl_share_init.3
+[gnv.usr.share.man.man3]curl_share_setopt.3
+[gnv.usr.share.man.man3]curl_share_strerror.3
+[gnv.usr.share.man.man3]curl_slist_append.3
+[gnv.usr.share.man.man3]curl_slist_free_all.3
+[gnv.usr.share.man.man3]curl_strequal.3
+[gnv.usr.share.man.man3]curl_unescape.3
+[gnv.usr.share.man.man3]curl_version.3
+[gnv.usr.share.man.man3]curl_version_info.3
+[gnv.usr.share.man.man3]libcurl-easy.3
+[gnv.usr.share.man.man3]libcurl-errors.3
+[gnv.usr.share.man.man3]libcurl-multi.3
+[gnv.usr.share.man.man3]libcurl-share.3
+[gnv.usr.share.man.man3]libcurl-tutorial.3
+[gnv.usr.share.man.man3]libcurl.3
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/pcsi_product_gnv_curl.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/pcsi_product_gnv_curl.com
new file mode 100644
index 0000000..747cbd6
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/pcsi_product_gnv_curl.com
@@ -0,0 +1,199 @@
+$! File: PCSI_PRODUCT_GNV_CURL.COM
+$!
+$! $Id$
+$!
+$! This command file packages up the product CURL into a sequential
+$! format kit
+$!
+$! Copyright 2009, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$! 16-Jun-2009  J.Malmberg
+$!
+$!=========================================================================
+$!
+$! Save default
+$ default_dir = f$environment("DEFAULT")
+$!
+$! Put things back on error.
+$ on warning then goto all_exit
+$!
+$!
+$ can_build = 1
+$ producer = f$trnlnm("GNV_PCSI_PRODUCER")
+$ if producer .eqs. ""
+$ then
+$   write sys$output "GNV_PCSI_PRODUCER logical name has not been set."
+$   can_build = 0
+$ endif
+$ producer_full_name = f$trnlnm("GNV_PCSI_PRODUCER_FULL_NAME")
+$ if producer_full_name .eqs. ""
+$ then
+$   write sys$output -
+        "GNV_PCSI_PRODUCER_FULL_NAME logical name has not been set."
+$   can_build = 0
+$ endif
+$ stage_root_name = f$trnlnm("STAGE_ROOT")
+$ if stage_root_name .eqs. ""
+$ then
+$   write sys$output "STAGE_ROOT logical name has not been set."
+$   can_build = 0
+$ endif
+$!
+$ if (can_build .eq. 0)
+$ then
+$    write sys$output "Not able to build a kit."
+$    goto all_exit
+$ endif
+$!
+$! Make sure that the kit name is up to date for this build
+$!----------------------------------------------------------
+$ @MAKE_PCSI_CURL_KIT_NAME.COM
+$!
+$!
+$! Make sure that the image is built
+$!----------------------------------
+$ arch_name = f$edit(f$getsyi("arch_name"),"UPCASE")
+$ if f$search("[--.src]curl.exe") .eqs. ""
+$ then
+$   build_it = 1
+$   libfile = "[.packages.vms.''arch_name']curllib.olb"
+$   if f$search(libfile) .nes. ""
+$   then
+$       build_it = 0
+$   else
+$       ! GNV based build
+$       libfile = "[.lib.^.libs]libcurl.a"
+$       if f$search(libfile) .nes. ""
+$       then
+$           build_it = 0;
+$       endif
+$   endif
+$   if build_it .eq. 1
+$   then
+$       @build_vms list
+$   endif
+$   @gnv_link_curl.com
+$ endif
+$!
+$! Make sure that the release note file name is up to date
+$!---------------------------------------------------------
+$ @BUILD_GNV_CURL_RELEASE_NOTES.COM
+$!
+$!
+$! Make sure that the source has been backed up.
+$!----------------------------------------------
+$ arch_type = f$getsyi("ARCH_NAME")
+$ arch_code = f$extract(0, 1, arch_type)
+$ @backup_gnv_curl_src.com
+$!
+$! Regenerate the PCSI description file.
+$!--------------------------------------
+$ @BUILD_GNV_CURL_PCSI_DESC.COM
+$!
+$! Regenerate the PCSI Text file.
+$!---------------------------------
+$ @BUILD_GNV_CURL_PCSI_TEXT.COM
+$!
+$!
+$! Parse the kit name into components.
+$!---------------------------------------
+$ kit_name = f$trnlnm("GNV_PCSI_KITNAME")
+$ if kit_name .eqs. ""
+$ then
+$   write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
+$   goto all_exit
+$ endif
+$ producer = f$element(0, "-", kit_name)
+$ base = f$element(1, "-", kit_name)
+$ product_name = f$element(2, "-", kit_name)
+$ mmversion = f$element(3, "-", kit_name)
+$ majorver = f$extract(0, 3, mmversion)
+$ minorver = f$extract(3, 2, mmversion)
+$ updatepatch = f$element(4, "-", kit_name)
+$ if updatepatch .eqs. "" then updatepatch = ""
+$!
+$ version_fao = "!AS.!AS"
+$ mmversion = f$fao(version_fao, "''majorver'", "''minorver'")
+$ if updatepatch .nes. ""
+$ then
+$   version = "''mmversion'" + "-" + updatepatch
+$ else
+$   version = "''mmversion'"
+$ endif
+$!
+$ @stage_curl_install remove
+$ @stage_curl_install
+$!
+$! Move to the base directories
+$ set def [--]
+$ current_default = f$environment("DEFAULT")
+$ my_dir = f$parse(current_default,,,"DIRECTORY") - "[" - "<" - ">" - "]"
+$!
+$!
+$!
+$ source = "''default_dir'"
+$ src1 = "new_gnu:[usr.bin],"
+$ src2 = "new_gnu:[usr.include.curl],"
+$ src3 = "new_gnu:[usr.lib],"
+$ src4 = "new_gnu:[usr.lib.pkgconfig],"
+$ src5 = "new_gnu:[usr.share.man.man1],"
+$ src6 = "new_gnu:[usr.share.man.man3],"
+$ src7 = "new_gnu:[vms_src],"
+$ src8 = "new_gnu:[common_src],"
+$ src9 = "prj_root:[''my_dir'],prj_root:[''my_dir'.src]"
+$ gnu_src = src1 + src2 + src3 + src4 + src5 + src6 + src7 + src8 + src9
+$!
+$!
+$ base = ""
+$ if arch_name .eqs. "ALPHA" then base = "AXPVMS"
+$ if arch_name .eqs. "IA64" then base = "I64VMS"
+$ if arch_name .eqs. "VAX" then base = "VAXVMS"
+$!
+$ if base .eqs. "" then exit 44
+$!
+$ pcsi_option = "/option=noconfirm"
+$ if arch_code .eqs. "V"
+$ then
+$   pcsi_option = ""
+$ endif
+$!
+$!
+$product package 'product_name' -
+ /base='base' -
+ /producer='producer' -
+ /source='source' -
+ /destination=STAGE_ROOT:[KIT] -
+ /material=('gnu_src','source') -
+ /format=sequential 'pcsi_option'
+$!
+$!
+$! VAX can not do a compressed kit.
+$! ZIP -9 "-V" does a better job, so no reason to normally build a compressed
+$! kit.
+$!----------------------------------
+$if p1 .eqs. "COMPRESSED"
+$then
+$   if arch_code .nes. "V"
+$   then
+$       product copy /options=(novalidate, noconfirm) /format=compressed -
+        'product_name' -
+        /source=stage_root:[kit]/dest=stage_root:[kit] -
+        /version='version'/base='base'
+$   endif
+$endif
+$!
+$all_exit:
+$ set def 'default_dir'
+$ exit
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/readme b/ap/lib/libcurl/curl-7.54.1/packages/vms/readme
new file mode 100644
index 0000000..ddfac74
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/readme
@@ -0,0 +1,228 @@
+                             _   _ ____  _
+                         ___| | | |  _ \| |
+                        / __| | | | |_) | |
+                       ( (__| |_| |  _ <| |___
+                        \___|\___/|_| \_\_____|
+                             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.
+14-Jul-2013, JEM, General Update, add GNV build information.
+
+
+The release notes installed by the PCSI kit consist of this file and the
+curl_gnv_build_steps.txt and other useful information.
+
+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 for a DCL based build.
+
+backup_gnv_curl_src.com  This procedure backs up the source modules for
+                        creating a PCSI kit.
+
+build_curl-config_script.com
+                        Procedure to create the curl-config script.
+
+build_gnv_curl.com      This procedure does a build of curl using the
+                        GNV utilities and then uses DCL tools to build
+                        the libcurl shared image.  The setup_gnv_curl_build.com
+                        procedure must be run first.
+
+build_gnv_curl_pcsi_desc.com
+                        This procedure builds the pcsi$desc file for
+                        creating a PCSI based package.
+
+build_gnv_curl_pcsi_text.com
+                        This procedure builds the pcsi$text file for
+                        creating a PCSI based package.
+
+build_gnv_curl_release_notes.com
+                        This procedure creates the release notes for
+                        a PCSI kit based on curl_release_note_start.txt,
+                        this readme file, and the curl_gnv_build_steps.txt
+
+build_libcurl_pc.com    Procedure to create a libcurl.pc file.
+
+build_vms.com           DCL based build procedure.
+
+clean_gnv_curl.com      This procedure cleans up the files generated by
+                        a GNV based build.
+
+config_h.com            DCL based procedure used by build_vms.com
+                        to run generate the curl_config.h file.
+                        This is a generic procedure that does most
+                        of the work for generating config.h files.
+
+compare_curl_source.com Procedure to compare the working directory
+                        with a repository directory or a backup staging
+                        directory.
+
+curl_crtl_init.c        A special pre-initialization routine to for
+                        programs to behave more Unix like when run
+                        under GNV.
+
+curl_gnv_build_steps.txt
+                        Detailed instructions on how to built curl using
+                        GNV and how to build the libcurl shared image and
+                        PCSI kit.
+
+curl_release_note_start.txt
+                        The first part of the curl release notes.
+
+curl_startup.com        A procedure run at VMS startup to install the
+                        libcurl shared image and to set up the needed
+                        logical names.
+
+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.
+
+generate_config_vms_h_curl.com
+                        DCL procedure to generate the curl specific
+                        definitions for curl_config.h that config_h.com
+                        can not properly generate.
+
+generate_vax_transfer.com
+                        DCL procedure to read an Alpha/IA64 symbol vector
+                        linker option file and generate the VAX transfer
+                        vector modules.
+
+gnv_conftest.c_first    A helper file for the configure script.
+
+gnv_curl_configure.sh   A script to run the configure script with the
+                        options needed for VMS.
+
+gnv_libcurl_symbols.opt The symbol vectors needed for Alpha and IA64
+                        libcurl shared image.
+
+gnv_link_curl.com       Links the libcurl shared image and then links a curl
+                        image to use the libcurl.
+
+macro32_exactcase.patch The patch file needed to modify VAX Macro32 to be
+                        case sensitive and case preserving.
+
+Makefile.am             curl kit file list for this directory.
+
+Makefile.in             curl kit makefile source for this directory.
+
+make_gnv_curl_install.sh
+                        Script to do a make install using GNV after running
+                        the configure script.
+
+make_pcsi_curl_kit_name.com
+                        This generates the name of the PCSI kit based on
+                        the version of curl being built.
+
+pcsi_gnv_curl_file_list.txt
+                        This is a text file describing what files should
+                        be included in a PCSI kit.
+
+pcsi_product_gnv_curl.com
+                        This generates the PCSI kit after the libcurl
+                        shared image has been made.
+
+readme.                 This file.
+
+report_openssl_version.c
+                        Program to check that the openssl version is new
+                        enough for building a shared libcurl image.
+
+setup_gnv_curl_build.com
+                        This procedure sets up symbols and logical names
+                        for a GNV build environment and also copies some
+                        helper files.
+
+stage_curl_install.com  This procedure sets up new_gnu: directory tree to
+                        for testing the install and building the PCSI kit.
+                        It takes a "remove" option to remove all the staged
+                        files.
+
+vms_eco_level.h         This sets the ECO level for the PCSI kit name.
+
+
+How to Build:
+
+The GNV based build and the DCL based build procedures are not compatible
+and you must make sure that none of the build files are present before
+running a different type of build.  Use the "REALCLEAN" option for
+BUILD_VMS.COM and the "REALCLEAN" option for clean_gnv_curl.com.
+
+The (brute-force) DCL based 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]).
+
+The file curl_gnv_build_steps.txt contains information on buildling using
+the GNV tool kit, building a shared libcurl, and producting a PCSI kit for
+distribution.  The curl_gnv_build_steps.text is included in the release
+notes file of the PCSI kit.
+
+The building with 64 bit pointers does not currently work.
+
+The build procedure will detect if HP OpenSSL, LDAP, and Kerberos are
+installed and default to building with them.
+
+The build procedure will also detect if a compatible ZLIB shared image
+is installed from a PCSI kit and default to using it.
+
+   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)
+
+The build_vms.com procedure does not build the shared image file or the PCSI
+kit.  If you have built a curl with ZLIB and HPSSL support as well as if
+LDAP and Kerberos installed, you can use the GNV_LINK_CURL.COM file.
+
+The GNV_LINK_CURL.COM contains information on how to link and run with a newer
+version of HP SSL than what may be install on an Alpha or IA64 based system.
+
+To build the PCSI kit, follow the the instructions in the file
+curl_gnv_build_steps.txt.
+
+Other Notes:
+
+This release fixes known bugs #22, and #57 in the [curl.docs]known_bugs.
+file.
+
+The libcurl formdata.c module and Curl tools post form now have some
+understanding of VMS file types.  Files will be posted in STREAM_LF format.
+
+The Curl tool now has some understanding of VMS file types and will upload the
+files in STREAM_LF fomat.
+
+When CURL is uploading a VARIABLE format VMS file, it is less efficient as in
+order to get the file size, it will first read the entire file once, and then
+read the file again for the actual upload.
+
+The Curl tool will now always download files into STREAM_LF format.  Even if a
+file by that name with a different format already exists.  This is needed to
+allow interrupted downloads to be continued.
+
+
+The libcurl file module still does not understand VMS file types and requires
+the input files to be in STREAM_LF to work property.
+
+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.
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/report_openssl_version.c b/ap/lib/libcurl/curl-7.54.1/packages/vms/report_openssl_version.c
new file mode 100644
index 0000000..ccb363b
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/report_openssl_version.c
@@ -0,0 +1,100 @@
+/* File: report_openssl_version.c
+ *
+ * $Id$
+ *
+ * This file dynamically loads the openssl shared image to report the
+ * version string.
+ *
+ * It will optionally place that version string in a DCL symbol.
+ *
+ * Usage:  report_openssl_version <shared_image> [<dcl_symbol>]
+ *
+ * Copyright 2013, John Malmberg
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+ * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+#include <dlfcn.h>
+#include <openssl/opensslv.h>
+#include <openssl/crypto.h>
+
+#include <string.h>
+#include <descrip.h>
+#include <libclidef.h>
+#include <stsdef.h>
+#include <errno.h>
+
+unsigned long LIB$SET_SYMBOL(
+    const struct dsc$descriptor_s * symbol,
+    const struct dsc$descriptor_s * value,
+    const unsigned long * table_type);
+
+int main(int argc, char ** argv) {
+
+
+void * libptr;
+const char * (*ssl_version)(int t);
+const char * version;
+
+   if (argc < 1) {
+       puts("report_openssl_version filename");
+       exit(1);
+   }
+
+   libptr = dlopen(argv[1], 0);
+
+   ssl_version = (const char * (*)(int))dlsym(libptr, "SSLeay_version");
+   if ((void *)ssl_version == NULL) {
+      ssl_version = (const char * (*)(int))dlsym(libptr, "ssleay_version");
+      if ((void *)ssl_version == NULL) {
+         ssl_version = (const char * (*)(int))dlsym(libptr, "SSLEAY_VERSION");
+      }
+   }
+
+   dlclose(libptr);
+
+   if ((void *)ssl_version == NULL) {
+      puts("Unable to lookup version of OpenSSL");
+      exit(1);
+   }
+
+   version = ssl_version(SSLEAY_VERSION);
+
+   puts(version);
+
+   /* Was a symbol argument given? */
+   if (argc > 1) {
+      int status;
+      struct dsc$descriptor_s symbol_dsc;
+      struct dsc$descriptor_s value_dsc;
+      const unsigned long table_type = LIB$K_CLI_LOCAL_SYM;
+
+      symbol_dsc.dsc$a_pointer = argv[2];
+      symbol_dsc.dsc$w_length = strlen(argv[2]);
+      symbol_dsc.dsc$b_dtype = DSC$K_DTYPE_T;
+      symbol_dsc.dsc$b_class = DSC$K_CLASS_S;
+
+      value_dsc.dsc$a_pointer = (char *)version; /* Cast ok */
+      value_dsc.dsc$w_length = strlen(version);
+      value_dsc.dsc$b_dtype = DSC$K_DTYPE_T;
+      value_dsc.dsc$b_class = DSC$K_CLASS_S;
+
+      status = LIB$SET_SYMBOL(&symbol_dsc, &value_dsc, &table_type);
+      if (!$VMS_STATUS_SUCCESS(status)) {
+         exit(status);
+      }
+   }
+
+   exit(0);
+}
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/setup_gnv_curl_build.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/setup_gnv_curl_build.com
new file mode 100644
index 0000000..beec733
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/setup_gnv_curl_build.com
@@ -0,0 +1,288 @@
+$! File: setup_gnv_curl_build.com
+$!
+$! $Id$
+$!
+$! Set up build environment for building Curl under GNV on VMS.
+$!
+$! GNV needs some files moved into the other directories to help with
+$! the configure script and the build.
+$!
+$! Copyright 2009, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$! 30-May-2009  J. Malmberg
+$!
+$!=======================================================================
+$!
+$! Save this so we can get back.
+$ default_dir = f$environment("default")
+$!
+$! Move to where the Configure script is.
+$ set def [--]
+$!
+$! Get the path to where the Configure script is.
+$ base_dir = f$environment("default")
+$!
+$! Allow arguments to be grouped together with comma or separated by spaces
+$! Do no know if we will need more than 8.
+$ args = "," + p1 + "," + p2 + "," + p3 + "," + p4 + ","
+$ args = args + p5 + "," + p6 + "," + p7 + "," + p8 + ","
+$!
+$! Provide lower case version to simplify parsing.
+$ args_lower = f$edit(args, "LOWERCASE,COLLAPSE")
+$!
+$ args_len = f$length(args)
+$ args_lower_len = f$length(args_lower)
+$!
+$ tests = 0
+$ if f$locate(",test", args_lower) .lt. args_lower_len
+$ then
+$   tests = 1
+$ endif
+$!
+$ examples = 0
+$ if f$locate(",exam", args_lower) .lt. args_lower_len
+$ then
+$   examples = 1
+$ endif
+$!
+$! We want detailed build logs.
+$ clist = "/list/show=(expan,includ)"
+$!
+$! We want full symbol names in exact case.  Need a commmon
+$! repository for all directories.
+$ cnames = "/names=(shortened,as_is)/repository=''base_dir'"
+$!
+$! Set the compiler options for GNV CC wrapper to inherit.
+$ cc :== cc'clist''cnames'/nested_include_directory=none
+$ cxx :== cxx'clist''cnames'/nested_include_directory=none
+$ pointer_size = "32"
+$! Note 64 bit pointers requires all libraries to either have
+$! 64 bit pointers or have #pragma directives.
+$! Currently building curl on VMS with 64 bit pointers does not work.
+$!
+$! A logical name to make it easier to find some of the hacks.
+$ define/job gnv_hacks 'base_dir'
+$!
+$! A logical name to find the [.packages.vms] directory where we started.
+$ define/job gnv_packages_vms 'default_dir'
+$!
+$! Kerberos headers:
+$ if f$trnlnm("gssapi") .eqs. ""
+$ then
+$   if f$search("sys$sysroot:[kerberos]include.dir") .nes. ""
+$   then
+$       define/job gssapi sys$sysroot:[kerberos.include]
+$   endif
+$ endif
+$!
+$! OpenSSL headers
+$ if f$trnlnm("openssl") .eqs. ""
+$ then
+$   if f$trnlnm("ssl$include") .nes. ""
+$   then
+$       define/job openssl ssl$include:
+$   endif
+$ endif
+$!
+$! C compiler include path.
+$ define/job decc$system_include prj_root:[.include.curl],-
+    [-.packages.vms],-
+    ssl$include:,gnv$gnu:[usr.include],-
+    gnv$gnu:[usr.include.libz],gnv$gnu:[include],-
+    gnv$zlib_include:,-
+    sys$sysroot:[kerberos.include]
+$!
+$! Set up a include list for the compiler to find all the header files
+$! that they need.
+$!
+$ define/job decc$user_include src_root:[.include.curl]
+$ define ssl_lib sys$library:
+$!
+$! Calculate what is needed in the option files
+$ libzshr_line = ""
+$ try_shr = "gnv$libzshr''pointer_size'"
+$ if f$search(try_shr) .nes. "" then libzshr_line = "''try_shr'/share"
+$ if (libzshr_line .eqs. "")
+$ then
+$   try_shr = "sys$share:" + try_shr
+$   if f$search("''try_shr'.exe") .nes. ""
+$   then
+$       libzshr_line = "''try_shr'/share"
+$   endif
+$ endif
+$!
+$! Kerberos
+$ gssrtlshr_line = ""
+$ try_shr = "sys$share:gss$rtl"
+$ if f$search("''try_shr'.exe") .nes. ""
+$ then
+$   gssrtlshr_line = "''try_shr'/share"
+$ endif
+$!
+$! HP OpenSSL
+$ libcryptoshr_line = ""
+$ try_shr = "sys$share:ssl$libcrypto_shr''pointer_size'"
+$ if f$search("''try_shr'.exe") .nes. ""
+$ then
+$   libcryptoshr_line = "''try_shr'/share"
+$ endif
+$!
+$ libsslshr_line = ""
+$ try_shr = "sys$share:ssl$libssl_shr''pointer_size'"
+$ if f$search("''try_shr'.exe") .nes. ""
+$ then
+$   libsslshr_line = "''try_shr'/share"
+$ endif
+$!
+$!
+$! Copy over the gnv$conftest* files to base directory.
+$!-----------------------------------------------------
+$ copy 'default_dir'gnv_conftest.c_first 'base_dir'gnv$conftest.c_first
+$ create 'base_dir'gnv$conftest.opt
+$ open/append opt 'base_dir'gnv$conftest.opt
+$ if libzshr_line .nes. "" then write opt libzshr_line
+$ if libcryptoshr_line .nes. "" then write opt libcryptoshr_line
+$ if libsslshr_line .nes. "" then write opt libsslshr_line
+$ close opt
+$ purge 'base_dir'gnv$conftest.*
+$ rename 'base_dir'gnv$conftest.* ;1
+$!
+$!
+$!
+$! GNV helper files for building the test curl binary.
+$!-----------------------------------------------
+$ create [.src]gnv$curl.opt
+$ open/append opt [.src]gnv$curl.opt
+$ write opt "gnv_packages_vms:curlmsg.obj"
+$ if libzshr_line .nes. "" then write opt libzshr_line
+$ if gssrtlshr_line .nes. "" then write opt gssrtlshr_line
+$ if libcryptoshr_line .nes. "" then write opt libcryptoshr_line
+$ if libsslshr_line .nes. "" then write opt libsslshr_line
+$ close opt
+$ purge [.src]gnv$*.*
+$ rename [.src]gnv$*.* ;1
+$!
+$!
+$! Create the libcurl
+$!------------------------------------------------------
+$ create 'default_dir'gnv_libcurl_linker.opt
+$ open/append opt 'default_dir'gnv_libcurl_linker.opt
+$ if libzshr_line .nes. "" then write opt libzshr_line
+$ if gssrtlshr_line .nes. "" then write opt gssrtlshr_line
+$ if libcryptoshr_line .nes. "" then write opt libcryptoshr_line
+$ if libsslshr_line .nes. "" then write opt libsslshr_line
+$ close opt
+$!
+$!
+$! Create the template linker file
+$!---------------------------------
+$ create 'default_dir'gnv_template_linker.opt
+$ open/append opt 'default_dir'gnv_template_linker.opt
+$ write opt "gnv_vms_common:vms_curl_init_unix.obj"
+$ if libzshr_line .nes. "" then write opt libzshr_line
+$ if gssrtlshr_line .nes. "" then write opt gssrtlshr_line
+$ if libcryptoshr_line .nes. "" then write opt libcryptoshr_line
+$ if libsslshr_line .nes. "" then write opt libsslshr_line
+$ close opt
+$!
+$! Copy over the gnv$*.opt files for [.docs.examples]
+$!----------------------------------------------------
+$ if examples .ne. 0
+$ then
+$   example_apps = "10-at-a-time,anyauthput,certinfo,cookie_interface,debug"
+$   example_apps = example_apps + ",fileupload,fopen,ftpget,ftpgetresp"
+$   example_apps = example_apps + ",ftpupload,getinfo,getinmemory"
+$   example_apps = example_apps + ",http-post,httpcustomheader,httpput"
+$   example_apps = example_apps + ",https,multi-app,multi-debugcallback"
+$   example_apps = example_apps + ",multi-double,multi-post,multi-single"
+$   example_apps = example_apps + ",persistant,post-callback,postit2"
+$   example_apps = example_apps + ",sendrecv,sepheaders,simple,simplepost"
+$   example_apps = example_apps + ",simplessl"
+$!
+$   i = 0
+$example_loop:
+$      ap_name = f$element(i, ",", example_apps)
+$      if ap_name .eqs. "," then goto example_loop_end
+$      if ap_name .eqs. "" then goto example_loop_end
+$      copy 'default_dir'gnv_template_linker.opt -
+           [.docs.examples]gnv$'ap_name'.opt
+$      i = i + 1
+$      goto example_loop
+$example_loop_end:
+$!
+$! clean up the copy.
+$    purge [.docs.examples]gnv$*.opt
+$    rename [.docs.examples]gnv$*.opt ;1
+$ endif
+$!
+$!
+$ if tests .ne. 0
+$ then
+$   libtest_apps = "lib500,lib501,lib502,lib503,lib504,lib505,lib506,lib507"
+$   libtest_apps = libtest_apps + ",lib508,lib510,lib511,lib512,lib513,lib514"
+$   libtest_apps = libtest_apps + ",lib515,lib516,lib517,lib518,lib519,lib520"
+$   libtest_apps = libtest_apps + ",lib521,lib523,lib524,lib525,lib526,lib527"
+$   libtest_apps = libtest_apps + ",lib529,lib530,lib532,lib533,lib536,lib537"
+$   libtest_apps = libtest_apps + ",lib539,lib540,lib541,lib542,lib543,lib544"
+$   libtest_apps = libtest_apps + ",lib545,lib547,lib548,lib549,lib552,lib553"
+$   libtest_apps = libtest_apps + ",lib554,lib555,lib556,lib557,lib558,lib559"
+$   libtest_apps = libtest_apps + ",lib560,lib562,lib564"
+$   i = 0
+$libtest_loop:
+$     ap_name = f$element(i, ",", libtest_apps)
+$     if ap_name .eqs. "," then goto libtest_loop_end
+$     if ap_name .eqs. "" then goto libtest_loop_end
+$     copy 'default_dir'gnv_template_linker.opt -
+          [.tests.libtest]gnv$'ap_name'.opt
+$     i = i + 1
+$     goto libtest_loop
+$libtest_loop_end:
+$!
+$! clean up the copy.
+$   purge [.tests.libtest]gnv$*.opt
+$   rename [.tests.libtest]gnv$*.opt ;1
+$ endif
+$!
+$!
+$! Build the Message file.
+$!--------------------------
+$ if f$search("[.packages.vms]curlmsg.obj") .eqs. ""
+$ then
+$   message [.packages.vms]curlmsg.msg/object=[.packages.vms]
+$ endif
+$ if f$search("gnv$curlmsg.exe") .eqs. ""
+$ then
+$   link/share=gnv$curlmsg.exe [.packages.vms]curlmsg.obj
+$ endif
+$!
+$!
+$!
+$! Need to build the common init module.
+$!-------------------------------------------
+$ init_obj = "[.packages.vms]curl_crtl_init.obj"
+$ if f$search(init_obj) .eqs. ""
+$ then
+$   cc'cflags' 'default_dir'curl_crtl_init.c/obj='init_obj'
+$   purge 'init_obj'
+$   rename 'init_obj' ;1
+$ endif
+$!
+$all_exit:
+$!
+$ set def 'default_dir'
+$!
+$! Verify can break things in bash, especially in Configure scripts.
+$ set nover
+$ exit
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/stage_curl_install.com b/ap/lib/libcurl/curl-7.54.1/packages/vms/stage_curl_install.com
new file mode 100644
index 0000000..0dccdd6
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/stage_curl_install.com
@@ -0,0 +1,177 @@
+$! File: stage_curl_install.com
+$!
+$! $Id$
+$!
+$! This updates or removes the GNV$CURL.EXE and related files for the
+$! new_gnu:[*...] directory tree for running the self tests.
+$!
+$! The files installed/removed are:
+$!     [usr.bin]gnv$curl.exe
+$!     [usr.bin]curl-config.
+$!     [usr.lib]gnv$libcurl.exe
+$!     [usr.bin]curl. hard link for [usr.bin]gnv$curl.exe
+$!     [usr.include.curl]curl.h
+$!     [usr.include.curl]curlbuild.h
+$!     [usr.include.curl]curlrules.h
+$!     [usr.include.curl]curlver.h
+$!     [usr.include.curl]easy.h
+$!     [usr.include.curl]mprintf.h
+$!     [usr.include.curl]multi.h
+$!     [usr.include.curl]stdcheaders.h
+$!     [usr.include.curl]typecheck-gcc.h
+$!     [usr.lib.pkgconfig]libcurl.pc
+$!     [usr.share.man.man1]curl-config.1
+$!     [usr.share.man.man1]curl.1
+$!     [usr.share.man.man3]curl*.3
+$!     [usr.share.man.man3]libcurl*.3
+$! Future: A symbolic link to the release notes?
+$!
+$! Copyright 2012, John Malmberg
+$!
+$! Permission to use, copy, modify, and/or distribute this software for any
+$! purpose with or without fee is hereby granted, provided that the above
+$! copyright notice and this permission notice appear in all copies.
+$!
+$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+$!
+$!
+$! 20-Aug-2012  J. Malmberg
+$!
+$!===========================================================================
+$!
+$ arch_type = f$getsyi("ARCH_NAME")
+$ arch_code = f$extract(0, 1, arch_type)
+$!
+$ if arch_code .nes. "V"
+$ then
+$   set proc/parse=extended
+$ endif
+$!
+$!
+$! If the first parameter begins with "r" or "R" then this is to
+$! remove the files instead of installing them.
+$ remove_filesq = f$edit(p1, "upcase,trim")
+$ remove_filesq = f$extract(0, 1, remove_filesq)
+$ remove_files = 0
+$ if remove_filesq .eqs. "R" then remove_files = 1
+$!
+$!
+$! If we are staging files, make sure that the libcurl.pc and curl-config
+$! files are present.
+$ if remove_files .eq. 0
+$ then
+$   if f$search("[--]libcurl.pc") .eqs. ""
+$   then
+$       @build_libcurl_pc.com
+$   endif
+$   if f$search("[--]curl-config") .eqs. ""
+$   then
+$       @build_curl-config_script.com
+$   endif
+$ endif
+$!
+$!
+$! Dest dirs
+$!------------------
+$ dest_dirs1 = "[usr],[usr.bin],[usr.include],[usr.include.curl]"
+$ dest_dirs2 = ",[usr.bin],[usr.lib.pkgconfig],[usr.share]"
+$ dest_dirs3 = ",[usr.share.man],[usr.share.man.man1],[usr.share.man.man3]"
+$ dest_dirs = dest_dirs1 + dest_dirs2 + dest_dirs3
+$!
+$!
+$!   Alias links needed.
+$!-------------------------
+$ source_curl = "gnv$curl.exe"
+$ dest_curl = "[bin]gnv$curl.exe"
+$ curl_links = "[bin]curl."
+$ new_gnu = "new_gnu:"
+$!
+$!
+$! Create the directories if they do not exist
+$!---------------------------------------------
+$ i = 0
+$curl_dir_loop:
+$   this_dir = f$element(i, ",", dest_dirs)
+$   i = i + 1
+$   if this_dir .eqs. "" then goto curl_dir_loop
+$   if this_dir .eqs. "," then goto curl_dir_loop_end
+$!  Just create the directories, do not delete them.
+$!  --------------------------------------------------
+$   if remove_files .eq. 0
+$   then
+$       create/dir 'new_gnu''this_dir'/prot=(o:rwed)
+$   endif
+$   goto curl_dir_loop
+$curl_dir_loop_end:
+$!
+$!
+$! Need to add in the executable file
+$!-----------------------------------
+$ if remove_files .eq. 0
+$ then
+$   copy [--.src]curl.exe 'new_gnu'[usr.bin]gnv$curl.exe/prot=w:re
+$   copy [--]curl-config. 'new_gnu'[usr.bin]curl-config./prot=w:re
+$   copy sys$disk:[]gnv$libcurl.exe 'new_gnu'[usr.lib]gnv$libcurl.exe/prot=w:re
+$ endif
+$!
+$ if remove_files .eq. 0
+$ then
+$   set file/enter='new_gnu'[bin]curl. 'new_gnu'[usr.bin]gnv$curl.exe
+$ else
+$   file = "''new_gnu'[bin]curl."
+$   if f$search(file) .nes. "" then set file/remove 'file';*
+$ endif
+$!
+$!
+$ if remove_files .eq. 0
+$ then
+$   copy [--.include.curl]curl.h 'new_gnu'[usr.include.curl]curl.h
+$   copy [--.include.curl]curlbuild.h -
+         'new_gnu'[usr.include.curl]curlbuild.h
+$   copy [--.include.curl]curlrules.h -
+         'new_gnu'[usr.include.curl]curlrules.h
+$   copy [--.include.curl]curlver.h -
+         'new_gnu'[usr.include.curl]curlver.h
+$   copy [--.include.curl]easy.h -
+         'new_gnu'[usr.include.curl]easy.h
+$   copy [--.include.curl]mprintf.h -
+         'new_gnu'[usr.include.curl]mprintf.h
+$   copy [--.include.curl]multi.h -
+         'new_gnu'[usr.include.curl]multi.h
+$   copy [--.include.curl]stdcheaders.h -
+         'new_gnu'[usr.include.curl]stdcheaders.h
+$   copy [--.include.curl]typecheck-gcc.h -
+         'new_gnu'[usr.include.curl]typecheck-gcc.h
+$   copy [--]libcurl.pc 'new_gnu'[usr.lib.pkgconfig]libcurl.pc
+$!
+$   copy [--.docs]curl-config.1 'new_gnu'[usr.share.man.man1]curl-config.1
+$   copy [--.docs]curl.1 'new_gnu'[usr.share.man.man1]curl.1
+$!
+$   copy [--.docs.libcurl]*.3 -
+         'new_gnu'[usr.share.man.man3]*.3
+$!
+$ else
+$   file = "''new_gnu'[usr.bin]curl-config."
+$   if f$search(file) .nes. "" then delete 'file';*
+$   file = "''new_gnu'[usr.bin]gnv$curl.exe"
+$   if f$search(file) .nes. "" then delete 'file';*
+$   file = "''new_gnu'[usr.lib]gnv$libcurl.exe"
+$   if f$search(file) .nes. "" then delete 'file';*
+$   file = "''new_gnu'[usr.include.curl]*.h"
+$   if f$search(file) .nes. "" then delete 'file';*
+$   file = "''new_gnu'[usr.share.man.man1]curl-config.1"
+$   if f$search(file) .nes. "" then delete 'file';*
+$   file = "''new_gnu'[usr.share.man.man1]curl.1"
+$   if f$search(file) .nes. "" then delete 'file';*
+$   file = "''new_gnu'[usr.share.man.man3]curl*.3"
+$   if f$search(file) .nes. "" then delete 'file';*
+$   file = "''new_gnu'[usr.share.man.man3]libcurl*.3"
+$   if f$search(file) .nes. "" then delete 'file';*
+$ endif
+$!
diff --git a/ap/lib/libcurl/curl-7.54.1/packages/vms/vms_eco_level.h b/ap/lib/libcurl/curl-7.54.1/packages/vms/vms_eco_level.h
new file mode 100644
index 0000000..354875b
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.54.1/packages/vms/vms_eco_level.h
@@ -0,0 +1,30 @@
+/* File: vms_eco_level.h
+ *
+ * $Id$
+ *
+ * Copyright 2012, John Malmberg
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+ * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+ */
+
+/* This file should be incremented for each ECO that is kit */
+/* for a specific curl x.y-z release. */
+/* When any part of x.y-z is incremented, the ECO should be set back to 0 */
+
+#ifndef _VMS_ECO_LEVEL_H
+#define _VMS_ECO_LEVEL_H
+
+#define VMS_ECO_LEVEL "0"
+
+#endif