kolibrios-fun/programs/fs/unzip60/tandem/make
siemargl e9b1c1bac6 unzip initial commit
git-svn-id: svn://kolibrios.org@6725 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-11-18 13:40:05 +00:00

139 lines
3.2 KiB
Plaintext

?tacl routine
#FRAME
SINK [#LOAD /keep 1/ commacs]
SINK [#LOAD /keep 1/ macros]
[#PUSH file prev memory clib OK model unzip lib accel unlicensed licensed
options fileset nocrypt crypt arg^value object^owner object^security
deflate64
]
#PUSH #DEFAULTS
#SET OK -1
== Customise the following values for your environment
#SET object^owner SUPER.DAVES
#SET object^security "UUUU"
[#LOOP |WHILE| [#MORE] |DO|
[#CASE [#ARGUMENT /VALUE arg^value/
KEYWORD /WORDLIST LARGE SMALL/
KEYWORD /WORDLIST NOWIDE WIDE/
KEYWORD /WORDLIST UNLICENSED/
KEYWORD /WORDLIST NOCRYPT/
KEYWORD /WORDLIST DEFLATE64 NODEFLATE64/
TEMPLATE FILENAME ]
|1| #SET memory [arg^value]
|2| #SET model [arg^value]
|3| #SET unlicensed [arg^value]
|4| #SET nocrypt [arg^value]
|5| #SET deflate64 [arg^value]
|6| #SET fileset [arg^value]
|OTHERWISE|
]
]
[#IF [#EMPTYV memory] |THEN| #SET memory LARGE]
[#IF [#EMPTYV model] |THEN| #SET model NOWIDE]
[#IF [#EMPTYV deflate64] |THEN| #SET deflate64 DEFLATE64]
[#IF model '=' "WIDE"
|THEN| #SETV clib model
|ELSE| #SETV clib memory
]
[#IF model '=' "WIDE"
|THEN|
#SET unzip UNZIPW
|ELSE|
#SET unzip UNZIPL
]
#SET lib [unzip]B
#SET accel UNZIP
#SET options [options], [model]
[#IF unlicensed '=' "UNLICENSED"
|THEN|
#SET unzip [unzip]U
#SET accel [accel]U
#SET lib [lib]U
|ELSE|
#SET licensed LICENSED
#SET options [options], define [licensed]
]
[#IF nocrypt '=' "NOCRYPT"
|THEN|
|ELSE|
#SET crypt USE_CRYPT
#SET options [options], define [crypt]
]
[#IF deflate64 '=' "NODEFLATE64"
|THEN|
#SET options [options], define NO_DEFLATE64
]
[#IF [#EMPTYV fileset] |THEN| #SET fileset *C]
#OUTPUT Files to compile: [fileset]
#OUTPUT Pointer Model : [model]
#OUTPUT Memory Model : [memory]
#OUTPUT C Library : [clib]
#OUTPUT Axcel Object : [accel]
#OUTPUT Run Object : [unzip]
#OUTPUT Library Object : [lib]
#OUTPUT Compile Options : [options]
#OUTPUT
#SET file [#FILENAMES /MAXIMUM 1/ [fileset]]
[#LOOP |while| NOT [#EMPTYV file]
|DO|
#SETV prev file
CC [file] $T.#UNZIP [options]
[#IF [tacl^completioncode] > 1 |THEN| #set OK 0 ]
#SET file [#FILENAMES /MAXIMUM 1, PREVIOUS [prev]/ [fileset]]
]
[#IF OK |THEN|
BBUNZIPLIB
[#IF [tacl^completioncode] > 0 |THEN| #SET OK 0]
]
#PUSH #PROCESSFILESECURITY
VOLUME ,"NUNU"
[#IF OK |THEN|
BBUNZIP [unzip] [clib]
[#IF [tacl^completioncode] > 0 |THEN| #SET OK 0]
]
[#IF OK |THEN|
secure^file [accel] [object^security] [object^owner]
accel^file [unzip] [accel]
[#IF [tacl^completioncode] > 0 |THEN| #SET OK 0]
]
[#IF OK
|THEN| #OUTPUT Successfully produced Accelerated Object [accel]
secure^file [accel] [object^security] [object^owner]
[#IF [#INTERACTIVE] |THEN|
[#IF licensed '=' "LICENSED" |THEN|
#OUTPUT [accel] will not run without being LICENSED
[#IF [#FILEINFO /LICENSED/ [accel]]
|THEN|
#OUTPUT [accel] already LICENSED
|ELSE|
[#IF [#MATCH Y* [#INPUT [accel] License [accel] ?]] |THEN|
fup^license [accel]
]
]
]
]
|ELSE| #OUTPUT Failed to produce Accelerated Object [accel]
]
#OUTPUT Finished
#UNFRAME