gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] /srv/bzr/gnash/avm2 r9713: make the fl namespace classes


From: rob
Subject: [Gnash-commit] /srv/bzr/gnash/avm2 r9713: make the fl namespace classes also support packages.
Date: Sat, 25 Apr 2009 16:33:03 -0600
User-agent: Bazaar (1.5)

------------------------------------------------------------
revno: 9713
committer: address@hidden
branch nick: avm2
timestamp: Sat 2009-04-25 16:33:03 -0600
message:
  make the fl namespace classes also support packages.
added:
  libcore/asobj3/fl/accessibility/fl_accessibility_pkg.cpp
  libcore/asobj3/fl/accessibility/fl_accessibility_pkg.h
  libcore/asobj3/fl/containers/containers_pkg.cpp
  libcore/asobj3/fl/containers/containers_pkg.h
  libcore/asobj3/fl/controls/controls_pkg.cpp
  libcore/asobj3/fl/controls/controls_pkg.h
  libcore/asobj3/fl/core/core_pkg.cpp
  libcore/asobj3/fl/core/core_pkg.h
  libcore/asobj3/fl/managers/managers_pkg.cpp
  libcore/asobj3/fl/managers/managers_pkg.h
  libcore/asobj3/fl/motion/motion_pkg.cpp
  libcore/asobj3/fl/motion/motion_pkg.h
  libcore/asobj3/fl/transitions/transitions_pkg.cpp
  libcore/asobj3/fl/transitions/transitions_pkg.h
  libcore/asobj3/fl/video/video_pkg.cpp
  libcore/asobj3/fl/video/video_pkg.h
modified:
  libcore/asobj3/Makefile.am
  libcore/asobj3/external/external.am
  libcore/asobj3/fl/accessibility/accessibility.am
  libcore/asobj3/fl/containers/containers.am
  libcore/asobj3/fl/controls/controls.am
  libcore/asobj3/fl/core/core.am
  libcore/asobj3/fl/managers/managers.am
  libcore/asobj3/fl/motion/motion.am
  libcore/asobj3/fl/transitions/transitions.am
  libcore/asobj3/fl/video/video.am
  macros/classes.m4
=== modified file 'libcore/asobj3/Makefile.am'
--- a/libcore/asobj3/Makefile.am        2009-04-25 20:56:15 +0000
+++ b/libcore/asobj3/Makefile.am        2009-04-25 22:33:03 +0000
@@ -87,7 +87,7 @@
 # in the source tarball.
 noinst_HEADERS = Object.h
 
-include $(srcdir)/fl/accessibility/accessibility.am
+#include $(srcdir)/fl/accessibility/accessibility.am
 include $(srcdir)/fl/containers/containers.am
 include $(srcdir)/fl/controls/controls.am
 include $(srcdir)/fl/core/core.am

=== modified file 'libcore/asobj3/external/external.am'
--- a/libcore/asobj3/external/external.am       2009-04-25 20:56:15 +0000
+++ b/libcore/asobj3/external/external.am       2009-04-25 22:33:03 +0000
@@ -34,7 +34,7 @@
 # functions for the classes that are configured for this build, as
 # that could be a subset of the entire class library for this namespace.
 externalclasses.h: Makefile
-       -echo "Generating header file for external classes..."
+       address@hidden "Generating header file for external classes..."
        address@hidden; \
        $(RM) $${header}; \
        echo "// Generated by Makefile, don't hand edit!" > $${header}; \

=== modified file 'libcore/asobj3/fl/accessibility/accessibility.am'
--- a/libcore/asobj3/fl/accessibility/accessibility.am  2009-04-25 20:56:15 
+0000
+++ b/libcore/asobj3/fl/accessibility/accessibility.am  2009-04-25 22:33:03 
+0000
@@ -19,8 +19,8 @@
 
 AM_CPPFLAGS += -I$(FL_ACCESSIBILITYdir)
 
-FL_ACCESSIBILITY_SOURCES =
-FL_ACCESSIBILITY_HEADERS =
+FL_ACCESSIBILITY_SOURCES = $(FL_ACCESSIBILITYdir)/fl_accessibility_pkg.cpp
+FL_ACCESSIBILITY_HEADERS = $(FL_ACCESSIBILITYdir)/fk_accessibility_pkg.h
 
 if BUILD_BUTTONACCIMPL_AS3
 FL_ACCESSIBILITY_SOURCES += $(FL_ACCESSIBILITYdir)/ButtonAccImpl_as3.cpp
@@ -74,4 +74,29 @@
 
 
 libgnashas3fl_la_SOURCES += $(FL_ACCESSIBILITY_SOURCES)
-noinst_HEADERS +=  $(FL_ACCESSIBILITY_HEADERS)
+noinst_HEADERS +=  $(FL_ACCESSIBILITY_HEADERS) fl_accessibilityclasses.h
+
+# Build a header file that contains a generated array of *_init()
+# functions for the classes that are configured for this build, as
+# that could be a subset of the entire class library for this namespace.
+fl_accessibilityclasses.h: Makefile
+       address@hidden "Generating header file for fl.accessibility classes..."
+       address@hidden; \
+       $(RM) $${header}; \
+       echo "// Generated by Makefile, don't hand edit!" > $${header}; \
+       echo "#ifndef GNASH_ASOBJ3_FL_ACCESSIBILITY_H" >> $${header}; \
+       echo "#define GNASH_ASOBJ3_FL_ACCESSIBILITY_H 1" >> $${header}; \
+       echo "#include <sharedlib.h>" >> $${header}; \
+       echo "static gnash::SharedLib::initentry *asclasses[] = {" >> 
$${header}; \
+       # drop the first node, which is always the top level package ;\
+       sources="`echo $(ACCESSIBILITY_SOURCES) | cut -d ' ' -f 2-`"; \
+       for i in $${sources}; do \
+         item=`basename $$i | sed -e 's:\_as3.cpp::'`; \
+         lowname="`echo $${item} | tr '[A-Z]' '[a-z]'`"; \
+         echo "        gnash::$${lowname}_class_init,"  >> $${header}; \
+       done; \
+       echo '  0' >> $${header}; \
+       echo '};' >> $${header}; \
+       echo "#endif // end of GNASH_ASOBJ3_FL_CCESSIBILITY_H" >> $${header};
+
+BUILT_SOURCES += fl_accessibilityclasses.h

