--- gnome-latex-3.28.1/src/liblatexila/latexila-build-tools-default.c.orig	2018-07-05 06:40:05.595053700 +0200
+++ gnome-latex-3.28.1/src/liblatexila/latexila-build-tools-default.c	2018-07-05 06:41:35.626220500 +0200
@@ -178,9 +178,12 @@
 	gchar *path;
 	GFile *file;
 
-	path = g_build_filename (DATA_DIR, "build_tools.xml", NULL);
+	gchar *datadir;
+	datadir = g_win32_get_package_installation_directory_of_module (NULL);
+	path = g_build_filename (datadir, "share", "gnome-latex", "build_tools.xml", NULL);
 	file = g_file_new_for_path (path);
 	g_free (path);
+	g_free (datadir);
 
 	return file;
 }
--- ./src/liblatexila/Makefile.am.orig	2016-08-27 14:54:53.000000000 +0200
+++ ./src/liblatexila/Makefile.am	2016-11-15 14:46:40.106643900 +0100
@@ -81,6 +81,7 @@
 if HAVE_INTROSPECTION
 -include $(INTROSPECTION_MAKEFILE)
 
+INTROSPECTION_SCANNER_ENV = CC="$(CC)"
 INTROSPECTION_SCANNER_ARGS =	\
 	-I$(top_srcdir)		\
 	-I$(top_builddir)	\
--- ./src/main.vala.orig	2016-08-27 14:54:53.000000000 +0200
+++ ./src/main.vala	2016-11-15 14:54:12.834044200 +0100
@@ -21,6 +21,16 @@
 
 using Gtk;
 
+namespace Config
+{
+    public string PACKAGE_NAME;
+    public string PACKAGE_VERSION;
+    public string DATA_DIR;
+    public string LOCALE_DIR;
+    public string GETTEXT_PACKAGE;
+    public string ICONS_DIR;
+}
+
 private void init_i18n ()
 {
     Intl.bindtextdomain (Config.GETTEXT_PACKAGE, Config.LOCALE_DIR);
@@ -30,6 +40,16 @@
 
 int main (string[] argv)
 {
+	string p = Win32.get_package_installation_directory_of_module (null);
+
+	Config.PACKAGE_NAME = RealConfig.PACKAGE_NAME;
+	Config.PACKAGE_VERSION = RealConfig.PACKAGE_VERSION;
+	Config.GETTEXT_PACKAGE = RealConfig.GETTEXT_PACKAGE;
+
+	Config.DATA_DIR = Path.build_filename (p, "share", "gnome-latex");
+	Config.LOCALE_DIR = Path.build_filename (p, "share", "locale");
+	Config.ICONS_DIR = Path.build_filename (p, "share", "icons", "hicolor");
+
     init_i18n ();
 
     LatexilaApp app = new LatexilaApp ();
--- ./vapi/config.vapi.orig	2015-04-18 19:05:46.000000000 +0200
+++ ./vapi/config.vapi	2016-11-15 14:46:40.114808800 +0100
@@ -1,5 +1,5 @@
 [CCode (lower_case_cprefix = "", cheader_filename = "config.h")]
-namespace Config
+namespace RealConfig
 {
     public const string PACKAGE_NAME;
     public const string PACKAGE_VERSION;
