gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ./ChangeLog ./configure.ac utilities/Make...


From: Rob Savoye
Subject: [Gnash-commit] gnash ./ChangeLog ./configure.ac utilities/Make...
Date: Mon, 06 Mar 2006 01:43:26 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Branch:         
Changes by:     Rob Savoye <address@hidden>     06/03/06 01:43:26

Modified files:
        .              : ChangeLog configure.ac 
        utilities      : Makefile.am 
        macros         : kde.m4 opengl.m4 pthreads.m4 sdl.m4 
        server         : Date.cpp action.cpp network.cpp network.h 
                         shm.cpp shm.h swf.h 
        libbase        : Makefile.am container.cpp container.h 
                         dlmalloc.h utility.h 

Log message:
        * server/Date.cpp: If we don't have gettimeofday, use
        ftime instead.
        * server/shm.h:  Add support for win32 shared memory.
        * server/shm.cpp: Add support for win32 shared memory.
        * server/network.h: Add support to use winsock.
        * server/network.cpp: Add support to use winsock.
        * configure.ac: Add tests for sysconf(), shmget(), shmat(),
        mmap(), gettimeofday(), socket(), CreateFileMapping(), and
        winsock.h. This covers all the differences between mingw builds
        and native unix builds.
        * libbase/container.h: Don't use pthread hack for BSD whcn cross
        compiling with mingw.
        * libbase/utility.h: Don't define windows specific assert()
        replacement when using mingw.
        * libgeometry/kd_tree_dynamic.cp: Include wctype.h and wchar.h to
        shut up mingw.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/ChangeLog.diff?tr1=1.173&tr2=1.174&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/configure.ac.diff?tr1=1.45&tr2=1.46&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/utilities/Makefile.am.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/macros/kde.m4.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/macros/opengl.m4.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/macros/pthreads.m4.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/macros/sdl.m4.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/server/Date.cpp.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/server/action.cpp.diff?tr1=1.54&tr2=1.55&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/server/network.cpp.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/server/network.h.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/server/shm.cpp.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/server/shm.h.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/server/swf.h.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/libbase/Makefile.am.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/libbase/container.cpp.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/libbase/container.h.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/libbase/dlmalloc.h.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/libbase/utility.h.diff?tr1=1.2&tr2=1.3&r1=text&r2=text

Patches:
Index: gnash/ChangeLog
diff -u gnash/ChangeLog:1.173 gnash/ChangeLog:1.174
--- gnash/ChangeLog:1.173       Sun Mar  5 01:57:08 2006
+++ gnash/ChangeLog     Mon Mar  6 01:43:25 2006
@@ -1,3 +1,28 @@
+2006-03-05  Rob Savoye  <address@hidden>
+
+       * server/Date.cpp: If we don't have gettimeofday, use
+       ftime instead.
+       * server/shm.h:  Add support for win32 shared memory.
+       * server/shm.cpp: Add support for win32 shared memory.
+       * server/network.h: Add support to use winsock.
+       * server/network.cpp: Add support to use winsock.
+       * configure.ac: Add tests for sysconf(), shmget(), shmat(),
+       mmap(), gettimeofday(), socket(), CreateFileMapping(), and
+       winsock.h. This covers all the differences between mingw builds
+       and native unix builds.
+       * libbase/container.h: Don't use pthread hack for BSD whcn cross
+       compiling with mingw.
+       * libbase/utility.h: Don't define windows specific assert()
+       replacement when using mingw.
+       * libgeometry/kd_tree_dynamic.cp: Include wctype.h and wchar.h to
+       shut up mingw.
+       
+       * server/action.cpp (gnash): Replace isblank() with testing for
+       space and tab so it compiles with mingw32.
+
+       * macros/kde.m4: Use our zlib tests, not the KDE one because the
+       Gnash test works when cross compiling.
+
 2006-03-04  Rob Savoye  <address@hidden>
 
        * Makefile.am: Always build the plugin now.
Index: gnash/configure.ac
diff -u gnash/configure.ac:1.45 gnash/configure.ac:1.46
--- gnash/configure.ac:1.45     Sun Mar  5 01:57:08 2006
+++ gnash/configure.ac  Mon Mar  6 01:43:25 2006
@@ -160,7 +160,6 @@
 GNASH_PATH_FIREFOX
 AC_PATH_XTRA
 AC_CHECK_HEADERS(dejagnu.h)
-AC_CHECK_HEADERS(stdint.h)
 AC_CHECK_LIB(Xmu, XmuCvtStringToOrientation)
 AC_CHECK_LIB(Xi, XInput_find_display)
 AC_CHECK_LIB(X11, XDisableAccessControl)
@@ -170,7 +169,6 @@
 AC_CHECK_FUNCS(vsnprintf)
 dnl AC_CHECK_FUNCS(finite isfinite)
 