=== added file 'libcore/asobj3/fl/accessibility/fl_accessibility_pkg.cpp'
--- a/libcore/asobj3/fl/accessibility/fl_accessibility_pkg.cpp  1970-01-01 
00:00:00 +0000
+++ b/libcore/asobj3/fl/accessibility/fl_accessibility_pkg.cpp  2009-04-25 
22:33:03 +0000
@@ -0,0 +1,69 @@
+// desktop_pkg.cpp:  ActionScript "flash.desktop" package, for Gnash.
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+#include "Object.h" // for getObjectInterface
+#include "as_object.h"
+#include "string_table.h"
+#include "VM.h"
+#include "MovieClip.h"
+
+#include "AccImpl_as3.h"
+#include "ButtonAccImpl_as3.h"
+#include "CheckBoxAccImpl_as3.h"
+#include "ComboBoxAccImpl_as3.h"
+#include "DataGridAccImpl_as3.h"
+#include "LabelButtonAccImpl_as3.h"
+#include "ListAccImpl_as3.h"
+#include "RadioButtonAccImpl_as3.h"
+#include "SelectableListAccImpl_as3.h"
+#include "TileListAccImpl_as3.h"
+#include "UIComponentAccImpl_as3.h"
+
+#include "fl_accessibility_pkg.h"
+#include "fl_accessibilityclasses.h"
+
+namespace gnash {
+
+static as_value
+get_flash_accessibility_package(const fn_call& /*fn*/)
+{
+       log_debug("Loading flash.accessibility package");
+       as_object *pkg = new as_object(getObjectInterface());
+
+#if 0        // FIXME: why is asclasses undefined ? Do we have more
+       // than one Accessibility header block ?
+       // Call the [objectname]_init() function for each class.
+       int i = 0;
+       do {
+           asclasses[i](*pkg);
+       } while (asclasses[++i] != 0);
+#endif
+
+       return pkg;
+}
+
+void
+flash_accessibility_package_init(as_object& where)
+{
+       string_table& st = where.getVM().getStringTable();
+       where.init_destructive_property(st.find("accessibility"), 
get_flash_accessibility_package);
+}
+
+
+} // end of gnash namespace

=== added file 'libcore/asobj3/fl/accessibility/fl_accessibility_pkg.h'
--- a/libcore/asobj3/fl/accessibility/fl_accessibility_pkg.h    1970-01-01 
00:00:00 +0000
+++ b/libcore/asobj3/fl/accessibility/fl_accessibility_pkg.h    2009-04-25 
22:33:03 +0000
@@ -0,0 +1,31 @@
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+#ifndef FLASH_FL_ACCESSIBILITY_PACKAGE_H
+#define FLASH_FL_ACCESSIBILITY_PACKAGE_H
+
+namespace gnash {
+
+class as_object;
+
+void flash_accessibility_package_init(as_object& pkg);
+
+} // end of gnash namespace
+
+// __FLASH_FL_ACCESSIBILITY_PACKAGE_H__
+#endif
+

=== modified file 'libcore/asobj3/fl/containers/containers.am'
--- a/libcore/asobj3/fl/containers/containers.am        2009-04-25 20:56:15 
+0000
+++ b/libcore/asobj3/fl/containers/containers.am        2009-04-25 22:33:03 
+0000
@@ -19,8 +19,8 @@
 
 AM_CPPFLAGS += -I$(CONTAINERSdir)
 
-CONTAINERS_SOURCES =
-CONTAINERS_HEADERS =
+CONTAINERS_SOURCES = $(CONTAINERSdir)/containers_pkg.cpp
+CONTAINERS_HEADERS = $(CONTAINERSdir)/containers_pkg.h
 
 if BUILD_BASESCROLLPANE_AS3
 CONTAINERS_SOURCES += $(CONTAINERSdir)/BaseScrollPane_as3.cpp
@@ -38,4 +38,29 @@
 endif
 
 libgnashas3fl_la_SOURCES += $(CONTAINERS_SOURCES)
-noinst_HEADERS +=  $(CONTAINERS_HEADERS)
+noinst_HEADERS +=  $(FL_CONTAINERS_HEADERS) containersclasses.h
+
+# Build a header file that contains a generated array of *_init()
+# functions for the classes that are configured for this build, as
+# that could be a subset of the entire class library for this namespace.
+containersclasses.h: Makefile
+       address@hidden "Generating header file for fl.containers classes..."
+       address@hidden; \
+       $(RM) $${header}; \
+       echo "// Generated by Makefile, don't hand edit!" > $${header}; \
+       echo "#ifndef GNASH_ASOBJ3_FL_CONTAINERS_H" >> $${header}; \
+       echo "#define GNASH_ASOBJ3_FL_CONTAINERS_H 1" >> $${header}; \
+       echo "#include <sharedlib.h>" >> $${header}; \
+       echo "static gnash::SharedLib::initentry *asclasses[] = {" >> 
$${header}; \
+       # drop the first node, which is always the top level package ;\
+       sources="`echo $(CONTAINERS_SOURCES) | cut -d ' ' -f 2-`"; \
+       for i in $${sources}; do \
+         item=`basename $$i | sed -e 's:\_as3.cpp::'`; \
+         lowname="`echo $${item} | tr '[A-Z]' '[a-z]'`"; \
+         echo "        gnash::$${lowname}_class_init,"  >> $${header}; \
+       done; \
+       echo '  0' >> $${header}; \
+       echo '};' >> $${header}; \
+       echo "#endif // end of GNASH_ASOBJ3_FL_CCESSIBILITY_H" >> $${header};
+
+BUILT_SOURCES += containersclasses.h

