[gegl] Fix parallel make for seamless clone



commit 3bb9445ab3e4fa28eb1776aa01aaa1388d2af5d8
Author: Daniel Sabo <DanielSabo gmail com>
Date:   Wed May 15 19:57:30 2013 -0700

    Fix parallel make for seamless clone
    
    Ensure that gegl-sc-XX.so is built and installed before the
    seamless clone operations.

 Makefile.am                                        |    1 +
 configure.ac                                       |    5 ++-
 operations/Makefile.am                             |    1 +
 operations/common/Makefile.am                      |    2 +-
 operations/seamless-clone/.gitignore               |    7 ++++
 operations/seamless-clone/Makefile.am              |   26 +++++++++++++
 .../seamless-clone/seamless-clone-compose.c        |    0
 .../{common => }/seamless-clone/seamless-clone.c   |    0
 .../{common => }/seamless-clone/seamless-clone.h   |    0
 po/POTFILES.in                                     |    4 +-
 seamless-clone/.gitignore                          |    8 ++++
 seamless-clone/Makefile.am                         |   39 ++++++++++++++++++++
 .../gegl-sc.pc.in                                  |    0
 .../seamless-clone => seamless-clone}/sc-common.h  |    0
 .../sc-context-private.h                           |    0
 .../seamless-clone => seamless-clone}/sc-context.c |    0
 .../seamless-clone => seamless-clone}/sc-context.h |    0
 .../seamless-clone => seamless-clone}/sc-outline.c |    0
 .../seamless-clone => seamless-clone}/sc-outline.h |    0
 .../seamless-clone => seamless-clone}/sc-sample.c  |    0
 .../seamless-clone => seamless-clone}/sc-sample.h  |    0
 21 files changed, 88 insertions(+), 5 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 126d434..6dd4612 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,6 +6,7 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
 SUBDIRS=\
        libs \
        gegl \
+       seamless-clone \
        operations \
        bin \
        tools \
diff --git a/configure.ac b/configure.ac
index 0cbeef0..4b28857 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1109,11 +1109,12 @@ libs/poly2tri-c/poly2tri-c/p2t/sweep/Makefile
 libs/poly2tri-c/poly2tri-c/p2t/common/Makefile
 libs/poly2tri-c/poly2tri-c/p2t/Makefile
 libs/poly2tri-c/poly2tri-c/refine/Makefile
+seamless-clone/Makefile
 operations/Makefile
 operations/core/Makefile
 operations/common/Makefile
 operations/common/perlin/Makefile
-operations/common/seamless-clone/Makefile
+operations/seamless-clone/Makefile
 operations/external/Makefile
 operations/generated/Makefile
 operations/transform/Makefile
@@ -1147,7 +1148,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
+seamless-clone/gegl-sc-gegl_api_version.pc:seamless-clone/gegl-sc.pc.in
 )
 
 AC_OUTPUT
diff --git a/operations/Makefile.am b/operations/Makefile.am
index b96e91e..d89f9fe 100644
--- a/operations/Makefile.am
+++ b/operations/Makefile.am
@@ -2,6 +2,7 @@ SUBDIRS = \
        core            \
        common          \
        generated       \
+       seamless-clone \
        transform \
        external
 
diff --git a/operations/common/Makefile.am b/operations/common/Makefile.am
index 8eb826f..d0ab652 100644
--- a/operations/common/Makefile.am
+++ b/operations/common/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = perlin seamless-clone
+SUBDIRS = perlin
 
 include $(top_srcdir)/operations/Makefile-operations.am
 
