From 541b9ca744ec68d874230560376d64a4b45937ce Mon Sep 17 00:00:00 2001 From: Patrick Griffis Date: Tue, 6 Mar 2018 14:35:51 +0000 Subject: [PATCH] win32: Update to build against gvsbuild --- plugins/python/python.c | 2 +- src/common/common.vcxproj | 7 +- src/common/make-te.c | 100 ----------------------------- src/common/make-te.vcxproj | 49 -------------- src/common/make-te.vcxproj.filters | 22 ------- src/fe-gtk/fe-gtk.vcxproj | 2 +- win32/copy/copy.vcxproj | 28 ++++---- win32/hexchat.props | 11 ++-- win32/hexchat.sln | 13 +--- win32/installer/hexchat.iss.tt | 21 +++--- win32/nls/nls.vcxproj | 2 +- 11 files changed, 37 insertions(+), 220 deletions(-) delete mode 100644 src/common/make-te.c delete mode 100644 src/common/make-te.vcxproj delete mode 100644 src/common/make-te.vcxproj.filters diff --git a/plugins/python/python.c b/plugins/python/python.c index 705fe9e6..4403474d 100644 --- a/plugins/python/python.c +++ b/plugins/python/python.c @@ -1532,7 +1532,7 @@ Plugin_New(char *filename, PyObject *xcoobj) if (filename) { #ifdef WIN32 char *file; - if (!g_file_get_contents_utf8(filename, &file, NULL, NULL)) { + if (!g_file_get_contents(filename, &file, NULL, NULL)) { hexchat_printf(ph, "Can't open file %s: %s\n", filename, strerror(errno)); goto error; diff --git a/src/common/common.vcxproj b/src/common/common.vcxproj index 1d1fc570..33a883bf 100644 --- a/src/common/common.vcxproj +++ b/src/common/common.vcxproj @@ -111,11 +111,10 @@ "$(HexChatLib)textevents.h" 2> "$(HexChatLib)textenums.h" +"$(Python3Path)\python.exe" $(ProjectDir)make-te.py "$(ProjectDir)textevents.in" "$(HexChatLib)textevents.h" "$(HexChatLib)textenums.h" powershell -File "$(SolutionDir)..\win32\version-template.ps1" "$(SolutionDir)..\win32\config.h.tt" "$(HexChatLib)config.h" -"$(DepsRoot)\bin\glib-genmarshal.exe" --prefix=_hexchat_marshal --header "$(ProjectDir)marshalers.list" > "$(HexChatLib)marshal.h" -"$(DepsRoot)\bin\glib-genmarshal.exe" --prefix=_hexchat_marshal --body "$(ProjectDir)marshalers.list" > "$(HexChatLib)marshal.c" - +"$(Python3Path)\python.exe" "$(DepsRoot)\bin\glib-genmarshal" --prefix=_hexchat_marshal --header "$(ProjectDir)marshalers.list" --output "$(HexChatLib)marshal.h" +"$(Python3Path)\python.exe" "$(DepsRoot)\bin\glib-genmarshal" --prefix=_hexchat_marshal --body "$(ProjectDir)marshalers.list" --output "$(HexChatLib)marshal.c" ]]> diff --git a/src/common/make-te.c b/src/common/make-te.c deleted file mode 100644 index 834646ef..00000000 --- a/src/common/make-te.c +++ /dev/null @@ -1,100 +0,0 @@ -/* HexChat - * Copyright (C) 1998-2010 Peter Zelezny. - * Copyright (C) 2009-2013 Berke Viktor. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -/* Process textevents.in with make-te < textevents.in > textevents.h 2> textenums.h - * - * textevents.in notes: - * - * - The number in the ending lines indicates the total number of arguments - * a text event supports. So don't touch them unless you actually modify the - * EMIT_SIGNAL commands, too. - * - * - The "n" prefix means the event text does not have to be translated thus - * the N_() gettext encapsulation will be omitted. - * - * - EMIT_SIGNAL is just a macro for text_emit() which can take a total amount - * of 4 event arguments, so events have a hard limit of 4 arguments. - * - * - $t means the xtext tab, i.e. the vertical separator line for indented nicks. - * That means $t forces a new line for that event. - * - * - Text events are emitted in ctcp.c, dcc.c, hexchat.c, ignore.c, inbound.c, - * modes.c, notify.c, outbound.c, proto-irc.c, server.c and text.c. - */ - -#include -#include -#include - -int main(void) -{ - char name[512]; - char num[512]; - char help[512]; - char def[512]; - char args[512]; - char buf[512]; - char *defines[512]; - int i = 0, max; - - printf("/* this file is auto generated, edit textevents.in instead! */\n\nconst struct text_event te[] = {\n"); - while(fgets(name, sizeof(name), stdin)) - { - name[strlen(name)-1] = 0; - fgets(num, sizeof(num), stdin); - num[strlen(num)-1] = 0; - fgets(help, sizeof(help), stdin); - help[strlen(help)-1] = 0; - fgets(def, sizeof(def), stdin); - def[strlen(def)-1] = 0; - fgets(args, sizeof(args), stdin); - args[strlen(args)-1] = 0; - fgets(buf, sizeof(buf), stdin); - - if (args[0] == 'n') - printf("\n{\"%s\", %s, %d, \n\"%s\"},\n", - name, help, atoi(args+1) | 128, def); - else - printf("\n{\"%s\", %s, %d, \nN_(\"%s\")},\n", - name, help, atoi(args), def); - defines[i] = strdup (num); - i++; - } - - printf("};\n"); - - fprintf(stderr, "/* this file is auto generated, edit textevents.in instead! */\n\nenum\n{\n"); - max = i; - i = 0; - while (i < max) - { - if (i + 1 < max) - { - fprintf(stderr, "\t%s,\t\t%s,\n", defines[i], defines[i+1]); - free (defines[i]); - i++; - } else - fprintf(stderr, "\t%s,\n", defines[i]); - free (defines[i]); - i++; - } - fprintf(stderr, "\tNUM_XP\n};\n"); - - return 0; -} diff --git a/src/common/make-te.vcxproj b/src/common/make-te.vcxproj deleted file mode 100644 index b7bc2829..00000000 --- a/src/common/make-te.vcxproj +++ /dev/null @@ -1,49 +0,0 @@ - - - - v140 - Application - - - - Release - Win32 - - - Release - x64 - - - - {A7D7CE59-2A31-48AE-BED2-A9828E241832} - Win32Proj - makete - - - - - - - $(HexChatLib) - - - - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - - - Console - - - - - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - - - Console - - - - - - - diff --git a/src/common/make-te.vcxproj.filters b/src/common/make-te.vcxproj.filters deleted file mode 100644 index ac9f0939..00000000 --- a/src/common/make-te.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/src/fe-gtk/fe-gtk.vcxproj b/src/fe-gtk/fe-gtk.vcxproj index 5a668b5b..61d0a074 100644 --- a/src/fe-gtk/fe-gtk.vcxproj +++ b/src/fe-gtk/fe-gtk.vcxproj @@ -140,4 +140,4 @@ powershell "Get-Content -Encoding UTF8 '$(HexChatLib)hexchat.rc.utf8' | Out-File - \ No newline at end of file + diff --git a/win32/copy/copy.vcxproj b/win32/copy/copy.vcxproj index 6adedf0d..f96c80f3 100644 --- a/win32/copy/copy.vcxproj +++ b/win32/copy/copy.vcxproj @@ -24,10 +24,10 @@ - + - + @@ -37,19 +37,17 @@ - - - + + - - - - - + + + + @@ -58,7 +56,7 @@ - + @@ -67,6 +65,8 @@ + + @@ -78,9 +78,9 @@ + - @@ -89,7 +89,9 @@ - + + + diff --git a/win32/hexchat.props b/win32/hexchat.props index 818894fb..831996e5 100644 --- a/win32/hexchat.props +++ b/win32/hexchat.props @@ -6,7 +6,6 @@ c:\gtk-build\gtk c:\gtk-build\gendef - c:\gtk-build\msgfmt c:\gtk-build\perl-5.20 c:\gtk-build\python-2.7 c:\gtk-build\python-3.6 @@ -15,11 +14,11 @@ - + GTK_DISABLE_DEPRECATED;GDK_PIXBUF_DISABLE_DEPRECATED;G_DISABLE_SINGLE_INCLUDES;GDK_PIXBUF_DISABLE_SINGLE_INCLUDES;GTK_DISABLE_SINGLE_INCLUDES;HAVE_STRTOULL;strtoull=_strtoui64;strcasecmp=stricmp;strncasecmp=strnicmp;__inline__=__inline - $(YourDepsPath)\$(PlatformName) + + $(YourDepsPath)\$(PlatformName)\release $(YourGendefPath) - $(YourMsgfmtPath) $(YourWinSparklePath)\$(PlatformName) $(YourPerlPath)\$(PlatformName) perl520 @@ -29,12 +28,12 @@ $(YourPython3Path)\$(PlatformName) python36 hcpython3 - $(DepsRoot)\include\luajit-2.0 + $(DepsRoot)\include\luajit-2.1 hclua lua51 $(DepsRoot)\include\glib-2.0;$(DepsRoot)\lib\glib-2.0\include;$(DepsRoot)\include\libxml2 $(DepsRoot)\include\gtk-2.0;$(DepsRoot)\lib\gtk-2.0\include;$(DepsRoot)\include\atk-1.0;$(DepsRoot)\include\cairo;$(DepsRoot)\include\pango-1.0;$(DepsRoot)\include\gdk-pixbuf-2.0 - gtk-win32-2.0.lib;gdk-win32-2.0.lib;atk-1.0.lib;gio-2.0.lib;gdk_pixbuf-2.0.lib;pangowin32-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo.lib;gobject-2.0.lib;gmodule-2.0.lib;glib-2.0.lib;libintl.lib;libxml2.lib;libeay32.lib;ssleay32.lib;wininet.lib;winmm.lib;ws2_32.lib + gtk-win32-2.0.lib;gdk-win32-2.0.lib;atk-1.0.lib;gio-2.0.lib;gdk_pixbuf-2.0.lib;pangowin32-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo.lib;gobject-2.0.lib;gmodule-2.0.lib;glib-2.0.lib;intl.lib;libxml2.lib;libeay32.lib;ssleay32.lib;wininet.lib;winmm.lib;ws2_32.lib $(SolutionDir)..\data\\ $(SolutionDir)..\..\hexchat-build $(HexChatBuild)\$(PlatformName)\bin\ diff --git a/win32/hexchat.sln b/win32/hexchat.sln index 1c6367ca..b567203d 100644 --- a/win32/hexchat.sln +++ b/win32/hexchat.sln @@ -1,12 +1,9 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 -VisualStudioVersion = 14.0.25123.0 +VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "..\src\common\common.vcxproj", "{87554B59-006C-4D94-9714-897B27067BA3}" - ProjectSection(ProjectDependencies) = postProject - {A7D7CE59-2A31-48AE-BED2-A9828E241832} = {A7D7CE59-2A31-48AE-BED2-A9828E241832} - EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fe-gtk", "..\src\fe-gtk\fe-gtk.vcxproj", "{E4BDB4C8-2335-415A-ACEE-BA88B19BFE82}" ProjectSection(ProjectDependencies) = postProject @@ -87,7 +84,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "installer", "installer\inst {B10A2C41-344C-43E0-A32D-B9587C198D8B} = {B10A2C41-344C-43E0-A32D-B9587C198D8B} {461DC24A-A410-4171-8C02-CCDBF3702C2A} = {461DC24A-A410-4171-8C02-CCDBF3702C2A} {E93E1255-95D1-4B08-8FDF-B53CC6A21280} = {E93E1255-95D1-4B08-8FDF-B53CC6A21280} - {A7D7CE59-2A31-48AE-BED2-A9828E241832} = {A7D7CE59-2A31-48AE-BED2-A9828E241832} {5EF7F47D-D09C-43C4-BF64-B28B11A0FF91} = {5EF7F47D-D09C-43C4-BF64-B28B11A0FF91} {6C0CA980-97C5-427A-BE61-5BCECAFABBDA} = {6C0CA980-97C5-427A-BE61-5BCECAFABBDA} {B0E36D93-CA2A-49FE-9EB9-9C96C6016EEC} = {B0E36D93-CA2A-49FE-9EB9-9C96C6016EEC} @@ -105,8 +101,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "htm", "..\src\htm\htm.cspro {87554B59-006C-4D94-9714-897B27067BA3} = {87554B59-006C-4D94-9714-897B27067BA3} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "make-te", "..\src\common\make-te.vcxproj", "{A7D7CE59-2A31-48AE-BED2-A9828E241832}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "perl", "..\plugins\perl\perl.vcxproj", "{D90BC3E3-1341-4849-9354-5F40489D39D1}" ProjectSection(ProjectDependencies) = postProject {87554B59-006C-4D94-9714-897B27067BA3} = {87554B59-006C-4D94-9714-897B27067BA3} @@ -194,10 +188,6 @@ Global {DE87FFCA-9606-4116-B747-062D88A56A28}.Release|Win32.Build.0 = Release|x86 {DE87FFCA-9606-4116-B747-062D88A56A28}.Release|x64.ActiveCfg = Release|x64 {DE87FFCA-9606-4116-B747-062D88A56A28}.Release|x64.Build.0 = Release|x64 - {A7D7CE59-2A31-48AE-BED2-A9828E241832}.Release|Win32.ActiveCfg = Release|Win32 - {A7D7CE59-2A31-48AE-BED2-A9828E241832}.Release|Win32.Build.0 = Release|Win32 - {A7D7CE59-2A31-48AE-BED2-A9828E241832}.Release|x64.ActiveCfg = Release|x64 - {A7D7CE59-2A31-48AE-BED2-A9828E241832}.Release|x64.Build.0 = Release|x64 {D90BC3E3-1341-4849-9354-5F40489D39D1}.Release|Win32.ActiveCfg = Release|Win32 {D90BC3E3-1341-4849-9354-5F40489D39D1}.Release|Win32.Build.0 = Release|Win32 {D90BC3E3-1341-4849-9354-5F40489D39D1}.Release|x64.ActiveCfg = Release|x64 @@ -238,7 +228,6 @@ Global {C9B735E4-75BC-45AC-A5E3-39A6D076F912} = {0FD996A7-464F-4981-8380-3DCA3A244A13} {5A0F4962-E670-4DA2-9E45-52CC47F26E2F} = {0FD996A7-464F-4981-8380-3DCA3A244A13} {DE87FFCA-9606-4116-B747-062D88A56A28} = {AAACEB12-9475-410E-AF5A-FDFF907E9043} - {A7D7CE59-2A31-48AE-BED2-A9828E241832} = {AAACEB12-9475-410E-AF5A-FDFF907E9043} {D90BC3E3-1341-4849-9354-5F40489D39D1} = {D237DA6B-BD5F-46C0-8BEA-50E9A1340240} {C2321A03-0BA7-45B3-8740-ABD82B36B0BF} = {D237DA6B-BD5F-46C0-8BEA-50E9A1340240} {C53145CC-D021-40C9-B97C-0249AB9A43C9} = {561126F4-FA18-45FC-A2BF-8F858F161D6D} diff --git a/win32/installer/hexchat.iss.tt b/win32/installer/hexchat.iss.tt index f4177c9f..a9a03dd4 100644 --- a/win32/installer/hexchat.iss.tt +++ b/win32/installer/hexchat.iss.tt @@ -116,11 +116,12 @@ Source: "share\xml\*"; DestDir: "{app}\share\xml"; Flags: ignoreversion createal Source: "share\doc\*"; DestDir: "{app}\share\doc"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs Source: "share\themes\MS-Windows\*"; DestDir: "{app}\share\themes\MS-Windows"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs Source: "share\locale\*"; DestDir: "{app}\share\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations +Source: "etc\fonts\*"; DestDir: "{app}\etc\fonts"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs -Source: "atk-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "atk-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "cairo.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "fontconfig.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs -Source: "gdk_pixbuf-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "gdk_pixbuf-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "gdk-win32-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "gio-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "glib-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs @@ -135,19 +136,17 @@ Source: "gspawn-win32-helper-console.exe"; DestDir: "{app}"; Flags: ignoreversio #endif Source: "gthread-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "gtk-win32-2.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs -Source: "harfbuzz.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "iconv.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "libeay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "libenchant.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs -Source: "libffi.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs -Source: "libintl.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "ffi-7.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "intl.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "libpng16.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "libxml2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs -Source: "pango-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs -Source: "pangocairo-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs -Source: "pangoft2-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs -Source: "pangowin32-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs -Source: "pixman-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "pango-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "pangocairo-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "pangoft2-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "pangowin32-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "ssleay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs Source: "zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs @@ -157,7 +156,7 @@ Source: "lib\enchant\*"; DestDir: "{app}\lib\enchant"; Flags: ignoreversion; Com Source: "lib\gtk-2.0\i686-pc-vs14\engines\*"; DestDir: "{app}\lib\gtk-2.0\i686-pc-vs14\engines"; Flags: ignoreversion; Components: libs -Source: "girepository-1.0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: langs\lua +Source: "girepository-1.0-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: langs\lua Source: "lua51.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: langs\lua Source: "lib\lua\lgi\*.dll"; DestDir: "{app}\lib\lua\lgi"; Flags: ignoreversion; Components: langs\lua Source: "lib\girepository-1.0\*.typelib"; DestDir: "{app}\lib\girepository-1.0"; Flags: ignoreversion; Components: langs\lua diff --git a/win32/nls/nls.vcxproj b/win32/nls/nls.vcxproj index 58e4baf3..aa60abff 100644 --- a/win32/nls/nls.vcxproj +++ b/win32/nls/nls.vcxproj @@ -32,7 +32,7 @@ rmdir /q /s "$(OutDir)\locale" mkdir "$(OutDir)\locale" for %%A in (*.po) do ( mkdir "$(OutDir)\locale\%%~nA\LC_MESSAGES" -"$(MsgfmtPath)\msgfmt" -co "$(OutDir)\locale\%%~nA\LC_MESSAGES\hexchat.mo" %%A +"$(DepsRoot)\bin\msgfmt.exe" -co "$(OutDir)\locale\%%~nA\LC_MESSAGES\hexchat.mo" %%A )