=== added file 'libcore/asobj3/fl/containers/containers_pkg.cpp'
--- a/libcore/asobj3/fl/containers/containers_pkg.cpp   1970-01-01 00:00:00 
+0000
+++ b/libcore/asobj3/fl/containers/containers_pkg.cpp   2009-04-25 22:33:03 
+0000
@@ -0,0 +1,58 @@
+// containers_pkg.cpp:  ActionScript "flash.containers" package, for Gnash.
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+#include "Object.h" // for getObjectInterface
+#include "as_object.h"
+#include "string_table.h"
+#include "VM.h"
+#include "MovieClip.h"
+
+#include "BaseScrollPane_as3.h"
+#include "ScrollPane_as3.h"
+#include "UILoader_as3.h"
+
+#include "containers_pkg.h"
+#include "containersclasses.h"
+
+namespace gnash {
+
+static as_value
+get_flash_containers_package(const fn_call& /*fn*/)
+{
+       log_debug("Loading flash.containers package");
+       as_object *pkg = new as_object(getObjectInterface());
+
+       // Call the [objectname]_init() function for each class.
+       int i = 0;
+       do {
+           asclasses[i](*pkg);
+       } while (asclasses[++i] != 0);
+
+       return pkg;
+}
+
+void
+flash_containers_package_init(as_object& where)
+{
+       string_table& st = where.getVM().getStringTable();
+       where.init_destructive_property(st.find("containers"), 
get_flash_containers_package);
+}
+
+
+} // end of gnash namespace

=== added file 'libcore/asobj3/fl/containers/containers_pkg.h'
--- a/libcore/asobj3/fl/containers/containers_pkg.h     1970-01-01 00:00:00 
+0000
+++ b/libcore/asobj3/fl/containers/containers_pkg.h     2009-04-25 22:33:03 
+0000
@@ -0,0 +1,31 @@
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+#ifndef FLASH_FL_CONTAINERS_PACKAGE_H
+#define FLASH_FL_CONTAINERS_PACKAGE_H
+
+namespace gnash {
+
+class as_object;
+
+void flash_containers_package_init(as_object& pkg);
+
+} // end of gnash namespace
+
+// __FLASH_FL_CONTAINERS_PACKAGE_H__
+#endif
+

=== modified file 'libcore/asobj3/fl/controls/controls.am'
--- a/libcore/asobj3/fl/controls/controls.am    2009-04-25 20:56:15 +0000
+++ b/libcore/asobj3/fl/controls/controls.am    2009-04-25 22:33:03 +0000
@@ -19,8 +19,8 @@
 
 AM_CPPFLAGS += -I$(CONTROLSdir)
 
-CONTROLS_SOURCES =
-CONTROLS_HEADERS =
+CONTROLS_SOURCES = $(CONTROLSdir)/controls_pkg.cpp
+CONTROLS_HEADERS = $(CONTROLSdir)/controls_pkg.h
 
 if BUILD_BASEBUTTON_AS3
 CONTROLS_SOURCES += $(CONTROLSdir)/BaseButton_as3.cpp
@@ -153,4 +153,29 @@
 endif
 
 libgnashas3fl_la_SOURCES += $(CONTROLS_SOURCES)
-noinst_HEADERS +=  $(CONTROLS_HEADERS)
+noinst_HEADERS +=  $(FL_CONTROLS_HEADERS) controlsclasses.h
+
+# Build a header file that contains a generated array of *_init()
+# functions for the classes that are configured for this build, as
+# that could be a subset of the entire class library for this namespace.
+controlsclasses.h: Makefile
+       address@hidden "Generating header file for fl.controls classes..."
+       address@hidden; \
+       $(RM) $${header}; \
+       echo "// Generated by Makefile, don't hand edit!" > $${header}; \
+       echo "#ifndef GNASH_ASOBJ3_FL_CONTROLS_H" >> $${header}; \
+       echo "#define GNASH_ASOBJ3_FL_CONTROLS_H 1" >> $${header}; \
+       echo "#include <sharedlib.h>" >> $${header}; \
+       echo "static gnash::SharedLib::initentry *asclasses[] = {" >> 
$${header}; \
+       # drop the first node, which is always the top level package ;\
+       sources="`echo $(CONTROLS_SOURCES) | cut -d ' ' -f 2-`"; \
+       for i in $${sources}; do \
+         item=`basename $$i | sed -e 's:\_as3.cpp::'`; \
+         lowname="`echo $${item} | tr '[A-Z]' '[a-z]'`"; \
+         echo "        gnash::$${lowname}_class_init,"  >> $${header}; \
+       done; \
+       echo '  0' >> $${header}; \
+       echo '};' >> $${header}; \
+       echo "#endif // end of GNASH_ASOBJ3_FL_CCESSIBILITY_H" >> $${header};
+
+BUILT_SOURCES += controlsclasses.h

=== added file 'libcore/asobj3/fl/controls/controls_pkg.cpp'
--- a/libcore/asobj3/fl/controls/controls_pkg.cpp       1970-01-01 00:00:00 
+0000
+++ b/libcore/asobj3/fl/controls/controls_pkg.cpp       2009-04-25 22:33:03 
+0000
@@ -0,0 +1,81 @@
+// controls_pkg.cpp:  ActionScript "flash.controls" package, for Gnash.
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+#include "Object.h" // for getObjectInterface
+#include "as_object.h"
+#include "string_table.h"
+#include "VM.h"
+#include "MovieClip.h"
+
+#include "BaseButton_as3.h"
+#include "ButtonLabelPlacement_as3.h"
+#include "Button_as3.h"
+#include "CheckBox_as3.h"
+#include "ColorPicker_as3.h"
+#include "ComboBox_as3.h"
+#include "DataGrid_as3.h"
+#include "LabelButton_as3.h"
+#include "Label_as3.h"
+#include "List_as3.h"
+#include "NumericStepper_as3.h"
+#include "ProgressBarDirection_as3.h"
+#include "ProgressBarMode_as3.h"
+#include "ProgressBar_as3.h"
+#include "RadioButtonGroup_as3.h"
+#include "RadioButton_as3.h"
+#include "ScrollBarDirection_as3.h"
+#include "ScrollBar_as3.h"
+#include "ScrollPolicy_as3.h"
+#include "SelectableList_as3.h"
+#include "SliderDirection_as3.h"
+#include "Slider_as3.h"
+#include "TextArea_as3.h"
+#include "TextInput_as3.h"
+#include "TileList_as3.h"
+#include "UIScrollBar_as3.h"
+
+#include "controls_pkg.h"
+#include "controlsclasses.h"
+
+namespace gnash {
+
+static as_value
+get_flash_controls_package(const fn_call& /*fn*/)
+{
+       log_debug("Loading flash.controls package");
+       as_object *pkg = new as_object(getObjectInterface());
+
+       // Call the [objectname]_init() function for each class.
+       int i = 0;
+       do {
+           asclasses[i](*pkg);
+       } while (asclasses[++i] != 0);
+
+       return pkg;
+}
+
+void
+flash_controls_package_init(as_object& where)
+{
+       string_table& st = where.getVM().getStringTable();
+       where.init_destructive_property(st.find("controls"), 
get_flash_controls_package);
+}
+
+
+} // end of gnash namespace