diff --git a/operations/seamless-clone/.gitignore b/operations/seamless-clone/.gitignore
new file mode 100644
index 0000000..929e1e8
--- /dev/null
+++ b/operations/seamless-clone/.gitignore
@@ -0,0 +1,7 @@
+/Makefile
+/Makefile.in
+/.deps
+/.libs
+/*.la
+/*.lo
+/*.so
diff --git a/operations/seamless-clone/Makefile.am b/operations/seamless-clone/Makefile.am
new file mode 100644
index 0000000..0758286
--- /dev/null
+++ b/operations/seamless-clone/Makefile.am
@@ -0,0 +1,26 @@
+include $(top_srcdir)/operations/Makefile-common.am
+
+###############################
+# Seamless cloning operations #
+###############################
+
+AM_LDFLAGS += $(P2TC_LDLAGS)
+AM_CFLAGS += $(P2TC_CFLAGS) -I$(top_srcdir)/seamless-clone
+
+LIBS = $(op_libs)
+
+# A simple seamless cloning operation
+seamless_clone_la_SOURCES = seamless-clone.c
+seamless_clone_la_LIBADD = $(top_srcdir)/seamless-clone/libgegl-sc- GEGL_API_VERSION@.la
+
+# A composing operation for using the seamless cloning
+seamless_clone_compose_la_SOURCES = seamless-clone-compose.c
+seamless_clone_compose_la_LIBADD = $(top_srcdir)/seamless-clone/libgegl-sc- GEGL_API_VERSION@.la
+
+# 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/seamless-clone-compose.c 
b/operations/seamless-clone/seamless-clone-compose.c
similarity index 100%
rename from operations/common/seamless-clone/seamless-clone-compose.c
rename to operations/seamless-clone/seamless-clone-compose.c
diff --git a/operations/common/seamless-clone/seamless-clone.c b/operations/seamless-clone/seamless-clone.c
similarity index 100%
rename from operations/common/seamless-clone/seamless-clone.c
rename to operations/seamless-clone/seamless-clone.c
diff --git a/operations/common/seamless-clone/seamless-clone.h b/operations/seamless-clone/seamless-clone.h
similarity index 100%
rename from operations/common/seamless-clone/seamless-clone.h
rename to operations/seamless-clone/seamless-clone.h
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 5518826..8c16050 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -70,8 +70,8 @@ operations/common/reinhard05.c
 operations/common/remap.c
 operations/common/ripple.c
 operations/common/save.c
-operations/common/seamless-clone/seamless-clone.c
-operations/common/seamless-clone/seamless-clone-compose.c
+operations/seamless-clone/seamless-clone.c
+operations/seamless-clone/seamless-clone-compose.c
 operations/common/shift.c
 operations/common/snn-mean.c
 operations/common/softglow.c
diff --git a/seamless-clone/.gitignore b/seamless-clone/.gitignore
new file mode 100644
index 0000000..dc4f6f1
--- /dev/null
+++ b/seamless-clone/.gitignore
@@ -0,0 +1,8 @@
+/Makefile
+/Makefile.in
+/.deps
+/.libs
+/*.la
+/*.lo
+/*.so
+/gegl-sc-*.pc
diff --git a/seamless-clone/Makefile.am b/seamless-clone/Makefile.am
new file mode 100644
index 0000000..c00280f
--- /dev/null
+++ b/seamless-clone/Makefile.am
@@ -0,0 +1,39 @@
+include $(top_srcdir)/operations/Makefile-common.am
+
+#################################################
+# A shared library for the seamless cloning API #
+#################################################
+
+GEGL_SC_publicdir = $(includedir)/gegl-$(GEGL_API_VERSION)/sc
+
+GEGL_SC_public_HEADERS = \
+       sc-common.h     \
+       sc-context.h    \
+       sc-outline.h    \
+       sc-sample.h
+
+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)
+
+libgegl_sc_ GEGL_API_VERSION@_la_LDFLAGS = \
+       -avoid-version -export-dynamic $(no_undefined) $(P2TC_LIBS)
+
+libgegl_sc_ GEGL_API_VERSION@_la_CFLAGS = \
+  $(AM_CFLAGS) $(P2TC_CFLAGS)
+
+lib_LTLIBRARIES = libgegl-sc- GEGL_API_VERSION@.la
+
+libgegl_sc_ GEGL_API_VERSION@_la_LIBADD = \
+       $(libgegl)
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = gegl-sc-$(GEGL_API_VERSION).pc
+
diff --git a/operations/common/seamless-clone/gegl-sc.pc.in b/seamless-clone/gegl-sc.pc.in
similarity index 100%
rename from operations/common/seamless-clone/gegl-sc.pc.in
rename to seamless-clone/gegl-sc.pc.in
diff --git a/operations/common/seamless-clone/sc-common.h b/seamless-clone/sc-common.h
similarity index 100%
rename from operations/common/seamless-clone/sc-common.h
rename to seamless-clone/sc-common.h
diff --git a/operations/common/seamless-clone/sc-context-private.h b/seamless-clone/sc-context-private.h
similarity index 100%
rename from operations/common/seamless-clone/sc-context-private.h
rename to seamless-clone/sc-context-private.h
diff --git a/operations/common/seamless-clone/sc-context.c b/seamless-clone/sc-context.c
similarity index 100%
rename from operations/common/seamless-clone/sc-context.c
rename to seamless-clone/sc-context.c
diff --git a/operations/common/seamless-clone/sc-context.h b/seamless-clone/sc-context.h
similarity index 100%
rename from operations/common/seamless-clone/sc-context.h
rename to seamless-clone/sc-context.h
diff --git a/operations/common/seamless-clone/sc-outline.c b/seamless-clone/sc-outline.c
similarity index 100%
rename from operations/common/seamless-clone/sc-outline.c
rename to seamless-clone/sc-outline.c
diff --git a/operations/common/seamless-clone/sc-outline.h b/seamless-clone/sc-outline.h
similarity index 100%
rename from operations/common/seamless-clone/sc-outline.h
rename to seamless-clone/sc-outline.h
diff --git a/operations/common/seamless-clone/sc-sample.c b/seamless-clone/sc-sample.c
similarity index 100%
rename from operations/common/seamless-clone/sc-sample.c
rename to seamless-clone/sc-sample.c
diff --git a/operations/common/seamless-clone/sc-sample.h b/seamless-clone/sc-sample.h
similarity index 100%
rename from operations/common/seamless-clone/sc-sample.h
rename to seamless-clone/sc-sample.h


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