[gimp/meson: 778/805] Fix windows build: use –vs_module_defs, remove duplicate flags with meson, fix missing ldflags.



commit f54156908944a8cc43e1427089c745fbd4446caf
Author: Félix Piédallu <felix piedallu me>
Date:   Tue Jan 30 10:24:48 2018 +0100

    Fix windows build: use –vs_module_defs, remove duplicate flags with meson, fix missing ldflags.

 app/meson.build            |    6 ------
 libgimp/meson.build        |    4 ++--
 libgimpbase/meson.build    |   15 ++-------------
 libgimpcolor/meson.build   |   16 ++++------------
 libgimpconfig/meson.build  |    7 +------
 libgimpmath/meson.build    |    6 +-----
 libgimpmodule/meson.build  |    6 +-----
 libgimpthumb/meson.build   |   15 +++------------
 libgimpwidgets/meson.build |    7 +------
 meson.build                |   13 ++-----------
 modules/meson.build        |   11 -----------
 11 files changed, 17 insertions(+), 89 deletions(-)
---
diff --git a/app/meson.build b/app/meson.build
index 7f72498..c114077 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -69,11 +69,6 @@ app_cflags = [
   '-DGIMPDIR="'+ gimpdir + '"',
 ]
 
-if platform_win32
-  app_cflags += '-Wl,-no-undefined'
-  # app_lflags += '-lgdi32'
-endif
-
 if platform_osx
   app_cflags += '-xobjective-c'
   #app_lflags += ['-framework', 'Cocoa']
@@ -81,7 +76,6 @@ endif
 
 if platform_win32
   # app_lflags += [ '-mwindows', '-mexchndl', ]
-  # app_lflags += ['-export-symbols', 'gimpwidgets.def']
 endif
 
 libapp_sources = [
diff --git a/libgimp/meson.build b/libgimp/meson.build
index 3cdcb9e..2af6655 100644
--- a/libgimp/meson.build
+++ b/libgimp/meson.build
@@ -279,7 +279,6 @@ libgimp_top_lflags = [
 ]
 
 if platform_win32
-  # libgimp_top_lflags += ['-export-symbols', 'gimp.def']
   # libgimp_top_lflags += '-lexchndl'
 endif
 
@@ -292,6 +291,7 @@ libgimp = library('gimp-'+ api_version,
   ],
   c_args:     [ libgimp_cflags, libgimp_top_cflags, ],
   link_with:  [ libgimp_lflags, libgimp_top_lflags, ],
+  vs_module_defs: 'gimp.def',
   install: true,
   version: so_version,
 )
@@ -308,7 +308,6 @@ libgimpui_lflags = [
 ]
 
 if platform_win32
-  # libgimpui_lflags += ['-export-symbols', 'gimpui.def']
   # libgimpui_lflags += '-lexchndl'
 endif
 
@@ -320,6 +319,7 @@ libgimpui = library('gimpui-'+ api_version,
   ],
   c_args:     [ libgimp_cflags, libgimpui_cflags, ],
   link_with:  [ libgimp_lflags, libgimpui_lflags, ],
+  vs_module_defs: 'gimpui.def',
   install: true,
   version: so_version,
 )
diff --git a/libgimpbase/meson.build b/libgimpbase/meson.build
index e4d9c3b..8963777 100644
--- a/libgimpbase/meson.build
+++ b/libgimpbase/meson.build
@@ -91,26 +91,16 @@ libgimpbase_cflags = [
   '-DG_LOG_DOMAIN="LibGimpBase"',
   '-DGIMP_BASE_COMPILATION',
 ]
-libgimpbase_deps = [
-  gexiv2, gio, math,
-]
-libgimpbase_lflags = [ ]
-
-if platform_win32
-  libgimpbase_deps += ole32
-  libgimpbase_lflags += ['-export-symbols', 'gimpbase.def']
-endif
-
 
 libgimpbase = library('gimpbase-' + api_version,
   libgimpbase_sources,
   include_directories: rootInclude,
   dependencies: [
-    libgimpbase_deps,
+    gexiv2, gio, math,
   ],
   c_args:     [ libgimp_cflags, libgimpbase_cflags, ],
   link_with:  [ libgimp_lflags, ],
-  link_args:  [ libgimpbase_lflags, ],
+  vs_module_defs: 'gimpbase.def',
   install: true,
   version: so_version,
 )
@@ -130,6 +120,5 @@ executable('test-cpu-accel',
   ],
   c_args:     [ libgimp_cflags, libgimpbase_cflags, ],
   link_with:  [ libgimp_lflags, libgimpbase, ],
-  link_args:  [ libgimpbase_lflags, ],
   install: false,
 )