=== added file 'libcore/asobj3/fl/controls/controls_pkg.h'
--- a/libcore/asobj3/fl/controls/controls_pkg.h 1970-01-01 00:00:00 +0000
+++ b/libcore/asobj3/fl/controls/controls_pkg.h 2009-04-25 22:33:03 +0000
@@ -0,0 +1,31 @@
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+#ifndef FLASH_FL_CONTROLS_PACKAGE_H
+#define FLASH_FL_CONTROLS_PACKAGE_H
+
+namespace gnash {
+
+class as_object;
+
+void flash_controls_package_init(as_object& pkg);
+
+} // end of gnash namespace
+
+// __FLASH_FL_CONTROLS_PACKAGE_H__
+#endif
+

=== modified file 'libcore/asobj3/fl/core/core.am'
--- a/libcore/asobj3/fl/core/core.am    2009-04-25 20:56:15 +0000
+++ b/libcore/asobj3/fl/core/core.am    2009-04-25 22:33:03 +0000
@@ -19,8 +19,8 @@
 
 AM_CPPFLAGS += -I$(COREdir)
 
-CORE_SOURCES =
-CORE_HEADERS =
+CORE_SOURCES = $(COREdir)/core_pkg.cpp
+CORE_HEADERS = $(COREdir)/core_pkg.cpp
 
 if BUILD_INVALIDATIONTYPE_AS3
 CORE_SOURCES += $(COREdir)/InvalidationType_as3.cpp
@@ -33,4 +33,29 @@
 endif
 
 libgnashas3fl_la_SOURCES += $(CORE_SOURCES)
-noinst_HEADERS +=  $(CORE_HEADERS)
+noinst_HEADERS +=  $(FL_CORE_HEADERS) coreclasses.h
+
+# Build a header file that contains a generated array of *_init()
+# functions for the classes that are configured for this build, as
+# that could be a subset of the entire class library for this namespace.
+coreclasses.h: Makefile
+       address@hidden "Generating header file for fl.core classes..."
+       address@hidden; \
+       $(RM) $${header}; \
+       echo "// Generated by Makefile, don't hand edit!" > $${header}; \
+       echo "#ifndef GNASH_ASOBJ3_FL_CORE_H" >> $${header}; \
+       echo "#define GNASH_ASOBJ3_FL_CORE_H 1" >> $${header}; \
+       echo "#include <sharedlib.h>" >> $${header}; \
+       echo "static gnash::SharedLib::initentry *asclasses[] = {" >> 
$${header}; \
+       # drop the first node, which is always the top level package ;\
+       sources="`echo $(CORE_SOURCES) | cut -d ' ' -f 2-`"; \
+       for i in $${sources}; do \
+         item=`basename $$i | sed -e 's:\_as3.cpp::'`; \
+         lowname="`echo $${item} | tr '[A-Z]' '[a-z]'`"; \
+         echo "        gnash::$${lowname}_class_init,"  >> $${header}; \
+       done; \
+       echo '  0' >> $${header}; \
+       echo '};' >> $${header}; \
+       echo "#endif // end of GNASH_ASOBJ3_FL_CCESSIBILITY_H" >> $${header};
+
+BUILT_SOURCES += coreclasses.h

=== added file 'libcore/asobj3/fl/core/core_pkg.cpp'
--- a/libcore/asobj3/fl/core/core_pkg.cpp       1970-01-01 00:00:00 +0000
+++ b/libcore/asobj3/fl/core/core_pkg.cpp       2009-04-25 22:33:03 +0000
@@ -0,0 +1,57 @@
+// core_pkg.cpp:  ActionScript "flash.core" package, for Gnash.
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+#include "Object.h" // for getObjectInterface
+#include "as_object.h"
+#include "string_table.h"
+#include "VM.h"
+#include "MovieClip.h"
+
+#include "InvalidationType_as3.h"
+#include "UIComponent_as3.h"
+
+#include "core_pkg.h"
+#include "coreclasses.h"
+
+namespace gnash {
+
+static as_value
+get_flash_core_package(const fn_call& /*fn*/)
+{
+       log_debug("Loading flash.core package");
+       as_object *pkg = new as_object(getObjectInterface());
+
+       // Call the [objectname]_init() function for each class.
+       int i = 0;
+       do {
+           asclasses[i](*pkg);
+       } while (asclasses[++i] != 0);
+
+       return pkg;
+}
+
+void
+flash_core_package_init(as_object& where)
+{
+       string_table& st = where.getVM().getStringTable();
+       where.init_destructive_property(st.find("core"), 
get_flash_core_package);
+}
+
+
+} // end of gnash namespace

