blob: d79c9e33e0f6732a8e8034dc86632779e9a76fcb [file] [log] [blame]
$! File: stage_curl_install.com
$!
$! $Id$
$!
$! This updates or removes the GNV$CURL.EXE and related files for the
$! new_gnu:[*...] directory tree for running the self tests.
$!
$! The files installed/removed are:
$! [usr.bin]gnv$curl.exe
$! [usr.bin]curl-config.
$! [usr.lib]gnv$libcurl.exe
$! [usr.bin]curl. hard link for [usr.bin]gnv$curl.exe
$! [usr.include.curl]curl.h
$! [usr.include.curl]curlver.h
$! [usr.include.curl]easy.h
$! [usr.include.curl]mprintf.h
$! [usr.include.curl]multi.h
$! [usr.include.curl]stdcheaders.h
$! [usr.include.curl]typecheck-gcc.h
$! [usr.lib.pkgconfig]libcurl.pc
$! [usr.share.man.man1]curl-config.1
$! [usr.share.man.man1]curl.1
$! [usr.share.man.man3]curl*.3
$! [usr.share.man.man3]libcurl*.3
$! Future: A symbolic link to the release notes?
$!
$! Copyright 2012 - 2020, 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.
$!
$!
$! 20-Aug-2012 J. Malmberg
$!
$!===========================================================================
$!
$ arch_type = f$getsyi("ARCH_NAME")
$ arch_code = f$extract(0, 1, arch_type)
$!
$ if arch_code .nes. "V"
$ then
$ set proc/parse=extended
$ endif
$!
$!
$! If the first parameter begins with "r" or "R" then this is to
$! remove the files instead of installing them.
$ remove_filesq = f$edit(p1, "upcase,trim")
$ remove_filesq = f$extract(0, 1, remove_filesq)
$ remove_files = 0
$ if remove_filesq .eqs. "R" then remove_files = 1
$!
$!
$! If we are staging files, make sure that the libcurl.pc and curl-config
$! files are present.
$ if remove_files .eq. 0
$ then
$ if f$search("[--]libcurl.pc") .eqs. ""
$ then
$ @build_libcurl_pc.com
$ endif
$ if f$search("[--]curl-config") .eqs. ""
$ then
$ @build_curl-config_script.com
$ endif
$ endif
$!
$!
$! Dest dirs
$!------------------
$ dest_dirs1 = "[usr],[usr.bin],[usr.include],[usr.include.curl]"
$ dest_dirs2 = ",[usr.bin],[usr.lib.pkgconfig],[usr.share]"
$ dest_dirs3 = ",[usr.share.man],[usr.share.man.man1],[usr.share.man.man3]"
$ dest_dirs = dest_dirs1 + dest_dirs2 + dest_dirs3
$!
$!
$! Alias links needed.
$!-------------------------
$ source_curl = "gnv$curl.exe"
$ dest_curl = "[bin]gnv$curl.exe"
$ curl_links = "[bin]curl."
$ new_gnu = "new_gnu:"
$!
$!
$! Create the directories if they do not exist
$!---------------------------------------------
$ i = 0
$curl_dir_loop:
$ this_dir = f$element(i, ",", dest_dirs)
$ i = i + 1
$ if this_dir .eqs. "" then goto curl_dir_loop
$ if this_dir .eqs. "," then goto curl_dir_loop_end
$! Just create the directories, do not delete them.
$! --------------------------------------------------
$ if remove_files .eq. 0
$ then
$ create/dir 'new_gnu''this_dir'/prot=(o:rwed)
$ endif
$ goto curl_dir_loop
$curl_dir_loop_end:
$!
$!
$! Need to add in the executable file
$!-----------------------------------
$ if remove_files .eq. 0
$ then
$ copy [--.src]curl.exe 'new_gnu'[usr.bin]gnv$curl.exe/prot=w:re
$ copy [--]curl-config. 'new_gnu'[usr.bin]curl-config./prot=w:re
$ copy sys$disk:[]gnv$libcurl.exe 'new_gnu'[usr.lib]gnv$libcurl.exe/prot=w:re
$ endif
$!
$ if remove_files .eq. 0
$ then
$ set file/enter='new_gnu'[bin]curl. 'new_gnu'[usr.bin]gnv$curl.exe
$ else
$ file = "''new_gnu'[bin]curl."
$ if f$search(file) .nes. "" then set file/remove 'file';*
$ endif
$!
$!
$ if remove_files .eq. 0
$ then
$ copy [--.include.curl]curl.h 'new_gnu'[usr.include.curl]curl.h
$ copy [--.include.curl]system.h -
'new_gnu'[usr.include.curl]system.h
$ copy [--.include.curl]curlver.h -
'new_gnu'[usr.include.curl]curlver.h
$ copy [--.include.curl]easy.h -
'new_gnu'[usr.include.curl]easy.h
$ copy [--.include.curl]mprintf.h -
'new_gnu'[usr.include.curl]mprintf.h
$ copy [--.include.curl]multi.h -
'new_gnu'[usr.include.curl]multi.h
$ copy [--.include.curl]stdcheaders.h -
'new_gnu'[usr.include.curl]stdcheaders.h
$ copy [--.include.curl]typecheck-gcc.h -
'new_gnu'[usr.include.curl]typecheck-gcc.h
$ copy [--]libcurl.pc 'new_gnu'[usr.lib.pkgconfig]libcurl.pc
$!
$ copy [--.docs]curl-config.1 'new_gnu'[usr.share.man.man1]curl-config.1
$ copy [--.docs]curl.1 'new_gnu'[usr.share.man.man1]curl.1
$!
$ copy [--.docs.libcurl]*.3 -
'new_gnu'[usr.share.man.man3]*.3
$!
$ else
$ file = "''new_gnu'[usr.bin]curl-config."
$ if f$search(file) .nes. "" then delete 'file';*
$ file = "''new_gnu'[usr.bin]gnv$curl.exe"
$ if f$search(file) .nes. "" then delete 'file';*
$ file = "''new_gnu'[usr.lib]gnv$libcurl.exe"
$ if f$search(file) .nes. "" then delete 'file';*
$ file = "''new_gnu'[usr.include.curl]*.h"
$ if f$search(file) .nes. "" then delete 'file';*
$ file = "''new_gnu'[usr.share.man.man1]curl-config.1"
$ if f$search(file) .nes. "" then delete 'file';*
$ file = "''new_gnu'[usr.share.man.man1]curl.1"
$ if f$search(file) .nes. "" then delete 'file';*
$ file = "''new_gnu'[usr.share.man.man3]curl*.3"
$ if f$search(file) .nes. "" then delete 'file';*
$ file = "''new_gnu'[usr.share.man.man3]libcurl*.3"
$ if f$search(file) .nes. "" then delete 'file';*
$ endif
$!