gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog Makefile.am configure.ac gui/du...


From: Russ Nelson
Subject: [Gnash-commit] gnash ChangeLog Makefile.am configure.ac gui/du...
Date: Thu, 01 May 2008 16:30:22 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Russ Nelson <nelsonrn>  08/05/01 16:30:22

Modified files:
        .              : ChangeLog Makefile.am configure.ac 
Added files:
        gui            : dump.cpp dump.h gui_dump.cpp 
        gui/am-frag    : dump.am 

Log message:
        * incorporate Craig Kelley's "dump" gui code.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6471&r2=1.6472
http://cvs.savannah.gnu.org/viewcvs/gnash/Makefile.am?cvsroot=gnash&r1=1.110&r2=1.111
http://cvs.savannah.gnu.org/viewcvs/gnash/configure.ac?cvsroot=gnash&r1=1.528&r2=1.529
http://cvs.savannah.gnu.org/viewcvs/gnash/gui/dump.cpp?cvsroot=gnash&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/gnash/gui/dump.h?cvsroot=gnash&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/gnash/gui/gui_dump.cpp?cvsroot=gnash&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/gnash/gui/am-frag/dump.am?cvsroot=gnash&rev=1.1

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6471
retrieving revision 1.6472
diff -u -b -r1.6471 -r1.6472
--- ChangeLog   1 May 2008 02:36:25 -0000       1.6471
+++ ChangeLog   1 May 2008 16:30:17 -0000       1.6472
@@ -1,3 +1,7 @@
+2008-05-01 Russ Nelson <address@hidden>
+
+       * incorporate Craig Kelley's "dump" gui code.
+
 2008-04-30 Russ Nelson <address@hidden>
 
        * configure.ac: check for dejagnu and throw a warning if not present.

Index: Makefile.am
===================================================================
RCS file: /sources/gnash/gnash/Makefile.am,v
retrieving revision 1.110
retrieving revision 1.111
diff -u -b -r1.110 -r1.111
--- Makefile.am 29 Mar 2008 15:02:36 -0000      1.110
+++ Makefile.am 1 May 2008 16:30:18 -0000       1.111
@@ -278,6 +278,9 @@
 if BUILD_HILDON_GUI
        @echo " Supported GUI: HILDON"
 endif
+if BUILD_DUMP_GUI
+       @echo " Supported GUI: Dump"
+endif
 if BUILD_ALP_GUI
        @echo " Supported GUI: ALP/Hiker"
 endif

Index: configure.ac
===================================================================
RCS file: /sources/gnash/gnash/configure.ac,v
retrieving revision 1.528
retrieving revision 1.529
diff -u -b -r1.528 -r1.529
--- configure.ac        1 May 2008 02:36:26 -0000       1.528
+++ configure.ac        1 May 2008 16:30:18 -0000       1.529
@@ -487,6 +487,7 @@
 build_hildon=no
 build_alp=no
 build_qtopia=no
+build_dump=no
 AC_ARG_ENABLE(gui,
   AC_HELP_STRING([--enable-gui=], [Use the specified GUI toolkit 
(default=gtk,kde)]),
   if test -n ${enableval}; then
@@ -535,7 +536,11 @@
       fb|FB)
         build_fb=yes
         ;;
+      dump|DUMP)
+        build_dump=yes
+        ;;
       all|ALL)
+        build_dump=yes
         build_fb=yes
         build_fltk=yes
         build_kde=yes
@@ -546,7 +551,7 @@
 dnl        build_alp=yes
 dnl        build_riscos=yes
         ;;
-      *) AC_MSG_ERROR([invalid gui ${enableval} given (accept: 
gtk|kde|fltk|sdl|riscos|aqua|fb|hildon|alp|qtopia)])
+      *) AC_MSG_ERROR([invalid gui ${enableval} given (accept: 
gtk|kde|fltk|sdl|riscos|aqua|fb|hildon|alp|qtopia|dump)])
          ;;
       esac]
     enableval=`echo ${enableval} | cut -d ' ' -f 2-6`
@@ -612,6 +617,9 @@
   if test x$build_fltk = xyes; then
     AC_MSG_ERROR([OpenGL renderer is not supported by FLTK gui. Use 
--enable-renderer=AGG]);
   fi
+  if test x$build_dump = xyes; then
+    AC_MSG_ERROR([OpenGL renderer is not supported by Dump gui. Use 
--enable-renderer=AGG]);
+  fi
    AC_DEFINE([RENDERER_OPENGL], [], [Use OpenGL renderer])
 fi
 
