Home | History | Annotate | Download | only in vms
      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