Tue, 22 May 2018 11:07:37 -0500
meson: Fix Windows build's dynamic loading of dependencies
WinPidgin loads its dependencies, libpidgin in particular, dynamically
so that it can set up DLL search paths. This way it doesn't error out
while loading if it's not placed in the same directory as its
dependencies. In order to do this, it compiled pidgin.c into libpidgin,
stopping GLib and libpurple dependencies from loading immediately and
failing. This patch fixes the meson build to enable working this way
again.
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
1 | libpidgin_SOURCES = [ |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
2 | 'pidginstock.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
3 | 'gtkaccount.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
4 | 'gtkblist.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
5 | 'gtkblist-theme.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
6 | 'gtkblist-theme-loader.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
7 | 'gtkcellrendererexpander.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
8 | 'gtkcertmgr.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
9 | 'gtkconn.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
10 | 'gtkconv.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
11 | 'gtkconv-theme.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
12 | 'gtkconv-theme-loader.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
13 | 'gtkdebug.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
14 | 'gtkdialogs.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
15 | 'gtkdnd-hints.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
16 | 'gtkdocklet.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
17 | 'gtkicon-theme.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
18 | 'gtkicon-theme-loader.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
19 | 'gtkidle.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
20 | 'gtklog.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
21 | 'gtkmedia.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
22 | 'gtkmenutray.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
23 | 'gtknotify.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
24 | 'gtkplugin.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
25 | 'gtkpluginpref.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
26 | 'gtkpounce.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
27 | 'gtkprefs.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
28 | 'gtkprivacy.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
29 | 'gtkrequest.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
30 | 'gtkroomlist.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
31 | 'gtksavedstatuses.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
32 | 'gtkscrollbook.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
33 | 'gtksmiley-manager.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
34 | 'gtksmiley-theme.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
35 | 'gtksound.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
36 | 'gtkstatus-icon-theme.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
37 | 'gtkstatusbox.c', |
|
38748
17f8a2a8ccba
Merged release-2.x.y into default
Gary Kramlich <grim@reaperworld.com>
parents:
38741
diff
changeset
|
38 | 'gtkstyle.c', |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
39 | 'gtkutils.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
40 | 'gtkwebview.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
41 | 'gtkwebviewtoolbar.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
42 | 'gtkwhiteboard.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
43 | 'gtkxfer.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
44 | 'libpidgin.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
45 | 'minidialog.c', |
|
38659
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
46 | 'pidginabout.c', |
|
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
47 | 'pidgintooltip.c', |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
48 | ] |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
49 | |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
50 | libpidgin_headers = [ |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
51 | 'gtkaccount.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
52 | 'gtkblist.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
53 | 'gtkblist-theme.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
54 | 'gtkblist-theme-loader.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
55 | 'gtkcellrendererexpander.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
56 | 'gtkcertmgr.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
57 | 'gtkconn.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
58 | 'gtkconv.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
59 | 'gtkconvwin.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
60 | 'gtkconv-theme.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
61 | 'gtkconv-theme-loader.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
62 | 'gtkdebug.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
63 | 'gtkdialogs.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
64 | 'gtkdnd-hints.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
65 | 'gtkdocklet.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
66 | 'gtkicon-theme.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
67 | 'gtkicon-theme-loader.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
68 | 'gtkidle.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
69 | 'gtklog.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
70 | 'gtkmedia.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
71 | 'gtkmenutray.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
72 | 'gtknickcolors.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
73 | 'gtknotify.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
74 | 'gtkplugin.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
75 | 'gtkpluginpref.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
76 | 'gtkprefs.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
77 | 'gtkprivacy.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
78 | 'gtkpounce.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
79 | 'gtkrequest.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
80 | 'gtkroomlist.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
81 | 'gtksavedstatuses.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
82 | 'gtkscrollbook.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
83 | 'gtksmiley-manager.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
84 | 'gtksmiley-theme.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
85 | 'gtksound.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
86 | 'gtkstatus-icon-theme.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
87 | 'gtkstatusbox.h', |
|
38748
17f8a2a8ccba
Merged release-2.x.y into default
Gary Kramlich <grim@reaperworld.com>
parents:
38741
diff
changeset
|
88 | 'gtkstyle.h', |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
89 | 'pidginstock.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
90 | 'gtkutils.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
91 | 'gtkwebview.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
92 | 'gtkwebviewtoolbar.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
93 | 'gtkwhiteboard.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
94 | 'gtkxfer.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
95 | 'minidialog.h', |
|
38659
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
96 | 'pidginabout.h', |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
97 | 'pidgintooltip.h', |
|
38659
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
98 | 'pidgin.h', |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
99 | ] |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
100 | |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
101 | pidgin_SOURCES = [ |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
102 | 'pidgin.c' |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
103 | ] |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
104 | |
|
38659
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
105 | pidgin_resource = gnome.compile_resources('pidginresources', 'pidgin.gresource.xml', |
|
38513
24e16b0137d0
Merge with default.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38512
diff
changeset
|
106 | c_name : 'pidgin') |
|
24e16b0137d0
Merge with default.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38512
diff
changeset
|
107 | libpidgin_SOURCES += pidgin_resource |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
108 | |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
109 | if IS_WIN32 |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
110 | libpidgin_SOURCES += [ |
|
39076
dadd12a48fb8
meson: Fix Windows build's dynamic loading of dependencies
Mike Ruprecht <cmaiku@gmail.com>
parents:
39034
diff
changeset
|
111 | 'pidgin.c', |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
112 | 'win32/gtkwin32dep.c', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
113 | 'win32/untar.c' |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
114 | ] |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
115 | |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
116 | # Files that looks like obsolete (were used in Pidgin2): |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
117 | # win32/gtkdocklet-win32.c |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
118 | # win32/MinimizeToTray.c |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
119 | # win32/MinimizeToTray.h |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
120 | |
|
38510
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38508
diff
changeset
|
121 | pidgin_exe_rc = configure_file( |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38508
diff
changeset
|
122 | input : 'win32/pidgin_exe_rc.rc.in', |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38508
diff
changeset
|
123 | output : 'pidgin_exe_rc.rc', |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38508
diff
changeset
|
124 | configuration : version_conf) |
|
39076
dadd12a48fb8
meson: Fix Windows build's dynamic loading of dependencies
Mike Ruprecht <cmaiku@gmail.com>
parents:
39034
diff
changeset
|
125 | pidgin_SOURCES = [ |
|
38510
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38508
diff
changeset
|
126 | 'win32/winpidgin.c', |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38508
diff
changeset
|
127 | windows.compile_resources(pidgin_exe_rc, |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38508
diff
changeset
|
128 | include_directories : include_directories('win32') |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38508
diff
changeset
|
129 | ) |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
130 | ] |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
131 | |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
132 | libpidgin_headers += [ |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
133 | 'win32/gtkwin32dep.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
134 | 'win32/resource.h', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
135 | 'win32/untar.h' |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
136 | ] |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
137 | endif |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
138 | |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
139 | if ENABLE_GTK |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
140 | if IS_WIN32 |
|
38510
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38508
diff
changeset
|
141 | pidgin_dll_rc = configure_file( |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38508
diff
changeset
|
142 | input : 'win32/pidgin_dll_rc.rc.in', |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38508
diff
changeset
|
143 | output : 'pidgin_dll_rc.rc', |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38508
diff
changeset
|
144 | configuration : version_conf) |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38508
diff
changeset
|
145 | libpidgin_SOURCES += windows.compile_resources(pidgin_dll_rc, |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38508
diff
changeset
|
146 | include_directories : include_directories('win32') |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38508
diff
changeset
|
147 | ) |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
148 | endif |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
149 | |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
150 | install_headers(libpidgin_headers, subdir : 'pidgin') |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
151 | |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
152 | libpidgin_inc = include_directories('.') |
|
38471
a7ce1d49ac8c
Add Pidgin plugins to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38469
diff
changeset
|
153 | libpidgin = shared_library('pidgin', |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
154 | libpidgin_SOURCES, |
|
38935
4c5211ba7880
Better build fixes: implemented qulogic's advice for package_revision and dbus codegen
Shawn Napora <shawn@napora.me>
parents:
38934
diff
changeset
|
155 | package_revision, |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
156 | include_directories : [toplevel_inc], |
|
38518
1c2e969922b8
Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38516
diff
changeset
|
157 | version : PURPLE_LIB_VERSION, |
|
38659
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
158 | dependencies : [ |
|
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
159 | dbus, |
|
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
160 | enchant, |
|
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
161 | GCR, |
|
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
162 | glib, |
|
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
163 | gstreamer_video, |
|
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
164 | gtk, |
|
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
165 | IOKIT, |
|
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
166 | json, |
|
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
167 | math, |
|
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
168 | webkit, |
|
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
169 | x11, |
|
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
170 | libpurple_dep, |
|
7772f66662f0
Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents:
38616
diff
changeset
|
171 | ], |
|
38473
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
172 | install : true) |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
173 | libpidgin_dep = declare_dependency( |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
174 | include_directories : [toplevel_inc, libpidgin_inc], |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
175 | link_with : libpidgin, |
|
38471
a7ce1d49ac8c
Add Pidgin plugins to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38469
diff
changeset
|
176 | dependencies : [webkit, gtk, glib, math]) |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
177 | |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
178 | pidgin = executable('pidgin', |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
179 | pidgin_SOURCES, |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
180 | link_args : '-export-dynamic', |
|
39076
dadd12a48fb8
meson: Fix Windows build's dynamic loading of dependencies
Mike Ruprecht <cmaiku@gmail.com>
parents:
39034
diff
changeset
|
181 | include_directories : toplevel_inc, |
|
dadd12a48fb8
meson: Fix Windows build's dynamic loading of dependencies
Mike Ruprecht <cmaiku@gmail.com>
parents:
39034
diff
changeset
|
182 | dependencies : IS_WIN32 ? [] : [libpurple_dep, libpidgin_dep], |
|
38608
e749d953eb08
pidgin: Set meson gui_app flag on pidgin executable
Mike Ruprecht <cmaiku@gmail.com>
parents:
38579
diff
changeset
|
183 | gui_app : true, |
|
38473
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
184 | install : true) |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
185 | |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
186 | if IS_WIN32 |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
187 | # libpidgin_la_LIBADD += -lwinmm |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
188 | # pidgin_LDFLAGS += -mwindows |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
189 | endif |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
190 | |
|
38783
93d9173b62c8
Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38748
diff
changeset
|
191 | pkgconfig.generate( |
|
93d9173b62c8
Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38748
diff
changeset
|
192 | name : 'Pidgin', |
|
93d9173b62c8
Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38748
diff
changeset
|
193 | description : 'Pidgin is a GTK3-based instant messenger application.', |
|
93d9173b62c8
Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38748
diff
changeset
|
194 | version : purple_display_version, |
|
93d9173b62c8
Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38748
diff
changeset
|
195 | filebase : 'pidgin-3', |
|
93d9173b62c8
Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38748
diff
changeset
|
196 | subdirs : 'pidgin', |
|
93d9173b62c8
Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38748
diff
changeset
|
197 | libraries : [libpidgin], |
|
93d9173b62c8
Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38748
diff
changeset
|
198 | requires : ['gtk+-3.0', 'webkitgtk-3.0', 'purple-3'], |
|
93d9173b62c8
Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38748
diff
changeset
|
199 | variables : ['plugindir=${libdir}/pidgin']) |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
200 | |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
201 | if INSTALL_I18N |
|
38611
4cf9b6a6e259
Rename .desktop and .appdata files using reverse-DNS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
202 | DESKTOP_FILE = 'im.pidgin.Pidgin.desktop' |
|
38473
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
203 | desktop_file_in = configure_file( |
|
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
204 | input : 'data/' + DESKTOP_FILE + '.in.in', |
|
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
205 | output : DESKTOP_FILE + '.in', |
|
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
206 | configuration : conf) |
|
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
207 | desktop_file = custom_target(DESKTOP_FILE, |
|
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
208 | input : desktop_file_in, |
|
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
209 | output : DESKTOP_FILE, |
|
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
210 | command : [intltool_merge, '--desktop-style', '-u', |
|
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
211 | '-c', '@BUILD_DIR@/po/.intltool-merge-cache', |
|
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
212 | meson.source_root() + '/po', '@INPUT@', '@OUTPUT@'], |
|
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
213 | install : true, |
|
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
214 | install_dir : get_option('datadir') + '/applications') |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
215 | |
|
38611
4cf9b6a6e259
Rename .desktop and .appdata files using reverse-DNS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
216 | appdata = custom_target('im.pidgin.Pidgin.appdata.xml', |
|
4cf9b6a6e259
Rename .desktop and .appdata files using reverse-DNS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
217 | input : 'data/im.pidgin.Pidgin.appdata.xml.in', |
|
4cf9b6a6e259
Rename .desktop and .appdata files using reverse-DNS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
218 | output : 'im.pidgin.Pidgin.appdata.xml', |
|
38473
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
219 | command : [intltool_merge, '--xml-style', '-u', |
|
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
220 | '-c', '@BUILD_DIR@/po/.intltool-merge-cache', |
|
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
221 | meson.source_root() + '/po', '@INPUT@', '@OUTPUT@'], |
|
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
222 | install : true, |
|
38614
79259df32345
Update AppData file to latest spec.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38611
diff
changeset
|
223 | install_dir : get_option('datadir') + '/metainfo') |
|
38473
919d72c1c8c0
Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38472
diff
changeset
|
224 | endif # INSTALL_I18N |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
225 | |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
226 | if enable_introspection |
|
38472
1f332f8141f4
Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38471
diff
changeset
|
227 | introspection_sources = libpidgin_headers |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
228 | |
|
38472
1f332f8141f4
Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38471
diff
changeset
|
229 | gnome.generate_gir(libpidgin, |
|
1f332f8141f4
Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38471
diff
changeset
|
230 | sources : introspection_sources, |
|
38741
fb51706245fb
Make sure we include the WebKit-3.0 gir file
Gary Kramlich <grim@reaperworld.com>
parents:
38659
diff
changeset
|
231 | includes : ['GObject-2.0', 'Gtk-3.0', libpurple_gir[0], 'WebKit-3.0'], |
|
38472
1f332f8141f4
Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38471
diff
changeset
|
232 | namespace : 'Pidgin', |
|
38516
dd0ddcb829b9
Make GIR outputs more consistent with autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38513
diff
changeset
|
233 | symbol_prefix : 'pidgin', |
|
38472
1f332f8141f4
Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38471
diff
changeset
|
234 | identifier_prefix : 'Pidgin', |
|
38516
dd0ddcb829b9
Make GIR outputs more consistent with autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38513
diff
changeset
|
235 | export_packages : 'pidgin-@0@'.format(purple_major_version), |
|
38472
1f332f8141f4
Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38471
diff
changeset
|
236 | nsversion : '@0@.@1@'.format(purple_major_version, |
|
1f332f8141f4
Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38471
diff
changeset
|
237 | purple_minor_version), |
|
1f332f8141f4
Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38471
diff
changeset
|
238 | install : true) |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
239 | endif |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
240 | |
|
39034
d565ddadf19c
Move pidgin/pixmaps/icons/ to the more standard pidgin/data/icons/
Mike Ruprecht <cmaiku@gmail.com>
parents:
38935
diff
changeset
|
241 | subdir('data') |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
242 | subdir('pixmaps') |
|
38471
a7ce1d49ac8c
Add Pidgin plugins to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38469
diff
changeset
|
243 | subdir('plugins') |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
244 | subdir('themes') |
|
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
245 | endif # ENABLE_GTK |