cURL / Mailing Lists / curl-library / Single Mail

curl-library

[vms] Fixes to get vms builds working again.

From: John E. Malmberg <wb8tyw_at_qsl.net>
Date: Sun, 20 Jan 2013 00:03:33 -0600

I finally got curl to build correctly on ALPHA, VAX, IA64, using both
GNV (GNU on VMS tool chain) and using the native VMS tools.

curl/packages/vms/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.

curl/package/vms/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.

curl/packages/vms/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.

curl/lib/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.

curl_setup_h.gdiff is a patch to add the post-config-vms.h header to the
build.

curl_setup_once_h.gdiff needed some VMS specific code removed that
conflicted with curl/lib/post-config-vms.h

build_vms_com.gdiff.gz is a patch to the VMS build procedure so that it
works.

    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.

getenv_c.gdiff is a patch to remove VMS specific code that is not needed
as it is handled in post-config-vms.h

netrc_c.gdiff is a patch to remove VMS specific code that is not needed
as it is handled in post-config-vms.h

tool_homedir_c.gdiff is a patch to remove VMS specific code that is not
needed as it is handled in post-config-vms.h

tool_vms_h.gdiff is a patch to make vms_show a global variable.

tool_setup_h.gdiff is a patch to add tool_vms_h to it.

tool_operate_c.gdiff is a patch to set the vms_show global variable.

tool_main_c.gdiff needs to use the vms_show global variable.

After these changes are accepted, the following files are no longer used
by VMS:

curl/lib/config-vms.h

in curl/packages/vms/ :
hpssl_alpha.opt hpssl_ia64.opt hpssl_vax.opt ldap.opt
openssl_alpha.opt openssl_ia64.opt openssl_ssl_alpha.opt
openssl_ssl_ia64.opt openssl_ssl_vax.opt
openssl_vax.opt

After this is resolved, I can start submitting the files for VMS to use
the GNV based build.

Regards,
-John
wb8tyw_at_qsl.net
Personal Opinion Only

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html

Received on 2013-01-20