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





Reply via email to