hang on, there's a bug in writing out the "includes" attribute in the lzo
library, I just
found when trying to compile webtop lzos. stay tuned for  another updated
changeset...

On Sun, May 23, 2010 at 2:49 PM, Henry Minsky <[email protected]>wrote:

> updated to fix  several bugs
>
> + now handles compiling swf10 lzo's linked against external lzo's.
>
> Change 20100520-hqm-Q by [email protected] on 2010-05-20 01:30:13 EDT
>    in /Users/hqm/openlaszlo/trunk
>    for http://svn.openlaszlo.org/openlaszlo/trunk
>
> Summary: make lzo files include platform-specific library object code
>
> New Features:
>
> Bugs Fixed:
>
> Technical Reviewer: ptw
> QA Reviewer: max
> Doc Reviewer: (pending)
>
> Documentation:
>
> Release Notes:
>
> Overview:
>
> + lzo files are now implemented as zip archives,  and contain optional .swc
> (flash 10) and .js (dhtml) object code files
>
> When targeting swf10 and dhtml, the if the compiler sees the
> platform-specific entry in the lzo file, it will link
> against it directly, rather than compiling the lzs script code block from
> the lzo.
>
> + new comand line arg added to lzc, "--lzolibs". Takes a comma
> separated list of external lzo files to link against when building
> your own lzo library. This will be needed by the swf10 backend when
> resolving externals from other swf-10-binary-compiled lzo libs (like maybe
> the lz components library someday).
>
> Details:
>
> *** utils/FileUtils.java:
>
> makeXMLReaderForFile() modified to understand new zipfile format for lzo
> files. This scans through and returns the generic LZX file portion of
> the lib (as opposed to the optional binary-runtime-specific entries)
>
> *** compiler/ScriptElementCompiler.java:
>
> Check if the lzo has a precompiled object file entry for the target
> runtime, and if the compiler options match,
> and if so, use it instead of the lzs script block.
>
> *** /sc/JavascriptGenerator.java:
>
> Add a ';' to the end of a block of javascript output, if it does not
> already have one
>
>
> *** sc/SWF10Compiler.java:
>
> Don't generate  application framework boilerplate code if we're just
> building a library.
>
> *** sc/SWF9External.java        (revision 16441)
>
> Make compileTranslationUnits() accept optional list of external swc libs to
> link against
>
> *** sc/DHTMLCompiler.java       (revision 16441)
>
> Add hook to allow copying raw byte stream to output, so we can insert
> DHTML-specific precompiled javascript from lzo lib if available.
>
> *** compiler/ObjectWriter.java  (working copy)
>
> added schemaDone() API, called by compiler when the schema has been
> computed (all classes
> have been entered into class map)
>
> *** compiler/DHTMLWriter.java   (working copy)
>
> If an lzo is being used and is contains a fully-compiled DHTML object file,
> append that to
> the compiler output verbatim.
>
> *** compiler/CanvasCompiler.java        (working copy)
> moved code that adds Flash8 LFC to the SWFWriter
>
> *** compiler/LibraryWriter.java (working copy)
> Write out zipfile format archives for lzo libraries.
>
> If runtime targets are specified (e.g., "lzc -c --runtimes=swf10,dhtml"),
> we create ObjectWriters for SWF10 and/or
> DHTML, so that we compile runtime-specific object code and store it in
> entries in the lzo. This will speed up compiling/linking lzo's for
> DHTML and SWF10.
>
> Calls to addScript are forwarded to the runtime-specific ObjectWriters
> if they are present.
>
>
> Tests:
>
> ant lztest
> smokecheck swf10/dhtml
> amazon in dhtml/swf10
>
> test case in test/lzotest: compile the libraries below with these flags
>
>  lzc -c --runtime=swf10,dhtml extclass.lzx
>  lzc -c --runtime=swf10,dhtml libdir/lib1.lzx
>
>  ## test compiling a swf10 lzo which subclasses something from an external
> lzo library
>  lzc -c --runtime=swf10,dhtml --lzolibs extclass.lzo libdir/lib2.lzx
>
>  then compile main app for all runtimes
>  lzc --runtime=swf8 main.lzx
>  lzc --runtime=swf10 main.lzx
>  lzc --runtime=dhtml main.lzx
>
>  also compile via the LPS server
>  http://127.0.0.1:8080/trunk/test/testlzo/main.lzx?lzr=swf10&debug=true
>  http://127.0.0.1:8080/trunk/test/testlzo/main.lzx?lzr=swf10
>
>
>
>
> Files:
>
> A       test/testlzo
> A       test/testlzo/main.lzx
> A       test/testlzo/extclass.lzx
> A       test/testlzo/libdir
> A       test/testlzo/libdir/lib1.lzx
> A       test/testlzo/libdir/lib2.lzx
> M       WEB-INF/lps/server/src/org/openlaszlo/utils/FileUtils.java
> M       WEB-INF/lps/server/src/org/openlaszlo/sc/JavascriptGenerator.java
> M       WEB-INF/lps/server/src/org/openlaszlo/sc/SWF10Compiler.java
> M       WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9External.java
> M       WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9Generator.java
> M       WEB-INF/lps/server/src/org/openlaszlo/sc/DHTMLCompiler.java
> M       WEB-INF/lps/server/src/org/openlaszlo/sc/Compiler.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/ObjectWriter.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/DHTMLWriter.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/CanvasCompiler.java
> M
> WEB-INF/lps/server/src/org/openlaszlo/compiler/ResourceCompiler.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/SWFWriter.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/LibraryWriter.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/FileResolver.java
> M
> WEB-INF/lps/server/src/org/openlaszlo/compiler/CompilationEnvironment.java
> M
> WEB-INF/lps/server/src/org/openlaszlo/compiler/IntermediateWriter.java
> M
> WEB-INF/lps/server/src/org/openlaszlo/compiler/ScriptElementCompiler.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/Compiler.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/Main.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/SWF9Writer.java
> M       WEB-INF/lps/server/src/org/openlaszlo/compiler/Parser.java
>
> Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20100520-hqm-Q.tar
>



-- 
Henry Minsky
Software Architect
[email protected]

Reply via email to