[gegl] Expose the seamless cloning API



commit 673cf8e1f73d4512d85c5e71223b7b1bf20dd66e
Author: Barak Itkin <lightningismyname gmail com>
Date:   Sat Dec 1 16:45:34 2012 +0200

    Expose the seamless cloning API

 configure.ac                                   |    1 +
 operations/common/seamless-clone/.gitignore    |    1 +
 operations/common/seamless-clone/Makefile.am   |   51 ++++++++++++++++++-----
 operations/common/seamless-clone/gegl-sc.pc.in |   11 +++++
 4 files changed, 53 insertions(+), 11 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 4f1ff38..fc6bfff 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1147,6 +1147,7 @@ AC_CONFIG_FILES(
 gegl-gegl_api_version.pc:gegl.pc.in
 gegl/gegl-gegl_api_version.deps:gegl/gegl.deps.in
 gegl/Gegl-gegl_api_version.metadata:gegl/Gegl.metadata.in
+operations/common/seamless-clone/gegl-sc-gegl_api_version.pc:operations/common/seamless-clone/gegl-sc.pc.in
 )
 
 AC_OUTPUT
diff --git a/operations/common/seamless-clone/.gitignore b/operations/common/seamless-clone/.gitignore
index 929e1e8..dc4f6f1 100644
--- a/operations/common/seamless-clone/.gitignore
+++ b/operations/common/seamless-clone/.gitignore
@@ -5,3 +5,4 @@
 /*.la
 /*.lo
 /*.so
+/gegl-sc-*.pc
diff --git a/operations/common/seamless-clone/Makefile.am b/operations/common/seamless-clone/Makefile.am
index 8bc25fc..157aeb7 100644
--- a/operations/common/seamless-clone/Makefile.am
+++ b/operations/common/seamless-clone/Makefile.am
@@ -1,24 +1,53 @@
 include $(top_srcdir)/operations/Makefile-common.am
 
-AM_LDFLAGS += $(op_libs) $(P2TC_LIBS)
-AM_CFLAGS  += $(op_cflags) $(P2TC_CFLAGS)
+AM_LDFLAGS += $(P2TC_LIBS)
+AM_CFLAGS  += $(P2TC_CFLAGS)
 
-sc_common_files =              \
+##################################################################
+# A shared library for direct access to the seamless cloning API #
+##################################################################
+
+GEGL_SC_publicdir = $(includedir)/gegl-$(GEGL_API_VERSION)/sc
+
+GEGL_SC_public_HEADERS =       \
        sc-common.h             \
-       sc-context.c            \
        sc-context.h            \
-       sc-context-private.h    \
-       sc-outline.c            \
        sc-outline.h            \
-       sc-sample.c             \
        sc-sample.h
 
-noinst_LTLIBRARIES = libsc.la
-libsc_la_SOURCES = $(sc_common_files)
+GEGL_SC_SOURCES =                      \
+       $(GEGL_SC_public_HEADERS)       \
+       sc-context-private.h            \
+       sc-context.c                    \
+       sc-outline.c                    \
+       sc-sample.c
+       
+libgegl_sc_ GEGL_API_VERSION@_la_SOURCES = $(GEGL_SC_public_HEADERS) $(GEGL_SC_SOURCES)
+
+lib_LTLIBRARIES = libgegl-sc- GEGL_API_VERSION@.la
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = gegl-sc-$(GEGL_API_VERSION).pc
+
+###############################
+# Seamless cloning operations #
+###############################
 
-seamless_clone_la_SOURCES = seamless-clone.c $(sc_common_files)
+AM_LDFLAGS += $(op_libs)
+AM_CFLAGS  += $(op_cflags)
+
+# A simple seamless cloning operation
+seamless_clone_la_SOURCES = seamless-clone.c
+seamless_clone_la_LIBS = libgegl-sc- GEGL_API_VERSION@.la
+
+# A composing operation for using the seamless cloning
 seamless_clone_compose_la_SOURCES = seamless-clone-compose.c
 
+# Install both the operations in the op dir
+#
+#   TODO: Currently we define this variable manually since it's defined
+#   in the operations automake file, but there it comes together with
+#   other definitions that we don't want...
 opdir = $(libdir)/gegl- GEGL_API_VERSION@
-
 op_LTLIBRARIES = seamless-clone.la seamless-clone-compose.la
+
diff --git a/operations/common/seamless-clone/gegl-sc.pc.in b/operations/common/seamless-clone/gegl-sc.pc.in
new file mode 100644
index 0000000..52c475e
--- /dev/null
+++ b/operations/common/seamless-clone/gegl-sc.pc.in
@@ -0,0 +1,11 @@
+prefix= prefix@
+exec_prefix= exec_prefix@
+libdir= libdir@
+includedir= includedir@/sc
+
+Name: GEGL Seamless Cloning
+Description: Seamless Cloning Library Based on GEGL
+Version: @GEGL_REAL_VERSION@
+Requires: @GLIB_PACKAGES@ babl poly2tri-c @PACKAGE_NAME@
+Libs: -L${libdir} -l PACKAGE_NAME@-sc- GEGL_API_VERSION@
+Cflags: -I${includedir}/@PACKAGE_NAME -@GEGL_API_VERSION@/sc


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