@@ -1269,6 +1277,9 @@
 AC_CHECK_HEADERS(libgen.h)
 AC_CHECK_HEADERS(pwd.h)
 AC_CHECK_HEADERS(sys/utsname.h)
+AC_CHECK_HEADERS(signal.h)
+AC_CHECK_HEADERS(unistd.h)
+AC_CHECK_HEADERS(sys/time.h)
 AC_CHECK_LIB(lber, der_free)
 AC_CHECK_LIB(m, sqrt)
 AC_CHECK_LIB(c, getpwnam, AC_DEFINE(HAVE_GETPWNAM, 1, [Has getpwnam] ))
@@ -1604,6 +1615,7 @@
 AM_CONDITIONAL(BUILD_FB_GUI, [ test x$build_fb = xyes ])
 AM_CONDITIONAL(BUILD_AQUA_GUI, [ test x$build_aqua = xyes ])
 AM_CONDITIONAL(BUILD_RISCOS_GUI, [ test x$build_riscos = xyes ])
+AM_CONDITIONAL(BUILD_DUMP_GUI, [ test x$build_dump = xyes ])
 
 # plugin building flags
 AM_CONDITIONAL(NSAPI, [test x$nsapi = xyes])
@@ -1755,6 +1767,9 @@
   if test x$build_kde = xyes; then
     AC_MSG_ERROR([Cairo renderer is not supported by KDE gui. Use 
--enable-renderer=AGG]);
   fi
+  if test x$build_dump = xyes; then
+    AC_MSG_ERROR([Cairo renderer is not supported by Dump gui. Use 
--enable-renderer=AGG]);
+  fi
   AC_DEFINE([RENDERER_CAIRO], [], [Use cairo renderer])
 fi
 
@@ -2033,6 +2048,9 @@
 if test x$build_aqua = xyes; then
   SUPPORTED_GUIS="${SUPPORTED_GUIS},aqua"
 fi
+if test x$build_dump = xyes; then
+  SUPPORTED_GUIS="${SUPPORTED_GUIS},dump"
+fi
 SUPPORTED_GUIS="`echo ${SUPPORTED_GUIS} | sed 's/,//'`" # Strip leading comma
 AC_SUBST(SUPPORTED_GUIS)
 

