readme 8.9 KB

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