From: Juerg Billeter Date: Sun, 2 Mar 2008 11:09:09 +0000 (+0000) Subject: add bindings for g_get_system_*_dirs X-Git-Tag: VALA_0_1_7~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7905da3deca5883fa5b7c0d2b4d70e68debf2c07;p=thirdparty%2Fvala.git add bindings for g_get_system_*_dirs 2008-03-02 Juerg Billeter * vapi/glib-2.0.vapi: add bindings for g_get_system_*_dirs * vala/valacodecontext.vala: use g_get_system_data_dirs to find VAPI files, should make valac relocatable on Windows svn path=/trunk/; revision=1083 --- diff --git a/ChangeLog b/ChangeLog index 138ffb730..78b291398 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-03-02 Jürg Billeter + + * vapi/glib-2.0.vapi: add bindings for g_get_system_*_dirs + + * vala/valacodecontext.vala: use g_get_system_data_dirs to find + VAPI files, should make valac relocatable on Windows + 2008-03-02 Jürg Billeter * vapi/glib-2.0.vapi: add dir separator bindings, diff --git a/vala/valacodecontext.vala b/vala/valacodecontext.vala index 3f1f5c05a..241c74d0a 100644 --- a/vala/valacodecontext.vala +++ b/vala/valacodecontext.vala @@ -402,14 +402,11 @@ public class Vala.CodeContext : Object { return filename; } - filename = Path.build_filename ("/usr/local/share/vala/vapi", basename); - if (FileUtils.test (filename, FileTest.EXISTS)) { - return filename; - } - - filename = Path.build_filename ("/usr/share/vala/vapi", basename); - if (FileUtils.test (filename, FileTest.EXISTS)) { - return filename; + foreach (string vapidir in Environment.get_system_data_dirs ()) { + var filename = Path.build_filename (vapidir, "vala/vapi", basename); + if (FileUtils.test (filename, FileTest.EXISTS)) { + return filename; + } } return null; diff --git a/vapi/glib-2.0.vapi b/vapi/glib-2.0.vapi index 1107feecd..a2862c23e 100644 --- a/vapi/glib-2.0.vapi +++ b/vapi/glib-2.0.vapi @@ -1672,6 +1672,10 @@ namespace GLib { public static weak string get_user_name (); [CCode (cname = "g_get_user_data_dir")] public static weak string get_user_data_dir (); + [CCode (cname = "g_get_system_data_dirs"), NoArrayLength] + public static weak string[] get_system_data_dirs (); + [CCode (cname = "g_get_system_config_dirs"), NoArrayLength] + public static weak string[] get_system_config_dirs (); [CCode (cname = "g_get_host_name")] public static weak string! get_host_name (); [CCode (cname = "g_get_home_dir")]