diff --git a/cogl/Makefile.am b/cogl/Makefile.am index 0b8ad47ac..3a4698f39 100644 --- a/cogl/Makefile.am +++ b/cogl/Makefile.am @@ -1,8 +1,10 @@ include $(top_srcdir)/build/autotools/Makefile.am.silent +# preamble + NULL = -SUBDIRS = driver +SUBDIRS = BUILT_SOURCES = @@ -12,23 +14,6 @@ DISTCLEANFILES = noinst_LTLIBRARIES = -# pkg-config ================================================================== -pc_files = \ - cogl-$(COGL_DRIVER)-$(CLUTTER_API_VERSION).pc \ - cogl-$(CLUTTER_API_VERSION).pc - -cogl-$(CLUTTER_API_VERSION).pc: cogl.pc - $(QUIET_GEN)cp -f $< $(@F) - -cogl-$(COGL_DRIVER)-$(CLUTTER_API_VERSION).pc: cogl.pc - $(QUIET_GEN)cp -f $< $(@F) - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = $(pc_files) - -EXTRA_DIST += cogl.pc.in -CLEANFILES += $(pc_files) - INCLUDES = \ -I$(top_srcdir) \ -I$(top_srcdir)/clutter/cogl \ @@ -54,6 +39,20 @@ BUILT_SOURCES += cogl-defines.h DISTCLEANFILES += cogl-defines.h EXTRA_DIST += cogl-defines.h.in +# pkg-config +pc_files = \ + cogl-$(COGL_DRIVER)-$(CLUTTER_API_VERSION).pc \ + cogl-$(CLUTTER_API_VERSION).pc + +cogl-$(COGL_DRIVER)-$(CLUTTER_API_VERSION).pc: cogl-$(CLUTTER_API_VERSION).pc + $(QUIET_GEN)cp -f $< $(@F) + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = $(pc_files) + +EXTRA_DIST += cogl.pc.in +DISTCLEANFILES += $(pc_files) + # public headers cogl_public_h = \ $(srcdir)/cogl-object.h \ @@ -76,6 +75,58 @@ cogl_public_h = \ $(srcdir)/cogl.h \ $(NULL) +# driver sources +cogl_driver_sources = + +if COGL_DRIVER_GL +cogl_driver_sources += \ + $(srcdir)/driver/gl/cogl-context-driver-gl.c \ + $(srcdir)/driver/gl/cogl-context-driver-gl.h \ + $(srcdir)/driver/gl/cogl-feature-functions-gl.h \ + $(srcdir)/driver/gl/cogl-gl.c \ + $(srcdir)/driver/gl/cogl-program-gl.c \ + $(srcdir)/driver/gl/cogl-program-gl.h \ + $(srcdir)/driver/gl/cogl-texture-driver-gl.c \ + $(NULL) +endif + +if COGL_DRIVER_GLES +cogl_driver_sources += \ + $(srcdir)/driver/gles/cogl-context-driver-gles.c \ + $(srcdir)/driver/gles/cogl-context-driver-gles.h \ + $(srcdir)/driver/gles/cogl-feature-functions-gles.h \ + $(srcdir)/driver/gles/cogl-gles.c \ + $(srcdir)/driver/gles/cogl-program-gles.c \ + $(srcdir)/driver/gles/cogl-program-gles.h \ + $(srcdir)/driver/gles/cogl-texture-driver-gles.c \ + $(NULL) + +if USE_GLES2_WRAPPER +cogl_driver_sources += \ + $(srcdir)/driver/gles/cogl-gles2-wrapper.c \ + $(srcdir)/driver/gles/cogl-gles2-wrapper.h \ + $(NULL) + +BUILT_SOURCES += \ + cogl-fixed-vertex-shader.h \ + cogl-fixed-vertex-shader.c \ + cogl-fixed-fragment-shader.h \ + cogl-fixed-fragment-shader.c + +%.h: $(srcdir)/driver/gles/%.glsl + /bin/sh $(top_srcdir)/build/stringify.sh -h $< > $@ +%.c: $(srcdir)/driver/gles/%.glsl + /bin/sh $(top_srcdir)/build/stringify.sh $< > $@ + +endif # USE_GLES2_WAPPER + +EXTRA_DIST += \ + $(srcdir)/driver/gles/cogl-fixed-vertex-shader.glsl \ + $(srcdir)/driver/gles/cogl-fixed-fragment-shader.glsl \ + $(NULL) + +endif # COGL_DRIVER_GLES + # winsys sources, common to all backends cogl_winsys_common_sources = \ $(srcdir)/winsys/cogl-winsys.h \ @@ -114,11 +165,13 @@ cogl_tesselator_sources = \ $(NULL) EXTRA_DIST += \ - $(srcdir)/tesselator/README \ - $(srcdir)/tesselator/priorityq-heap.c + $(srcdir)/tesselator/README \ + $(srcdir)/tesselator/priorityq-heap.c \ + $(NULL) # sources cogl_sources_c = \ + $(cogl_driver_sources) \ $(cogl_winsys_common_sources) \ $(cogl_tesselator_sources) \ $(srcdir)/cogl-debug.h \ @@ -212,6 +265,47 @@ cogl_sources_c = \ $(srcdir)/cogl-callback-list.c \ $(NULL) +if SUPPORT_XLIB +cogl_public_h += \ + $(srcdir)/winsys/cogl-texture-pixmap-x11.h + +cogl_sources_c += \ + $(srcdir)/winsys/cogl-xlib.h \ + $(srcdir)/winsys/cogl-xlib.c \ + $(srcdir)/winsys/cogl-texture-pixmap-x11.c \ + $(srcdir)/winsys/cogl-texture-pixmap-x11-private.h +endif +if SUPPORT_GLX +cogl_sources_c += \ + $(srcdir)/winsys/cogl-glx.c +endif +if SUPPORT_EGL_PLATFORM_POWERVR_X11 +cogl_sources_c += \ + $(srcdir)/winsys/cogl-egl.c +endif +if SUPPORT_EGL_PLATFORM_POWERVR_NULL +cogl_sources_c += \ + $(srcdir)/winsys/cogl-egl.c +endif +if SUPPORT_EGL_PLATFORM_POWERVR_GDL +cogl_sources_c += \ + $(srcdir)/winsys/cogl-egl.c +endif +if SUPPORT_EGL_PLATFORM_FRUITY +cogl_sources_c += \ + $(srcdir)/winsys/cogl-fruity.c +endif +if SUPPORT_WIN32 +cogl_sources_c += \ + $(srcdir)/winsys/cogl-win32.c +endif +if SUPPORT_OSX +cogl_sources_c += \ + $(srcdir)/winsys/cogl-osx.c +endif + +EXTRA_DIST += stb_image.c + # glib-mkenums rules glib_enum_h = cogl-enum-types.h glib_enum_c = cogl-enum-types.c @@ -220,54 +314,10 @@ include $(top_srcdir)/build/autotools/Makefile.am.enums noinst_LTLIBRARIES += libclutter-cogl.la -libclutter_cogl_la_LIBADD = \ - -lm $(CLUTTER_LIBS) \ - $(top_builddir)/clutter/cogl/cogl/driver/$(COGL_DRIVER)/libclutter-cogl-driver.la - +libclutter_cogl_la_LIBADD = -lm $(CLUTTER_LIBS) libclutter_cogl_la_SOURCES = $(cogl_sources_c) nodist_libclutter_cogl_la_SOURCES = $(BUILT_SOURCES) -if SUPPORT_XLIB -cogl_public_h += \ - $(srcdir)/winsys/cogl-texture-pixmap-x11.h - -libclutter_cogl_la_SOURCES += \ - $(srcdir)/winsys/cogl-xlib.h \ - $(srcdir)/winsys/cogl-xlib.c \ - $(srcdir)/winsys/cogl-texture-pixmap-x11.c \ - $(srcdir)/winsys/cogl-texture-pixmap-x11-private.h -endif -if SUPPORT_GLX -libclutter_cogl_la_SOURCES += \ - $(srcdir)/winsys/cogl-glx.c -endif -if SUPPORT_EGL_PLATFORM_POWERVR_X11 -libclutter_cogl_la_SOURCES += \ - $(srcdir)/winsys/cogl-egl.c -endif -if SUPPORT_EGL_PLATFORM_POWERVR_NULL -libclutter_cogl_la_SOURCES += \ - $(srcdir)/winsys/cogl-egl.c -endif -if SUPPORT_EGL_PLATFORM_POWERVR_GDL -libclutter_cogl_la_SOURCES += \ - $(srcdir)/winsys/cogl-egl.c -endif -if SUPPORT_EGL_PLATFORM_FRUITY -libclutter_cogl_la_SOURCES += \ - $(srcdir)/winsys/cogl-fruity.c -endif -if SUPPORT_WIN32 -libclutter_cogl_la_SOURCES += \ - $(srcdir)/winsys/cogl-win32.c -endif -if SUPPORT_OSX -libclutter_cogl_la_SOURCES += \ - $(srcdir)/winsys/cogl-osx.c -endif - -EXTRA_DIST += stb_image.c - # COGL installed headers cogl_headers = \ $(cogl_public_h) \ diff --git a/cogl/cogl-context.h b/cogl/cogl-context.h index 54815349a..028b79fa7 100644 --- a/cogl/cogl-context.h +++ b/cogl/cogl-context.h @@ -25,7 +25,15 @@ #define __COGL_CONTEXT_H #include "cogl-internal.h" -#include "cogl-context-driver.h" + +#if HAVE_COGL_GL +#include "cogl-context-driver-gl.h" +#endif + +#if HAVE_COGL_GLES || HAVE_COGL_GLES2 +#include "cogl-context-driver-gles.h" +#endif + #include "cogl-context-winsys.h" #include "cogl-primitives.h" #include "cogl-clip-stack.h" diff --git a/cogl/cogl-material-arbfp.c b/cogl/cogl-material-arbfp.c index 5c6c94871..25f4eeff1 100644 --- a/cogl/cogl-material-arbfp.c +++ b/cogl/cogl-material-arbfp.c @@ -44,8 +44,13 @@ #include "cogl-journal-private.h" #include "cogl-color-private.h" #include "cogl-profile.h" -#ifndef HAVE_COGL_GLES -#include "cogl-program.h" + +#ifdef HAVE_COGL_GL +#include "cogl-program-gl.h" +#endif + +#ifdef HAVE_COGL_GLES2 +#include "cogl-program-gles.h" #endif #include diff --git a/cogl/cogl-material-fixed.c b/cogl/cogl-material-fixed.c index 1e7870c6a..ae9c29eae 100644 --- a/cogl/cogl-material-fixed.c +++ b/cogl/cogl-material-fixed.c @@ -42,8 +42,13 @@ #include "cogl-texture-private.h" #include "cogl-blend-string.h" #include "cogl-profile.h" -#ifndef HAVE_COGL_GLES -#include "cogl-program.h" + +#ifdef HAVE_COGL_GL +#include "cogl-program-gl.h" +#endif + +#ifdef HAVE_COGL_GLES2 +#include "cogl-program-gles.h" #endif #include diff --git a/cogl/cogl-material-glsl.c b/cogl/cogl-material-glsl.c index 938427f0a..eab49f10c 100644 --- a/cogl/cogl-material-glsl.c +++ b/cogl/cogl-material-glsl.c @@ -40,8 +40,12 @@ #include "cogl-handle.h" #include "cogl-shader-private.h" -#ifndef HAVE_COGL_GLES -#include "cogl-program.h" +#ifdef HAVE_COGL_GL +#include "cogl-program-gl.h" +#endif + +#ifdef HAVE_COGL_GLES2 +#include "cogl-program-gles.h" #endif #include diff --git a/cogl/cogl-material-opengl.c b/cogl/cogl-material-opengl.c index b3d117a50..42543aeae 100644 --- a/cogl/cogl-material-opengl.c +++ b/cogl/cogl-material-opengl.c @@ -36,8 +36,13 @@ #include "cogl-material-private.h" #include "cogl-context.h" #include "cogl-texture-private.h" -#ifndef HAVE_COGL_GLES -#include "cogl-program.h" + +#ifdef HAVE_COGL_GL +#include "cogl-program-gl.h" +#endif + +#ifdef HAVE_COGL_GLES2 +#include "cogl-program-gles.h" #endif #ifdef COGL_MATERIAL_BACKEND_GLSL diff --git a/cogl/driver/gl/Makefile.am b/cogl/driver/gl/Makefile.am deleted file mode 100644 index 80c28929f..000000000 --- a/cogl/driver/gl/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -include $(top_srcdir)/build/autotools/Makefile.am.silent - -NULL = - -INCLUDES = \ - -I$(top_srcdir) \ - -I$(srcdir) \ - -I$(srcdir)/../.. \ - -I$(srcdir)/../../.. \ - -I$(srcdir)/../../winsys \ - -I../.. \ - -I../../.. \ - -DG_DISABLE_SINGLE_INCLUDES \ - -DG_LOG_DOMAIN=\"Cogl-Driver\" \ - -DCLUTTER_COMPILATION - -noinst_LTLIBRARIES = libclutter-cogl-driver.la -libclutter_cogl_driver_la_CPPFLAGS = \ - $(CLUTTER_CFLAGS) \ - $(COGL_DEBUG_CFLAGS) \ - $(CLUTTER_DEBUG_CFLAGS) \ - $(MAINTAINER_CFLAGS) -libclutter_cogl_driver_la_SOURCES = \ - cogl.c \ - cogl-texture-driver.c \ - cogl-program.h \ - cogl-program.c \ - cogl-context-driver.h \ - cogl-context-driver.c \ - cogl-feature-functions.h \ - $(NULL) - - - diff --git a/cogl/driver/gl/cogl-context-driver.c b/cogl/driver/gl/cogl-context-driver-gl.c similarity index 96% rename from cogl/driver/gl/cogl-context-driver.c rename to cogl/driver/gl/cogl-context-driver-gl.c index 9524bbc72..0e67f15d1 100644 --- a/cogl/driver/gl/cogl-context-driver.c +++ b/cogl/driver/gl/cogl-context-driver-gl.c @@ -35,5 +35,5 @@ void _cogl_create_context_driver (CoglContext *_context) { - #include "cogl-feature-functions.h" + #include "cogl-feature-functions-gl.h" } diff --git a/cogl/driver/gl/cogl-context-driver.h b/cogl/driver/gl/cogl-context-driver-gl.h similarity index 97% rename from cogl/driver/gl/cogl-context-driver.h rename to cogl/driver/gl/cogl-context-driver-gl.h index 13cffe3ea..2d8e52138 100644 --- a/cogl/driver/gl/cogl-context-driver.h +++ b/cogl/driver/gl/cogl-context-driver-gl.h @@ -40,7 +40,7 @@ typedef struct _CoglContextDriver { /* This defines a list of function pointers */ -#include "cogl-feature-functions.h" +#include "cogl-feature-functions-gl.h" GLint gl_max_program_temoraries_arb; } CoglContextDriver; diff --git a/cogl/driver/gl/cogl-feature-functions.h b/cogl/driver/gl/cogl-feature-functions-gl.h similarity index 100% rename from cogl/driver/gl/cogl-feature-functions.h rename to cogl/driver/gl/cogl-feature-functions-gl.h diff --git a/cogl/driver/gl/cogl.c b/cogl/driver/gl/cogl-gl.c similarity index 98% rename from cogl/driver/gl/cogl.c rename to cogl/driver/gl/cogl-gl.c index 17b2fb22b..a8494fe0b 100644 --- a/cogl/driver/gl/cogl.c +++ b/cogl/driver/gl/cogl-gl.c @@ -153,7 +153,7 @@ _cogl_check_driver_valid (GError **error) #define COGL_FEATURE_END() \ { NULL, 0 }, \ }; -#include "cogl-feature-functions.h" +#include "cogl-feature-functions-gl.h" /* Define an array of features */ #undef COGL_FEATURE_BEGIN @@ -170,7 +170,7 @@ _cogl_check_driver_valid (GError **error) static const CoglFeatureData cogl_feature_data[] = { -#include "cogl-feature-functions.h" +#include "cogl-feature-functions-gl.h" }; void diff --git a/cogl/driver/gl/cogl-program.c b/cogl/driver/gl/cogl-program-gl.c similarity index 99% rename from cogl/driver/gl/cogl-program.c rename to cogl/driver/gl/cogl-program-gl.c index 20dec0a25..ecb600cbc 100644 --- a/cogl/driver/gl/cogl-program.c +++ b/cogl/driver/gl/cogl-program-gl.c @@ -29,7 +29,7 @@ #endif #include "cogl.h" -#include "cogl-program.h" +#include "cogl-program-gl.h" #include "cogl-shader-private.h" #include "cogl-internal.h" #include "cogl-handle.h" diff --git a/cogl/driver/gl/cogl-program.h b/cogl/driver/gl/cogl-program-gl.h similarity index 100% rename from cogl/driver/gl/cogl-program.h rename to cogl/driver/gl/cogl-program-gl.h diff --git a/cogl/driver/gl/cogl-texture-driver.c b/cogl/driver/gl/cogl-texture-driver-gl.c similarity index 100% rename from cogl/driver/gl/cogl-texture-driver.c rename to cogl/driver/gl/cogl-texture-driver-gl.c diff --git a/cogl/driver/gles/Makefile.am b/cogl/driver/gles/Makefile.am deleted file mode 100644 index ad22cc7c5..000000000 --- a/cogl/driver/gles/Makefile.am +++ /dev/null @@ -1,57 +0,0 @@ -include $(top_srcdir)/build/autotools/Makefile.am.silent - -NULL = - -INCLUDES = \ - -I$(top_srcdir) \ - -I$(srcdir) \ - -I$(srcdir)/../.. \ - -I$(srcdir)/../../.. \ - -I$(srcdir)/../../winsys \ - -I../.. \ - -I../../.. \ - -DG_DISABLE_SINGLE_INCLUDES \ - -DG_LOG_DOMAIN=\"Cogl-Driver\" \ - -DCLUTTER_COMPILATION - -noinst_LTLIBRARIES = libclutter-cogl-driver.la -libclutter_cogl_driver_la_CPPFLAGS = \ - $(CLUTTER_CFLAGS) \ - $(COGL_DEBUG_CFLAGS) \ - $(CLUTTER_DEBUG_CFLAGS) \ - $(MAINTAINER_CFLAGS) -libclutter_cogl_driver_la_SOURCES = \ - cogl.c \ - cogl-texture-driver.c \ - cogl-context-driver.c \ - cogl-context-driver.h \ - cogl-gles2-wrapper.h \ - cogl-program.h \ - cogl-program.c \ - cogl-feature-functions.h - -if USE_GLES2_WRAPPER -libclutter_cogl_driver_la_SOURCES += \ - cogl-gles2-wrapper.c \ - cogl-fixed-vertex-shader.h \ - cogl-fixed-vertex-shader.c \ - cogl-fixed-fragment-shader.h \ - cogl-fixed-fragment-shader.c -endif - -EXTRA_DIST = \ - stringify.sh \ - cogl-fixed-vertex-shader.glsl \ - cogl-fixed-fragment-shader.glsl - -BUILT_SOURCES = \ - cogl-fixed-vertex-shader.h \ - cogl-fixed-vertex-shader.c \ - cogl-fixed-fragment-shader.h \ - cogl-fixed-fragment-shader.c - -%.h: $(srcdir)/%.glsl - /bin/sh $(srcdir)/stringify.sh -h $< > $@ -%.c: $(srcdir)/%.glsl - /bin/sh $(srcdir)/stringify.sh $< > $@ - diff --git a/cogl/driver/gles/cogl-context-driver.c b/cogl/driver/gles/cogl-context-driver-gles.c similarity index 96% rename from cogl/driver/gles/cogl-context-driver.c rename to cogl/driver/gles/cogl-context-driver-gles.c index eb5bff4d8..ca0a0ed47 100644 --- a/cogl/driver/gles/cogl-context-driver.c +++ b/cogl/driver/gles/cogl-context-driver-gles.c @@ -36,7 +36,7 @@ void _cogl_create_context_driver (CoglContext *_context) { - #include "cogl-feature-functions.h" + #include "cogl-feature-functions-gles.h" /* Init the GLES2 wrapper */ #ifdef HAVE_COGL_GLES2 diff --git a/cogl/driver/gles/cogl-context-driver.h b/cogl/driver/gles/cogl-context-driver-gles.h similarity index 97% rename from cogl/driver/gles/cogl-context-driver.h rename to cogl/driver/gles/cogl-context-driver-gles.h index 9c473eb94..f35d435fb 100644 --- a/cogl/driver/gles/cogl-context-driver.h +++ b/cogl/driver/gles/cogl-context-driver-gles.h @@ -41,7 +41,7 @@ typedef struct _CoglContextDriver { /* This defines a list of function pointers */ -#include "cogl-feature-functions.h" +#include "cogl-feature-functions-gles.h" #ifdef HAVE_COGL_GLES2 CoglGles2Wrapper gles2; diff --git a/cogl/driver/gles/cogl-feature-functions.h b/cogl/driver/gles/cogl-feature-functions-gles.h similarity index 100% rename from cogl/driver/gles/cogl-feature-functions.h rename to cogl/driver/gles/cogl-feature-functions-gles.h diff --git a/cogl/driver/gles/cogl.c b/cogl/driver/gles/cogl-gles.c similarity index 98% rename from cogl/driver/gles/cogl.c rename to cogl/driver/gles/cogl-gles.c index 0a85d8504..8b99eb2e0 100644 --- a/cogl/driver/gles/cogl.c +++ b/cogl/driver/gles/cogl-gles.c @@ -50,7 +50,7 @@ _cogl_check_driver_valid (GError **error) #define COGL_FEATURE_END() \ { NULL, 0 }, \ }; -#include "cogl-feature-functions.h" +#include "cogl-feature-functions-gles.h" /* Define an array of features */ #undef COGL_FEATURE_BEGIN diff --git a/cogl/driver/gles/cogl-gles2-wrapper.c b/cogl/driver/gles/cogl-gles2-wrapper.c index 6245bc5a7..5cc1277f1 100644 --- a/cogl/driver/gles/cogl-gles2-wrapper.c +++ b/cogl/driver/gles/cogl-gles2-wrapper.c @@ -25,7 +25,6 @@ #include "config.h" #endif -#include #include #include diff --git a/cogl/driver/gles/cogl-gles2-wrapper.h b/cogl/driver/gles/cogl-gles2-wrapper.h index 9edf78de0..0274761bd 100644 --- a/cogl/driver/gles/cogl-gles2-wrapper.h +++ b/cogl/driver/gles/cogl-gles2-wrapper.h @@ -26,7 +26,7 @@ #include "cogl.h" /* needed for gl header include */ #include "cogl-internal.h" -#include "cogl-program.h" +#include "cogl-program-gles.h" G_BEGIN_DECLS diff --git a/cogl/driver/gles/cogl-program.c b/cogl/driver/gles/cogl-program-gles.c similarity index 99% rename from cogl/driver/gles/cogl-program.c rename to cogl/driver/gles/cogl-program-gles.c index 50715613b..d3ca29962 100644 --- a/cogl/driver/gles/cogl-program.c +++ b/cogl/driver/gles/cogl-program-gles.c @@ -36,7 +36,7 @@ #include #include "cogl-shader-private.h" -#include "cogl-program.h" +#include "cogl-program-gles.h" static void _cogl_program_free (CoglProgram *program); diff --git a/cogl/driver/gles/cogl-program.h b/cogl/driver/gles/cogl-program-gles.h similarity index 100% rename from cogl/driver/gles/cogl-program.h rename to cogl/driver/gles/cogl-program-gles.h diff --git a/cogl/driver/gles/cogl-texture-driver.c b/cogl/driver/gles/cogl-texture-driver-gles.c similarity index 100% rename from cogl/driver/gles/cogl-texture-driver.c rename to cogl/driver/gles/cogl-texture-driver-gles.c diff --git a/cogl/driver/gles/stringify.sh b/cogl/driver/gles/stringify.sh deleted file mode 100644 index 721528a88..000000000 --- a/cogl/driver/gles/stringify.sh +++ /dev/null @@ -1,94 +0,0 @@ -#! /bin/sh - -# Cogl -# -# An object oriented GL/GLES Abstraction/Utility Layer -# -# Copyright (C) 2008,2009 Intel Corporation. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. -# -# This library 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 -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the -# Free Software Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - - -output_copyright () -{ - cat <