Looks reasonable.
Yes, we want to add this flag to build.xml for the lfc target.
It should be able to be always on, and just ignored by other runtimes
for now.
While you are in there, you could add the cases for swf9 and adjust
the output path appropriately, to be (something like) LFCswf9*.swc.
[Compare to how the dhtml lfc's are named.]
Henry and I discussed that when the flag is off, it is your clue that
you are making an app that should be linked against the lfc.swc.
On 2008-01-04, at 15:58 EST, Donald Anderson wrote:
Change 20080104-dda-o by [EMAIL PROTECTED] on 2008-01-04 15:01:54 EST
in /Users/dda/laszlo/src/svn/openlaszlo/branches/devildog
for http://svn.openlaszlo.org/openlaszlo/branches/devildog
Summary: SWF9: Added buildSharedLibrary option
New Features: none
Bugs Fixed: LPP-5234
Technical Reviewer: ptw (pending)
QA Reviewer: hminsky (pending)
Doc Reviewer: (pending)
Documentation: none
Release Notes: none
Details:
- Added --option buildSharedLibrary option, which does the compile
step, but
not the final (application) link step for SWF9. This lets us
build LFC9.lzl
As part of the compile step for the shared library, we do not
include
the reference to the shared library (which is normally part of the
compile step).
- As before, with buildSharedLibrary option is NOT set, the
application 'top level'
code is put into DefaultApplication, which inherits from
LzApplication.
Now, with buildSharedLirary set to true, any 'top level' code is put
into the LzApplication class, which does not extend anything.
This should allow us to build a complete system, including
creating appliations,
without our current (handbuilt) bootstrap LFC9.swc.
- Perhaps in the future we'll rename LzAppliation to be
LfcApplication or something else,
I left a TODO in for that.
- Some small rearrangement of static final variables to be more
sensible.
Tests:
To test, made the following addition to WEB-INF/lps/lfc:
if [ "$runtime" == "dhtml" ]; then
suffix="js"
fi
+if [ "$runtime" == "swf9" ]; then
+ options="${options} --option buildSharedLibrary=true"
+fi
ant -Dlfc.output=${output:-LFC${runtime#swf}.${suffix:-"lzl"}} -
Dlfc.runtime=${runtime} -Dlfc.source=LaszloLibrary.lzs \
-Dlfc.options="${options}" lfc
Then, when running buildlfc --runtime=swf9, this produces a LFC9.lzl .
This change to buildlfc is not included with this review because it
isn't quite right-
I expect the knowledge of how to build a SWF9 lfc should be in
build.xml.
Also, the output file is LFC9.lzl by default - in order for it to be
useful to link
applications, it needs to be named with .swc extension. The link step
is expecting the name 'LFC9.swc'
Files:
M WEB-INF/lps/server/src/org/openlaszlo/sc/SWF9Generator.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/Compiler.java
M WEB-INF/lps/server/src/org/openlaszlo/sc/TranslationUnit.java
Changeset: http://svn.openlaszlo.org/openlaszlo/patches/20080104-dda-o.tar
--
Don Anderson
Java/C/C++, Berkeley DB, systems consultant
voice: 617-547-7881
email: [EMAIL PROTECTED]
www: http://www.ddanderson.com