Index: gui/dump.cpp
===================================================================
RCS file: gui/dump.cpp
diff -N gui/dump.cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ gui/dump.cpp        1 May 2008 16:30:19 -0000       1.1
@@ -0,0 +1,351 @@
+// dump.cpp: headless player that dumps a video and audio stream
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008 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
+//
+
+// This "gui" is actually a file dumper.  It will write the raw rendered frames
+// to a file.  It will not display anything on the screen, but it will print 
out
+// information about the file to cout.  This information is in a /bin/sh 
sourceable
+// format to make it easy to script.
+
+#ifdef HAVE_CONFIG_H
+#include "gnashconfig.h"
+#endif
+
+#include "log.h"
+
+#include "gui.h"
+#include "rc.h"
+#include "sound_handler.h"
+#include "gnash.h" // for get_sound_handler
+#include "render_handler.h"
+#include "VM.h"
+
+#include <iostream>
+#include <string>
+
+#ifndef RENDERER_AGG
+#error Dump gui requires AGG renderer
+#endif
+
+#ifndef HAVE_UNISTD_H
+#error Dump gui requires unistd.h header (POSIX)
+#endif
+
+#ifndef HAVE_SYS_TIME_H
+#error Dump gui requires sys/time.h header (POSIX)
+#endif
+
+// For gettimeofday  TODO:  Use something better for main loop;
+//                          something that works on Windows?
+#include <sys/time.h>
+#include <unistd.h>
+
+// Only include signal handlers on OS' that support it
+#ifdef HAVE_SIGNAL_H
+#include <signal.h>
+#endif
+
+#include "dump.h"
+#include "render_handler_agg.h"
+
+namespace gnash 
+{
+
+bool _terminate_request = false;  // signals need to be able to access...
+
+#ifdef HAVE_SIGNAL_H
+// Called on CTRL-C and alike
+void terminate_signal(int /*signo*/) {
+    _terminate_request = true;
+    signal(SIGINT, SIG_DFL);
+    signal(SIGTERM, SIG_DFL);
+}
+#endif
+
+DumpGui::DumpGui(unsigned long xid, float scale, bool loop, unsigned int 
depth) :
+    Gui(xid, scale, loop, depth)
+{
+
+    _agg_renderer = NULL;
+    _offscreenbuf = NULL;
+    _offscreenbuf_size = -1;
+    _file_output = NULL;
+    _file_stream = NULL;
+    _timeout = 0;
+    _framecount = 0;
+    _bpp = 32;                  // TODO:  Let user decide bits-per-pixel
+
+    // TODO:  let user decide colorspace (see also _bpp above!)
+    strncpy(_pixelformat, "BGRA32", sizeof(_pixelformat));
+    if (loop) {
+        std::cout << "# WARNING:  Gnash was told to loop the movie" << 
std::endl;
+    }
+    if (_xid) {
+        std::cout << "# WARNING:  Ignoring request to display in X11 window" 
<< std::endl;
+    }
+}
+
+DumpGui::~DumpGui()
+{
+    if (_offscreenbuf) {
+        free(_offscreenbuf);
+        _offscreenbuf=NULL;
+    }
+    if ((DumpGui::_file_stream != NULL) && (DumpGui::_file_stream->is_open())) 
{
+        DumpGui::_file_stream->close();
+        std::cout << "# Finished writing file" << std::endl;
+    }
+    std::cout << "FRAMECOUNT=" << _framecount << "" << std::endl;
+}
+
+bool
+DumpGui::init(int argc, char **argv[])
+{
+
+    char c;
+    int origopterr = opterr;
+
+    if (_xid) {
+        log_error (_("Ignoring request to display in X11 window"));
+    }
+
+    optind = 0;
+    opterr = 0;
+    while ((c = getopt (argc, *argv, "D:")) != -1) {
+        if (c == 'D') {
+            _file_output = optarg;
+        }
+    }
+    opterr = origopterr;
+
+    if (_file_output == NULL) {
+        std::cout << 
+            _("# FATAL:  No filename given with -D argument.") << std::endl;
+        return false;
+    }
+
+#ifdef HAVE_SIGNAL_H
+    signal(SIGINT, terminate_signal);
+    signal(SIGTERM, terminate_signal);
+#endif
+
+    init_dumpfile();
+    _agg_renderer = create_render_handler_agg(_pixelformat);
+    set_render_handler(_agg_renderer);
+
+    return true;
+}
+
+bool
+DumpGui::run()
+{
+
+    struct timeval tv;
+
+    // TODO:  Polling is awful; should be an OS-agnostic u-sec callback
+    //        timer system for C++ out there (boost?).   This code is
+    //        from the fb gui, and made a bit nicer by lengthening the
+    //        usleep values with educated guesses.  It's possible for
+    //        slow systems to fall behind with this code, which would
+    //        cause the audio stream to get out of sync (bad?).
+
+    double timer_start;
+    unsigned int sleep_usecs;
+
+    if (gettimeofday(&tv, NULL) == 0) {
+        timer_start = (double)tv.tv_sec + (double)tv.tv_usec / 1000000.0;
+    }
+    else {
+        log_error(_("Unable to call gettimeofday."));
+        return false;
+    }
+    
+    _terminate_request = false;
+
+    // first frame
+    Gui::advance_movie(this);
+    writeFrame();
+
+    double timer_current = timer_start;
+    double timer_nextframe = timer_start;
+    double interval_s = (double)_interval / 1000.0;
+    double timer_exit = timer_start + ((double)_timeout / 1000.0);
+
+    while (!_terminate_request) {
+  
+        timer_nextframe += interval_s;
+
+        // polling loop
+        while (timer_current < timer_nextframe) {
+            // sleep for 95% of remaining usecs, floored at 50
+            sleep_usecs = (int)((timer_nextframe - timer_current) * 950000.0);
+            usleep((sleep_usecs < 50) ? 50 : sleep_usecs);
+            if (gettimeofday(&tv, NULL) == 0) {
+                timer_current = (double)tv.tv_sec + (double)tv.tv_usec / 
1000000.0;
+            } else {
+                log_error(_("Unable to call gettimeofday."));
+                return false;
+            }
+        }
+
+        // advance movie now
+        Gui::advance_movie(this);
+        writeFrame();
+
+        // check if we've reached a timeout
+        if (_timeout && (timer_current > timer_exit)) {
+            _terminate_request = true;
+        }
+    }
+
+    if ((timer_current - timer_start) != 0.0) {
+        std::cout << "TIME=" << (timer_current - timer_start) << std::endl;
+        std::cout << "FPS_ACTUAL=" << 
+            ((double)(_framecount-1) / (timer_current - timer_start)) << 
std::endl;
+    }
+    return true;
+}
+
+void
+DumpGui::setTimeout(unsigned int timeout)
+{
+    _timeout = timeout;
+}
+
+void
+DumpGui::setInterval(unsigned int interval)
+{
+    std::cout << "INTERVAL=" << interval << std::endl;
+    std::cout << "FPS_DESIRED=" << (1000.0 / (double)interval) << std::endl;
+    _interval = interval;
+}
+
+bool
+DumpGui::createWindow(int width, int height) 
+{
+
+    _width = width;
+    _height = height;
+    _validbounds.setTo(0, 0, _width-1, _height-1);
+    setRenderHandlerSize(_width, _height);
+    return true;
+}
+
+void
+DumpGui::writeFrame()
+{
+    assert(_file_stream != NULL);
+    if (_file_stream->is_open()) {
+        _file_stream->write((char*)_offscreenbuf, _offscreenbuf_size);
+        //_file_stream->flush();
+        _framecount++;
+    } else {
+        std::cout << _("# FATAL:  Unable to write to closed output file.") << 
"" << std::endl;
+        log_error(_("Unable to write to closed output file."));
+        quit();
+    }
+}
+
+void
+DumpGui::init_dumpfile()
+{
+    if (_file_output == NULL) {
+        log_error(_("Please supply a dump filename for gnash-dump."));
+        exit(1);
+    } else {
+        _file_stream = new std::ofstream();
+        _file_stream->open(_file_output);
+        if (_file_stream->fail()) {
+            log_error(_("Unable to write file '%s'."), _file_output);
+            std::cout << "# FATAL:  Unable to write file '" << _file_output << 
"'" << std::endl;
+            exit(1);
+        } else {
+            // Yes, this should go to cout.  The user needs to know this
+            // information in order to process the file.  Print out in a
+            // format that is easy to source into shell.
+            std::cout << 
+                "# Gnash created a raw dump file with the following 
properties:" << std::endl <<
+                "COLORSPACE=" << _pixelformat << std::endl <<
+                "NAME=" << _file_output  << std::endl;
+        }
+    }
+}
+
+void
+DumpGui::setRenderHandlerSize(int width, int height)
+{
+    assert(width>0);
+    assert(height>0);
+    assert(_agg_renderer!=NULL);
+    
+    if ((_offscreenbuf != NULL) && (width == _width) && (height == _height))
+        return;
+          
+    _width = width;
+    _height = height;
+    std::cout << "WIDTH=" << _width  << std::endl <<
+        "HEIGHT=" << _height  << std::endl;
+    if (_offscreenbuf) {  
+        free(_offscreenbuf);
+        _offscreenbuf = NULL;
+    }
+
+    int row_size = width*((_bpp+7)/8);
+    int new_bufsize = row_size * height;
+       
+    // TODO: At the moment we only increase the buffer and never decrease it. 
Should be
+    // changed sometime; movies which change the stage size will probably cause
+    // all sorts of havok with raw data, but that's not our problem...
+    if (new_bufsize > _offscreenbuf_size) {
+        // TODO: C++ conform alternative to realloc?
+        _offscreenbuf  = static_cast<unsigned char *>( realloc(_offscreenbuf, 
new_bufsize) );
+        if (!_offscreenbuf) {
+            log_debug("Could not allocate %i bytes for offscreen buffer: %s",
+                      new_bufsize, strerror(errno)
+                      );
+            return;
+        }
+  
+        log_debug("DUMP-AGG: %i bytes offscreen buffer allocated", 
new_bufsize);
+  
+        _offscreenbuf_size = new_bufsize;
+        memset(_offscreenbuf, 0, new_bufsize);
+    }
+       
+    static_cast<render_handler_agg_base *> (_agg_renderer)->init_buffer
+        (_offscreenbuf,
+         _offscreenbuf_size,
+         _width,
+         _height,
+         row_size
+         );
+}
+
+void 
+DumpGui::beforeRendering()
+{
+}
+
+void
+DumpGui::quit()
+{
+    _terminate_request = true;
+}
+
+} // end of namespace gnash
+

