Subject: Re: [sv-cc] Comments on Michael's documents
From: Kevin Cameron (Kevin.Cameron@nsc.com)
Date: Tue Mar 04 2003 - 09:52:46 PST
Michael Rohleder wrote:
> Kevin,
>
> thanks for the feedback. See interspersed comments.
>
> -Michael
>
> Kevin Cameron wrote:
>
> > Michael Rohleder wrote:
> >> Francoise Martinolle wrote:
> >> > - no priority should be defined between bootstrap files and straight shared library files names
> >>
> >> Why?
> >
> > If you are doing dynamic loading you are likely to run into order dependence. The bootstrap files should
> > be able to support that - you need to add dependency rules.
>
> The order of loading the libraries defined within a bootstrap file is defined. This should solve this problem. I don't see a reason for complicating the syntax by introducing dependency rules.
Not knowing the dependencies will probably force users into frequently rewriting the bootstrap files or
loading more libraries than necessary.
The NSC DV environment has a file that linearly lists .so files to be loaded, it was different for most tests and
is a real headache to maintain.
> > The bootstrap files should also support the use of (environment) variables so that they are portable. E.g. $SV_SYSLIB could be set
> > by the SV compiler for vendor libraries.
>
> I actually like this proposal, but see also some possible problems here (what happen's if the environment variable is not defined, we just recently scrubbed the environment variables due to possible side effects, ...). But in this late stage I am very hesitant to change anything, suggest to delay this discussion for 3.2.
Gmake has an "ifdef"/"ifeq" syntax for handling the testing of variables.
> > Being able to source other files would also be useful. I would suggest using a subset of [g]make syntax for the bootstrap files so
> > that the extra functionality is supported and the definitions are re-usable.
>
> Although I understand where you are coming from, I think this would be a significant add-on and complicate things too much.
I don't think what you have proposed is sufficiently powerful to be generally useful, I'd prefer to leave it
out of the standard until it actually solves more problems.
NB: Adding the "make" command execution syntax gives you the ability to do all the dependency/build
control that you originally asked for. Psuedo commands can be added to support SV compiles (since
we aren't doing incremental compile), e.g.:
$(SV_SIMULATION):: my.sv-pl
script.pl < my.sv-pl >my.sv
$(SV_COMPILE) my.sv
- SV_* variables are recognised by the SV compiler as special targets and commands that it handles
internally.
> > I don't see why "#!SV_LIBRARIES" is required - 'SV_LIBRARIES' is not an interpreter, and the context
> > is not ambiguous.
>
> Already answered in an earlier email.
Which email?
Regards,
Kev.
-- National Semiconductor, Tel: (408) 721 3251 2900 Semiconductor Drive, Mail Stop D3-500, Santa Clara, CA 95052-8090
This archive was generated by hypermail 2b28 : Tue Mar 04 2003 - 09:52:45 PST