1 _ _ ____ _ 2 ___| | | | _ \| | 3 / __| | | | |_) | | 4 ( (__| |_| | _ <| |___ 5 \___|\___/|_| \_\_____| 6 for OpenVMS 7 8 History: 9 10 9-MAR-2004, Created this readme. file. Marty Kuhrt (MSK). 11 15-MAR-2004, MSK, Updated to reflect the new files in this directory. 12 14-FEB-2005, MSK, removed config-vms.h_with* file comments 13 10-FEB-2010, SMS. General update. 14 14-Jul-2013, JEM, General Update, add GNV build information. 15 16 17 The release notes installed by the PCSI kit consist of this file and the 18 curl_gnv_build_steps.txt and other useful information. 19 20 Prerequisites: 21 22 OpenVMS V7.0 or later (any platform) 23 DECC V6.5 or later 24 OpenSSL or hp SSL, if you want SSL support 25 26 What is Here: 27 28 This directory contains the following files for a DCL based build. 29 30 backup_gnv_curl_src.com This procedure backs up the source modules for 31 creating a PCSI kit. 32 33 build_curl-config_script.com 34 Procedure to create the curl-config script. 35 36 build_gnv_curl.com This procedure does a build of curl using the 37 GNV utilities and then uses DCL tools to build 38 the libcurl shared image. The setup_gnv_curl_build.com 39 procedure must be run first. 40 41 build_gnv_curl_pcsi_desc.com 42 This procedure builds the pcsi$desc file for 43 creating a PCSI based package. 44 45 build_gnv_curl_pcsi_text.com 46 This procedure builds the pcsi$text file for 47 creating a PCSI based package. 48 49 build_gnv_curl_release_notes.com 50 This procedure creates the release notes for 51 a PCSI kit based on curl_release_note_start.txt, 52 this readme file, and the curl_gnv_build_steps.txt 53 54 build_libcurl_pc.com Procedure to create a libcurl.pc file. 55 56 build_vms.com DCL based build procedure. 57 58 clean_gnv_curl.com This procedure cleans up the files generated by 59 a GNV based build. 60 61 config_h.com DCL based procedure used by build_vms.com 62 to run generate the curl_config.h file. 63 This is a generic procedure that does most 64 of the work for generating config.h files. 65 66 compare_curl_source.com Procedure to compare the working directory 67 with a repository directory or a backup staging 68 directory. 69 70 curl_crtl_init.c A special pre-initialization routine to for 71 programs to behave more Unix like when run 72 under GNV. 73 74 curl_gnv_build_steps.txt 75 Detailed instructions on how to built curl using 76 GNV and how to build the libcurl shared image and 77 PCSI kit. 78 79 curl_release_note_start.txt 80 The first part of the curl release notes. 81 82 curl_startup.com A procedure run at VMS startup to install the 83 libcurl shared image and to set up the needed 84 logical names. 85 86 curlmsg.h C header defining cURL status code macros. 87 88 curlmsg.msg Error message source for curlmsg.h and curlmsg.sdl. 89 90 curlmsg.sdl SDL source defining cURL status code constants. 91 92 curlmsg_vms.h Mapping of cURL status codes to VMS-form codes. 93 94 generate_config_vms_h_curl.com 95 DCL procedure to generate the curl specific 96 definitions for curl_config.h that config_h.com 97 can not properly generate. 98 99 generate_vax_transfer.com 100 DCL procedure to read an Alpha/IA64 symbol vector 101 linker option file and generate the VAX transfer 102 vector modules. 103 104 gnv_conftest.c_first A helper file for the configure script. 105 106 gnv_curl_configure.sh A script to run the configure script with the 107 options needed for VMS. 108 109 gnv_libcurl_symbols.opt The symbol vectors needed for Alpha and IA64 110 libcurl shared image. 111 112 gnv_link_curl.com Links the libcurl shared image and then links a curl 113 image to use the libcurl. 114 115 macro32_exactcase.patch The patch file needed to modify VAX Macro32 to be 116 case sensitive and case preserving. 117 118 Makefile.am cURL kit file list for this directory. 119 120 Makefile.in cURL kit makefile source for this directory. 121 122 make_gnv_curl_install.sh 123 Script to do a make install using GNV after running 124 the configure script. 125 126 make_pcsi_curl_kit_name.com 127 This generates the name of the PCSI kit based on 128 the version of curl being built. 129 130 pcsi_gnv_curl_file_list.txt 131 This is a text file describing what files should 132 be included in a PCSI kit. 133 134 pcsi_product_gnv_curl.com 135 This generates the PCSI kit after the libcurl 136 shared image has been made. 137 138 readme. This file. 139 140 report_openssl_version.c 141 Program to check that the openssl version is new 142 enough for building a shared libcurl image. 143 144 setup_gnv_curl_build.com 145 This procedure sets up symbols and logical names 146 for a GNV build environment and also copies some 147 helper files. 148 149 stage_curl_install.com This procedure sets up new_gnu: directory tree to 150 for testing the install and building the PCSI kit. 151 It takes a "remove" option to remove all the staged 152 files. 153 154 vms_eco_level.h This sets the ECO level for the PCSI kit name. 155 156 157 How to Build: 158 159 The GNV based build and the DCL based build procedures are not compatible 160 and you must make sure that none of the build files are present before 161 running a different type of build. Use the "REALCLEAN" option for 162 BUILD_VMS.COM and the "REALCLEAN" option for clean_gnv_curl.com. 163 164 The (brute-force) DCL based builder is [.packages.vms]build_vms.com. 165 Comments in this procedure describe various optional parameters which 166 enable or disable optional program features, or which control the build 167 in other ways. Product files (.EXE, .H, .LIS, .MAP, .OBJ, .OLB, ...) 168 should be produced in an architecture-specific subdirectory under this 169 directory ([.ALPHA], [.IA64], [.VAX]). 170 171 The file curl_gnv_build_steps.txt contains information on buildling using 172 the GNV tool kit, building a shared libcurl, and producting a PCSI kit for 173 distribution. The curl_gnv_build_steps.text is included in the release 174 notes file of the PCSI kit. 175 176 The building with 64 bit pointers does not currently work. 177 178 The build procedure will detect if HP OpenSSL, LDAP, and Kerberos are 179 installed and default to building with them. 180 181 The build procedure will also detect if a compatible ZLIB shared image 182 is installed from a PCSI kit and default to using it. 183 184 Example build commands: 185 186 @ [.packages.vms]build_vms.com CLEAN 187 @ [.packages.vms]build_vms.com LARGE LDAP 188 submit /noprint [.packages.vms]build_vms.com /param = (LARGE, LDAP) 189 190 The build_vms.com procedure does not build the shared image file or the PCSI 191 kit. If you have built a curl with ZLIB and HPSSL support as well as if 192 LDAP and Kerberos installed, you can use the GNV_LINK_CURL.COM file. 193 194 The GNV_LINK_CURL.COM contains information on how to link and run with a newer 195 version of HP SSL than what may be install on an Alpha or IA64 based system. 196 197 To build the PCSI kit, follow the the instructions in the file 198 curl_gnv_build_steps.txt. 199 200 Other Notes: 201 202 This release fixes known bugs #22, and #57 in the [curl.docs]known_bugs. 203 file. 204 205 The libcurl formdata.c module and Curl tools post form now have some 206 understanding of VMS file types. Files will be posted in STREAM_LF format. 207 208 The Curl tool now has some understanding of VMS file types and will upload the 209 files in STREAM_LF fomat. 210 211 When CURL is uploading a VARIABLE format VMS file, it is less efficient as in 212 order to get the file size, it will first read the entire file once, and then 213 read the file again for the actual upload. 214 215 The Curl tool will now always download files into STREAM_LF format. Even if a 216 file by that name with a different format already exists. This is needed to 217 allow interrupted downloads to be continued. 218 219 220 The libcurl file module still does not understand VMS file types and requires 221 the input files to be in STREAM_LF to work propery. 222 223 The test suites are not supported as of 7.11.0. 224 225 The curlmsg.sdl and curlmsg.h files are generated from curlmsg.msg. 226 This is not done automatically, since the .MSG file is a hand edit 227 of the relevant stuff from the curl.h file. If you want to do this 228 yourself you'll need the SDL package from the freeware collection. 229