[comp.sys.amiga.tech] does Lattice 5.04 BLINK have any built in size restrictions ?

deven@rpi.edu (Deven T. Corzine) (03/15/90)

On 13 Mar 90 18:13:55 GMT, grwalter@watfun.waterloo.edu (Fred Walter) said:

grwalter>     BLINK TO p2c FROM lib:cres.o trans.o stuff.o out.o
grwalter> comment.o lex.o dir.o parse1.o parse2.o parse3.o parse4.o
grwalter> decl1.o decl2.o decl3.o decl4.o decl5.o expr1.o expr2.o
grwalter> expr3.o expr4.o expr5.o pexpr1.o pexpr2.o pexpr3.o funcs1.o
grwalter> funcs2.o funcs3.o funcs4.o funcs5.o hpmods.o citmods.o
grwalter> LIBRARY lib:a.lib+lib:lc.lib NODEBUG

grwalter> Blink - Version 5.04
grwalter> Copyright (c) 1988 Lattice, Inc.  All Rights Reserved.

grwalter> Undefined symbols        First Referenced
grwalter> ------------------------ ----------------
grwalter> _DOSBase                 File 'lib:cres.o'
grwalter> Enter a DEFINE value for _DOSBase (default _stub):

Try either linking with lib:amiga.lib also, or add the following line
to some module.  (preferably, the one with main())

struct DosLibrary *DOSBase;

[This should be an extern declaration.  i.e. not in any function.]

Deven
-- 
Deven T. Corzine        Internet:  deven@rpi.edu, shadow@pawl.rpi.edu
Snail:  2151 12th St. Apt. 4, Troy, NY 12180   Phone:  (518) 274-0327
Bitnet:  deven@rpitsmts, userfxb6@rpitsmts     UUCP:  uunet!rpi!deven
Simple things should be simple and complex things should be possible.

grwalter@watfun.waterloo.edu (Fred Walter) (03/15/90)

In article <DEVEN.90Mar14152026@netserv2.rpi.edu> deven@rpi.edu (Deven T. Corzine) writes:
>On 13 Mar 90 18:13:55 GMT, grwalter@watfun.waterloo.edu (Fred Walter) said:
>>     BLINK TO p2c FROM lib:cres.o trans.o stuff.o out.o
>> comment.o lex.o dir.o parse1.o parse2.o parse3.o parse4.o
>> decl1.o decl2.o decl3.o decl4.o decl5.o expr1.o expr2.o
>> expr3.o expr4.o expr5.o pexpr1.o pexpr2.o pexpr3.o funcs1.o
>> funcs2.o funcs3.o funcs4.o funcs5.o hpmods.o citmods.o
>> LIBRARY lib:a.lib+lib:lc.lib NODEBUG
>
>Try either linking with lib:amiga.lib also, or add the following line
>to some module.  (preferably, the one with main())
>
>struct DosLibrary *DOSBase;

The problem was that the line was too long (there is some limit (256 bytes ?) 
in how long a string can be passed to Execute()) so the LIBRARY's weren't
reached.

	fred

grwalter@watmath.uwaterloo.ca                  (Canadian domain)
grwalter@watmath.waterloo.edu                  (US Internet, including CSNET)
grwalter@watmath.waterloo.cdn                  (CDNnet and some European nets)
watmath!grwalter                               (UUCP)

peter@cbmvax.commodore.com (Peter Cherna) (03/16/90)