=== added file 'libcore/asobj3/fl/core/core_pkg.h'
--- a/libcore/asobj3/fl/core/core_pkg.h 1970-01-01 00:00:00 +0000
+++ b/libcore/asobj3/fl/core/core_pkg.h 2009-04-25 22:33:03 +0000
@@ -0,0 +1,31 @@
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+#ifndef FLASH_FL_CORE_PACKAGE_H
+#define FLASH_FL_CORE_PACKAGE_H
+
+namespace gnash {
+
+class as_object;
+
+void flash_core_package_init(as_object& pkg);
+
+} // end of gnash namespace
+
+// __FLASH_FL_CORE_PACKAGE_H__
+#endif
+

=== modified file 'libcore/asobj3/fl/managers/managers.am'
--- a/libcore/asobj3/fl/managers/managers.am    2009-04-25 20:56:15 +0000
+++ b/libcore/asobj3/fl/managers/managers.am    2009-04-25 22:33:03 +0000
@@ -19,8 +19,8 @@
 
 AM_CPPFLAGS += -I$(MANAGERdir)
 
-MANAGER_SOURCES =
-MANAGER_HEADERS =
+MANAGER_SOURCES = $(MANAGERdir)/managers_pkg.cpp
+MANAGER_HEADERS = $(MANAGERdir)/managers_pkg.h
 
 if BUILD_FOCUSMANAGER_AS3
 MANAGER_SOURCES += $(MANAGERdir)/FocusManager_as3.cpp
@@ -48,4 +48,30 @@
 endif
 
 libgnashas3fl_la_SOURCES += $(MANAGER_SOURCES)
-noinst_HEADERS +=  $(MANAGER_HEADERS)
+noinst_HEADERS +=  $(FL_MANAGERS_HEADERS) managersclasses.h
+
+# Build a header file that contains a generated array of *_init()
+# functions for the classes that are configured for this build, as
+# that could be a subset of the entire class library for this namespace.
+managersclasses.h: Makefile
+       address@hidden "Generating header file for fl.managers classes..."
+       address@hidden; \
+       $(RM) $${header}; \
+       echo "// Generated by Makefile, don't hand edit!" > $${header}; \
+       echo "#ifndef GNASH_ASOBJ3_FL_MANAGERS_H" >> $${header}; \
+       echo "#define GNASH_ASOBJ3_FL_MANAGERS_H 1" >> $${header}; \
+       echo "#include <sharedlib.h>" >> $${header}; \
+       echo "static gnash::SharedLib::initentry *asclasses[] = {" >> 
$${header}; \
+       # drop the first node, which is always the top level package ;\
+       sources="`echo $(MANAGERS_SOURCES) | cut -d ' ' -f 2-`"; \
+       for i in $${sources}; do \
+         item=`basename $$i | sed -e 's:\_as3.cpp::'`; \
+         lowname="`echo $${item} | tr '[A-Z]' '[a-z]'`"; \
+         echo "        gnash::$${lowname}_class_init,"  >> $${header}; \
+       done; \
+       echo '  0' >> $${header}; \
+       echo '};' >> $${header}; \
+       echo "#endif // end of GNASH_ASOBJ3_FL_MANAGERS_H" >> $${header};
+
+BUILT_SOURCES += managersclasses.h
+

=== added file 'libcore/asobj3/fl/managers/managers_pkg.cpp'
--- a/libcore/asobj3/fl/managers/managers_pkg.cpp       1970-01-01 00:00:00 
+0000
+++ b/libcore/asobj3/fl/managers/managers_pkg.cpp       2009-04-25 22:33:03 
+0000
@@ -0,0 +1,60 @@
+// managers_pkg.cpp:  ActionScript "flash.managers" package, for Gnash.
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+#include "Object.h" // for getObjectInterface
+#include "as_object.h"
+#include "string_table.h"
+#include "VM.h"
+#include "MovieClip.h"
+
+#include "FocusManager_as3.h"
+#include "IFocusManagerComponent_as3.h"
+#include "IFocusManagerGroup_as3.h"
+#include "IFocusManager_as3.h"
+#include "StyleManager_as3.h"
+
+#include "managers_pkg.h"
+#include "managersclasses.h"
+
+namespace gnash {
+
+static as_value
+get_flash_managers_package(const fn_call& /*fn*/)
+{
+       log_debug("Loading flash.managers package");
+       as_object *pkg = new as_object(getObjectInterface());
+
+       // Call the [objectname]_init() function for each class.
+       int i = 0;
+       do {
+           asclasses[i](*pkg);
+       } while (asclasses[++i] != 0);
+
+       return pkg;
+}
+
+void
+flash_managers_package_init(as_object& where)
+{
+       string_table& st = where.getVM().getStringTable();
+       where.init_destructive_property(st.find("managers"), 
get_flash_managers_package);
+}
+
+
+} // end of gnash namespace

=== added file 'libcore/asobj3/fl/managers/managers_pkg.h'
--- a/libcore/asobj3/fl/managers/managers_pkg.h 1970-01-01 00:00:00 +0000
+++ b/libcore/asobj3/fl/managers/managers_pkg.h 2009-04-25 22:33:03 +0000
@@ -0,0 +1,31 @@
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+#ifndef FLASH_FL_MANAGERS_PACKAGE_H
+#define FLASH_FL_MANAGERS_PACKAGE_H
+
+namespace gnash {
+
+class as_object;
+
+void flash_managers_package_init(as_object& pkg);
+
+} // end of gnash namespace
+
+// __FLASH_FL_MANAGERS_PACKAGE_H__
+#endif
+

=== modified file 'libcore/asobj3/fl/motion/motion.am'
--- a/libcore/asobj3/fl/motion/motion.am        2009-04-25 20:56:15 +0000
+++ b/libcore/asobj3/fl/motion/motion.am        2009-04-25 22:33:03 +0000
@@ -19,8 +19,8 @@
 
 AM_CPPFLAGS += -I$(MOTIONdir)
 
-MOTION_SOURCES =
-MOTION_HEADERS =
+MOTION_SOURCES = $(MOTIONdir)/motion_pkg.cpp
+MOTION_HEADERS = $(MOTIONdir)/motion_pkg.h
 
 if BUILD_ANIMATOR_AS3
 MOTION_SOURCES += $(MOTIONdir)/Animator_as3.cpp
