Running two ABC files which have inter dependencies

Edwin Smith edwsmith at adobe.com
Mon Jan 21 05:53:28 PST 2008


First and foremost, the abc format is open and so it's possible (and
encouraged) to write a utility to merge abc files together.  Tamarin
contains an abcdump utility that is an example of reading the ABC
format.  ESC is an example of writing to the ABC format.   The avmplus
shell simply executes the abc's you give it in the order you give them.
When ABC sections appear in a SWF, Flash has a similar model: each ABC
section has 0 or 1 entry points which are initialized in the order they
appear in the SWF, and everything else is initialized in dependency
order.

 

asc.jar, which contains the AS3 compiler, also contains utilities for
reading, writing, optimizing, and merging abc files.  Flex SDK, which
includes asc.jar, also contains utilities for reading, writing, merging,
and optimizing SWF files, which execute in the Flash player.  The ABC
utilities are currently only used by Flex, but they could be wrapped for
standalone use.  The Flex SDK is on its way to being open sourced in
early 2008, once that happens we would welcome contributors that are
interested in creating commandline tools for working with ABC's.

 

Ed

 

From: tamarin-devel-bounces at mozilla.org
[mailto:tamarin-devel-bounces at mozilla.org] On Behalf Of Mark Hammond
Sent: Monday, January 21, 2008 7:53 AM
To: 'sandeep akula'; tamarin-devel at mozilla.org
Cc: vinod_m1 at yahoo.co.uk
Subject: RE: Running two ABC files which have inter dependencies

 

As far as I know, this is not possible.  esc, for example, "solves" this
by using .sh scripts to execute the programs, where any important
ordering has already been determined by the author of the .sh script.
While inconvenient, I don't see any real-world problems presented by the
lack of dependency tracking (for example, axscript defines an array of
.abc files, cloned from the .sh scripts, which are loaded in the order
the filenames appear in the c++ source).

 

However, the lack of *bundling* of .abc files is an issue - where the
question is how to bundle .abc files into a final .dll/.exe file
(apologies for the windows terminology, but you get the idea) - but even
then, I suspect the *order* of the loading will still be under a
person's control.  Insights into how the flash player deals with this
are obviously welcome ;)

 

Of  course, I could be wildly off-base, but these are the relevant
considerations I see for ScreamingMonkey...

 

Cheers,

 

Mark.

 

From: tamarin-devel-bounces at mozilla.org
[mailto:tamarin-devel-bounces at mozilla.org] On Behalf Of sandeep akula
Sent: Monday, 21 January 2008 8:22 PM
To: tamarin-devel at mozilla.org
Cc: vinod_m1 at yahoo.co.uk
Subject: Running two ABC files which have inter dependencies

 

I have two ABC files in which one ABC file is importing some class,
which is in another ABC file.

I don't know the exact order of dependencies. So, I don't know the exact
order in which I have to pass them to avmplus.exe. 

If I don't give these files to avmplus.exe in correct order, then I am
getting error like "Variable 'imported class' is not defined".

Is there any way to run these files with out knowing the dependency
order?. 

If there is no direct way to do this, is there anyway to merge these two
ABC files into one ABC to get one pool object.

-- 
Thanks & Regards
Sandeep.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.mozilla.org/pipermail/tamarin-devel/attachments/20080121/c28d5b8c/attachment.html 


More information about the Tamarin-devel mailing list