summaryrefslogtreecommitdiff
path: root/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* Separate out CoglPath api into sub-libraryRobert Bragg2013-06-121-2/+6
| | | | | | | | | | | | | | | | | | | | | | | This splits out the cogl_path_ api into a separate cogl-path sub-library like cogl-pango and cogl-gst. This enables developers to build Cogl with this sub-library disabled if they don't need it which can be useful when its important to keep the size of an application and its dependencies down to a minimum. The functions cogl_framebuffer_{fill,stroke}_path have been renamed to cogl_path_{fill,stroke}. There were a few places in core cogl and cogl-gst that referenced the CoglPath api and these have been decoupled by using the CoglPrimitive api instead. In the case of cogl_framebuffer_push_path_clip() the core clip stack no longer accepts path clips directly but it's now possible to get a CoglPrimitive for the fill of a path and so the implementation of cogl_framebuffer_push_path_clip() now lives in cogl-path and works as a shim that first gets a CoglPrimitive and uses cogl_framebuffer_push_primitive_clip instead. We may want to consider renaming cogl_framebuffer_push_path_clip to put it in the cogl_path_ namespace. Reviewed-by: Neil Roberts <neil@linux.intel.com>
* tests: Adds our first white-box unit testRobert Bragg2013-06-061-1/+1
| | | | | | | | | | | | | | | | | | This adds a white-box unit test that verifies that GL_BLEND is disabled when drawing an opaque rectangle, enabled when drawing a transparent rectangle and then disabled again when drawing a transparent rectangle but with a blend string that effectively disables blending. This shares the test utilities and launcher infrastructure we are using for conformance tests so we get consistent reporting and so unit tests will be run against a range of different drivers. This adds a --enable-unit-tests configure option which is enabled by default but if disabled will make all UNIT_TESTS() into static inline functions that we should expect the compiler to discard since they won't be referenced by anything. Reviewed-by: Neil Roberts <neil@linux.intel.com>
* Include CoglGstPlamena Manolova2013-03-191-1/+6
| | | | | | | | | | | | CoglGst is a GStreamer integration library that facilitates video playback using the Cogl API. It works by retrieving each video frame from the GStreamer pipeline and attaching it to a Cogl pipeline in the form of a Cogl texture along with possible color model conversion shaders. The pipeline is then retrieved by the user during each draw. An example use of the CoglGst API is included in the examples directory. Reviewed-by: Neil Roberts <neil@linux.intel.com>
* build: Allow to build cogl without an external glib dependencyDamien Lespiau2012-09-241-1/+1
| | | | | | | | | | | | This commit pushes --disable-glib to the extreme of embedding the par of glib cogl depends on in tree to be able to generate a DSO that does not depend on an external glib. To do so, it: - keeps a lot of glib's configure.ac in as-glibconfig.m4 - pulls the code cogl depends on and the necessary dependencies Reviewed-by: Robert Bragg <robert@linux.intel.com>
* Adds libcogl-gles2 frontend GLES2 apiRobert Bragg2012-05-171-0/+4
| | | | | | | | | | This adds a library that can be used instead of libGLESv2.so to provide symbols for the GLES 2.0 api. This can be used for convenience when using the cogl_gles2_context_ api since you don't need to manually go through a CoglGLES2Vtable when calling the gles2 api so it should be easier to port existing gles2 code to integrate with Cogl. Reviewed-by: Neil Roberts <neil@linux.intel.com>
* docs: Make sure we check wayland support for releasesRobert Bragg2012-03-051-1/+3
| | | | | This updates the RELEASING notes to state that we should enable wayland support when preparing and testing for a release.
* VS 2008/2010 project files to build CoglChun-wei Fan2011-11-251-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are the VS 2008/2010 project files to build Cogl, with a README.txt to explain the process involved. Note that the Cogl and Cogl-Pango projects (and filters for VS2010) are expanded with the correct source file listings during "make dist", which is done to simplify maintenance of these project files. -added preconfigured config.h(.win32.in), which is expanded with the correct versioining info during autogen -added preconfigued cogl/cogl-defines.h.win32 -added symbols files for cogl and cogl-pango -Have configure.ac expand the config.h.win32.in into config.h.win32 with the correct versioning info, etc, and to include the Visual C++ project files for distribution -Added rules in cogl/Makefile.am to expand the cogl VS 2008/2010 projects and filters from the templates with up-to-date source file listings, to distribute cogl-enum-types.c, cogl-enum-types.h to ease compilation and to avoid depending on PERL on Windows installations. -Added rules in cogl-pango/Makefile.am to expand the cogl-pango VS2008/ 2010 projects and filters from the templates with up-to-date source file listings. -Added/edited various Makefile.am's in build to distribute the VS2008/2010 project files and associated items required for the build. -Update .gitignore. There needs to be a pre-configured config.h(.win32) and its template, config.h.win32.in for Visual C++ builds https://bugzilla.gnome.org/show_bug.cgi?id=650020 Reviewed-by: Neil Roberts <neil@linux.intel.com>
* Starts porting Cogl conformance tests from ClutterRobert Bragg2011-09-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This makes a start on porting the Cogl conformance tests that currently still live in the Clutter repository to be standalone Cogl tests that no longer require a ClutterStage. The main thing is that this commit brings in is the basic testing infrastructure we need, so now we can port more and more tests incrementally. Since the test suite wants a way to synchronize X requests/replies and we can't simply call XSynchronize in the test-utils code before we know if we are really running on X this adds a check for an environment variable named "COGL_X11_SYNC" in cogl-xlib-renderer.c and if it's set it forces XSynchronize (dpy, TRUE) to be called. By default the conformance tests are run off screen. This makes the tests run much faster and they also don't interfere with other work you may want to do by constantly stealing focus. CoglOnscreen framebuffers obviously don't get tested this way so it's important that the tests also get run on screen every once in a while, especially if changes are being made to CoglFramebuffer related code. On screen testing can be enabled by setting COGL_TEST_ONSCREEN=1 in your environment.
* dist: enable more features for distcheckRobert Bragg2011-07-201-1/+9
| | | | | | | As a bare minimum we want to ensure that are releases are able to build with support for gles1, gles2, gl, egl and glx. Previously we only checked the build with gl + glx enabled and our last release actually missed a header file required for building with egl.
* dist: Don't use elaborate script to gen ChangelogsRobert Bragg2011-07-201-2/+0
| | | | | | The changelog generation scripts used for releases are overly elaborate and fragile. A Changelog is also no substitute for the Git log so now we simply ship a static Changelog that points to the Git log instead.
* Ensure we use --enable-profile during make distcheckRobert Bragg2011-06-141-0/+2
|
* Adds build/autotools/Makefile.am.changelog/releaseRobert Bragg2011-06-141-0/+8
| | | | This adds some convenience rules to help manage releases
* configure: Force #undef of 'near' and 'far' on WindowsNeil Roberts2011-06-141-1/+3
| | | | | | | This adds an extra header that gets included from config.h where we can add configuration defines. This is used to #undef 'near' and 'far' when building for Windows so that we don't have to avoid using them as variable names in the Cogl code.
* build: Make sure to build examples, doc and po lastDamien Lespiau2011-05-061-1/+3
| | | | | | | | It seems more natural to compile examples after optional libraries as you could have an example illustrating one of those libraries. Build the docs and po files at the end too, trying to group the compilation of C files together.
* build: Enable building the documentation againDamien Lespiau2011-05-061-1/+1
| | | | | At least the 1.6.0 documentation. The 2.0 one has been missed by the filter-branch and will be re-added later.
* Remove all the options for building cogl standaloneRobert Bragg2011-05-061-5/+1
| | | | | | This removes all the remnants from being able to build Cogl standalone while it was part of the Clutter repository. Now that Cogl has been split out then standalone builds are the only option.
* Adds an initial README to the repoRobert Bragg2011-05-061-0/+2
|
* consistently refer to cogl-pango as "cogl-pango"Robert Bragg2011-05-061-1/+1
| | | | | This renames the pango directory to cogl-pango and it renames the installed library to libcogl-pango instead of libcoglpango.
* Make building cogl-pango optionalRobert Bragg2011-05-061-1/+5
| | | | | When building for platforms that don't use pango for handling text you may not need the cogl-pango library.
* Adds Cogl Hello World and "X11 foreign" example applicationsRobert Bragg2011-05-051-1/+1
| | | | | | | | | This adds a simple standalone Cogl application that can be used to smoke test a standalone build of Cogl without Clutter. This also adds an x11-foreign app that shows how a toolkit can ask Cogl to draw to an X Window that it owns instead of Cogl being responsible for automatically creating and mapping an X Window for CoglOnscreen.
* Adds the ability to build Cogl standaloneRobert Bragg2011-04-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds an autogen.sh, configure.ac and build/autotool files etc under clutter/cogl and makes some corresponding Makefile.am changes that make it possible to build and install Cogl as a standalone library. Some notable things about this are: A standalone installation of Cogl installs 3 pkg-config files; cogl-1.0.pc, cogl-gl-1.0.pc and cogl-2.0.pc. The second is only for compatibility with what clutter installed though I'm not sure that anything uses it so maybe we could remove it. cogl-1.0.pc is what Clutter would use if it were updated to build against a standalone cogl library. cogl-2.0.pc is what you would use if you were writing a standalone Cogl application. A standalone installation results in two libraries currently, libcogl.so and libcogl-pango.so. Notably we don't include a major number in the sonames because libcogl supports two major API versions; 1.x as used by Clutter and the experimental 2.x API for standalone applications. Parallel installation of later versions e.g. 3.x and beyond will be supportable either with new sonames or if we can maintain ABI then we'll continue to share libcogl.so. The headers are similarly not installed into a directory with a major version number since the same headers are shared to export the 1.x and 2.x APIs (The only difference is that cogl-2.0.pc ensures that -DCOGL_ENABLE_EXPERIMENTAL_2_0_API is used). Parallel installation of later versions is not precluded though since we can either continue sharing or later add a major version suffix.
* [cogl] move clutter/pango to clutter/cogl/pangoRobert Bragg2009-10-161-1/+1
| | | | | As part of the re-organisation of Cogl; move clutter/pango to be part of the cogl sub-project.
* Intial Re-layout of the Cogl source code and introduction of a Cogl WinsysRobert Bragg2009-10-161-88/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As part of an incremental process to have Cogl be a standalone project we want to re-consider how we organise the Cogl source code. Currently this is the structure I'm aiming for: cogl/ cogl/ <put common source here> winsys/ cogl-glx.c cogl-wgl.c driver/ gl/ gles/ os/ ? utils/ cogl-fixed cogl-matrix-stack? cogl-journal? cogl-primitives? pango/ The new winsys component is a starting point for migrating window system code (i.e. x11,glx,wgl,osx,egl etc) from Clutter to Cogl. The utils/ and pango/ directories aren't added by this commit, but they are noted because I plan to add them soon. Overview of the planned structure: * The winsys/ API is the API that binds OpenGL to a specific window system, be that X11 or win32 etc. Example are glx, wgl and egl. Much of the logic under clutter/{glx,osx,win32 etc} should migrate here. * Note there is also the idea of a winsys-base that may represent a window system for which there are multiple winsys APIs. An example of this is x11, since glx and egl may both be used with x11. (currently only Clutter has the idea of a winsys-base) * The driver/ represents a specific varient of OpenGL. Currently we have "gl" representing OpenGL 1.4-2.1 (mostly fixed function) and "gles" representing GLES 1.1 (fixed funciton) and 2.0 (fully shader based) * Everything under cogl/ should fundamentally be supporting access to the GPU. Essentially Cogl's most basic requirement is to provide a nice GPU Graphics API and drawing a line between this and the utility functionality we add to support Clutter should help keep this lean and maintainable. * Code under utils/ as suggested builds on cogl/ adding more convenient APIs or mechanism to optimize special cases. Broadly speaking you can compare cogl/ to OpenGL and utils/ to GLU. * clutter/pango will be moved to clutter/cogl/pango How some of the internal configure.ac/pkg-config terminology has changed: backendextra -> CLUTTER_WINSYS_BASE # e.g. "x11" backendextralib -> CLUTTER_WINSYS_BASE_LIB # e.g. "x11/libclutter-x11.la" clutterbackend -> {CLUTTER,COGL}_WINSYS # e.g. "glx" CLUTTER_FLAVOUR -> {CLUTTER,COGL}_WINSYS clutterbackendlib -> CLUTTER_WINSYS_LIB CLUTTER_COGL -> COGL_DRIVER # e.g. "gl" Note: The CLUTTER_FLAVOUR and CLUTTER_COGL defines are kept for apps As the first thing to take advantage of the new winsys component in Cogl; cogl_get_proc_address() has been moved from cogl/{gl,gles}/cogl.c into cogl/common/cogl.c and this common implementation first trys _cogl_winsys_get_proc_address() but if that fails then it falls back to gmodule.
* [build] Split out the custom silent rulesEmmanuele Bassi2009-09-161-6/+2
| | | | | The silent rules we use for custom targets should be moved into a separate Makefile.am that gets included from all the others.
* Use AM_SILENT_RULES if automake >= 1.11 is installedEmmanuele Bassi2009-08-191-2/+4
| | | | | | | | Fixes bug: http://bugzilla.openedhand.com/show_bug.cgi?id=1756 Based on a patch by: Javier Jardón <javierjc1982@gmail.com>
* Update Clutter to use G-I 0.6.4Götz Waschk2009-08-171-1/+1
| | | | | | | | | | | | | | | Following bug #1762, the syntax of g-ir-scanner was changed in gobject-introspection, so Clutter does not build anymore with 0.6.4. See the bugzilla bug: http://bugzilla.gnome.org/show_bug.cgi?id=591669 GObject-Introspection now uses a different mechanism to extract the SONAME when building the gir file and it needs the libtool archive as option. Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* Fix building introspection when dolt is not in useOwen W. Taylor2009-07-181-1/+1
| | | | | | | | | | | | | On some platforms (anything but Linux, and on obscure Linux architectures) dolt isn't used, so $(top_builddir)/doltlibtool won't exist. $(top_builddir)/libtool will always be generated even if dolt is used, so just use that unconditionally. We don't need the extra speed when linking the single program for introspection. http://bugzilla.openedhand.com/show_bug.cgi?id=1699 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* [introspection] Add --c-include to g-ir-scannerEmmanuele Bassi2009-06-091-0/+1
| | | | | Since Clutter has a single-include header policy we need to put the header to be included inside the GIR file.
* [build] Remove cogl-enum-types.h on distcleanEmmanuele Bassi2009-05-291-0/+4
| | | | | | | | | The cogl-enum-types.h file is created by glib-mkenums under /clutter/cogl/common, and then copied in /clutter/cogl in order to make the inclusion of that file work inside cogl.h. Since we're copying it in a different location, the Makefile for that location has to clean up the copy.
* [build] Fix dist issuesEmmanuele Bassi2009-05-291-0/+1
| | | | | | * cogl-deprecated.h is not being installed * cogl-enum-types.c.in is not part of the dist
* [build] Encode the target into the backend libraryEmmanuele Bassi2009-05-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | The libclutter-cogl internal object should be the only dependency for Clutter, since we are already copying it inside clutter/cogl for the introspection scanner. For this reason, the backend-specific, real internal object should be built with the backend encoded into the file name, like libclutter-common. This makes the build output a little bit more clear: instead of having two: LINK libclutter-cogl-common.la ... LINK libclutter-cogl.la LINK libclutter-cogl.la We'll have: LINK libclutter-cogl-common.la ... LINK libclutter-cogl-gl.la LINK libclutter-cogl.la Same applies for the GLES backend.
* [cogl] Generate enumeration GTypesEmmanuele Bassi2009-05-291-14/+26
| | | | | COGL is starting to have more enumerations than I can handle by hand. Let's use glib-mkenums and be done with it.
* [build] Fix with --disable-introspectionEmmanuele Bassi2009-05-141-1/+1
| | | | | | The required "fake" libclutter-cogl.la upon with the main clutter shared object depends is only built with introspection enabled instead of being built unconditionally.
* Don't build Cogl.gir against installed Clutter libraryOwen W. Taylor2009-05-131-18/+11
| | | | | | | | | | | | | | | | | | | Passing: --library=clutter-@CLUTTER_FLAVOUR@-@CLUTTER_API_VERSION@ to g-ir-scanner, when building Cogl was causing g-ir-scanner to link the introspection program against the installed clutter library, if it existed or fail otherwise. Instead copy the handling from the json/ directory where we link against the convenience library to scan, and do the generation of the typelib later in the main clutter/directory. Fixes bug: http://bugzilla.openedhand.com/show_bug.cgi?id=1594 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* [build] Unbreak compilationEmmanuele Bassi2009-05-101-2/+2
| | | | | | | | When building Clutter with introspection enabled everything stops at Cogl GIR generation because it depends on the installed library to work. Since we still require some changes in the API to be able to build the GIR and the typelib for Cogl we should disable the generation of the GIR as well.
* [build] Build Cogl introspection dataEmmanuele Bassi2009-05-061-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the introspection data for Cogl is built right into Clutter's own typelib. This makes functions like: cogl_path_round_rectangle() Appear as: Clutter.cogl_path_round_rectangle() It should be possible, instead, to have a Cogl namespace and: Cogl.path_round_rectangle() This means building introspection data for Cogl alone. Unfortunately, there are three types defined in Cogl that confuse the introspection scanner, and make it impossible to build a typelib: COGLint COGLuint COGLenum These three types should go away before 1.0, substituted by int, unsigned int and proper enumeration types. For this reason, we can just set up the GIR build and wait until the last moment to create the typelib. Once that has been done, we will be able to safely remove the Cogl API from the Clutter GIR and typelib and let people import Cogl if they want to use the Cogl API via introspection.
* Add pkg-config file for COGLEmmanuele Bassi2009-03-101-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | COGL should ship its own pkg-config file, obviously still pointing to Clutter's compiler flags and linking options, for COGL-specific variables that might be queried at configure time. For instance, it's easier (and less verbose) to do: PKG_CHECK_EXISTS([cogl-gl-1.0], [has_gl_backend=yes], [has_gl_backend=no]) Than doing: AC_MSG_CHECKING([for GL support in COGL]) cogl_backend=`$PKG_CONFIG --variable=cogl clutter-0.9` if test x$cogl_backend = xgl; then has_gl_backend=yes AC_MSG_RESULT([found]) else has_gl_backend=no AC_MSG_RESULT([not found]) fi
* [build] Add cogl.h to the built sources listRobert Staudinger2009-02-121-0/+2
| | | | | | | | The main COGL header file is generated at configure time. If something changes in the template, though, the file will not be regenerated. Adding cogl.h to the BUILT_SOURCES list will allow the regeneration to happen.
* Fixed 'make dist'Neil Roberts2008-04-281-2/+2
| | | | | | | | | | | | | | | | | * clutter/cogl/Makefile.am (EXTRA_DIST): Distribute cogl.h.in instead of cogl.h (DIST_SUBDIRS): Added common folder * clutter/cogl/gl/Makefile.am (libclutter_cogl_la_SOURCES): Remove cogl-defines.h and use the right location for cogl-defines.gl.h (EXTRA_DIST): Distribute cogl-defines.h.in * clutter/cogl/gles/Makefile.am (libclutter_cogl_la_SOURCES): Remove cogl-defines.h and use the right location for cogl-defines.gles.h (EXTRA_DIST): Distribute cogl-defines.h.in * clutter/Makefile.am (DIST_SUBDIRS): Add fruity
* Merged clutter-ivan branch into trunk.Neil Roberts2008-04-251-1/+1
| | | | | | svn merge \ https://svn.o-hand.com/repos/clutter/trunk/clutter@2509 \ https://svn.o-hand.com/repos/clutter/branches/clutter-ivan@HEAD
* 2008-04-09 Emmanuele Bassi <ebassi@openedhand.com>Emmanuele Bassi2008-04-091-1/+1
| | | | | | | | | * clutter/cogl/Makefile.am: * clutter/cogl/gl/Makefile.am: * clutter/cogl/gles/Makefile.am: * clutter/json/Makefile.am: * clutter/pango/Makefile.am: Fix the visibility of all the symbols, for the main library and the statically linked ones.
* 2007-03-27 Matthew Allum <mallum@openedhand.com>Matthew Allum2007-03-271-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | * clutter/cogl/Makefile.am: * clutter/cogl/cogl.h: * clutter/cogl/gles/Makefile.am: * clutter/cogl/gles/cogl.c: Begin poplulating cogl GLES code. * configure.ac: * clutter/egl/clutter-event-egl.c: * clutter/egl/clutter-stage-egl.c: * clutter/egl/clutter-stage-egl.h: * clutter/egl/clutter-backend-egl.c: * clutter/egl/clutter-backend-egl.h: * clutter/egl/clutter-egl.h: Add initial EGL/X backend work mostly ported from backend branch. Builds but untested as yet. * clutter/glx/clutter-stage-glx.c: Only include XFixes Header if we have have it. * clutter/clutter-behaviour.c: (clutter_behaviour_apply): * clutter/clutter-behaviour.h: Add clutter_behaviour_is_applied()
* 2007-03-27 Matthew Allum <mallum@openedhand.com>Matthew Allum2007-03-261-0/+3
* clutter/clutter-feature.c: Rejig ifdef's a little. Make drm vblanking Linux only. * clutter/clutter-stage.c: * clutter/clutter-stage.h: Add a perspective boxed type. * clutter/glx/clutter-stage-glx.c: Add some FIXMEs * clutter/Makefile.am: * clutter/cogl/Makefile.am: * clutter/cogl/cogl.h: * clutter/cogl/gl/Makefile.am: * clutter/cogl/gl/cogl.c: * configure.ac: Very initial work on 'cogl' GL/GLES abstraction/utility code.