2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-13 00:12:11 +00:00
Files
build/src/engine/build_vms.com
2015-10-24 12:21:31 -05:00

154 lines
5.0 KiB
Plaintext

$ ! Copyright 2002-2003 Rene Rivera, Johan Nilsson.
$ !
$ ! 8-APR-2004 Boris Gubenko
$ ! Miscellaneous improvements.
$ !
$ ! 20-JAN-2015 Artur Shepilko
$ ! Adapt for jam 3.1.19
$ !
$ ! Distributed under the Boost Software License, Version 1.0.
$ ! (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
$ !
$ ! bootstrap build script for Jam
$ !
$ THIS_FACILITY = "BUILDJAM"
$
$ verify = f$trnlnm("VERIFY_''THIS_FACILITY'")
$ save_verify = f$verify(verify)
$
$ SAY := WRITE SYS$OUTPUT
$ !
$ ON WARNING THEN CONTINUE
$ ON ERROR THEN GOTO EXIT
$
$ BOOST_JAM_TOOLSET = "vmsdecc"
$ BOOST_JAM_CC = "CC"
$ BJAM_UPDATE = ""
$
$ ARGS = F$EDIT("''p1' ''p2' ''p3' ''p4'","TRIM,LOWERCASE")
$ ARGS_LEN = F$LENGTH(ARGS)
$
$ IF F$LOCATE("--update", ARGS) .NE. F$LENGTH(ARGS) THEN BJAM_UPDATE = "update"
$ IF BJAM_UPDATE .EQS. "update" -
.AND. F$SEARCH("[.bootstrap_vms]jam0.exe") .EQS. "" THEN BJAM_UPDATE = ""
$
$ IF BJAM_UPDATE .NES. "update"
$ THEN
$ GOSUB CLEAN
$
$ SAY "I|Creating bootstrap directory..."
$ CREATE /DIR [.bootstrap_vms]
$
$ !------------------
$ ! NOTE: Assume jamgram and jambase have been generated (true for fresh release).
$ ! Otherwise these need to be re-generated manually.
$ !------------------
$
$ SAY "I|Building bootstrap jam..."
$ !
$ CC_FLAGS = "/DEFINE=VMS /STANDARD=VAXC " + -
"/PREFIX_LIBRARY_ENTRIES=(ALL_ENTRIES) " + -
"/WARNING=DISABLE=(LONGEXTERN)" + -
"/OBJ=[.bootstrap_vms] "
$
$ CC_INCLUDE=""
$
$ SAY "I|Using compile flags: ", CC_FLAGS
$
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE command.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE compile.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE constants.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE debug.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE execcmd.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE frames.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE function.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE glob.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE hash.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE hdrmacro.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE headers.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE jam.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE jambase.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE jamgram.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE lists.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE make.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE make1.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE object.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE option.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE output.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE parse.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE pathsys.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE regexp.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE rules.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE scan.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE search.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE subst.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE timestamp.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE variable.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE modules.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE strings.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE filesys.c
$
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE execvms.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE pathvms.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE filevms.c
$
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE builtins.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE class.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE cwd.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE native.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE md5.c
$
$ CC_INCLUDE = "/INCLUDE=(""./modules"")"
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE [.modules]set.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE [.modules]path.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE [.modules]regex.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE [.modules]property-set.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE [.modules]sequence.c
$ 'BOOST_JAM_CC' 'CC_FLAGS 'CC_INCLUDE [.modules]order.c
$
$ LIB /CREATE [.bootstrap_vms]jam0.olb [.bootstrap_vms]*.obj
$ LINK /EXEC=[.bootstrap_vms]jam0.exe -
[.bootstrap_vms]jam0.olb/INCLUDE=JAM/LIB
$
$ IF F$SEARCH("[.bootstrap_vms]*.obj") .NES. "" THEN -
DELETE /NOCONF /NOLOG [.bootstrap_vms]*.obj;*, *.olb;*
$ ENDIF
$
$ IF F$SEARCH("[.bootstrap_vms]jam0.exe") .NES. ""
$ THEN
$ IF BJAM_UPDATE .NES. "update"
$ THEN
$ SAY "I|Cleaning previous build..."
$ MCR [.bootstrap_vms]jam0.exe -f build.jam --toolset='BOOST_JAM_TOOLSET' 'ARGS' clean
$ ENDIF
$
$ SAY "I|Building Boost.Jam..."
$ MCR [.bootstrap_vms]jam0.exe -f build.jam --toolset='BOOST_JAM_TOOLSET' 'ARGS'
$ ENDIF
$
$
$EXIT:
$ sts = $STATUS
$ exit 'sts' + (0 * f$verify(save_verify))
$CLEAN: !GOSUB
$ !
$ IF F$SEARCH("[.bootstrap_vms]*.*") .NES. ""
$ THEN
$ SAY "I|Cleaning previous bootstrap files..."
$ !
$ SET FILE /PROT=(W:RWED) [.bootstrap_vms]*.*;*
$ DELETE /NOCONF /NOLOG [.bootstrap_vms]*.*;*
$ ENDIF
$ !
$ IF F$SEARCH("bootstrap_vms.dir") .NES. ""
$ THEN
$ SAY "I|Removing previous bootstrap directory..."
$ !
$ SET FILE /PROT=(W:RWED) bootstrap_vms.dir
$ DELETE /NOCONF /NOLOG bootstrap_vms.dir;
$ ENDIF
$ !
$ RETURN