curl/packages/vms
John E. Malmberg 25f351424b VMS: fix and generate the VMS build config
config_h.com is a new file that generates a config.h file based on the
curl_config.h.in file and a quick scan of the configure script.  This is
actually a generic procedure that is shared with other VMS packages.

The existing pre-built config-vms.h had over 100 entries that were not
correct and in some cases conflicted with the build options available in
the build_vms.com.

generate_config_vms_h_curl.com is a helper procedure to the
config_h.com.  It covers the cases that the generic config_h.com is not
able to figure out, and accepts input from the build_vms.com procedure.

build_curlbuild_h.com is a new file to generate the curlbuild.h file
that Curl is now using when it is using a curl_config.h file.

post-config-vms.h is a new file that is needed to provide VMS specific
definitions, and most of them need to be set before the system header
files are included.

The VMS build procedure is fixed:

   1. Fixed to link in the correct HP ssl library.
   2. Fixed to detect if HP Kerberos is installed.
   3. Fixed to detect if HP LDAP is installed.
   4. Fixed to detect if gnv$libzshr is installed.
   5. Simplified the input parameter parsing to not use a loop.
   6. Warn that 64 bit pointer option support is not complete
      in comments.
   7. Default to IEEE floating if platform supports it so
      resulting libcurl will be compatible with other
      open source projects on VMS.
   8. Default to LARGEFILE if platform supports it.
   9. Default to enable SSL, LDAP, Kerberos, libz
      if the libraries are present.
   10. Build with exact case global symbols for libcurl.
   11. Generate linker option file needed.
   12. Compiler list option only commonly needed items.
   13. fulllist option for those who really want it.
   14. Create debug symbol file on Alpha, IA64.
2013-02-05 23:08:57 +01:00
..
build_curlbuild_h.com VMS: fix and generate the VMS build config 2013-02-05 23:08:57 +01:00
build_vms.com VMS: fix and generate the VMS build config 2013-02-05 23:08:57 +01:00
config_h.com VMS: fix and generate the VMS build config 2013-02-05 23:08:57 +01:00
curlmsg_vms.h sources: update source headers 2011-03-10 12:04:33 +01:00
curlmsg.h sources: update source headers 2011-03-10 12:04:33 +01:00
curlmsg.msg
curlmsg.sdl
generate_config_vms_h_curl.com VMS: fix and generate the VMS build config 2013-02-05 23:08:57 +01:00
Makefile.am VMS: fix and generate the VMS build config 2013-02-05 23:08:57 +01:00
readme

                             _   _ ____  _
                         ___| | | |  _ \| |
                        / __| | | | |_) | |
                       ( (__| |_| |  _ <| |___
                        \___|\___/|_| \_\_____|
                             for OpenVMS

History:

 9-MAR-2004, Created this readme. file.  Marty Kuhrt (MSK).
15-MAR-2004, MSK, Updated to reflect the new files in this directory.
14-FEB-2005, MSK, removed config-vms.h_with* file comments
10-FEB-2010, SMS. General update.

Prerequisites:

OpenVMS V7.0 or later (any platform)
DECC V6.5 or later
OpenSSL or hp SSL, if you want SSL support

What is Here:

This directory contains the following files:

build_vms.com           Build procedure.
config-vms.h            VMS-specific config.h.
curlmsg.h               C header defining cURL status code macros.
curlmsg.msg             Error message source for curlmsg.h and curlmsg.sdl.
curlmsg.sdl             SDL source defining cURL status code constants.
curlmsg_vms.h           Mapping of cURL status codes to VMS-form codes.
hpssl_alpha.opt         LINK options file for HP SSL on Alpha.
hpssl_ia64.opt          LINK options file for HP SSL on IA64.
hpssl_vax.opt           LINK options file for HP SSL on VAX.
ldap.opt                LINK options file for LDAP.
Makefile.am             cURL kit file list for this directory.
Makefile.in             cURL kit makefile source for this directory.
openssl_alpha.opt       LINK options file for OpenSSL on Alpha.
openssl_ia64.opt        LINK options file for OpenSSL on IA64.
openssl_ssl_alpha.opt   LINK options file for OpenSSL (SSL_ prefix) on Alpha.
openssl_ssl_ia64.opt    LINK options file for OpenSSL (SSL_ prefix) on IA64.
openssl_ssl_vax.opt     LINK options file for OpenSSL (SSL_ prefix) on VAX.
openssl_vax.opt         LINK options file for OpenSSL on VAX.
readme.                 This file.


How to Build:

The (brute-force) builder is [.packages.vms]build_vms.com.  Comments in
this procedure describe various optional parameters which enable or
disable optional program features, or which control the build in other
ways.  Product files (.EXE, .H, .LIS, .MAP, .OBJ, .OLB, ...) should be
produced in an architecture-specific subdirectory under this directory
([.ALPHA], [.IA64], [.VAX]).

   Example build commands:

      @ [.packages.vms]build_vms.com CLEAN
      @ [.packages.vms]build_vms.com LARGE LDAP
      submit /noprint [.packages.vms]build_vms.com /param = (LARGE, LDAP)


Other Notes:

The test suites are not supported as of 7.11.0.

The curlmsg.sdl and curlmsg.h files are generated from curlmsg.msg.
This is not done automatically, since the .MSG file is a hand edit
of the relevant stuff from the curl.h file.  If you want to do this
yourself you'll need the SDL package from the freeware collection.