Commit 27f8c93d authored by John Malmberg's avatar John Malmberg Committed by Yang Tse
Browse files

packages/vms: update VMS build files

VMS modified files either missing from a previous commit and changes
to remove references to CVS repositories.
parent 058b86e6
Loading
Loading
Loading
Loading
+49 −0
Original line number Diff line number Diff line
@@ -340,18 +340,64 @@ $ file = "[]config_vms.h"
$   if f$search(file) .nes. "" then delete/log 'file';*
$   file = "[]config.h"
$   if f$search(file) .nes. "" then delete/log 'file';*
$   file = "[]curl-config."
$   if f$search(file) .nes. "" then delete/log 'file';*
$   file = "[]libcurl.pc"
$   if f$search(file) .nes. "" then delete/log 'file';*
$   file = "[.lib.cxx_repository]cxx$demangler_db."
$   if f$search(file) .nes. "" then delete/log 'file';*
$   file = "[.src.cxx_repository]cxx$demangler_db."
$   if f$search(file) .nes. "" then delete/log 'file';*
$   file = "[.lib]config_vms.h"
$   if f$search(file) .nes. "" then delete/log 'file';*
$   file = "[...]curl_crtl_init"
$   if f$search("''file'.lis") .nes. "" then delete/log 'file'.lis;*
$   if f$search("''file'.obj") .nes. "" then delete/log 'file'.obj;*
$   file = "[...]gnv$curlmsg"
$   if f$search("''file'.lis") .nes. "" then delete/log 'file'.lis;*
$   if f$search("''file'.obj") .nes. "" then delete/log 'file'.obj;*
$   if f$search("''file'.exe") .nes. "" then delete/log 'file'.exe;*
$   file = "[...]curlmsg"
$   if f$search("''file'.lis") .nes. "" then delete/log 'file'.lis;*
$   if f$search("''file'.obj") .nes. "" then delete/log 'file'.obj;*
$   if f$search("''file'.exe") .nes. "" then delete/log 'file'.exe;*
$   file = "[...]report_openssl_version"
$   if f$search("''file'.lis") .nes. "" then delete/log 'file'.lis;*
$   if f$search("''file'.obj") .nes. "" then delete/log 'file'.obj;*
$   if f$search("''file'.exe") .nes. "" then delete/log 'file'.exe;*
$   file = "[...]hp_ssl_release_info.txt"
$   if f$search(file) .nes. "" then delete/log 'file';*
$   file = "[...]gnv_libcurl_xfer.mar_exact"
$   if f$search(file) .nes. "" then delete/log 'file';*
$   file = "[...]gnv_libcurl_xfer"
$   if f$search("''file'.lis") .nes. "" then delete/log 'file'.lis;*
$   if f$search("''file'.obj") .nes. "" then delete/log 'file'.obj;*
$   if f$search("''file'.opt") .nes. "" then delete/log 'file'.opt;*
$   file = "[...]curl-*_original_src.bck"
$   if f$search(file) .nes. "" then delete/log 'file';*
$   file = "[...]curl-*_vms_src.bck"
$   if f$search(file) .nes. "" then delete/log 'file';*
$   file = "[...]curl-*.release_notes"
$   if f$search(file) .nes. "" then delete/log 'file';*
$   file = "[...]*curl*.pcsi$desc"
$   if f$search(file) .nes. "" then delete/log 'file';*
$   file = "[...]*curl*.pcsi$text"
$   if f$search(file) .nes. "" then delete/log 'file';*
$!
$   if clean_all .eq. 0 then goto Common_Exit
$ endif
$!
$!
$ if clean_all .ne. 0
$ then
$   file = "[...]gnv$libcurl"
$   if f$search("''file'.exe") .nes. "" then delete/log 'file'.exe;*
$   if f$search("''file'.map") .nes. "" then delete/log 'file'.map;*
$   if f$search("''file'.dsf") .nes. "" then delete/log 'file'.dsf;*
$   file = "[.src]curl"
$   if f$search("''file'.exe") .nes. "" then delete/log 'file'.exe;*
$   if f$search("''file'.map") .nes. "" then delete/log 'file'.map;*
$   if f$search("''file'.dsf") .nes. "" then delete/log 'file'.dsf;*
$   prods = proc_dev_dir - delim + ".ALPHA" + delim + "*.*;*"
$   if (f$search(prods) .nes. "") then delete /log 'prods'
$   prods = proc_dev_dir + "ALPHA" + ".DIR;1"
@@ -367,6 +413,9 @@ $ if (f$search(prods) .nes. "") then delete /log 'prods'
$   prods = proc_dev_dir + "VAX"+ ".DIR;1"
$   if (f$search(prods) .nes. "") then set prot=o:rwed 'prods'
$   if (f$search(prods) .nes. "") then delete /log 'prods'
$   file = "[...]macro32_exactcase"
$   if f$search("''file'.exe") .nes. "" then delete/log 'file'.exe;*
$   if f$search("''file'.jnl") .nes. "" then delete/log 'file'.jnl;*
$   goto Common_Exit
$ endif
$!
+9 −0
Original line number Diff line number Diff line
@@ -211,6 +211,15 @@ $!
$ file = "lcl_root:[.packages.vms]macro32_exactcase.exe"
$ if f$search(file) .nes. "" then delete 'file';*
$!
$ file = "lcl_root:[.packages.vms]report_openssl_version.exe"
$ if f$search(file) .nes. "" then delete 'file';*
$!
$ file = "lcl_root:[.packages.vms]hp_ssl_release_info.txt"
$ if f$search(file) .nes. "" then delete 'file';*
$!
$ file = "lcl_root:[.src]curl.exe"
$ if f$search(file) .nes. "" then delete 'file';*
$!
$all_exit:
$!
$! Put the default back.
+2 −10
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ $! The copy directory is vms_root:[project_name]
$!    The UPDATE parameter is ignored.
$!
$!    This setting is used to make sure that the working vms directory
$!    and the CVS checkout directory have the same contents.
$!    and the repository checkout directory have the same contents.
$!
$! If P1 is "SRCBCK" then this
$!     The source directory tree is: src_root:[project_name]
@@ -55,7 +55,7 @@ $!
$!   This is to make sure that the backup save set for the unmodified
$!   source is up to date.
$!
$!   If your CVS checkout is not on an NFS mounted volume, you do not
$!   If your repository checkout is not on an NFS mounted volume, you do not
$!   need to use this option or have the logical name src_root1 defined.
$!
$! If P1 is "VMSBCK" then this changes the two directories:
@@ -195,8 +195,6 @@ $ ref_name = f$parse(ref_spec,,,"NAME")
$   ref_type = f$parse(ref_spec,,,"TYPE")
$!
$!
$   if f$locate(".CVS]", ref_dir) .lt. f$length(ref_dir) then goto loop
$
$   rel_path = ref_dir - "[" - ref_base_dir
$!  rel_path_len = f$length(rel_path) - 1
$!  delim = f$extract(rel_path_len, 1, rel_path)
@@ -336,12 +334,6 @@ $!
$   wrk_skip = 0
$   ref_utype = f$edit(ref_type,"UPCASE")
$   ref_ufname = f$edit(ref_fname,"UPCASE")
$   if ref_ufname .eqs. "CVS.DIR" then wrk_skip = 1
$   if ref_fname .eqs. ".cvsignore" then wrk_skip = 1
$   if ref_fname .eqs. "Entries." then wrk_skip = 1
$   if ref_fname .eqs. "Repository." then wrk_skip = 1
$   if ref_fname .eqs. "Root." then wrk_skip = 1
$!
$!
$   if wrk_skip .eq. 0
$   then
+60 −17
Original line number Diff line number Diff line
From File: curl_gnv_build_steps.txt

