VMS: fix and generate the VMS build config
authorJohn E. Malmberg <wb8tyw@qsl.net>
Mon, 4 Feb 2013 21:56:44 +0000 (22:56 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 5 Feb 2013 22:08:57 +0000 (23:08 +0100)
commit25f351424b353884bfe36f5e1c7a787b04b46932
tree126049f1d76a67003d7fd51e1ad6e17a0b25ef9a
parentcb3e6dfa3511e75334f70f53370ce3f1d711c904
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.
27 files changed:
lib/Makefile.inc
lib/config-vms.h [deleted file]
lib/curl_setup.h
lib/curl_setup_once.h
lib/getenv.c
lib/netrc.c
lib/post-config-vms.h [new file with mode: 0644]
packages/vms/Makefile.am
packages/vms/build_curlbuild_h.com [new file with mode: 0644]
packages/vms/build_vms.com
packages/vms/config_h.com [new file with mode: 0644]
packages/vms/generate_config_vms_h_curl.com [new file with mode: 0644]
packages/vms/hpssl_alpha.opt [deleted file]
packages/vms/hpssl_ia64.opt [deleted file]
packages/vms/hpssl_vax.opt [deleted file]
packages/vms/ldap.opt [deleted file]
packages/vms/openssl_alpha.opt [deleted file]
packages/vms/openssl_ia64.opt [deleted file]
packages/vms/openssl_ssl_alpha.opt [deleted file]
packages/vms/openssl_ssl_ia64.opt [deleted file]
packages/vms/openssl_ssl_vax.opt [deleted file]
packages/vms/openssl_vax.opt [deleted file]
src/tool_homedir.c
src/tool_main.c
src/tool_operate.c
src/tool_setup.h
src/tool_vms.h