diff options
author | Juan Pablo Ugarte <juanpablougarte@gmail.com> | 2020-10-06 20:34:11 -0300 |
---|---|---|
committer | Juan Pablo Ugarte <juanpablougarte@gmail.com> | 2020-10-09 17:11:16 -0300 |
commit | 20142e2ad10727e1b9ff5693f15f587ff70a0e39 (patch) | |
tree | c812cc875283b61ea203c3da629d7d2853bb1392 | |
parent | 9f4097cd74f95ec18428b56d99d814151de9e4fa (diff) | |
download | glade-20142e2ad10727e1b9ff5693f15f587ff70a0e39.tar.gz |
Fix windows build on msys
Use -Wl,--export-all-symbols and -Wl,--no-undefined to export
symbols on mingw
GladeApp: use PACKAGE_NAME instead of PACKAGE
Remove copyright symbol from resource files to avoid weird UTF error
building with mingw on msys
-rw-r--r-- | gladeui/glade-app.c | 6 | ||||
-rw-r--r-- | gladeui/glade-previewer.rc.in | 4 | ||||
-rw-r--r-- | gladeui/gladeui.rc.in | 2 | ||||
-rw-r--r-- | gladeui/meson.build | 10 | ||||
-rw-r--r-- | meson.build | 3 | ||||
-rw-r--r-- | plugins/meson.build | 5 | ||||
-rw-r--r-- | src/glade-http.c | 1 | ||||
-rw-r--r-- | src/glade.rc.in | 6 | ||||
-rw-r--r-- | src/meson.build | 18 |
9 files changed, 37 insertions, 18 deletions
diff --git a/gladeui/glade-app.c b/gladeui/glade-app.c index c347400b..2942ebad 100644 --- a/gladeui/glade-app.c +++ b/gladeui/glade-app.c @@ -178,10 +178,10 @@ build_package_paths (void) # endif if (!pixmaps_dir) - pixmaps_dir = g_build_filename (prefix, "share", PACKAGE, "pixmaps", NULL); + pixmaps_dir = g_build_filename (prefix, "share", PACKAGE_NAME, "pixmaps", NULL); - catalogs_dir = g_build_filename (prefix, "share", PACKAGE, "catalogs", NULL); - modules_dir = g_build_filename (prefix, "lib", PACKAGE, "modules", NULL); + catalogs_dir = g_build_filename (prefix, "share", PACKAGE_NAME, "catalogs", NULL); + modules_dir = g_build_filename (prefix, "lib", PACKAGE_NAME, "modules", NULL); locale_dir = g_build_filename (prefix, "share", "locale", NULL); bin_dir = g_build_filename (prefix, "bin", NULL); lib_dir = g_build_filename (prefix, "lib", NULL); diff --git a/gladeui/glade-previewer.rc.in b/gladeui/glade-previewer.rc.in index 3ec103fa..0250b5b6 100644 --- a/gladeui/glade-previewer.rc.in +++ b/gladeui/glade-previewer.rc.in @@ -1,6 +1,6 @@ #include <winver.h> -GLADE_ICON ICON "../data/icons/glade.ico" +GLADE_ICON ICON "@SOURCE_ROOT@/data/icons/glade.ico" VS_VERSION_INFO VERSIONINFO FILEVERSION @GLADE_MAJOR_VERSION@,@GLADE_MINOR_VERSION@,@GLADE_MICRO_VERSION@,0 @@ -15,7 +15,7 @@ VS_VERSION_INFO VERSIONINFO VALUE "CompanyName", "The GNOME Foundation" VALUE "FileDescription", "Glade Interface Designer @GLADE_MAJOR_VERSION@.@GLADE_MINOR_VERSION@.@GLADE_MICRO_VERSION@" VALUE "FileVersion", "@GLADE_MAJOR_VERSION@.@GLADE_MINOR_VERSION@.@GLADE_MICRO_VERSION@.0" - VALUE "LegalCopyright", "Copyright © 2007 The GNOME Foundation" + VALUE "LegalCopyright", "Copyright 2007 The GNOME Foundation" VALUE "OriginalFilename", "glade-previewer.exe" VALUE "ProductName", "Glade Interface Designer" VALUE "ProductVersion", "@GLADE_MAJOR_VERSION@.@GLADE_MINOR_VERSION@.@GLADE_MICRO_VERSION@.0" diff --git a/gladeui/gladeui.rc.in b/gladeui/gladeui.rc.in index c1ae317c..401d09f2 100644 --- a/gladeui/gladeui.rc.in +++ b/gladeui/gladeui.rc.in @@ -17,7 +17,7 @@ VS_VERSION_INFO VERSIONINFO VALUE "FileDescription", "Glade Interface Designer @GLADE_MAJOR_VERSION@.@GLADE_MINOR_VERSION@.@GLADE_MICRO_VERSION@" VALUE "FileVersion", "@GLADE_MAJOR_VERSION@.@GLADE_MINOR_VERSION@.@GLADE_MICRO_VERSION@.0" VALUE "InternalName", "libgladeui-1-@GLADE_CURRENT_MINUS_AGE@" - VALUE "LegalCopyright", "Copyright © 2007 The GNOME Foundation" + VALUE "LegalCopyright", "Copyright 2007 The GNOME Foundation" VALUE "OriginalFilename", "libgladeui-1-@GLADE_CURRENT_MINUS_AGE@.dll" VALUE "ProductName", "Glade Interface Designer" VALUE "ProductVersion", "@GLADE_MAJOR_VERSION@.@GLADE_MINOR_VERSION@.@GLADE_MICRO_VERSION@" diff --git a/gladeui/meson.build b/gladeui/meson.build index 484bf389..8ccf1b4f 100644 --- a/gladeui/meson.build +++ b/gladeui/meson.build @@ -184,8 +184,8 @@ endif if glade_system == 'windows' rc = configure_file( - input: 'glade.rc.in', - output: '@BASELINE@', + input: 'gladeui.rc.in', + output: 'gladeui.rc', configuration: rc_conf, ) @@ -193,8 +193,8 @@ if glade_system == 'windows' ldflags += cc.get_supported_link_arguments([ # gmodule-export-2.0 on windows does not include -export-dynamic flag - '-export-dynamic', - '-no-undefined', + '-Wl,--export-all-symbols', + '-Wl,--no-undefined', ]) endif @@ -264,7 +264,7 @@ ldflags = [] if glade_system == 'windows' rc = configure_file( input: 'glade-previewer.rc.in', - output: '@BASELINE@', + output: 'glade-previewer.rc', configuration: rc_conf, ) diff --git a/meson.build b/meson.build index e79425b1..59b8ff50 100644 --- a/meson.build +++ b/meson.build @@ -65,6 +65,8 @@ glade_unstable = glade_minor_version.is_odd() gnome = import('gnome') i18n = import('i18n') pkg = import('pkgconfig') + +# NOTE: On windows we only target MSYS2/mingw windows = import('windows') source_root = meson.current_source_dir() @@ -181,6 +183,7 @@ if glade_system == 'windows' rc_conf.set('GLADE_MINOR_VERSION', glade_minor_version) rc_conf.set('GLADE_MICRO_VERSION', glade_micro_version) rc_conf.set('GLADE_CURRENT_MINUS_AGE', gladeui_current_minus_age) + rc_conf.set('SOURCE_ROOT', source_root) endif subdir('po') diff --git a/plugins/meson.build b/plugins/meson.build index 88abd5d7..2f6626f4 100644 --- a/plugins/meson.build +++ b/plugins/meson.build @@ -1,6 +1,9 @@ ldflags = [] if glade_system == 'windows' - ldflags += cc.get_supported_link_arguments('-no-undefined') + ldflags += cc.get_supported_link_arguments( + '-Wl,--export-all-symbols', + '-Wl,--no-undefined', + ) endif plugins_kwargs = { diff --git a/src/glade-http.c b/src/glade-http.c index 3db8d81b..457ef977 100644 --- a/src/glade-http.c +++ b/src/glade-http.c @@ -22,6 +22,7 @@ #include <glade-http.h> #include <string.h> #include <stdio.h> +#include <stdlib.h> struct _GladeHTTPPrivate { diff --git a/src/glade.rc.in b/src/glade.rc.in index 6669a2cc..fbd02432 100644 --- a/src/glade.rc.in +++ b/src/glade.rc.in @@ -1,6 +1,6 @@ #include <winver.h> -GLADE_ICON ICON "../data/icons/glade.ico" +GLADE_ICON ICON "@SOURCE_ROOT@/data/icons/glade.ico" VS_VERSION_INFO VERSIONINFO FILEVERSION @GLADE_MAJOR_VERSION@,@GLADE_MINOR_VERSION@,@GLADE_MICRO_VERSION@,0 @@ -12,10 +12,10 @@ VS_VERSION_INFO VERSIONINFO BEGIN BLOCK "040904B0" BEGIN - VALUE "CompanyName", "GNOME Foundation" + VALUE "CompanyName", "The GNOME Foundation" VALUE "FileDescription", "Glade Interface Designer @GLADE_MAJOR_VERSION@.@GLADE_MINOR_VERSION@.@GLADE_MICRO_VERSION@" VALUE "FileVersion", "@GLADE_MAJOR_VERSION@.@GLADE_MINOR_VERSION@.@GLADE_MICRO_VERSION@.0" - VALUE "LegalCopyright", "Copyright © 2012 The GNOME Foundation" + VALUE "LegalCopyright", "Copyright 2012 The GNOME Foundation" VALUE "OriginalFilename", "glade.exe" VALUE "ProductName", "Glade Interface Designer" VALUE "ProductVersion", "@GLADE_MAJOR_VERSION@.@GLADE_MINOR_VERSION@.@GLADE_MICRO_VERSION@.0" diff --git a/src/meson.build b/src/meson.build index 0b30027c..25038d47 100644 --- a/src/meson.build +++ b/src/meson.build @@ -1,4 +1,16 @@ -vcs_tag(input: 'version.h.in', output: 'version.h') +fs = import('fs') + +if fs.exists('../.git') + vcs_tag(input: 'version.h.in', output: 'version.h') +else + config = configuration_data() + config.set ('VCS_TAG', glade_version) + configure_file( + input: 'version.h.in', + output: 'version.h', + configuration: config + ) +endif sources = files( 'glade-http.c', @@ -39,13 +51,13 @@ ldflags = [] if glade_system == 'windows' rc = configure_file( input: 'glade.rc.in', - output: '@BASELINE@', + output: 'glade.rc', configuration: rc_conf, ) sources += windows.compile_resources(rc) - test_ldflags = ['-export-dynamic'] + test_ldflags = ['-Wl,--export-all-symbols'] if not glade_unstable test_ldflags += ['-mwindows'] endif |