[gegl] build: build non-external workshop ops as bundle
- From: Øyvind "pippin" Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] build: build non-external workshop ops as bundle
- Date: Sun, 10 May 2020 14:50:29 +0000 (UTC)
commit 0016a82a0f99a78185016fda816b9783ccc552c6
Author: Øyvind Kolås <pippin gimp org>
Date: Sun May 10 16:39:30 2020 +0200
build: build non-external workshop ops as bundle
This removes the problem in our workflow where ops that were in workshop
in one release, cause warnings in subsequent releases - if still
installed, when the ops also are part of gegl-common.so, by having them
all live in gegl-workshop.so removal in subsequent builds and installs
is automatically achieved also when tracking upstream git, without
needing uninstalling or wiping out the prefix.
operations/workshop/external/meson.build | 19 +++++
.../workshop/{ => external}/voronoi-diagram.cc | 0
operations/workshop/meson.build | 88 +++++++++++-----------
po/POTFILES.in | 4 +-
4 files changed, 67 insertions(+), 44 deletions(-)
---
diff --git a/operations/workshop/external/meson.build b/operations/workshop/external/meson.build
index 9c93a523c..c349ed95e 100644
--- a/operations/workshop/external/meson.build
+++ b/operations/workshop/external/meson.build
@@ -1,4 +1,23 @@
+
+gegl_operations += shared_library('voroni_diagram',
+ 'voronoi-diagram.cc',
+ include_directories: [ rootInclude, geglInclude, seamlessInclude, ],
+ dependencies: [
+ babl,
+ glib,
+ gobject,
+ math,
+ ],
+ link_with: [
+ gegl_lib,
+ ],
+ name_prefix: '',
+ install: true,
+ install_dir: get_option('libdir') / api_name,
+)
+
+
if lua.found()
gegl_operations += shared_library('gluas',
'gluas.c',
diff --git a/operations/workshop/voronoi-diagram.cc b/operations/workshop/external/voronoi-diagram.cc
similarity index 100%
rename from operations/workshop/voronoi-diagram.cc
rename to operations/workshop/external/voronoi-diagram.cc
diff --git a/operations/workshop/meson.build b/operations/workshop/meson.build
index 116cf4adf..9a8c5918d 100644
--- a/operations/workshop/meson.build
+++ b/operations/workshop/meson.build
@@ -1,46 +1,50 @@
subdir('external')
subdir('generated')
-libraries = [
- { 'name': 'aces-rrt', },
- { 'name': 'alpha-inpaint', },
- { 'name': 'bilateral-filter-fast', },
- { 'name': 'boxblur-1d', },
- { 'name': 'boxblur', },
- { 'name': 'connected-components', },
- { 'name': 'demosaic-bimedian', },
- { 'name': 'demosaic-simple', },
- { 'name': 'ditto', },
- { 'name': 'band-tune', },
- { 'name': 'gcr', },
- { 'name': 'gradient-map', },
- { 'name': 'hstack', },
- { 'name': 'integral-image', },
- { 'name': 'rawbayer-load', },
- { 'name': 'segment-kmeans', },
- { 'name': 'selective-hue-saturation', },
- { 'name': 'voronoi-diagram', 'srcs': 'voronoi-diagram.cc', },
-]
+gegl_workshop_sources = files(
+ 'aces-rrt.c',
+ 'alpha-inpaint.c',
+ 'bilateral-filter-fast.c',
+ 'boxblur-1d.c',
+ 'boxblur.c',
+ 'connected-components.c',
+ 'demosaic-bimedian.c',
+ 'demosaic-simple.c',
+ 'ditto.c',
+ 'band-tune.c',
+ 'gcr.c',
+ 'gradient-map.c',
+ 'hstack.c',
+ 'integral-image.c',
+ 'rawbayer-load.c',
+ 'segment-kmeans.c',
+ 'selective-hue-saturation.c',
+)
-foreach lib : libraries
- libname = lib.get('name')
- libsrcs = lib.get('srcs', libname + '.c')
- gegl_operations += shared_library(libname,
- libsrcs,
- opencl_headers,
- include_directories: [ rootInclude, geglInclude, seamlessInclude, ],
- dependencies: [
- babl,
- glib,
- gobject,
- math,
- ],
- link_with: [
- gegl_lib,
- seamlessclone_lib,
- ],
- name_prefix: '',
- install: true,
- install_dir: get_option('libdir') / api_name,
- )
-endforeach
+gegl_workshop_sources += custom_target('module_workshop.c',
+ input : gegl_workshop_sources,
+ output: 'module_workshop.c',
+ command: [ gen_loader, '@INPUT@', ],
+ capture: true
+)
+
+gegl_workshop = shared_library('gegl-workshop',
+ gegl_workshop_sources,
+ include_directories: [ rootInclude, geglInclude, ],
+ dependencies: [
+ babl,
+ glib,
+ gmodule,
+ json_glib,
+ math,
+ ],
+ link_with: [
+ gegl_lib,
+ ],
+ c_args: [
+ '-DGEGL_OP_BUNDLE',
+ ],
+ name_prefix: '',
+ install: true,
+ install_dir: get_option('libdir') / api_name,
+)
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 7d08ffd5c..084c98153 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -260,6 +260,7 @@ operations/transform/transform.c
operations/transform/transform-core.c
operations/transform/translate.c
operations/workshop/aces-rrt.c
+operations/workshop/band-tune.c
operations/workshop/bilateral-filter-fast.c
operations/workshop/boxblur-1d.c
operations/workshop/boxblur.c
@@ -267,12 +268,12 @@ operations/workshop/connected-components.c
operations/workshop/demosaic-bimedian.c
operations/workshop/demosaic-simple.c
operations/workshop/ditto.c
-operations/workshop/edges-and-details.c
operations/workshop/external/gluas.c
operations/workshop/external/lens-correct.c
operations/workshop/external/line-profile.c
operations/workshop/external/spyrograph.c
operations/workshop/external/v4l2.c
+operations/workshop/external/voronoi-diagram.cc
operations/workshop/generated/average.c
operations/workshop/generated/blend-reflect.c
operations/workshop/generated/negation.c
@@ -285,4 +286,3 @@ operations/workshop/integral-image.c
operations/workshop/rawbayer-load.c
operations/workshop/segment-kmeans.c
operations/workshop/selective-hue-saturation.c
-operations/workshop/voronoi-diagram.cc
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]