@@ -98,4 +98,29 @@
 endif
 
 libgnashas3_la_SOURCES += $(MOTION_SOURCES)
-noinst_HEADERS +=  $(MOTION_HEADERS)
+noinst_HEADERS +=  $(FL_MOTION_HEADERS) motionclasses.h
+
+# Build a header file that contains a generated array of *_init()
+# functions for the classes that are configured for this build, as
+# that could be a subset of the entire class library for this namespace.
+motionclasses.h: Makefile
+       address@hidden "Generating header file for fl.motion classes..."
+       address@hidden; \
+       $(RM) $${header}; \
+       echo "// Generated by Makefile, don't hand edit!" > $${header}; \
+       echo "#ifndef GNASH_ASOBJ3_FL_MOTION_H" >> $${header}; \
+       echo "#define GNASH_ASOBJ3_FL_MOTION_H 1" >> $${header}; \
+       echo "#include <sharedlib.h>" >> $${header}; \
+       echo "static gnash::SharedLib::initentry *asclasses[] = {" >> 
$${header}; \
+       # drop the first node, which is always the top level package ;\
+       sources="`echo $(MOTION_SOURCES) | cut -d ' ' -f 2-`"; \
+       for i in $${sources}; do \
+         item=`basename $$i | sed -e 's:\_as3.cpp::'`; \
+         lowname="`echo $${item} | tr '[A-Z]' '[a-z]'`"; \
+         echo "        gnash::$${lowname}_class_init,"  >> $${header}; \
+       done; \
+       echo '  0' >> $${header}; \
+       echo '};' >> $${header}; \
+       echo "#endif // end of GNASH_ASOBJ3_FL_MOTION_H" >> $${header};
+
+BUILT_SOURCES += motionclasses.h

=== added file 'libcore/asobj3/fl/motion/motion_pkg.cpp'
--- a/libcore/asobj3/fl/motion/motion_pkg.cpp   1970-01-01 00:00:00 +0000
+++ b/libcore/asobj3/fl/motion/motion_pkg.cpp   2009-04-25 22:33:03 +0000
@@ -0,0 +1,70 @@
+// motion_pkg.cpp:  ActionScript "flash.motion" package, for Gnash.
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+#include "Object.h" // for getObjectInterface
+#include "as_object.h"
+#include "string_table.h"
+#include "VM.h"
+#include "MovieClip.h"
+
+#include "Animator_as3.h"
+#include "BezierEase_as3.h"
+#include "BezierSegment_as3.h"
+#include "Color_as3.h"
+#include "CustomEase_as3.h"
+#include "FunctionEase_as3.h"
+#include "ITween_as3.h"
+#include "Keyframe_as3.h"
+#include "MatrixTransformer_as3.h"
+#include "MotionEvent_as3.h"
+#include "Motion_as3.h"
+#include "RotateDirection_as3.h"
+#include "SimpleEase_as3.h"
+#include "Source_as3.h"
+#include "Tweenables_as3.h"
+
+#include "motion_pkg.h"
+#include "motionclasses.h"
+
+namespace gnash {
+
+static as_value
+get_flash_motion_package(const fn_call& /*fn*/)
+{
+       log_debug("Loading flash.motion package");
+       as_object *pkg = new as_object(getObjectInterface());
+
+       // Call the [objectname]_init() function for each class.
+       int i = 0;
+       do {
+           asclasses[i](*pkg);
+       } while (asclasses[++i] != 0);
+
+       return pkg;
+}
+
+void
+flash_motion_package_init(as_object& where)
+{
+       string_table& st = where.getVM().getStringTable();
+       where.init_destructive_property(st.find("motion"), 
get_flash_motion_package);
+}
+
+
+} // end of gnash namespace

=== added file 'libcore/asobj3/fl/motion/motion_pkg.h'
--- a/libcore/asobj3/fl/motion/motion_pkg.h     1970-01-01 00:00:00 +0000
+++ b/libcore/asobj3/fl/motion/motion_pkg.h     2009-04-25 22:33:03 +0000
@@ -0,0 +1,31 @@
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+#ifndef FLASH_FL_MOTION_PACKAGE_H
+#define FLASH_FL_MOTION_PACKAGE_H
+
+namespace gnash {
+
+class as_object;
+
+void flash_motion_package_init(as_object& pkg);
+
+} // end of gnash namespace
+
+// __FLASH_FL_MOTION_PACKAGE_H__
+#endif
+

=== modified file 'libcore/asobj3/fl/transitions/transitions.am'
--- a/libcore/asobj3/fl/transitions/transitions.am      2009-04-25 20:56:15 
+0000
+++ b/libcore/asobj3/fl/transitions/transitions.am      2009-04-25 22:33:03 
+0000
@@ -15,11 +15,12 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-AM_CPPFLAGS += $(srcdir)/fl/transitions
-
 TRANSISTIONSdir = $(srcdir)/fl/transitions
-TRANSISTIONS_SOURCES =
-TRANSISTIONS_HEADERS =
+
+AM_CPPFLAGS += -I$(TRANSISTIONSdir)
+
+TRANSISTIONS_SOURCES = $(TRANSISTIONSdir)/transitions_pkg.cpp
+TRANSISTIONS_HEADERS = $(TRANSISTIONSdir)/transitions_pkg.h
 
 if BUILD_BLINDS_AS3
 TRANSISTIONS_SOURCES += $(TRANSISTIONSdir)/Blinds_as3.cpp
@@ -92,5 +93,30 @@
 endif
 
 libgnashas3fl_la_SOURCES += $(TRANSISTIONS_SOURCES)
