| _ _ ____ _ |
| ___| | | | _ \| | |
| / __| | | | |_) | | |
| ( (__| |_| | _ <| |___ |
| \___|\___/|_| \_\_____| |
| 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 building using |
| the GNV tool kit, building a shared libcurl, and producing 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 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 format. |
| |
| 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. |