Index: gui/dump.h
===================================================================
RCS file: gui/dump.h
diff -N gui/dump.h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ gui/dump.h  1 May 2008 16:30:19 -0000       1.1
@@ -0,0 +1,82 @@
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008 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 __DUMP_H__
+#define __DUMP_H__
+
+#ifdef HAVE_CONFIG_H
+#include "gnashconfig.h"
+#endif
+
+#include "gnash.h"
+#include "tu_config.h" // for DSOEXPORT
+
+namespace gnash
+{
+
+typedef bool (*callback_t)(void*, int, void *data);
+
+class DSOEXPORT DumpGui : public Gui
+{
+ public:
+    DumpGui(unsigned long xid, float scale, bool loop, unsigned int depth);
+    ~DumpGui();
+    void beforeRendering();
+    bool createMenu() { return true; }
+    bool createMenuBar() { return true; }
+    bool createWindow(int width, int height);
+    bool createWindow(const char* /*title*/, int width, int height)
+        { return createWindow(width, height); }
+    bool init(int argc, char **argv[]);
+    void quit();
+    void renderBuffer() {return; }
+    void render() { return; }
+    void render(int /*minx*/, int /*miny*/, int /*maxx*/, int /*maxy*/)
+         { render(); }
+    bool run();
+    void setInterval(unsigned int interval);
+    void setTimeout(unsigned int timeout);
+    bool setupEvents() { return true; }
+    void setFullscreen() { return; }
+    void setInvalidatedRegion(const rect& /*bounds*/) { return; }
+    void setInvalidatedRegions(const InvalidatedRanges& /*ranges*/) { return; }
+    void setCursor(gnash_cursor_type /*newcursor*/) { return; }
+    void setRenderHandlerSize(int width, int height);
+    void unsetFullscreen() { return; }
+    bool want_multiple_regions() { return true; }
+    bool want_redraw() { return false; }
+    void writeFrame();
+
+ private:
+    unsigned int _bpp;                  /* bits per pixel */
+    char _pixelformat[16];              /* colorspace name (eg, "RGB24") */
+    char* _file_output;                 /* path to output file */
+    std::ofstream* _file_stream;        /* stream for output file */
+    unsigned int _timeout;              /* maximum length of movie */
+    unsigned int _framecount;           /* number of frames rendered */
+    void init_dumpfile();               /* convenience method to create dump 
file */
+    render_handler *_agg_renderer;      /* pointer to AGG renderer */
+    unsigned char *_offscreenbuf;       /* our "window" */
+    int _offscreenbuf_size;             /* size of window (bytes) */
+
+};
+
+// end of namespace gnash 
+}
+
+// end of __DUMP_H__
+#endif

