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]
