|                              _   _ ____  _ | 
 |                          ___| | | |  _ \| | | 
 |                         / __| | | | |_) | | | 
 |                        ( (__| |_| |  _ <| |___ | 
 |                         \___|\___/|_| \_\_____| | 
 |                              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. |