-AC_MSG_CHECKING([for finite])
 AC_CACHE_CHECK([for finite], ac_cv_finite,
  [AC_TRY_LINK([#include <math.h>],
  [double x; int y; y = finite(x);],
@@ -178,13 +176,9 @@
  ac_cv_finite=no
 )])
 if test x"$ac_cv_finite" = x"yes"; then
-  AC_MSG_RESULT(yes)
   AC_DEFINE(HAVE_FINITE, [], [Has finite])
-else
-  AC_MSG_RESULT(no)
 fi
 
-AC_MSG_CHECKING([for isfinite])
 AC_CACHE_CHECK([for isfinite], ac_cv_isfinite,
  [AC_TRY_LINK([#include <math.h>],
  [double x; int y; y = isfinite(x);],
@@ -192,12 +186,19 @@
  ac_cv_isfinite=no
 )])
 if test x"$ac_cv_isfinite" = x"yes"; then
-  AC_MSG_RESULT(yes)
   AC_DEFINE(HAVE_ISFINITE, [], [Has isfinite])
-else
-  AC_MSG_RESULT(no)
 fi
 
+AC_CHECK_FUNCS(sysconf)
+AC_CHECK_FUNCS(shmget)
+AC_CHECK_FUNCS(shmat)
+AC_CHECK_FUNCS(mmap)
+AC_CHECK_FUNCS(gettimeofday)
+dnl Look for Win32 networking stuff
+AC_CHECK_HEADERS(winsock.h)
+AC_CHECK_FUNCS(socket)
+AC_CHECK_FUNCS(CreateFileMappingA)
+
 GNASH_HASHMAP
 dnl AC_CHECK_LIB(c, mremap)
 GNASH_PATH_ZLIB
@@ -576,7 +577,7 @@
     else
       echo "        POSIX Threads flags are: default include path"
     fi
-    echo "        POSIX Threads libs are: $PTHREAD_LIBS"
+    echo "        POSIX Threads lib is: $PTHREAD_LIBS"
   else
     echo "ERROR: No pthread development package installed!"
     nogo=true
Index: gnash/libbase/Makefile.am
diff -u gnash/libbase/Makefile.am:1.14 gnash/libbase/Makefile.am:1.15
--- gnash/libbase/Makefile.am:1.14      Thu Mar  2 17:34:36 2006
+++ gnash/libbase/Makefile.am   Mon Mar  6 01:43:26 2006
@@ -38,10 +38,11 @@
         -I$(top_srcdir)                \
        -I$(top_srcdir)/server  \
        $(PTHREAD_CFLAGS)       \
+        $(OPENGL_CFLAGS)       \
+        $(LIBXML_CFLAGS)       \
         $(PNG_CFLAGS)          \
         $(ZLIB_CFLAGS)         \
-        $(JPEG_CFLAGS)         \
-        $(LIBXML_CFLAGS)
+        $(JPEG_CFLAGS)
 
 libgnashbase_la_SOURCES = \
        config.cpp              \
@@ -99,5 +100,4 @@
        $(MAKE) CXXFLAGS="$(CXXFLAGS) -fmudflap" LDFLAGS="$(LDFLAGS) -lmudflap"
 
 clean-hook:
-       -rm -f core.*
-
+       -rm -f core.* *.obj
Index: gnash/libbase/container.cpp
diff -u gnash/libbase/container.cpp:1.4 gnash/libbase/container.cpp:1.5
--- gnash/libbase/container.cpp:1.4     Thu Mar  2 17:34:36 2006
+++ gnash/libbase/container.cpp Mon Mar  6 01:43:26 2006
@@ -9,10 +9,10 @@
 #include "config.h"
 #endif
 
+#include "container.h"
 #include <stdarg.h>
 #include "utf8.h"
 #include "tu_random.h"
-#include "container.h"
 
 void tu_string::append_wide_char(uint16 c)
 {
Index: gnash/libbase/container.h
diff -u gnash/libbase/container.h:1.9 gnash/libbase/container.h:1.10
--- gnash/libbase/container.h:1.9       Thu Mar  2 17:34:36 2006
+++ gnash/libbase/container.h   Mon Mar  6 01:43:26 2006
@@ -39,12 +39,16 @@
 // corrent paths supplied, this one file barfs with GCC 3.3.3 on
 // NetBSD, so screw it, and just hack it for now. We hope this entire
 // file will be gond soon anyway.
+#ifndef HAVE_WINSOCK_H
 #define _LIB_PTHREAD_ 1
 #define _LIB_PTHREAD_TYPES_H 1
 #include <sys/types.h>
 #include <pthread.h>
+#include <time.h>
+// This screws up MingW
 clock_t clock __P((void));
 size_t strftime __P((char *, size_t, const char *, const struct tm *));
+#endif
 
 //#include "tu_config.h"
 #include "utility.h"
Index: gnash/libbase/dlmalloc.h
diff -u gnash/libbase/dlmalloc.h:1.2 gnash/libbase/dlmalloc.h:1.3
--- gnash/libbase/dlmalloc.h:1.2        Sun Feb 26 15:49:29 2006
+++ gnash/libbase/dlmalloc.h    Mon Mar  6 01:43:26 2006
@@ -29,6 +29,8 @@
 extern "C" {
 #endif
 
+#ifdef USE_DL_MALLOC
+
 #include <stddef.h>   /* for size_t */
 
 // WK macosx doesn't have a malloc.h
@@ -38,8 +40,6 @@
 #include <stdlib.h>    /* tulrich */
 #endif
 
-#ifdef USE_DL_MALLOC
-
 
 #define USE_DL_PREFIX
 
Index: gnash/libbase/utility.h
diff -u gnash/libbase/utility.h:1.2 gnash/libbase/utility.h:1.3
--- gnash/libbase/utility.h:1.2 Sun Feb 26 15:49:30 2006
+++ gnash/libbase/utility.h     Mon Mar  6 01:43:26 2006
@@ -23,9 +23,10 @@
 // On windows, replace ANSI assert with our own, for a less annoying
 // debugging experience.
 //int  tu_testbed_assert_break(const char* filename, int linenum, const char* 
expression);
+#ifndef __MINGW32__
 #undef assert
 #define assert(x)      if (!(x)) { __asm { int 3 } }   // 
tu_testbed_assert_break(__FILE__, __LINE__, #x))
-
+#endif
 #endif // not NDEBUG
 #endif // _WIN32
 
@@ -68,7 +69,6 @@
 #define M_PI 3.141592654
 #endif // M_PI
 
-
 //
 // some misc handy math functions
 //
@@ -79,7 +79,6 @@
 inline int     imin(int a, int b) { if (a < b) return a; else return b; }
 inline float   fmin(float a, float b) { if (a < b) return a; else return b; }
 
-
 inline int     iclamp(int i, int min, int max) {
        assert( min <= max );
        return imax(min, imin(i, max));
Index: gnash/macros/kde.m4
diff -u gnash/macros/kde.m4:1.3 gnash/macros/kde.m4:1.4
--- gnash/macros/kde.m4:1.3     Sun Mar  5 01:57:08 2006
+++ gnash/macros/kde.m4 Mon Mar  6 01:43:25 2006
@@ -2584,42 +2584,9 @@
 AC_DEFUN([AC_FIND_ZLIB],
 [
 AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
-AC_MSG_CHECKING([for libz])
-AC_CACHE_VAL(ac_cv_lib_z,
-[
-kde_save_LIBS="$LIBS"
-LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET"
-kde_save_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
-AC_TRY_LINK(dnl
-[
-#include<zlib.h>
-],
-[
-  char buf[42];
-  gzFile f = (gzFile) 0;
-  /* this would segfault.. but we only link, don't run */
-  (void) gzgets(f, buf, sizeof(buf));
 
-  return (zlibVersion() == ZLIB_VERSION); 
-],
-            eval "ac_cv_lib_z='-lz'",
-            eval "ac_cv_lib_z=no")
-LIBS="$kde_save_LIBS"
-CFLAGS="$kde_save_CFLAGS"
-])dnl
-if test ! "$ac_cv_lib_z" = no; then
-  AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz])
-  LIBZ="$ac_cv_lib_z"
-  AC_MSG_RESULT($ac_cv_lib_z)
-else
-  AC_MSG_ERROR(not found. 
-          Possibly configure picks up an outdated version
-          installed by XFree86. Remove it from your system.
-
-          Check your installation and look into config.log)
-  LIBZ=""
-fi
+GNASH_PATH_ZLIB
+LIBZ=$ZLIB_LIBS
 AC_SUBST(LIBZ)
 ])
 
@@ -4822,8 +4789,7 @@
 
     kde_libs_prefix=`$KDECONFIG --prefix`
     if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
-      AC_MSG_NOTICE([$KDECONFIG --prefix outputed the non existant prefix 
'$kde_libs_prefix' for kdelibs.
-                    This means it has been moved since you installed it.])
+      AC_MSG_NOTICE([$KDECONFIG --prefix outputed the non existant prefix 
'$kde_libs_prefix' for kdelibs.])
     fi
     kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
     kde_libs_suffix=`$KDECONFIG --libsuffix`
Index: gnash/macros/opengl.m4
diff -u gnash/macros/opengl.m4:1.11 gnash/macros/opengl.m4:1.12
--- gnash/macros/opengl.m4:1.11 Sun Feb 26 15:49:30 2006
+++ gnash/macros/opengl.m4      Mon Mar  6 01:43:25 2006
@@ -72,56 +72,60 @@
     fi
 
     dnl Look for the libraries.
-    AC_ARG_WITH(opengl_lib, [  --with-opengl-libraries directory where OpenGL 
libraries are], with_opengl_libraries=${withval})
-    AC_CACHE_VAL(ac_cv_path_opengl_libraries,[
-    if test x"${with_opengl_libraries}" != x ; then
-      if test -f ${with_opengl_libraries}/libGL.a -o -f 
${with_opengl_libraries}/libGL.so; then
-        ac_cv_path_opengl_libraries=`(cd ${with_opengl_libraries}; pwd)`
+    AC_ARG_WITH(opengl_lib, [  --with-opengl-lib directory where OpenGL 
libraries are], with_opengl_lib=${withval})
+    AC_CACHE_VAL(ac_cv_path_opengl_lib,[
+    if test x"${with_opengl_lib}" != x ; then
+      if test -f ${with_opengl_lib}/libGL.a -o -f ${with_opengl_lib}/libGL.so; 
then
+        ac_cv_path_opengl_lib=-L`(cd ${with_opengl_lib}; pwd) -lGL -lGLU`
       else
-        AC_MSG_ERROR([${with_opengl_libraries} directory doesn't contain 
libGL.])
+        if test -f ${with_opengl_lib}/libopengl32.a -o; then
+          ac_cv_path_opengl_lib=-L`(cd ${with_opengl_lib}; pwd) -lopengl32 
-lglu32`
+          AC_MSG_ERROR([${with_opengl_lib} directory doesn't contain libGL.])
+        fi
       fi
     fi
     ])
 
     dnl If the header doesn't exist, there is no point looking for the library.
-    if test x"${ac_cv_path_opengl_libraries}" = x; then
-      AC_CHECK_LIB(GL, glBegin, [ac_cv_path_opengl_libraries=""],[
-        AC_MSG_CHECKING([for libGL library])
-        libslist="${prefix}/lib64 ${prefix}/lib /usr/X11R6/lib /usr/lib64 
/usr/lib /usr/local/lib /opt/lib /usr/pkg/lib .. ../.."
+    if test x"${ac_cv_path_opengl_lib}" = x; then
+      AC_CHECK_LIB(GL, glBegin, [ac_cv_path_opengl_lib="-lGL -lGLU"],[
+        AC_MSG_CHECKING([for OpenGL library])
+        libslist="/usr/i586-mingw32msvc/lib ${prefix}/lib64 ${prefix}/lib 
/usr/X11R6/lib /usr/lib64 /usr/lib /usr/local/lib /opt/lib /usr/pkg/lib .. 
../.."
         for i in $libslist; do
           if test -f $i/libGL.a -o -f $i/libGL.so; then
             if test x"$i" != x"/usr/lib"; then
-              ac_cv_path_opengl_libraries="$i"
-              AC_MSG_RESULT(${ac_cv_path_opengl_libraries})
+              ac_cv_path_opengl_lib="$i"
+#              AC_MSG_RESULT(${ac_cv_path_opengl_lib})
               break
             else
-              ac_cv_path_opengl_libraries=""
-              AC_MSG_RESULT(yes)
+            if test -f $i/libopengl32.a; then
+              ac_cv_path_opengl_lib="-L$i -lopengl32 -lglu32"
+              break
+            fi
+#              AC_MSG_RESULT(yes)
               break
             fi
           fi
         done])
     else
-      if test -f ${ac_cv_path_opengl_libraries}/libGL.a -o -f 
${ac_cv_path_opengl_libraries}/libGL.so; then
-        if test x"${ac_cv_path_opengl_libraries}" != x"/usr/lib"; then
-          ac_cv_path_opengl_libraries="${ac_cv_path_opengl_libraries}"
+      if test -f ${ac_cv_path_opengl_lib}/libGL.a -o -f 
${ac_cv_path_opengl_lib}/libGL.so; then
+        if test x"${ac_cv_path_opengl_lib}" != x"/usr/lib"; then
+          ac_cv_path_opengl_lib="${ac_cv_path_opengl_lib}"
          else
-          ac_cv_path_opengl_libraries=""
+          ac_cv_path_opengl_lib=""
         fi
       fi
     fi
 
-    if test x"${ac_cv_path_opengl_libraries}" != x ; then
-      OPENGL_LIBS="${ac_cv_path_opengl_libraries}"
-    else
-      OPENGL_LIBS=""
-    fi
+     if test x"${ac_cv_path_opengl_libraries}" != x ; then
+      ac_cv_path_opengl_lib="-L${ac_cv_path_opengl_lib} -LGL -lGLU"
+     fi
   fi
 
-  if test x"${ac_cv_path_opengl_libraries}" != x ; then
-      OPENGL_LIBS="-L${ac_cv_path_opengl_libraries} -lGL -lGLU"
+  if test x"${ac_cv_path_opengl_lib}" != x ; then
+      OPENGL_LIBS="${ac_cv_path_opengl_lib}"
   else
-      OPENGL_LIBS="-lGL -lGLU"
+      OPENGL_LIBS=""
   fi
 
   AM_CONDITIONAL(opengl, [test x$opengl = xyes])
Index: gnash/macros/pthreads.m4
diff -u gnash/macros/pthreads.m4:1.6 gnash/macros/pthreads.m4:1.7
--- gnash/macros/pthreads.m4:1.6        Sat Mar  4 16:32:24 2006
+++ gnash/macros/pthreads.m4    Mon Mar  6 01:43:25 2006
@@ -73,7 +73,7 @@
       AC_CACHE_VAL(ac_cv_path_pthread_lib,[
       if test x"${with_pthread_lib}" != x ; then
         if test -f ${with_pthread_lib}/libpthread.a -o -f 
${with_pthread_lib}/libpthread.so; then
-         ac_cv_path_pthread_lib=`(cd ${with_pthread_incl}; pwd)`
+         ac_cv_path_pthread_lib=-L`(cd ${with_pthread_lib}; pwd)`
         else
          AC_MSG_ERROR([${with_pthread_lib} directory doesn't contain Pthread 
library.])
         fi
@@ -88,7 +88,7 @@
           for i in $libslist; do
            if test -f $i/libpthread.a -o -f $i/libpthread.so; then
              if test x"$i" != x"/usr/lib"; then
-               ac_cv_path_pthread_lib="-L$i"
+               ac_cv_path_pthread_lib="-L$i -lpthread"
                 AC_MSG_RESULT(${ac_cv_path_pthread_lib})
                break
               else
Index: gnash/macros/sdl.m4
diff -u gnash/macros/sdl.m4:1.10 gnash/macros/sdl.m4:1.11
--- gnash/macros/sdl.m4:1.10    Sun Feb 26 15:49:30 2006
+++ gnash/macros/sdl.m4 Mon Mar  6 01:43:25 2006
@@ -66,7 +66,7 @@
   AC_CACHE_VAL(ac_cv_path_sdl_lib,[
   if test x"${with_sdl_libs}" != x ; then
     if test -f ${with_sdl_libs}/libSDL.a -o -f ${with_sdl_libs}/libSDL.so; then
-      ac_cv_path_sdl_lib=`(cd ${with_sdl_libs}; pwd)`
+      ac_cv_path_sdl_lib=-L`(cd ${with_sdl_libs}; pwd)` -lSDL
     else
       AC_MSG_ERROR([${with_sdl_libs} directory doesn't contain libsdl.a])
     fi
@@ -151,12 +151,12 @@
   fi
 
   dnl Look for the library
-  AC_ARG_WITH(sdl_mixer_lib, [  --with-sdl_mixer-lib    directory where 
sdl_mixer library is], with_sdl_mixer_lib=${withval})
+  AC_ARG_WITH(sdl_mixer_lib, [  --with-sdl-mixer-lib    directory where 
sdl_mixer library is], with_sdl_mixer_lib=${withval})
   AC_MSG_CHECKING([for sdl_mixer library])
   AC_CACHE_VAL(ac_cv_path_sdl_mixer_lib,[
   if test x"${with_sdl_mixer_libs}" != x ; then
     if test -f ${with_sdl_mixer_libs}/libSDL_mixer.a -o -f 
${with_sdl_mixer_libs}/libSDL_mixer.so -o -f $i/libSDL_mixer-1.2.a -o -f 
$i/libSDL_mixer-1.2.so; then
-      ac_cv_path_sdl_mixer_lib=`(cd ${with_sdl_mixer_libs}; pwd)`
+      ac_cv_path_sdl_mixer_lib=-L`(cd ${with_sdl_mixer_lib}; pwd)` -lSDL_mixer
     else
       AC_MSG_ERROR([${with_sdl_mixer_libs} directory doesn't contain 
libsdl_mixer.a])
     fi
Index: gnash/server/Date.cpp
diff -u gnash/server/Date.cpp:1.4 gnash/server/Date.cpp:1.5
--- gnash/server/Date.cpp:1.4   Mon Feb 13 10:44:12 2006
+++ gnash/server/Date.cpp       Mon Mar  6 01:43:25 2006
@@ -24,6 +24,7 @@
 #include "Date.h"
 #include <time.h>
 #include <sys/time.h>
+#include <sys/timeb.h>
 
 namespace gnash {
 
@@ -249,13 +250,20 @@
     date_obj->set_member("tostring", &date_tostring);
     date_obj->set_member("utc", &date_utc);
 
-    if (fn.nargs == 0)
-    {
+    struct tm *ti;
+    if (fn.nargs == 0) {
+#ifndef HAVE_GETTIMEOFDAY
+        struct timeb tb;
+        
+        ftime (&tb);
+        ti = localtime(&tb.time); 
+#else        
         struct timeval tEnd;
         gettimeofday(&tEnd,NULL);
         date_obj->obj.millisecond = tEnd.tv_usec;
         time_t t = time(&t);
-        struct tm *ti = localtime(&t);
+        ti = localtime(&t);
+#endif
         date_obj->obj.second = ti->tm_sec;
         date_obj->obj.minute = ti->tm_min;
         date_obj->obj.hour = ti->tm_hour;
Index: gnash/server/action.cpp
diff -u gnash/server/action.cpp:1.54 gnash/server/action.cpp:1.55
--- gnash/server/action.cpp:1.54        Wed Mar  1 00:54:43 2006
+++ gnash/server/action.cpp     Mon Mar  6 01:43:25 2006
@@ -1206,7 +1206,7 @@
                bool bNegative;
 
                // Skip leading whitespace
-               while (0 != isblank(input[0]))
+               while ((input[0] == ' ') || (input[0] == 0x9))
                        input++;
 
                if (input[0] == '-')
Index: gnash/server/network.cpp
diff -u gnash/server/network.cpp:1.3 gnash/server/network.cpp:1.4
--- gnash/server/network.cpp:1.3        Sun Feb  5 05:42:02 2006
+++ gnash/server/network.cpp    Mon Mar  6 01:43:25 2006
@@ -28,8 +28,8 @@
 #include "network.h"
 
 #include <sys/types.h>
-#ifdef HAVE_WINSOCK
-# include <WinSock2.h>
+#ifdef HAVE_WINSOCK_H
+# include <winsock2.h>
 # include <windows.h>
 # include <fcntl.h>
 # include <sys/stat.h>
@@ -259,8 +259,10 @@
             }
         }
     }
-  
+
+#ifndef HAVE_WINSOCK_H
     fcntl(_listenfd, F_SETFL, O_NONBLOCK); // Don't let accept() block
+#endif
     _sockfd = accept(_listenfd, &fsin, &alen);
   
     if (_sockfd < 0) {
@@ -367,8 +369,8 @@
             {
                 log_msg("The connect() socket for fd #%d never was available 
for writing!\n",
                         _sockfd);
-#ifdef HAVE_WINSOCK
-                ::shutdown(_sockfd, SHUT_BOTH);
+#ifdef HAVE_WINSOCK_H
+                ::shutdown(_sockfd, 0); // FIXME: was SHUT_BOTH
 #else
                 ::shutdown(_sockfd, SHUT_RDWR);
 #endif
@@ -403,7 +405,7 @@
     printf("\tConnected at port %d on IP %s for fd #%d\n", port,
            ::inet_ntoa(sock_in.sin_addr), _sockfd);
   
-#ifndef HAVE_WINSOCK
+#ifndef HAVE_WINSOCK_H
     fcntl(_sockfd, F_SETFL, O_NONBLOCK);
 #endif
 
@@ -456,7 +458,9 @@
             if (close(sockfd) < 0) {
                 log_msg("WARNING: Unable to close the socket for fd%d\n%s\n",
                         sockfd, strerror(errno));
+#ifndef HAVE_WINSOCK_H
                 sleep(1);
+#endif
                 retries++;
             } else {
                 log_msg("Closed the socket on fd #%d\n", sockfd);
Index: gnash/server/network.h
diff -u gnash/server/network.h:1.2 gnash/server/network.h:1.3
--- gnash/server/network.h:1.2  Sun Feb  5 01:10:58 2006
+++ gnash/server/network.h      Mon Mar  6 01:43:25 2006
@@ -23,8 +23,17 @@
 #endif
 
 #include <string>
-#include <netinet/in.h>
-#include <arpa/inet.h>
+
+#ifndef HAVE_WINSOCK_H
+# include <netinet/in.h>
+# include <arpa/inet.h>
+#else
+# include <winsock2.h>
+# include <windows.h>
+# include <fcntl.h>
+# include <sys/stat.h>
+# include <io.h>
+#endif
 
 #include "xml.h"
 #include "impl.h"
@@ -36,6 +45,12 @@
 const int RTMP = 1935;
 const int RTMPT = 80;
 
+#ifdef HAVE_WINSOCK_H
+ typedef long   in_addr_t;
+ in_addr_t      inet_lnaof(struct in_addr);
+ typedef int    socklen_t;
+#endif
+ 
 class Network {
 public:
     Network();
Index: gnash/server/shm.cpp
diff -u gnash/server/shm.cpp:1.5 gnash/server/shm.cpp:1.6
--- gnash/server/shm.cpp:1.5    Fri Feb 17 16:13:33 2006
+++ gnash/server/shm.cpp        Mon Mar  6 01:43:25 2006
@@ -24,9 +24,16 @@
 #include <sys/stat.h>
 #include <unistd.h>
 #include <dirent.h>
-#include <sys/ipc.h>
+#ifndef HAVE_WINSOCK_H
 #include <sys/mman.h>
 #include <sys/shm.h>
+#include <sys/ipc.h>
+#else
+#include <windows.h>
+#include <process.h>
+#include <fcntl.h>
+#include <io.h>
+#endif
 #include <fcntl.h>
 #include <string>
 #include <vector>
@@ -51,6 +58,10 @@
 # endif
 #endif
 
+#ifndef _SC_PAGESIZE
+#define _SC_PAGESIZE 8
+#endif
+
 #define FLAT_ADDR_SPACE 1
 
   Shm::Shm() :_addr(0), _alloced(0), _size(0), _shmkey(0), _shmfd(0)
@@ -91,46 +102,72 @@
     //             __PRETTY_FUNCTION__, DEFAULT_SHM_SIZE, absfilespec.c_str());
 
     // Adjust the allocated amount of memory to be on a page boundary.
+    // We can only do this on POSIX systems, so for braindead win32,
+    // don't readjust the size.
+#ifdef HAVE_SYSCONF
     long pageSize = sysconf(_SC_PAGESIZE);
     if (_size % pageSize) {
        _size += pageSize - _size % pageSize;
     }
+#endif
     
     errno = 0;
-
 #ifdef HAVE_SHM_OPEN
     // Create the shared memory segment
     _shmfd = shm_open(filespec, O_RDWR|O_CREAT|O_EXCL|O_TRUNC,
                      S_IRUSR|S_IWUSR);
 #else
+# ifdef HAVE_SHMGET
     const int shmflg = 0660 | IPC_CREAT | IPC_EXCL;
     shmid_ds shmInfo;
     _shmkey = 1234567;         // FIXME:
     filespec = "1234567";
     _shmfd = shmget(_shmkey, _size, shmflg);
+    if (_shmfd < 0 && errno == EEXIST)
+# else
+       _shmhandle = CreateFileMapping ((HANDLE) 0xFFFFFFFF, NULL,
+                                       PAGE_READWRITE, 0,
+                                       _size, filespec);
+    if (_shmhandle <= 0)
+# endif
 #endif
+       {
     // If it already exists, then just attach to it.
-    if (_shmfd < 0 && errno == EEXIST) {
        exists = true;
        log_msg("Shared Memory segment \"%s\" already exists\n",
                filespec);
 #ifdef HAVE_SHM_OPEN
        _shmfd = shm_open(filespec, O_RDWR|O_CREAT, S_IRUSR|S_IWUSR);
 #else
+# ifdef HAVE_SHMGET
        // Get the shared memory id for this segment
        _shmfd = shmget(_shmkey, _size, 0);
+# else
+       _shmhandle = CreateFileMapping ((HANDLE) 0xFFFFFFFF, NULL,
+                                       PAGE_READWRITE, 0,
+                                       _size, filespec);
+# endif
 #endif
     }
     
     // MacOSX returns this when you use O_EXCL for shm_open() instead
     // of EEXIST
-    if (_shmfd < 0 && errno == EINVAL) {
+#ifdef HAVE_SHMGET
+    if (_shmfd < 0 && errno == EINVAL)
+#else
+    if (_shmhandle <= 0 && errno == EINVAL)
+#endif
+       {
        exists = true;
        log_msg(
 #ifdef HAVE_SHM_OPEN
-           "WARNING: shm_open failed, retrying: %s\n",
+           "WARNING: shm_open() failed, retrying: %s\n",
 #else
-           "WARNING: shmget failed, retrying: %s\n",
+# ifdef HAVE_SHMGET
+           "WARNING: shmget() failed, retrying: %s\n",
+# else
+           "WARNING: CreateFileMapping() failed, retrying: %s\n",
+# endif
 #endif
            strerror(errno));
 //        fd = shm_open(filespec, O_RDWR|O_CREAT, S_IRUSR|S_IWUSR);
@@ -138,26 +175,40 @@
     }
     
     // We got the file descriptor, now map it into our process.
-    if (_shmfd >= 0) {
+#ifdef HAVE_SHMGET
+    if (_shmfd >= 0)
+#else
+    if (_shmhandle >= 0)
+#endif
+    {
 #ifdef HAVE_SHM_OPEN
        if (!exists) {
            // Set the size so we can write to new segment
            ftruncate(_shmfd, _size);
        }
-
+# ifdef HAVE_MMAP
        _addr = static_cast<char *>(mmap(0, _size,
-                                        PROT_READ|PROT_WRITE|PROT_EXEC,
-                                        
MAP_SHARED|MAP_INHERIT|MAP_HASSEMAPHORE, _shmfd, 0));
+                                PROT_READ|PROT_WRITE|PROT_EXEC,
+                                MAP_SHARED|MAP_INHERIT|MAP_HASSEMAPHORE,
+                                _shmfd, 0));
+# else
+# error "Using POSIX memory but no mmap()!"
+# endif
        if (_addr == MAP_FAILED) {
            log_msg("WARNING: mmap() failed: %s\n", strerror(errno));
            return false;
        }
 #else  // else of HAVE_SHM_OPEN
+# ifdef HAVE_SHMAT
        _addr = (char *)shmat(_shmfd, 0, 0);
        if (_addr <= 0) {
            log_msg("WARNING: shmat() failed: %s\n", strerror(errno));
            return false;
        }
+# else
+       _addr = (char *)MapViewOfFile (_shmhandle, FILE_MAP_ALL_ACCESS,
+                                      0, 0, _size);
+# endif
 #endif
         if (exists && !nuke) {
            // If there is an existing memory segment that we don't
@@ -197,8 +248,14 @@
            }
         }
 #else
+#ifdef HAVE_SHMAT          
        shmdt(_addr);
        _addr = (char *)shmat(_shmfd, (void *)addr, 0);
+#else
+       CloseHandle(_shmhandle);        
+       _addr = (char *)MapViewOfFile (_shmhandle, FILE_MAP_ALL_ACCESS,
+                              0, 0, _size);
+#endif // end of HAVE_SHMAT
        }
 #endif // end of HAVE_SHM_OPEN
 #endif // end of FLAT_ADDR_SPACE
@@ -326,7 +383,7 @@
 Shm::closeMem()
 {
     // Only nuke the shared memory segement if we're the last one.
-#ifdef HAVE_SGM_OPEN
+#ifdef HAVE_SHM_OPEN
     if (_filespec.size() != 0) {
         shm_unlink(_filespec.c_str());
     }
@@ -337,7 +394,11 @@
          munmap(_addr, _size);
      }
 #else
+#ifdef HAVE_SHMGET
      shmctl(_shmfd, IPC_RMID, 0);
+#else
+     CloseHandle(_shmhandle);
+#endif
 #endif
     
     _addr = 0;
@@ -369,9 +430,10 @@
         if (library_dir != NULL) {
             realname = dirlist[i];
             
-            // By convention, the first two entries in each directory are
-            // for . and .. (``dot'' and ``dot dot''), so we ignore those. The
-            // next directory read will get a real file, if any exists.
+            // By convention, the first two entries in each directory
+            // are for . and .. (``dot'' and ``dot dot''), so we
+            // ignore those. The next directory read will get a real
+            // file, if any exists.
             entry = readdir(library_dir);
             entry = readdir(library_dir);
             break;
Index: gnash/server/shm.h
diff -u gnash/server/shm.h:1.3 gnash/server/shm.h:1.4
--- gnash/server/shm.h:1.3      Wed Feb 15 23:35:53 2006
+++ gnash/server/shm.h  Mon Mar  6 01:43:26 2006
@@ -28,8 +28,15 @@
 #include "log.h"
 #include "impl.h"
 #include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
+#ifndef HAVE_WINSOCK_H
+# include <sys/ipc.h>
+# include <sys/shm.h>
+#else
+# include <windows.h>
+# include <process.h>
+# include <fcntl.h>
+# include <io.h>
+#endif
 
 namespace gnash {
 
@@ -73,7 +80,12 @@
     long        _alloced;
     size_t      _size;
     std::string _filespec;
+#ifndef HAVE_WINSOCK_H
     key_t      _shmkey;
+#else
+    long       _shmkey;
+    HANDLE      _shmhandle;
+#endif
     int                _shmfd;
 };
 
Index: gnash/server/swf.h
diff -u gnash/server/swf.h:1.10 gnash/server/swf.h:1.11
--- gnash/server/swf.h:1.10     Wed Feb 15 11:25:26 2006
+++ gnash/server/swf.h  Mon Mar  6 01:43:26 2006
@@ -23,342 +23,340 @@
 /// SWF format definitions
 namespace SWF { // gnash::SWF
 
-       /// SWF tag types. Symbolc names copied from Ming
-       typedef enum
-       {
-               /// end of sprite or movie definition
-               END                   =  0,
-
-               SHOWFRAME             =  1,
-               DEFINESHAPE           =  2,
-               FREECHARACTER           =  3,
-               PLACEOBJECT           =  4,
-               REMOVEOBJECT          =  5,
-               DEFINEBITS            =  6,
-               DEFINEBUTTON          =  7,
-               JPEGTABLES            =  8,
-               SETBACKGROUNDCOLOR    =  9,
-               DEFINEFONT            = 10,
-               DEFINETEXT            = 11,
-               DOACTION              = 12,
-               DEFINEFONTINFO        = 13,
-               DEFINESOUND           = 14,
-               STARTSOUND            = 15,
-               DEFINEBUTTONSOUND     = 17,
-               SOUNDSTREAMHEAD       = 18,
-               SOUNDSTREAMBLOCK      = 19,
-               DEFINELOSSLESS        = 20,
-               DEFINEBITSJPEG2       = 21,
-               DEFINESHAPE2          = 22,
-               DEFINEBUTTONCXFORM    = 23,
-               PROTECT               = 24,
-               PATHSAREPOSTSCRIPT      = 25,
-               PLACEOBJECT2          = 26,
-               REMOVEOBJECT2         = 28,
-               SYNCFRAME               = 29,
-               FREEALL         = 31,
-               DEFINESHAPE3          = 32,
-               DEFINETEXT2           = 33,
-               DEFINEBUTTON2         = 34,
-               DEFINEBITSJPEG3       = 35,
-               DEFINELOSSLESS2       = 36,
-               DEFINEEDITTEXT  = 37,
-               DEFINEVIDEO             = 38,
-
-               /// Definition of a Sprite/MovieClip
-               DEFINESPRITE          = 39,
-
-               NAMECHARACTER           = 40,
-               SERIALNUMBER            = 41,
-               DEFINETEXTFORMAT        = 42,
-               FRAMELABEL            = 43,
-               SOUNDSTREAMHEAD2      = 45,
-               DEFINEMORPHSHAPE      = 46,
-               FRAMETAG                = 47,
-               DEFINEFONT2           = 48,
-               GENCOMMAND              = 49,
-               DEFINECOMMANDOBJ        = 50,
-               CHARACTERSET            = 51,
-               FONTREF         = 52,
-               EXPORTASSETS          = 56,
-               IMPORTASSETS          = 57,
-               ENABLEDEBUGGER  = 58,
-
-               /// #initclip
-               INITACTION              = 59,
-
-               DEFINEVIDEOSTREAM       = 60,
-               VIDEOFRAME              = 61,
-               DEFINEBITSPTR           = 1023
-       } tag_type;
-
-       /// SWF action ids. Symbolc names copied from Ming.
-       //
-       /// For semantic of each action see:
-       /// http://sswf.sourceforge.net/SWFalexref.html
-       ///
-       typedef enum
-       {
-               ACTION_END        = 0x00,
-
-               ACTION_NEXTFRAME     = 0x04,
-               ACTION_PREVFRAME     = 0x05,
-               ACTION_PLAY          = 0x06,
-               ACTION_STOP          = 0x07,
-               ACTION_TOGGLEQUALITY = 0x08,
-               ACTION_STOPSOUNDS    = 0x09,
-               ACTION_GOTOFRAME     = 0x81, /* >= 0x80 means record has args */
-               ACTION_GETURL        = 0x83,
-               ACTION_WAITFORFRAME  = 0x8A,
-               ACTION_SETTARGET     = 0x8B,
-               ACTION_GOTOLABEL     = 0x8C,
-               ACTION_ADD                     = 0x0A,
-               ACTION_SUBTRACT                = 0x0B,
-               ACTION_MULTIPLY                = 0x0C,
-               ACTION_DIVIDE                  = 0x0D,
-               ACTION_EQUAL                   = 0x0E,
-               ACTION_LESSTHAN                = 0x0F,
-               ACTION_LOGICALAND              = 0x10,
-               ACTION_LOGICALOR               = 0x11,
-               ACTION_LOGICALNOT              = 0x12,
-               ACTION_STRINGEQ                = 0x13,
-               ACTION_STRINGLENGTH            = 0x14,
-               ACTION_SUBSTRING               = 0x15,
-               ACTION_POP                     = 0x17,
-               ACTION_INT                     = 0x18,
-               ACTION_GETVARIABLE             = 0x1C,
-               ACTION_SETVARIABLE             = 0x1D,
-               ACTION_SETTARGETEXPRESSION     = 0x20,
-               ACTION_STRINGCONCAT            = 0x21,
-               ACTION_GETPROPERTY             = 0x22,
-               ACTION_SETPROPERTY             = 0x23,
-               ACTION_DUPLICATECLIP           = 0x24,
-               ACTION_REMOVECLIP              = 0x25,
-               ACTION_TRACE                   = 0x26,
-               ACTION_STARTDRAGMOVIE          = 0x27,
-               ACTION_STOPDRAGMOVIE           = 0x28,
-               ACTION_STRINGCOMPARE           = 0x29,
-               ACTION_THROW                   = 0x2A,
-
-               /// SWF7
-               ///
-               /// The Cast Object action makes sure that the object
-               /// o1 is an instance of the class s2. If it is the case,
-               /// then o1 is pushed back onto the stack. Otherwise Null is
-               /// pushed back onto the stack. The comparison is identical
-               /// to the one applied by the Instance Of  action.
-               ///
-               /// See:
-               /// 
http://sswf.sourceforge.net/SWFalexref.html#action_cast_object
-               ///
-               ACTION_CASTOP                  = 0x2B,
-
-               /// SWF7
-               ///
-               /// This action declares an object as a sub-class of
-               /// one or more interfaces. The number of interfaces has to
-               /// be indicated by i2. An interface is referenced by its
-               /// name (which happens to be the same as the constructor
-               /// function name.)
-               ///
-               /// See:
-               /// 
http://sswf.sourceforge.net/SWFalexref.html#action_implements
-               ///
-               ACTION_IMPLEMENTSOP            = 0x2C,
-
-               ACTION_RANDOM                  = 0x30,
-               ACTION_MBLENGTH                = 0x31,
-               ACTION_ORD                     = 0x32,
-               ACTION_CHR                     = 0x33,
-               ACTION_GETTIMER                = 0x34,
-               ACTION_MBSUBSTRING             = 0x35,
-               ACTION_MBORD                   = 0x36,
-               ACTION_MBCHR                   = 0x37,
-               ACTION_WAITFORFRAMEEXPRESSION  = 0x8D,
-               ACTION_PUSHDATA                = 0x96,
-               ACTION_BRANCHALWAYS            = 0x99,
-               ACTION_GETURL2                 = 0x9A,
-               ACTION_BRANCHIFTRUE            = 0x9D,
-               ACTION_CALLFRAME               = 0x9E,
-               ACTION_GOTOEXPRESSION          = 0x9F,
-
-               /// action_buffer::doActionDelete
-               ACTION_DELETEVAR               = 0x3A,
-
-               /// action_buffer::doActionDelete2
-               ACTION_DELETE                  = 0x3B,
-
-               ACTION_VAREQUALS               = 0x3C, // DEFINELOCAL actually
-               ACTION_CALLFUNCTION            = 0x3D,
-               ACTION_RETURN                  = 0x3E,
-               ACTION_MODULO                  = 0x3F,
-
-               /// SWF5
-               ///
-               /// Pop the number of arguments. Pop each argument.
-               /// Create an object of class s1. Call the
-               /// constructor function (which has the same name as
-               /// the object class: s1). The result of the
-               /// constructor is discarded. Push the created object
-               /// on the stack. The object should then be saved in
-               /// a variable or object method.
-               ///
-               /// http://sswf.sourceforge.net/SWFalexref.html#action_new
-               ///
-               ACTION_NEW                     = 0x40,
-
-               ACTION_VAR                     = 0x41,
-               ACTION_INITARRAY               = 0x42,
-
-
-               /// SWF5
-               ///
-               /// Pops the number of members in the object. Pop
-               /// one value and one name per member and set the
-               /// corresponding member in the object. The resulting
-               /// object is pushed on the stack. It can later be sent
-               /// to a function or set in a variable. Note: the member
-               /// names are converted to strings; they certainly should
-               /// be strings thought anything is supported.
-               ///
-               /// Also known as 'ACTION_DECLAREOBJECT'.
-               ///
-               /// 
http://sswf.sourceforge.net/SWFalexref.html#action_declare_object
-               ///
-               ACTION_INITOBJECT              = 0x43,
-
-               ACTION_TYPEOF                  = 0x44,
-               ACTION_TARGETPATH              = 0x45,
-               ACTION_ENUMERATE               = 0x46,
-               ACTION_NEWADD                  = 0x47,
-               ACTION_NEWLESSTHAN             = 0x48,
-               ACTION_NEWEQUALS               = 0x49,
-               ACTION_TONUMBER                = 0x4A,
-               ACTION_TOSTRING                = 0x4B,
-               ACTION_DUP                     = 0x4C,
-               ACTION_SWAP                    = 0x4D,
-               ACTION_GETMEMBER               = 0x4E,
-               ACTION_SETMEMBER               = 0x4F,
-               ACTION_INCREMENT               = 0x50,
-               ACTION_DECREMENT               = 0x51,
-
-               /// SWF5
-               ///
-               /// Pops the name of a method (can be the empty string),
-               /// pop an object, pop the number of arguments, pop each
-               /// argument, call the method (function) of the object,
-               /// push the returned value on the stack.
-               ///
-               /// 
http://sswf.sourceforge.net/SWFalexref.html#action_call_method
-               ///
-               ACTION_CALLMETHOD              = 0x52,
-
-               /// SWF5
-               ///
-               /// Pops the name of a method (can be the empty string),
-               /// pop an object (created with the Declare Object,)
-               /// pop the number of arguments, pop each argument,
-               /// create a new object, then call the specified method
-               /// (function) as the constructor function of the object,
-               /// push the returned value on the stack. This allows
-               /// for overloaded constructors as in C++.
-               ///
-               /// 
http://sswf.sourceforge.net/SWFalexref.html#action_new_method
-               ///
-               ACTION_NEWMETHOD               = 0x53, 
-
-               /// SWF6
-               ///
-               /// Pops the name of a constructor (s1 - ie. "Color")
-               /// then the name of an object (s2). Checks whether the
-               /// named object is part of the class defined by the
-               /// constructor. If so, then true is push on the stack,
-               /// otherwise false. Since SWF version 7, it is possible
-               /// to cast an object to another using the Cast Object
-               /// action. This action returns a copy of the object or
-               /// Null, which in many cases can be much more practical.
-               ///
-               /// 
http://sswf.sourceforge.net/SWFalexref.html#action_instance_of
-               ///
-               ACTION_INSTANCEOF              = 0x54,
-
-               /// SWF6
-               ///
-               /// Pops an object from the stack, push a null, then
-               /// push the name of each member on the stack.
-               ///
-               /// 
http://sswf.sourceforge.net/SWFalexref.html#action_enumerate_object
-               ///
-               ACTION_ENUM2                   = 0x55,
-
-               ACTION_BITWISEAND              = 0x60,
-               ACTION_BITWISEOR               = 0x61,
-               ACTION_BITWISEXOR              = 0x62,
-               ACTION_SHIFTLEFT               = 0x63,
-               ACTION_SHIFTRIGHT              = 0x64,
-               ACTION_SHIFTRIGHT2             = 0x65,
-               ACTION_STRICTEQ                = 0x66,
-
-               /// SWF6
-               ///
-               /// Similar to Swap + Less Than. It checks whether the
-               /// second parameter is greater than the first and return
-               /// the boolean result on the stack.
-               ///
-               /// See:
-               /// 
http://sswf.sourceforge.net/SWFalexref.html#action_greater_than_typed
-               ///
-               ACTION_GREATER                 = 0x67,
-
-               /// SWF6
-               ///
-               /// Similar to Swap + String Less Than. It checks whether
-               /// the second string is greater than the first and
-               /// return the boolean result on the stack.
-               ///
-               /// See:
-               /// 
http://sswf.sourceforge.net/SWFalexref.html#action_string_greater_than
-               ///
-               ACTION_STRINGGREATER           = 0x68,
-
-               ///
-               /// SWF7
-               ///
-               /// The Extends action will be used to define a new object
-               /// which extends another object. The declaration in
-               /// ActionScript is:
-               ///
-               ///     class A extends B;
-               ///
-               /// In an SWF action script, you don't exactly declare
-               /// objects, you actually instantiate them and define their
-               /// functions. This action creates a new object named s2
-               /// which is an extension of the object s1.
-               ///
-               /// Use this action whenever you need to inherit an object
-               /// without calling its constructor.
-               ///
-               /// See:
-               /// http://sswf.sourceforge.net/SWFalexref.html#action_extends
-               ///
-               ACTION_EXTENDS                 = 0x69,
-
-               ACTION_CONSTANTPOOL            = 0x88,
-
-
-               /// SWF7
-               ///
-               /// See:
-               /// 
http://sswf.sourceforge.net/SWFalexref.html#action_declare_function2
-               ///
-               ACTION_DEFINEFUNCTION2         = 0x8E,
-
-               ACTION_TRY                     = 0x8F,
-               ACTION_WITH                    = 0x94,
-               ACTION_DEFINEFUNCTION          = 0x9B,
+/// SWF tag types. Symbolc names copied from Ming
+typedef enum
+{
+    /// end of sprite or movie definition
+    END                   =  0,
+    SHOWFRAME             =  1,
+    DEFINESHAPE           =  2,
+    FREECHARACTER        =  3,
+    PLACEOBJECT           =  4,
+    REMOVEOBJECT          =  5,
+    DEFINEBITS            =  6,
+    DEFINEBUTTON          =  7,
+    JPEGTABLES            =  8,
+    SETBACKGROUNDCOLOR    =  9,
+    DEFINEFONT            = 10,
+    DEFINETEXT            = 11,
+    DOACTION              = 12,
+    DEFINEFONTINFO        = 13,
+    DEFINESOUND           = 14,
+    STARTSOUND            = 15,
+    DEFINEBUTTONSOUND     = 17,
+    SOUNDSTREAMHEAD       = 18,
+    SOUNDSTREAMBLOCK      = 19,
+    DEFINELOSSLESS        = 20,
+    DEFINEBITSJPEG2       = 21,
+    DEFINESHAPE2          = 22,
+    DEFINEBUTTONCXFORM    = 23,
+    PROTECT               = 24,
+    PATHSAREPOSTSCRIPT   = 25,
+    PLACEOBJECT2          = 26,
+    REMOVEOBJECT2         = 28,
+    SYNCFRAME            = 29,
+    FREEALL              = 31,
+    DEFINESHAPE3          = 32,
+    DEFINETEXT2           = 33,
+    DEFINEBUTTON2         = 34,
+    DEFINEBITSJPEG3       = 35,
+    DEFINELOSSLESS2       = 36,
+    DEFINEEDITTEXT       = 37,
+    DEFINEVIDEO                  = 38,
+
+    /// Definition of a Sprite/MovieClip
+    DEFINESPRITE          = 39,
+
+    NAMECHARACTER        = 40,
+    SERIALNUMBER          = 41,
+    DEFINETEXTFORMAT     = 42,
+    FRAMELABEL            = 43,
+    SOUNDSTREAMHEAD2      = 45,
+    DEFINEMORPHSHAPE      = 46,
+    FRAMETAG             = 47,
+    DEFINEFONT2           = 48,
+    GENCOMMAND           = 49,
+    DEFINECOMMANDOBJ     = 50,
+    CHARACTERSET         = 51,
+    FONTREF              = 52,
+    EXPORTASSETS          = 56,
+    IMPORTASSETS          = 57,
+    ENABLEDEBUGGER       = 58,
+
+    /// #initclip
+    INITACTION           = 59,
+
+    DEFINEVIDEOSTREAM    = 60,
+    VIDEOFRAME           = 61,
+    DEFINEBITSPTR         = 1023
+} tag_type;
+
+/// SWF action ids. Symbolc names copied from Ming.
+//
+/// For semantic of each action see:
+/// http://sswf.sourceforge.net/SWFalexref.html
+///
+typedef enum
+{
+    ACTION_END                     = 0x00,
+    ACTION_NEXTFRAME               = 0x04,
+    ACTION_PREVFRAME               = 0x05,
+    ACTION_PLAY                    = 0x06,
+    ACTION_STOP                    = 0x07,
+    ACTION_TOGGLEQUALITY           = 0x08,
+    ACTION_STOPSOUNDS              = 0x09,
+    ACTION_GOTOFRAME               = 0x81, /* >= 0x80 means record has args */
+    ACTION_GETURL                  = 0x83,
+    ACTION_WAITFORFRAME            = 0x8A,
+    ACTION_SETTARGET               = 0x8B,
+    ACTION_GOTOLABEL               = 0x8C,
+    ACTION_ADD                     = 0x0A,
+    ACTION_SUBTRACT                = 0x0B,
+    ACTION_MULTIPLY                = 0x0C,
+    ACTION_DIVIDE                  = 0x0D,
+    ACTION_EQUAL                   = 0x0E,
+    ACTION_LESSTHAN                = 0x0F,
+    ACTION_LOGICALAND              = 0x10,
+    ACTION_LOGICALOR               = 0x11,
+    ACTION_LOGICALNOT              = 0x12,
+    ACTION_STRINGEQ                = 0x13,
+    ACTION_STRINGLENGTH            = 0x14,
+    ACTION_SUBSTRING               = 0x15,
+    ACTION_POP                     = 0x17,
+    ACTION_INT                     = 0x18,
+    ACTION_GETVARIABLE             = 0x1C,
+    ACTION_SETVARIABLE             = 0x1D,
+    ACTION_SETTARGETEXPRESSION     = 0x20,
+    ACTION_STRINGCONCAT            = 0x21,
+    ACTION_GETPROPERTY             = 0x22,
+    ACTION_SETPROPERTY             = 0x23,
+    ACTION_DUPLICATECLIP           = 0x24,
+    ACTION_REMOVECLIP              = 0x25,
+    ACTION_TRACE                   = 0x26,
+    ACTION_STARTDRAGMOVIE          = 0x27,
+    ACTION_STOPDRAGMOVIE           = 0x28,
+    ACTION_STRINGCOMPARE           = 0x29,
+    ACTION_THROW                   = 0x2A,
+
+    /// SWF7
+    ///
+    /// The Cast Object action makes sure that the object
+    /// o1 is an instance of the class s2. If it is the case,
+    /// then o1 is pushed back onto the stack. Otherwise Null is
+    /// pushed back onto the stack. The comparison is identical
+    /// to the one applied by the Instance Of  action.
+    ///
+    /// See:
+    /// http://sswf.sourceforge.net/SWFalexref.html#action_cast_object
+    ///
+    ACTION_CASTOP                  = 0x2B,
+
+    /// SWF7
+    ///
+    /// This action declares an object as a sub-class of
+    /// one or more interfaces. The number of interfaces has to
+    /// be indicated by i2. An interface is referenced by its
+    /// name (which happens to be the same as the constructor
+    /// function name.)
+    ///
+    /// See:
+    /// http://sswf.sourceforge.net/SWFalexref.html#action_implements
+    ///
+    ACTION_IMPLEMENTSOP            = 0x2C,
+
+    ACTION_RANDOM                  = 0x30,
+    ACTION_MBLENGTH                = 0x31,
+    ACTION_ORD                     = 0x32,
+    ACTION_CHR                     = 0x33,
+    ACTION_GETTIMER                = 0x34,
+    ACTION_MBSUBSTRING             = 0x35,
+    ACTION_MBORD                   = 0x36,
+    ACTION_MBCHR                   = 0x37,
+    ACTION_WAITFORFRAMEEXPRESSION  = 0x8D,
+    ACTION_PUSHDATA                = 0x96,
+    ACTION_BRANCHALWAYS            = 0x99,
+    ACTION_GETURL2                 = 0x9A,
+    ACTION_BRANCHIFTRUE            = 0x9D,
+    ACTION_CALLFRAME               = 0x9E,
+    ACTION_GOTOEXPRESSION          = 0x9F,
+
+    /// action_buffer::doActionDelete
+    ACTION_DELETEVAR               = 0x3A,
+
+    /// action_buffer::doActionDelete2
+    ACTION_DELETE                  = 0x3B,
+
+    ACTION_VAREQUALS               = 0x3C, // DEFINELOCAL actually
+    ACTION_CALLFUNCTION            = 0x3D,
+    ACTION_RETURN                  = 0x3E,
+    ACTION_MODULO                  = 0x3F,
+
+    /// SWF5
+    ///
+    /// Pop the number of arguments. Pop each argument.
+    /// Create an object of class s1. Call the
+    /// constructor function (which has the same name as
+    /// the object class: s1). The result of the
+    /// constructor is discarded. Push the created object
+    /// on the stack. The object should then be saved in
+    /// a variable or object method.
+    ///
+    /// http://sswf.sourceforge.net/SWFalexref.html#action_new
+    ///
+    ACTION_NEW                     = 0x40,
+
+    ACTION_VAR                     = 0x41,
+    ACTION_INITARRAY               = 0x42,
+
+
+    /// SWF5
+    ///
+    /// Pops the number of members in the object. Pop
+    /// one value and one name per member and set the
+    /// corresponding member in the object. The resulting
+    /// object is pushed on the stack. It can later be sent
+    /// to a function or set in a variable. Note: the member
+    /// names are converted to strings; they certainly should
+    /// be strings thought anything is supported.
+    ///
+    /// Also known as 'ACTION_DECLAREOBJECT'.
+    ///
+    /// http://sswf.sourceforge.net/SWFalexref.html#action_declare_object
+    ///
+    ACTION_INITOBJECT              = 0x43,
+
+    ACTION_TYPEOF                  = 0x44,
+    ACTION_TARGETPATH              = 0x45,
+    ACTION_ENUMERATE               = 0x46,
+    ACTION_NEWADD                  = 0x47,
+    ACTION_NEWLESSTHAN             = 0x48,
+    ACTION_NEWEQUALS               = 0x49,
+    ACTION_TONUMBER                = 0x4A,
+    ACTION_TOSTRING                = 0x4B,
+    ACTION_DUP                     = 0x4C,
+    ACTION_SWAP                    = 0x4D,
+    ACTION_GETMEMBER               = 0x4E,
+    ACTION_SETMEMBER               = 0x4F,
+    ACTION_INCREMENT               = 0x50,
+    ACTION_DECREMENT               = 0x51,
+
+    /// SWF5
+    ///
+    /// Pops the name of a method (can be the empty string),
+    /// pop an object, pop the number of arguments, pop each
+    /// argument, call the method (function) of the object,
+    /// push the returned value on the stack.
+    ///
+    /// http://sswf.sourceforge.net/SWFalexref.html#action_call_method
+    ///
+    ACTION_CALLMETHOD              = 0x52,
+
+    /// SWF5
+    ///
+    /// Pops the name of a method (can be the empty string),
+    /// pop an object (created with the Declare Object,)
+    /// pop the number of arguments, pop each argument,
+    /// create a new object, then call the specified method
+    /// (function) as the constructor function of the object,
+    /// push the returned value on the stack. This allows
+    /// for overloaded constructors as in C++.
+    ///
+    /// http://sswf.sourceforge.net/SWFalexref.html#action_new_method
+    ///
+    ACTION_NEWMETHOD               = 0x53, 
+
+    /// SWF6
+    ///
+    /// Pops the name of a constructor (s1 - ie. "Color")
+    /// then the name of an object (s2). Checks whether the
+    /// named object is part of the class defined by the
+    /// constructor. If so, then true is push on the stack,
+    /// otherwise false. Since SWF version 7, it is possible
+    /// to cast an object to another using the Cast Object
+    /// action. This action returns a copy of the object or
+    /// Null, which in many cases can be much more practical.
+    ///
+    /// http://sswf.sourceforge.net/SWFalexref.html#action_instance_of
+    ///
+    ACTION_INSTANCEOF              = 0x54,
+
+    /// SWF6
+    ///
+    /// Pops an object from the stack, push a null, then
+    /// push the name of each member on the stack.
+    ///
+    /// http://sswf.sourceforge.net/SWFalexref.html#action_enumerate_object
+    ///
+    ACTION_ENUM2                   = 0x55,
+
+    ACTION_BITWISEAND              = 0x60,
+    ACTION_BITWISEOR               = 0x61,
+    ACTION_BITWISEXOR              = 0x62,
+    ACTION_SHIFTLEFT               = 0x63,
+    ACTION_SHIFTRIGHT              = 0x64,
+    ACTION_SHIFTRIGHT2             = 0x65,
+    ACTION_STRICTEQ                = 0x66,
+
+    /// SWF6
+    ///
+    /// Similar to Swap + Less Than. It checks whether the
+    /// second parameter is greater than the first and return
+    /// the boolean result on the stack.
+    ///
+    /// See:
+    /// http://sswf.sourceforge.net/SWFalexref.html#action_greater_than_typed
+    ///
+    ACTION_GREATER                 = 0x67,
+
+    /// SWF6
+    ///
+    /// Similar to Swap + String Less Than. It checks whether
+    /// the second string is greater than the first and
+    /// return the boolean result on the stack.
+    ///
+    /// See:
+    /// http://sswf.sourceforge.net/SWFalexref.html#action_string_greater_than
+    ///
+    ACTION_STRINGGREATER           = 0x68,
+
+    ///
+    /// SWF7
+    ///
+    /// The Extends action will be used to define a new object
+    /// which extends another object. The declaration in
+    /// ActionScript is:
+    ///
+    ///        class A extends B;
+    ///
+    /// In an SWF action script, you don't exactly declare
+    /// objects, you actually instantiate them and define their
+    /// functions. This action creates a new object named s2
+    /// which is an extension of the object s1.
+    ///
+    /// Use this action whenever you need to inherit an object
+    /// without calling its constructor.
+    ///
+    /// See:
+    /// http://sswf.sourceforge.net/SWFalexref.html#action_extends
+    ///
+    ACTION_EXTENDS                 = 0x69,
+
+    ACTION_CONSTANTPOOL            = 0x88,
+
+
+    /// SWF7
+    ///
+    /// See:
+    /// http://sswf.sourceforge.net/SWFalexref.html#action_declare_function2
+    ///
+    ACTION_DEFINEFUNCTION2         = 0x8E,
+
+    ACTION_TRY                     = 0x8F,
+    ACTION_WITH                    = 0x94,
+    ACTION_DEFINEFUNCTION          = 0x9B,
 
-               ACTION_SETREGISTER             = 0x87
-       } action_type;
+    ACTION_SETREGISTER             = 0x87
+} action_type;
 
 
 } // namespace gnash::SWF
Index: gnash/utilities/Makefile.am
diff -u gnash/utilities/Makefile.am:1.10 gnash/utilities/Makefile.am:1.11
--- gnash/utilities/Makefile.am:1.10    Sun Feb 26 15:49:30 2006
+++ gnash/utilities/Makefile.am Mon Mar  6 01:43:25 2006
@@ -31,33 +31,22 @@
        ../server/libgnashserver.la \
        ../server/libgnashasobjs.la \
        ../libgeometry/libgnashgeo.la \
-       ../libbase/libgnashbase.la \
-        $(OPENGL_LIBS)      \
-        $(SDL_LIBS)         \
-        $(SDL_MIXER_LIBS)   \
-       $(X_LIBS)           \
-       $(JPEG_LIBS)        \
-       $(PNG_LIBS)         \
-        $(LIBXML_LIBS)      \
-       $(DMALLOC_LIBS)     \
-       $(MP3_LIBS)         \
-       $(OGG_LIBS)         \
-       $(PTHREAD_LIBS)
-
+       ../libbase/libgnashbase.la
 
 INCLUDES = -I.. \
         -I$(top_srcdir)                \
         -I$(top_srcdir)/libbase \
         -I$(top_srcdir)/server  \
         -I$(top_srcdir)/libgeometry \
-       $(PTHREAD_CFLAGS)        \
-       $(LIBXML_CFLAGS)        \
-       $(OPENGL_CFLAGS)        \
-       $(DMALLOC_CFLAGS)       \
-       $(MP3_CFLAGS)           \
-       $(OGG_CFLAGS)           \
-        $(SDL_CFLAGS)          \
-        $(SDL_MIXER_CFLAGS)
+        $(SDL_CFLAGS)
+#      $(PTHREAD_CFLAGS)        \
+#      $(LIBXML_CFLAGS)        \
+#      $(OPENGL_CFLAGS)        \
+#      $(DMALLOC_CFLAGS)       \
+#      $(MP3_CFLAGS)           \
+#      $(OGG_CFLAGS)           \
+#         $(SDL_CFLAGS)                \
+#         $(SDL_MIXER_CFLAGS)
 
 bin_PROGRAMS = gparser gprocessor
 




reply via email to

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