-noinst_HEADERS +=  $(TRANSISTIONS_HEADERS)
+noinst_HEADERS +=  $(FL_TRANSISTIONS_HEADERS) transistionsclasses.h
+
+# Build a header file that contains a generated array of *_init()
+# functions for the classes that are configured for this build, as
+# that could be a subset of the entire class library for this namespace.
+transistionsclasses.h: Makefile
+       address@hidden "Generating header file for fl.transistions classes..."
+       address@hidden; \
+       $(RM) $${header}; \
+       echo "// Generated by Makefile, don't hand edit!" > $${header}; \
+       echo "#ifndef GNASH_ASOBJ3_FL_TRANSISTIONS_H" >> $${header}; \
+       echo "#define GNASH_ASOBJ3_FL_TRANSISTIONS_H 1" >> $${header}; \
+       echo "#include <sharedlib.h>" >> $${header}; \
+       echo "static gnash::SharedLib::initentry *asclasses[] = {" >> 
$${header}; \
+       # drop the first node, which is always the top level package ;\
+       sources="`echo $(TRANSISTIONS_SOURCES) | cut -d ' ' -f 2-`"; \
+       for i in $${sources}; do \
+         item=`basename $$i | sed -e 's:\_as3.cpp::'`; \
+         lowname="`echo $${item} | tr '[A-Z]' '[a-z]'`"; \
+         echo "        gnash::$${lowname}_class_init,"  >> $${header}; \
+       done; \
+       echo '  0' >> $${header}; \
+       echo '};' >> $${header}; \
+       echo "#endif // end of GNASH_ASOBJ3_FL_CCESSIBILITY_H" >> $${header};
+
+BUILT_SOURCES += transistionsclasses.h
 

=== added file 'libcore/asobj3/fl/transitions/transitions_pkg.cpp'
--- a/libcore/asobj3/fl/transitions/transitions_pkg.cpp 1970-01-01 00:00:00 
+0000
+++ b/libcore/asobj3/fl/transitions/transitions_pkg.cpp 2009-04-25 22:33:03 
+0000
@@ -0,0 +1,69 @@
+// transitions_pkg.cpp:  ActionScript "flash.transitions" package, for Gnash.
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+#include "Object.h" // for getObjectInterface
+#include "as_object.h"
+#include "string_table.h"
+#include "VM.h"
+#include "MovieClip.h"
+
+#include "Blinds_as3.h"
+#include "Fade_as3.h"
+#include "Fly_as3.h"
+#include "Iris_as3.h"
+#include "Photo_as3.h"
+#include "PixelDissolve_as3.h"
+#include "Rotate_as3.h"
+#include "Squeeze_as3.h"
+#include "TransitionManager_as3.h"
+#include "Transition_as3.h"
+#include "TweenEvent_as3.h"
+#include "Tween_as3.h"
+#include "Wipe_as3.h"
+#include "Zoom_as3.h"
+
+#include "transitions_pkg.h"
+#include "transistionsclasses.h"
+
+namespace gnash {
+
+static as_value
+get_flash_transitions_package(const fn_call& /*fn*/)
+{
+       log_debug("Loading flash.transitions package");
+       as_object *pkg = new as_object(getObjectInterface());
+
+       // Call the [objectname]_init() function for each class.
+       int i = 0;
+       do {
+           asclasses[i](*pkg);
+       } while (asclasses[++i] != 0);
+
+       return pkg;
+}
+
+void
+flash_transitions_package_init(as_object& where)
+{
+       string_table& st = where.getVM().getStringTable();
+       where.init_destructive_property(st.find("transitions"), 
get_flash_transitions_package);
+}
+
+
+} // end of gnash namespace

=== added file 'libcore/asobj3/fl/transitions/transitions_pkg.h'
--- a/libcore/asobj3/fl/transitions/transitions_pkg.h   1970-01-01 00:00:00 
+0000
+++ b/libcore/asobj3/fl/transitions/transitions_pkg.h   2009-04-25 22:33:03 
+0000
@@ -0,0 +1,31 @@
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+#ifndef FLASH_FL_TRANSITIONS_PACKAGE_H
+#define FLASH_FL_TRANSITIONS_PACKAGE_H
+
+namespace gnash {
+
+class as_object;
+
+void flash_transitions_package_init(as_object& pkg);
+
+} // end of gnash namespace
+
+// __FLASH_FL_TRANSITIONS_PACKAGE_H__
+#endif
+

=== modified file 'libcore/asobj3/fl/video/video.am'
--- a/libcore/asobj3/fl/video/video.am  2009-04-25 20:56:15 +0000
+++ b/libcore/asobj3/fl/video/video.am  2009-04-25 22:33:03 +0000
@@ -20,8 +20,8 @@
 
 AM_CPPFLAGS += -I$(VIDEOdir)
 
-VIDEO_SOURCES =
-VIDEO_HEADERS =
+VIDEO_SOURCES = $(VIDEOdir)/video_pkg.cpp
+VIDEO_HEADERS = $(VIDEOdir)/video_pkg.h
 
 if BUILD_AUTOLAYOUTEVENT_AS3
 VIDEO_SOURCES += $(VIDEOdir)/AutoLayoutEvent_as3.cpp
@@ -129,4 +129,29 @@
 endif
 
 libgnashas3fl_la_SOURCES += $(VIDEO_SOURCES)
-noinst_HEADERS +=  $(VIDEO_HEADERS)
+noinst_HEADERS +=  $(FL_VIDEO_HEADERS) videoclasses.h
+
+# Build a header file that contains a generated array of *_init()
+# functions for the classes that are configured for this build, as
+# that could be a subset of the entire class library for this namespace.
+videoclasses.h: Makefile
+       address@hidden "Generating header file for fl.video classes..."
+       address@hidden; \
+       $(RM) $${header}; \
+       echo "// Generated by Makefile, don't hand edit!" > $${header}; \
+       echo "#ifndef GNASH_ASOBJ3_FL_VIDEO_H" >> $${header}; \
+       echo "#define GNASH_ASOBJ3_FL_VIDEO_H 1" >> $${header}; \
+       echo "#include <sharedlib.h>" >> $${header}; \
+       echo "static gnash::SharedLib::initentry *asclasses[] = {" >> 
$${header}; \
+       # drop the first node, which is always the top level package ;\
+       sources="`echo $(VIDEO_SOURCES) | cut -d ' ' -f 2-`"; \
+       for i in $${sources}; do \
+         item=`basename $$i | sed -e 's:\_as3.cpp::'`; \
+         lowname="`echo $${item} | tr '[A-Z]' '[a-z]'`"; \
+         echo "        gnash::$${lowname}_class_init,"  >> $${header}; \
+       done; \
+       echo '  0' >> $${header}; \
+       echo '};' >> $${header}; \
+       echo "#endif // end of GNASH_ASOBJ3_FL_CCESSIBILITY_H" >> $${header};
+
+BUILT_SOURCES += videoclasses.h