In article <21930@watdragon.waterloo.edu> grwalter@watfun.waterloo.edu (Fred Walter) writes:
>Does Lattice 5.04 BLINK have any built in size restrictions ? As in, if
>what you are trying to blink together is about 450K, will blink barf ? If
>this is a problem in the 5.04 blink, is it fixed in 5.05 ?
>
>Background: I'm porting p2c (a fairly good pascal-to-c converter) to the
>Amiga. Everything compiles properly, but when I blink, this is what happens :
>
>    BLINK TO p2c FROM lib:cres.o trans.o stuff.o out.o comment.o lex.o
>dir.o parse1.o parse2.o parse3.o parse4.o decl1.o decl2.o decl3.o decl4.o
>decl5.o expr1.o expr2.o expr3.o expr4.o expr5.o pexpr1.o pexpr2.o pexpr3.o
>funcs1.o funcs2.o funcs3.o funcs4.o funcs5.o hpmods.o citmods.o LIBRARY
>lib:a.lib+lib:lc.lib NODEBUG
>
Blink has a "With" option that allows you to supply command params from
a withfile.  So you could say

blink with withfile

where withfile contained all the stuff.  This overcomes a 255-odd character
limit in command lines.   lmk offers some support in that it can generate
withfiles for you, so you can say

blink <with <
FROM $(OFILES)
TO p2c
LIBRARY lib:a.lib+lib:lc.lib
NODEBUG
<

and it would build a file with the stuff in it including macro expansions.

>	Advance Thanx,
>	fred

     Peter
--
     Peter Cherna, Software Engineer, Commodore-Amiga, Inc.
     {uunet|rutgers}!cbmvax!peter    peter@cbmvax.cbm.commodore.com
My opinions do not necessarily represent the opinions of my employer.

deven@rpi.edu (Deven T. Corzine) (03/16/90)

On 15 Mar 90 15:07:01 GMT, grwalter@watfun.waterloo.edu (Fred Walter) said:

Fred> In article <DEVEN.90Mar14152026@netserv2.rpi.edu> deven@rpi.edu (Deven T. Corzine) writes:
>On 13 Mar 90 18:13:55 GMT, grwalter@watfun.waterloo.edu (Fred Walter) said:
>>     BLINK TO p2c FROM lib:cres.o trans.o stuff.o out.o
>> comment.o lex.o dir.o parse1.o parse2.o parse3.o parse4.o
>> decl1.o decl2.o decl3.o decl4.o decl5.o expr1.o expr2.o
>> expr3.o expr4.o expr5.o pexpr1.o pexpr2.o pexpr3.o funcs1.o
>> funcs2.o funcs3.o funcs4.o funcs5.o hpmods.o citmods.o
>> LIBRARY lib:a.lib+lib:lc.lib NODEBUG

>Try either linking with lib:amiga.lib also, or add the following line
>to some module.  (preferably, the one with main())

>struct DosLibrary *DOSBase;

Fred> The problem was that the line was too long (there is some limit
Fred> (256 bytes ?)  in how long a string can be passed to Execute())
Fred> so the LIBRARY's weren't reached.

Oh.  [is lib:a.lib amiga.lib?]  Anyway, yes, there is a limit; you
can't have a command line longer than 255 bytes, since it is passed to
the program as a pointer in A0 and a (byte-sized) length in D0.  This
doesn't seem to include the command name, but does include the
trailing newline.  You have several options.  Use shorter filenames,
or you can use Join to concantenate a bunch of the object modules, and
put the resultant file in the lib section, before the first library,
a.lib.  This should work, so long as all the modules in the created
library are referenced by whatever modules you put on the command line
still.

Good luck.

Deven
-- 
Deven T. Corzine        Internet:  deven@rpi.edu, shadow@pawl.rpi.edu
Snail:  2151 12th St. Apt. 4, Troy, NY 12180   Phone:  (518) 274-0327
Bitnet:  deven@rpitsmts, userfxb6@rpitsmts     UUCP:  uunet!rpi!deven
Simple things should be simple and complex things should be possible.

jea@merlin.cvs.rochester.edu (Joanne Albano) (03/19/90)

Is there anyway around the 256 line length restriction?
I guess that using $(MACROS) would not help.


 Joanne Albano, Center for Visual Science     (716) 275-3055
 Room 274 Meliora Hall, Univ. of Rochester, Rochester NY 14627 
 INTERNET: jea@cvs.rochester.edu