xf.li | 6c8fc1e | 2023-08-12 00:11:09 -0700 | [diff] [blame^] | 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 building using |
| 172 | the GNV tool kit, building a shared libcurl, and producing 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 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 format. |
| 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 property. |
| 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. |