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