diff --git a/libgimpcolor/meson.build b/libgimpcolor/meson.build
index 811e9ba..253f4bf 100644
--- a/libgimpcolor/meson.build
+++ b/libgimpcolor/meson.build
@@ -35,25 +35,17 @@ libgimpcolor_cflags = [
   '-DG_LOG_DOMAIN="LibGimpColor"',
   '-DGIMP_COLOR_COMPILATION',
 ]
-libgimpcolor_deps = [ ]
-libgimpcolor_lflags = [
-  libgimpbase,
-]
-
-if platform_win32
-  libgimpcolor_deps += ole32
-  # libgimpcolor_lflags += ['-export-symbols', 'gimpcolor.def']
-endif
 
 
 libgimpcolor = library('gimpcolor-' + api_version,
   libgimpcolor_sources,
   include_directories: rootInclude,
   dependencies: [
-    cairo, gdk_pixbuf, gegl, lcms, math, libgimpcolor_deps,
+    cairo, gdk_pixbuf, gegl, lcms, math,
   ],
   c_args:     [ libgimp_cflags, libgimpcolor_cflags, ],
-  link_with:  [ libgimp_lflags, libgimpcolor_lflags, ],
+  link_with:  [ libgimp_lflags, libgimpbase, ],
+  vs_module_defs: 'gimpcolor.def',
   install: true,
   version: so_version,
 )
@@ -74,6 +66,6 @@ executable('test-color-parser',
     # glib,
   ],
   c_args:     [ libgimp_cflags, libgimpcolor_cflags, ],
-  link_with:  [ libgimp_lflags, libgimpcolor_lflags, libgimpcolor, ],
+  link_with:  [ libgimp_lflags, libgimpbase, libgimpcolor, ],
   install: false,
 )
diff --git a/libgimpconfig/meson.build b/libgimpconfig/meson.build
index a4df886..b758044 100644
--- a/libgimpconfig/meson.build
+++ b/libgimpconfig/meson.build
@@ -56,12 +56,6 @@ libgimpconfig_lflags = [
   libgimpmath,
 ]
 
-if platform_win32
-  # libgimpconfig_lflags += ['-export-symbols', 'gimpconfig.def']
-endif
-
-
-
 libgimpconfig = library('gimpconfig-' + api_version,
   libgimpconfig_sources,
   include_directories: rootInclude,
@@ -70,6 +64,7 @@ libgimpconfig = library('gimpconfig-' + api_version,
   ],
   c_args:     [ libgimp_cflags, libgimpconfig_cflags, ],
   link_with:  [ libgimp_lflags, libgimpconfig_lflags, ],
+  vs_module_defs: 'gimpconfig.def',
   install: true,
   version: so_version,
 )
diff --git a/libgimpmath/meson.build b/libgimpmath/meson.build
index e345a9e..53571e9 100644
--- a/libgimpmath/meson.build
+++ b/libgimpmath/meson.build
@@ -23,11 +23,6 @@ libgimpmath_lflags = [
   libgimpbase,
 ]
 
-if platform_win32
-  # libgimpmath_lflags += ['-export-symbols', 'gimpmath.def']
-endif
-
-
 libgimpmath = library('gimpmath-' + api_version,
   libgimpmath_sources,
   include_directories: rootInclude,
@@ -36,6 +31,7 @@ libgimpmath = library('gimpmath-' + api_version,
   ],
   c_args:     [ libgimp_cflags, libgimpmath_cflags, ],
   link_with:  [ libgimp_lflags, libgimpmath_lflags, ],
+  vs_module_defs: 'gimpmath.def',
   install: true,
   version: so_version,
 )
diff --git a/libgimpmodule/meson.build b/libgimpmodule/meson.build
index 3ea2978..eb6889e 100644
--- a/libgimpmodule/meson.build
+++ b/libgimpmodule/meson.build
@@ -20,11 +20,6 @@ libgimpmodule_lflags = [
   libgimpconfig,
 ]
 
-if platform_win32
-  # libgimpmodule_lflags += ['-export-symbols', 'gimpmodule.def']
-endif
-
-
 libgimpmodule = library('gimpmodule-' + api_version,
   libgimpmodule_sources,
   include_directories: rootInclude,
@@ -33,6 +28,7 @@ libgimpmodule = library('gimpmodule-' + api_version,
   ],
   c_args:     [ libgimp_cflags, libgimpmodule_cflags, ],
   link_with:  [ libgimp_lflags, libgimpmodule_lflags, ],
+  vs_module_defs: 'gimpmodule.def',
   install: true,
   version: so_version,
 )
