summary refs log tree commit diff stats
path: root/win32/hexchat.props
blob: eb121ed5790017af930356094bd436e11944c0e6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
	<ImportGroup Label="PropertySheets" />

	<PropertyGroup Label="Configuration">
		<PlatformToolset>v110</PlatformToolset>
	</PropertyGroup>

	<PropertyGroup Label="UserMacros">

		<!-- SPECIFY YOUR DEPENDENCY DIRECTORIES HERE -->

		<YourDepsPath>c:\mozilla-build\hexchat\gtk</YourDepsPath>
		<YourGendefPath>c:\mozilla-build\gendef</YourGendefPath>
		<YourMsgfmtPath>c:\mozilla-build\msgfmt</YourMsgfmtPath>
		<YourPerlPath>c:\mozilla-build\perl-5.18</YourPerlPath>
		<YourPythonPath>c:\mozilla-build\python-2.7</YourPythonPath>

		<!-- YOU SHOULDN'T TOUCH ANYTHING BELOW -->

		<!-- G_DISABLE_DEPRECATED is unfeasible due to g_completion_* -->
		<OwnFlags>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</OwnFlags>
		<DepsRoot>$(YourDepsPath)\$(PlatformName)</DepsRoot>
		<GendefPath>$(YourGendefPath)</GendefPath>
		<MsgfmtPath>$(YourMsgfmtPath)</MsgfmtPath>
		<PerlPath>$(YourPerlPath)\$(PlatformName)</PerlPath>
		<PerlLib>perl517</PerlLib>
		<PerlOutput>hcperl</PerlOutput>
		<PythonPath>$(YourPythonPath)\$(PlatformName)</PythonPath>
		<PythonLib>python27</PythonLib>
		<PythonOutput>hcpython</PythonOutput>
		<Glib>$(DepsRoot)\include\glib-2.0;$(DepsRoot)\lib\glib-2.0\include;$(DepsRoot)\include\libxml2</Glib>
		<Gtk>$(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>
		<Pixmaps>png_ulist_voice "$(SolutionDir)\..\src\pixmaps\ulist_voice.png" png_ulist_halfop "$(SolutionDir)\..\src\pixmaps\ulist_halfop.png" png_ulist_op "$(SolutionDir)\..\src\pixmaps\ulist_op.png" png_ulist_owner "$(SolutionDir)\..\src\pixmaps\ulist_owner.png" png_ulist_founder "$(SolutionDir)\..\src\pixmaps\ulist_founder.png" png_ulist_netop "$(SolutionDir)\..\src\pixmaps\ulist_netop.png" png_tray_fileoffer "$(SolutionDir)\..\src\pixmaps\tray_fileoffer.png" png_tray_highlight "$(SolutionDir)\..\src\pixmaps\tray_highlight.png" png_tray_message "$(SolutionDir)\..\src\pixmaps\tray_message.png" png_tree_channel "$(SolutionDir)\..\src\pixmaps\tree_channel.png" png_tree_dialog "$(SolutionDir)\..\src\pixmaps\tree_dialog.png" png_tree_server "$(SolutionDir)\..\src\pixmaps\tree_server.png" png_tree_util "$(SolutionDir)\..\src\pixmaps\tree_util.png" png_book "$(SolutionDir)\..\src\pixmaps\book.png" png_hexchat "$(SolutionDir)\..\src\pixmaps\hexchat.png"</Pixmaps>
		<DepLibs>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</DepLibs>
		<HexChatBuild>$(SolutionDir)..\..\hexchat-build</HexChatBuild>
		<HexChatBin>$(HexChatBuild)\$(PlatformName)\bin\</HexChatBin>
		<HexChatObj>$(HexChatBuild)\$(PlatformName)\obj\</HexChatObj>
		<HexChatRel>$(HexChatBuild)\$(PlatformName)\rel</HexChatRel>
		<HexChatCopy>
rmdir /q /s "$(HexChatRel)"
mkdir "$(HexChatRel)"
echo 2&gt; portable-mode
move portable-mode "$(HexChatRel)"
copy changelog.url "$(HexChatRel)"
copy readme.url "$(HexChatRel)"
copy "$(DepsRoot)\bin\cert.pem" "$(HexChatRel)"
copy "$(HexChatBin)hexchat.exe" "$(HexChatRel)"
copy "$(HexChatBin)hexchat-text.exe" "$(HexChatRel)"
copy "$(HexChatBin)thememan.exe" "$(HexChatRel)"
copy "$(DepsRoot)\bin\atk-1.0.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\cairo.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\fontconfig.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\gdk_pixbuf-2.0.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\gdk-win32-2.0.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\gio-2.0.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\glib-2.0.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\gmodule-2.0.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\gobject-2.0.dll" "$(HexChatRel)
copy "$(DepsRoot)\bin\gthread-2.0.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\gtk-win32-2.0.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\harfbuzz.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\iconv.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\libeay32.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\libenchant.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\libintl.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\libpng16.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\libxml2.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\pango-1.0.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\pangocairo-1.0.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\pangoft2-1.0.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\pangowin32-1.0.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\pixman-1.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\ssleay32.dll" "$(HexChatRel)"
copy "$(DepsRoot)\bin\zlib1.dll" "$(HexChatRel)"
xcopy /q /s /i "$(DepsRoot)\lib\gtk-2.0\i686-pc-vs10\engines" "$(HexChatRel)\lib\gtk-2.0\i686-pc-vs10\engines"
xcopy /q /s /i etc "$(HexChatRel)\etc"
xcopy /q /s /i share "$(HexChatRel)\share"
xcopy /q /s /i "..\..\share\doc\COPYING" "$(HexChatRel)\share\doc\hexchat\"
xcopy /q /s /i "..\..\share\sounds\beep.wav" "$(HexChatRel)\share\sounds\"
xcopy /q /s /i "$(DepsRoot)\share\doc" "$(HexChatRel)\share\doc"
xcopy /q /s /i "$(DepsRoot)\lib\enchant\libenchant_myspell.dll" "$(HexChatRel)\lib\enchant\"
xcopy /q /s /i "$(HexChatBin)hcchecksum.dll" "$(HexChatRel)\plugins\"
copy "$(HexChatBin)hcdns.dll" "$(HexChatRel)\plugins"
copy "$(HexChatBin)hcdoat.dll" "$(HexChatRel)\plugins"
copy "$(HexChatBin)hcexec.dll" "$(HexChatRel)\plugins"
copy "$(HexChatBin)hcfishlim.dll" "$(HexChatRel)\plugins"
copy "$(HexChatBin)hcmpcinfo.dll" "$(HexChatRel)\plugins"
copy "$(HexChatBin)hcperl.dll" "$(HexChatRel)\plugins"
copy "$(HexChatBin)hcpython.dll" "$(HexChatRel)\plugins"
copy "$(HexChatBin)hcupd.dll" "$(HexChatRel)\plugins"
copy "$(HexChatBin)hcwinamp.dll" "$(HexChatRel)\plugins"
copy "$(HexChatBin)hcsysinfo.dll" "$(HexChatRel)\plugins"
xcopy /q /s /i "$(HexChatBin)locale" "$(HexChatRel)\share\locale"
xcopy /q /s /i "$(DepsRoot)\share\locale" "$(HexChatRel)\share\locale"
		</HexChatCopy>
	</PropertyGroup>

	<ItemDefinitionGroup>
		<ClCompile>
			<WarningLevel>Level3</WarningLevel>
			<DisableSpecificWarnings>4996</DisableSpecificWarnings>
		</ClCompile>
	</ItemDefinitionGroup>

	<ItemGroup />
</Project>
ss="n">t, void *key, int *done) { int c, u, l, idx; if (t->elements < 1) { *done = 1; t->array[0] = key; t->elements++; return 0; } if (t->elements < 2) { *done = 1; c = t->cmp (key, t->array[0], t->data); if (c == 0) return -1; t->elements++; if (c > 0) { t->array[1] = key; return 1; } t->array[1] = t->array[0]; t->array[0] = key; return 0; } *done = 0; c = t->cmp (key, t->array[0], t->data); if (c < 0) return 0; /* prepend */ c = t->cmp (key, t->array[t->elements - 1], t->data); if (c > 0) return t->elements; /* append */ l = 0; u = t->elements - 1; while (1) { idx = (l + u) / 2; c = t->cmp (key, t->array[idx], t->data); if (0 > c) u = idx; else if (0 < c && 0 > t->cmp (key, t->array[idx+1], t->data)) return idx + 1; else if (c == 0) return -1; else l = idx + 1; } } static void tree_insert_at_pos (tree *t, void *key, int pos) { int post_bytes; /* append is easy */ if (pos != t->elements) { post_bytes = (t->elements - pos) * sizeof (void *); memmove (&t->array[pos + 1], &t->array[pos], post_bytes); } t->array[pos] = key; t->elements++; } static void * mybsearch (const void *key, void **array, size_t nmemb, int (*compar) (const void *, const void *, void *data), void *data, int *pos) { int l, u, idx; int comparison; l = 0; u = nmemb; while (l < u) { idx = (l + u) / 2; comparison = (*compar) (key, array[idx], data); if (comparison < 0) u = idx; else if (comparison > 0) l = idx + 1; else { *pos = idx; return array[idx]; } } return NULL; } void * tree_find (tree *t, void *key, tree_cmp_func *cmp, void *data, int *pos) { if (!t || !t->array) return NULL; return mybsearch (key, &t->array[0], t->elements, cmp, data, pos); } static void tree_remove_at_pos (tree *t, int pos) { int post_bytes; t->elements--; if (pos != t->elements) { post_bytes = (t->elements - pos) * sizeof (void *); memmove (&t->array[pos], &t->array[pos + 1], post_bytes); } } int tree_remove (tree *t, void *key, int *pos) { void *data; data = tree_find (t, key, t->cmp, t->data, pos); if (!data) return 0; tree_remove_at_pos (t, *pos); return 1; } void tree_foreach (tree *t, tree_traverse_func *func, void *data) { int j; if (!t || !t->array) return; for (j = 0; j < t->elements; j++) { if (!func (t->array[j], data)) break; } } int tree_insert (tree *t, void *key) { int pos, done; if (!t) return -1; if (t->array_size < t->elements + 1) { int new_size = t->array_size + ARRAY_GROW; t->array = realloc (t->array, sizeof (void *) * new_size); t->array_size = new_size; } pos = tree_find_insertion_pos (t, key, &done); if (!done && pos != -1) tree_insert_at_pos (t, key, pos); return pos; }