=== added file 'libcore/asobj3/fl/video/video_pkg.cpp'
--- a/libcore/asobj3/fl/video/video_pkg.cpp     1970-01-01 00:00:00 +0000
+++ b/libcore/asobj3/fl/video/video_pkg.cpp     2009-04-25 22:33:03 +0000
@@ -0,0 +1,76 @@
+// video_pkg.cpp:  ActionScript "flash.video" package, for Gnash.
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+#include "Object.h" // for getObjectInterface
+#include "as_object.h"
+#include "string_table.h"
+#include "VM.h"
+#include "MovieClip.h"
+
+#include "AutoLayoutEvent_as3.h"
+#include "CaptionChangeEvent_as3.h"
+#include "CaptionTargetEvent_as3.h"
+#include "CuePointType_as3.h"
+#include "FLVPlaybackCaptioning_as3.h"
+#include "FLVPlayback_as3.h"
+#include "INCManager_as3.h"
+#include "IVPEvent_as3.h"
+#include "LayoutEvent_as3.h"
+#include "MetadataEvent_as3.h"
+#include "NCManagerNative_as3.h"
+#include "NCManager_as3.h"
+#include "SkinErrorEvent_as3.h"
+#include "SoundEvent_as3.h"
+#include "VideoAlign_as3.h"
+#include "VideoError_as3.h"
+#include "VideoEvent_as3.h"
+#include "VideoPlayer_as3.h"
+#include "VideoProgressEvent_as3.h"
+#include "VideoScaleMode_as3.h"
+#include "VideoState_as3.h"
+
+#include "video_pkg.h"
+#include "videoclasses.h"
+
+namespace gnash {
+
+static as_value
+get_flash_video_package(const fn_call& /*fn*/)
+{
+       log_debug("Loading flash.video package");
+       as_object *pkg = new as_object(getObjectInterface());
+
+       // Call the [objectname]_init() function for each class.
+       int i = 0;
+       do {
+           asclasses[i](*pkg);
+       } while (asclasses[++i] != 0);
+
+       return pkg;
+}
+
+void
+flash_video_package_init(as_object& where)
+{
+       string_table& st = where.getVM().getStringTable();
+       where.init_destructive_property(st.find("video"), 
get_flash_video_package);
+}
+
+
+} // end of gnash namespace

=== added file 'libcore/asobj3/fl/video/video_pkg.h'
--- a/libcore/asobj3/fl/video/video_pkg.h       1970-01-01 00:00:00 +0000
+++ b/libcore/asobj3/fl/video/video_pkg.h       2009-04-25 22:33:03 +0000
@@ -0,0 +1,31 @@
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+#ifndef FLASH_FL_VIDEO_PACKAGE_H
+#define FLASH_FL_VIDEO_PACKAGE_H
+
+namespace gnash {
+
+class as_object;
+
+void flash_video_package_init(as_object& pkg);
+
+} // end of gnash namespace
+
+// __FLASH_FL_VIDEO_PACKAGE_H__
+#endif
+

=== modified file 'macros/classes.m4'
--- a/macros/classes.m4 2009-04-25 20:56:15 +0000
+++ b/macros/classes.m4 2009-04-25 22:33:03 +0000
@@ -57,9 +57,9 @@
 # If you add or delete a class file, you should also edit this list of 
makefile conditionals
 dnl The core classes
 AM_CONDITIONAL(BUILD_UICOMPONENT_AS3, test x"$UIComponent_as3}" = x"yes" -o 
x"${build_all_as3}" = x"yes")
-if test x"$UIComponent_as3}" = x"yes" -o x"${build_all_as3}" = x"yes"; then
-  AC_DEFINE(BUILD_UICOMPONENT_AS3, [], [Build the UICOmponent])
-fi
+dnl if test x"$UIComponent_as3}" = x"yes" -o x"${build_all_as3}" = x"yes"; then
+dnl   AC_DEFINE(BUILD_UICOMPONENT_AS3, [], [Build the UICOmponent])
+dnl fi
 
 AM_CONDITIONAL(BUILD_INVALIDATIONTYPE_AS3, test x"${InvalidationType_as3}" = 
x"yes" -o x"${build_all_as3}" = x"yes")
 
@@ -70,9 +70,6 @@
 
 dnl The security classes
 AM_CONDITIONAL(BUILD_SIGNERTRUSTSETTINGS_AS3, test 
x"${SignerTrustSettings_as3}" = x"yes" -o x"${build_all_as3}" = x"yes")
-if test x"${SignerTrustSettings_as3}" = x"yes" -o x"${build_all_as3}" = x"yes";
-  AC_DEFINE(BUILD_SIGNERTRUSTSETTINGS_AS3, [], [Build the SignerTrustSettings])
-fi
 AM_CONDITIONAL(BUILD_XMLSIGNATUREVALIDATOR_AS3, test 
x"${XMLSignatureValidator_as3}" = x"yes" -o x"${build_all_as3}" = x"yes")
 AM_CONDITIONAL(BUILD_SIGNATURESTATUS_AS3, test x"${SignatureStatus_as3}" = 
x"yes" -o x"${build_all_as3}" = x"yes")
 AM_CONDITIONAL(BUILD_IURIDEREFERENCER_AS3, test x"${IURIDereferencer_as3}" = 
x"yes" -o x"${build_all_as3}" = x"yes")


reply via email to

[Prev in Thread] Current Thread [Next in Thread]