Index: gui/gui_dump.cpp
===================================================================
RCS file: gui/gui_dump.cpp
diff -N gui/gui_dump.cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ gui/gui_dump.cpp    1 May 2008 16:30:20 -0000       1.1
@@ -0,0 +1,46 @@
+// gui_gtk.cpp: Wrapper for Gnome ToolKit graphical user interface, for Gnash.
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008 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
+//
+
+#ifdef HAVE_CONFIG_H
+#include "gnashconfig.h"
+#endif
+
+#include "gui.h"
+#include "GnashException.h"
+
+#ifdef GUI_DUMP
+#include "dump.h"
+#endif
+
+namespace gnash {
+
+#ifdef GUI_DUMP
+std::auto_ptr<Gui> createDumpGui(unsigned long windowid, float scale, bool 
do_loop, unsigned int bit_depth)
+{
+       return std::auto_ptr<Gui>(new DumpGui(windowid, scale, do_loop, 
bit_depth));
+}
+#else // ! GUI_DUMP
+std::auto_ptr<Gui> createDumpGui(unsigned long , float , bool , unsigned int )
+{
+       throw GnashException("Support for DUMP gui was not compiled in");
+}
+#endif // ! GUI_DUMP
+
+} // namespace gnash
+

Index: gui/am-frag/dump.am
===================================================================
RCS file: gui/am-frag/dump.am
diff -N gui/am-frag/dump.am
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ gui/am-frag/dump.am 1 May 2008 16:30:21 -0000       1.1
@@ -0,0 +1,31 @@
+# 
+#   Copyright (C) 2007, 2008 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
+# 
+
+#
+# Build the DUMP gui
+#
+if BUILD_DUMP_GUI
+if BUILD_AGG_RENDERER
+bin_PROGRAMS += dump-gnash
+dump_gnash_SOURCES = $(GUI_SRCS) gui_dump.cpp dump.cpp dump.h
+dump_gnash_CPPFLAGS = -DGUI_DUMP -DGUI_CONFIG=\"DUMP\" \
+       $(AM_CPPFLAGS) $(DUMP_CFLAGS) $(AGG_CFLAGS)
+dump_gnash_LDFLAGS = $(LIBLTDL) -export-dynamic $(AM_LDFLAGS) \
+       $(top_builddir)/backend/libgnashagg.la \
+       $(GNASH_LIBS) $(DUMP_LIBS) $(AGG_LIBS) $(CAIRO_LIBS)
+endif                          # BUILD_AGG_RENDERER
+endif                          # BUILD_DUMP_GUI




reply via email to

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