diff --git a/libgimpthumb/meson.build b/libgimpthumb/meson.build
index ddca249..34cd2db 100644
--- a/libgimpthumb/meson.build
+++ b/libgimpthumb/meson.build
@@ -51,16 +51,6 @@ libgimpthumb_cflags = [
   '-DGIMP_THUMB_COMPILATION',
 ]
 
-libgimpthumb_lflags = [
-  libgimpbase,
-]
-
-if platform_win32
-  # libgimpthumb_lflags += ['-export-symbols', 'gimpthumb.def']
-endif
-
-
-
 libgimpthumb = library('gimpthumb-'+ api_version,
   libgimpthumb_sources,
   include_directories: rootInclude,
@@ -68,7 +58,8 @@ libgimpthumb = library('gimpthumb-'+ api_version,
     gdk_pixbuf, glib, gio, gobject,
   ],
   c_args:     [ libgimp_cflags, libgimpthumb_cflags, ],
-  link_with:  [ libgimp_lflags, libgimpthumb_lflags, ],
+  link_with:  [ libgimp_lflags, libgimpbase, ],
+  vs_module_defs: 'gimpthumb.def',
   install: true,
   version: so_version,
 )
@@ -87,6 +78,6 @@ gimp_thumbnail_list = executable('gimp-thumbnail-list',
     gdk_pixbuf,
   ],
   c_args:     [ libgimp_cflags, libgimpthumb_cflags, ],
-  link_with:  [ libgimp_lflags, libgimpthumb_lflags, libgimpthumb, ],
+  link_with:  [ libgimp_lflags, libgimpbase, libgimpthumb, ],
   install: false,
 )
diff --git a/libgimpwidgets/meson.build b/libgimpwidgets/meson.build
index 329a02d..cde7bc0 100644
--- a/libgimpwidgets/meson.build
+++ b/libgimpwidgets/meson.build
@@ -164,11 +164,6 @@ libgimpwidgets_lflags = [
   libgimpconfig,
 ]
 
-if platform_win32
-  # libgimpwidgets_lflags += ['-export-symbols', 'gimpwidgets.def']
-  # libgimpwidgets_lflags += '-lgdi32'
-endif
-
 if gtk_mac_integration_ok
   libgimpwidgets_sources += [
     'gimppickbutton-quartz.c',
@@ -180,7 +175,6 @@ else
   ]
 endif
 
-
 libgimpwidgets = library('gimpwidgets-'+ api_version,
   libgimpwidgets_sources,
   include_directories: rootInclude,
@@ -189,6 +183,7 @@ libgimpwidgets = library('gimpwidgets-'+ api_version,
   ],
   c_args:     [ libgimp_cflags, libgimpwidgets_cflags, ],
   link_with:  [ libgimp_lflags, libgimpwidgets_lflags, ],
+  vs_module_defs: 'gimpwidgets.def',
   install: true,
   version: so_version,
 )
diff --git a/meson.build b/meson.build
index 1b26699..71e515b 100644
--- a/meson.build
+++ b/meson.build
@@ -246,12 +246,6 @@ has_altivec = cc.has_argument('-faltivec')
 cc.has_argument('-maltivec')
 cc.has_argument('-mabi=altivec')
 
-
-if platform_win32
-  ole32 = cc.find_library('ole32')
-endif
-
-
 # TODO shared memory handling
 
 # OpenMP
@@ -717,7 +711,8 @@ isocodes_localedir= join_paths(isocodes_prefix,get_option('datadir'),'locale')
 # CFlags
 
 if profiling
-  add_project_arguments('-pg', language: 'c')
+  add_project_arguments     ('-pg', language: [ 'c', 'cpp', ])
+  add_project_link_arguments('-pg', language: [ 'c', 'cpp', ])
 endif
 
 if ansi
@@ -783,10 +778,6 @@ libgimp_cflags = [
 ]
 libgimp_lflags = []
 
-if platform_win32
-  libgimp_cflags += '-Wl,-no-undefined'
-endif
-
 if platform_osx
   libgimp_cflags += '-xobjective-c'
   libgimp_lflags += ['-framework', 'Cocoa']
diff --git a/modules/meson.build b/modules/meson.build
index c50b75d..d125f7e 100644
--- a/modules/meson.build
+++ b/modules/meson.build
@@ -2,22 +2,11 @@
 global_cflags = []
 global_lflags = []
 
-global_cflags += [
-]
-
-if platform_win32
-  global_cflags += '-Wl,-no-undefined'
-endif
-
 if platform_osx
   global_cflags += '-xobjective-c'
   global_lflags += ['-framework', 'Cocoa']
 endif
 
-if platform_win32
-  # global_lflags += ['-export-symbols', 'gimpmath.def']
-endif
-
 modules_deps = [
   gtk2, babl, gegl, math,
 ]


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