$Id$

 Copyright 2009, John Malmberg

 Permission to use, copy, modify, and/or distribute this software for any
@@ -23,7 +21,7 @@ Unix builds use.
Building CURL on OpenVMS using GNV requires GNV V2.1-2 or the updated
images that are available via anonymous FTP at encompasserve.org in the gnv
directory.  It also requires the GNV Bash 4.2.45 kit as an update from the
same location.
same location or from the sourceforge.net GNV project.

The HP C 7.x compiler was used for building the GNV version.

@@ -51,14 +49,15 @@ VMS_ROOT: is for the source files that are specific to OpenVMS.
LCL_ROOT: is manually created to have the same base and sub-directories as
          SRC_ROOT: and VMS_ROOT:

The logical name REF_ROOT: is defined to be a logical name that is a search
list for VMS_ROOT:,SRC_ROOT:
The logical name REF_ROOT: may be defined to be a search list for
VMS_ROOT:,SRC_ROOT:

The logical name PRJ_ROOT: is defined to be a logical name that is a search
list for LCL_ROOT:,REF_ROOT:
The logical name PRJ_ROOT: is defined to be a search list for
LCL_ROOT:,VMS_ROOT:,SRC_ROOT:

For the make install process to work, it must have write access to the
directories referenced by the GNU: logical name.

In future releases of GNV, and with GNV Bash 4.2.45 installed, this name
should be GNV$GNU:

@@ -71,9 +70,15 @@ OLD_GNU: can be set up to reference the real GNV directory tree.
Then a local copy of the GNU/GNV$GNU logical names can be set up as a search
list such as NEW_GNU:,OLD_GNU:

