curl/packages/vms/pcsi_product_gnv_curl.com
John E. Malmberg f9cf3de70b VMS: Updates for 0740-0D1220
lib/setup-vms.h : VAX HP OpenSSL port is ancient, needs help.
                  More defines to set symbols to uppercase.

src/tool_main.c : Fix parameter to vms_special_exit() call.

packages/vms/ :
  backup_gnv_curl_src.com : Fix the error message to have the correct package.

  build_curl-config_script.com : Rewrite to be more accurate.

  build_libcurl_pc.com : Use tool_version.h now.

  build_vms.com : Fix to handle lib/vtls directory.

  curl_gnv_build_steps.txt : Updated build procedure documentation.

  generate_config_vms_h_curl.com :
       * VAX does not support 64 bit ints, so no NTLM support for now.
       * VAX HP SSL port is ancient, needs some help.
       * Disable NGHTTP2 for now, not ported to VMS.
       * Disable UNIX_SOCKETS, not available on VMS yet.
       * HP GSSAPI port does not have gss_nt_service_name.

  gnv_link_curl.com : Update for new curl structure.

  pcsi_product_gnv_curl.com : Set up to optionally do a complete build.
2014-12-21 16:55:28 +01:00

200 lines
5.5 KiB
Plaintext

$! File: PCSI_PRODUCT_GNV_CURL.COM
$!
$! $Id$
$!
$! This command file packages up the product CURL into a sequential
$! format kit
$!
$! Copyright 2009, John Malmberg
$!
$! Permission to use, copy, modify, and/or distribute this software for any
$! purpose with or without fee is hereby granted, provided that the above
$! copyright notice and this permission notice appear in all copies.
$!
$! THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
$! WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
$! MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
$! ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
$! WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
$! ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
$! OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
$!
$! 16-Jun-2009 J.Malmberg
$!
$!=========================================================================
$!
$! Save default
$ default_dir = f$environment("DEFAULT")
$!
$! Put things back on error.
$ on warning then goto all_exit
$!
$!
$ can_build = 1
$ producer = f$trnlnm("GNV_PCSI_PRODUCER")
$ if producer .eqs. ""
$ then
$ write sys$output "GNV_PCSI_PRODUCER logical name has not been set."
$ can_build = 0
$ endif
$ producer_full_name = f$trnlnm("GNV_PCSI_PRODUCER_FULL_NAME")
$ if producer_full_name .eqs. ""
$ then
$ write sys$output -
"GNV_PCSI_PRODUCER_FULL_NAME logical name has not been set."
$ can_build = 0
$ endif
$ stage_root_name = f$trnlnm("STAGE_ROOT")
$ if stage_root_name .eqs. ""
$ then
$ write sys$output "STAGE_ROOT logical name has not been set."
$ can_build = 0
$ endif
$!
$ if (can_build .eq. 0)
$ then
$ write sys$output "Not able to build a kit."
$ goto all_exit
$ endif
$!
$! Make sure that the kit name is up to date for this build
$!----------------------------------------------------------
$ @MAKE_PCSI_CURL_KIT_NAME.COM
$!
$!
$! Make sure that the image is built
$!----------------------------------
$ arch_name = f$edit(f$getsyi("arch_name"),"UPCASE")
$ if f$search("[--.src]curl.exe") .eqs. ""
$ then
$ build_it = 1
$ libfile = "[.packages.vms.''arch_name']curllib.olb"
$ if f$search(libfile) .nes. ""
$ then
$ build_it = 0
$ else
$ ! GNV based build
$ libfile = "[.lib.^.libs]libcurl.a"
$ if f$search(libfile) .nes. ""
$ then
$ build_it = 0;
$ endif
$ endif
$ if build_it .eq. 1
$ then
$ @build_vms list
$ endif
$ @gnv_link_curl.com
$ endif
$!
$! Make sure that the release note file name is up to date
$!---------------------------------------------------------
$ @BUILD_GNV_CURL_RELEASE_NOTES.COM
$!
$!
$! Make sure that the source has been backed up.
$!----------------------------------------------
$ arch_type = f$getsyi("ARCH_NAME")
$ arch_code = f$extract(0, 1, arch_type)
$ @backup_gnv_curl_src.com
$!
$! Regenerate the PCSI description file.
$!--------------------------------------
$ @BUILD_GNV_CURL_PCSI_DESC.COM
$!
$! Regenerate the PCSI Text file.
$!---------------------------------
$ @BUILD_GNV_CURL_PCSI_TEXT.COM
$!
$!
$! Parse the kit name into components.
$!---------------------------------------
$ kit_name = f$trnlnm("GNV_PCSI_KITNAME")
$ if kit_name .eqs. ""
$ then
$ write sys$output "@MAKE_PCSI_CURL_KIT_NAME.COM has not been run."
$ goto all_exit
$ endif
$ producer = f$element(0, "-", kit_name)
$ base = f$element(1, "-", kit_name)
$ product_name = f$element(2, "-", kit_name)
$ mmversion = f$element(3, "-", kit_name)
$ majorver = f$extract(0, 3, mmversion)
$ minorver = f$extract(3, 2, mmversion)
$ updatepatch = f$element(4, "-", kit_name)
$ if updatepatch .eqs. "" then updatepatch = ""
$!
$ version_fao = "!AS.!AS"
$ mmversion = f$fao(version_fao, "''majorver'", "''minorver'")
$ if updatepatch .nes. ""
$ then
$ version = "''mmversion'" + "-" + updatepatch
$ else
$ version = "''mmversion'"
$ endif
$!
$ @stage_curl_install remove
$ @stage_curl_install
$!
$! Move to the base directories
$ set def [--]
$ current_default = f$environment("DEFAULT")
$ my_dir = f$parse(current_default,,,"DIRECTORY") - "[" - "<" - ">" - "]"
$!
$!
$!
$ source = "''default_dir'"
$ src1 = "new_gnu:[usr.bin],"
$ src2 = "new_gnu:[usr.include.curl],"
$ src3 = "new_gnu:[usr.lib],"
$ src4 = "new_gnu:[usr.lib.pkgconfig],"
$ src5 = "new_gnu:[usr.share.man.man1],"
$ src6 = "new_gnu:[usr.share.man.man3],"
$ src7 = "new_gnu:[vms_src],"
$ src8 = "new_gnu:[common_src],"
$ src9 = "prj_root:[''my_dir'],prj_root:[''my_dir'.src]"
$ gnu_src = src1 + src2 + src3 + src4 + src5 + src6 + src7 + src8 + src9
$!
$!
$ base = ""
$ if arch_name .eqs. "ALPHA" then base = "AXPVMS"
$ if arch_name .eqs. "IA64" then base = "I64VMS"
$ if arch_name .eqs. "VAX" then base = "VAXVMS"
$!
$ if base .eqs. "" then exit 44
$!
$ pcsi_option = "/option=noconfirm"
$ if arch_code .eqs. "V"
$ then
$ pcsi_option = ""
$ endif
$!
$!
$product package 'product_name' -
/base='base' -
/producer='producer' -
/source='source' -
/destination=STAGE_ROOT:[KIT] -
/material=('gnu_src','source') -
/format=sequential 'pcsi_option'
$!
$!
$! VAX can not do a compressed kit.
$! ZIP -9 "-V" does a better job, so no reason to normally build a compressed
$! kit.
$!----------------------------------
$if p1 .eqs. "COMPRESSED"
$then
$ if arch_code .nes. "V"
$ then
$ product copy /options=(novalidate, noconfirm) /format=compressed -
'product_name' -
/source=stage_root:[kit]/dest=stage_root:[kit] -
/version='version'/base='base'
$ endif
$endif
$!
$all_exit:
$ set def 'default_dir'
$ exit