The directory NEW_GNU:[usr] should be created.  The make install phase will
The directory NEW_GNU:[usr] should be created.  The make install phase should
create all the other directories.

The make install process may abort if curl is already because it can not
uninstall the older version of curl because it does not have permission.

The file stage_curl_install.com is used set up a new_gnu: directory tree
for testing.  The PCSI kitting procedure uses these files as input.

These files do not create the directories in the VMS_ROOT and LCL_ROOT
directory trees.  You can create them with commands similar to:

@@ -131,13 +136,13 @@ This command procedure does the following:

  $ @gnv_link_curl.com

  $ purge new_gnu:[*...]/log
  $ @stage_curl_install.com

  $ purge new_gnu:[*...]/log

To clean up after a build to start over, the following commands are used:

   $ bash
   bash$ export GNV_DISABLE_DCL_FALLBACK=1
   bash$ cd ../..
   bash$ make clean
   bash$ exit
@@ -161,6 +166,10 @@ files from new_gnu: to old_gnu: at your convenience.
Building a PCSI kit for an archictecture takes the following steps after
making sure that you have a working build environment.

Note that it requires manually creating two logical names as described
below.  It is intentional that they be manually set.  This is for
branding the PCSI kit based on who is making the kit.

   1. Make sure that you have a staging directory that can be referenced
      by the path STAGE_ROOT:[KIT]

@@ -174,9 +183,9 @@ making sure that you have a working build environment.
   4. Define the logical name GNV_PCSI_PRODUCER_FULL_NAME to be your full
      name or full name of your company.

   5. If you are producing an update kit, then define the logical name
      GNV_PCSI_PATCHLEVEL to the letter E followed by a number.  Do not
      use a patch level for kits built from the daily CVS snapshot.
   5. If you are producing an update kit, then update the file
      vms_eco_level.h by changing the value for the VMS_ECO_LEVEL macro.
      This file is currently only used in building the PCSI kit.

   6. Edit the file PCSI_GNV_CURL_FILE_LIST.TXT if there are new files added
      to the kit.  These files should all be ODS-2 legal filenames and
@@ -196,15 +205,49 @@ making sure that you have a working build environment.
      step, the PCSI kit built by these steps does a rename to the correct
      case as a post install step.

   7. Build the PCSI kit with @pcsi_product_gnv_curl.com
   7. Edit the build_curl_pcsi_desc.com and build_curl_pcsi_text.com if you
      have changed the version of ZLIB that curl is built against.

   8. Prepare to backup the files for building the kit.

      Note that if src_root: or vms_root: are NFS mounted disks, the
      step of backing up the source files will probably hang or fail.

      You need to copy the source files to VMS mounted disks and create
      logical names SRC_ROOT1 and VMS_ROOT1 to work around this to to
      reference local disks.  Make sure src_root1:[000000] and
      vms_root1:[000000] exist and can be written to.

      The command procedure compare_curl_source can be used to check
      those directories and keep them up to date.

         @compare_curl_source.com SRCBCK UPDATE

         This compares the reference project source with the backup
         staging directory for it and updates with any changes.

         @compare_curl_source.com VMSBCK UPDATE

         This compares the VMS specific source with the backup
         staging directory for it and updates with any changes.

         Leave off "UPDATE" to just check without doing any changes.

      If you are not using NFS mounted disks and do not want to have a
      separate directory for staging the sources for backup make sure
      that src_root1: and vms_root1: do not exist.

   9. Build the PCSI kit with @pcsi_product_gnv_curl.com

       The following message is normal:
          %PCSI-I-CANNOTVAL, cannot validate
            EAGLE$DQA0:[stage_root.][kit]JEM-AXPVMS-CURL-D0719-6-1.PCSI;1
            EAGLE$DQA0:[stage_root.][kit]VMSPORTS-AXPVMS-CURL-V0731-0-1.PCSI;1
          -PCSI-I-NOTSIGNED, product kit is not signed and therefore has
          no manifest file

       This will result in both compressed and uncompressed kits for the target
       platform.
       This will result in an uncompressed kit for the target platform.
       On Alpha and Integrity, the pcsi_product_gnv_curl.com can be used with
       the "COMPRESSED" parameter to build both a compressed and uncompressed
       kits.

Good Luck.
+2 −1
Original line number Diff line number Diff line
@@ -278,7 +278,8 @@ and before installing Curl.
    $PRODUCT EXTRACT FILE -
      /select=(ssl$libcrypto_shr32.exe,ssl$libssl_shr32.exe)-
      /source=device:[dir] -
      /destination=device:[vms$common.gnv.lib]
      /options=noconfirm -
      /destination=device:[vms$common.gnv.lib] SSL

The [vms$common.sys$startup}curl_startup.com procedure will then configure
libcurl to use these shared images instead of the system ones.
Loading