Patch valaprojectgenerator.c as well, so build system does not need to

depend on an older copy of vala to bootstrap
This commit is contained in:
Michel Alexandre Salim 2007-12-04 22:38:44 +00:00
parent 7149a3afc3
commit 4bfb8f151f

View File

@ -50,3 +50,178 @@
static void main (string[] args) {
Gtk.init (ref args);
--- vala-0.1.5/gen-project/valaprojectgenerator.c.orig 2007-11-25 11:50:27.000000000 -0500
+++ vala-0.1.5/gen-project/valaprojectgenerator.c 2007-12-04 17:33:21.000000000 -0500
@@ -77,11 +77,13 @@
static void vala_project_generator_write_linguas (ValaProjectGenerator* self, GError** error);
static void vala_project_generator_write_authors (ValaProjectGenerator* self, GError** error);
static void vala_project_generator_write_maintainers (ValaProjectGenerator* self, GError** error);
+static char* vala_project_generator_get_automake_path (ValaProjectGenerator* self);
static void vala_project_generator_main (int args_length1, char** args);
static GObject * vala_project_generator_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
static gpointer vala_project_generator_parent_class = NULL;
static void vala_project_generator_dispose (GObject * obj);
static GType vala_project_generator_get_type (void);
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
static ValaProjectGenerator* vala_project_generator_new (void) {
@@ -206,7 +208,7 @@
char* _tmp22;
char* _tmp23;
char* s;
- char* _tmp24;
+ char* automake_path;
char* license_filename;
vala_project_generator_write_autogen_sh (self, &inner_error);
if (inner_error != NULL) {
@@ -332,29 +334,40 @@
}
(_tmp23 = (g_free (_tmp23), NULL));
s = NULL;
- g_file_get_contents ("/usr/share/automake/INSTALL", &s, NULL, &inner_error);
- if (inner_error != NULL) {
- if (inner_error->domain == G_FILE_ERROR) {
- goto __catch0_g_file_error;
- }
- g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, inner_error->message);
- g_clear_error (&inner_error);
- }
- _tmp24 = NULL;
- g_file_set_contents ((_tmp24 = g_strconcat (self->priv->project_path, "/INSTALL", NULL)), s, -1, &inner_error);
- if (inner_error != NULL) {
- if (inner_error->domain == G_FILE_ERROR) {
- goto __catch0_g_file_error;
+ automake_path = vala_project_generator_get_automake_path (self);
+ if (automake_path != NULL) {
+ char* install_filename;
+ install_filename = g_strconcat (automake_path, "/INSTALL", NULL);
+ if (g_file_test (install_filename, G_FILE_TEST_EXISTS)) {
+ char* _tmp24;
+ g_file_get_contents (install_filename, &s, NULL, &inner_error);
+ if (inner_error != NULL) {
+ if (inner_error->domain == G_FILE_ERROR) {
+ goto __catch0_g_file_error;
+ }
+ g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, inner_error->message);
+ g_clear_error (&inner_error);
+ }
+ _tmp24 = NULL;
+ g_file_set_contents ((_tmp24 = g_strconcat (self->priv->project_path, "/INSTALL", NULL)), s, -1, &inner_error);
+ if (inner_error != NULL) {
+ if (inner_error->domain == G_FILE_ERROR) {
+ goto __catch0_g_file_error;
+ }
+ g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, inner_error->message);
+ g_clear_error (&inner_error);
+ }
+ (_tmp24 = (g_free (_tmp24), NULL));
}
- g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, inner_error->message);
- g_clear_error (&inner_error);
+ (install_filename = (g_free (install_filename), NULL));
}
- (_tmp24 = (g_free (_tmp24), NULL));
license_filename = NULL;
if (self->priv->project_license == VALA_PROJECT_LICENSE_GPL2) {
- char* _tmp25;
- _tmp25 = NULL;
- license_filename = (_tmp25 = g_strdup ("/usr/share/automake/COPYING"), (license_filename = (g_free (license_filename), NULL)), _tmp25);
+ if (automake_path != NULL) {
+ char* _tmp25;
+ _tmp25 = NULL;
+ license_filename = (_tmp25 = g_strconcat (automake_path, "/COPYING", NULL), (license_filename = (g_free (license_filename), NULL)), _tmp25);
+ }
} else {
if (self->priv->project_license == VALA_PROJECT_LICENSE_LGPL2) {
char* _tmp26;
@@ -362,7 +375,7 @@
license_filename = (_tmp26 = g_strdup ("/usr/share/libtool/libltdl/COPYING.LIB"), (license_filename = (g_free (license_filename), NULL)), _tmp26);
}
}
- if (license_filename != NULL) {
+ if (license_filename != NULL && g_file_test (license_filename, G_FILE_TEST_EXISTS)) {
char* _tmp27;
g_file_get_contents (license_filename, &s, NULL, &inner_error);
if (inner_error != NULL) {
@@ -384,6 +397,7 @@
(_tmp27 = (g_free (_tmp27), NULL));
}
(s = (g_free (s), NULL));
+ (automake_path = (g_free (automake_path), NULL));
(license_filename = (g_free (license_filename), NULL));
}
goto __finally0;
@@ -393,7 +407,7 @@
e = inner_error;
inner_error = NULL;
{
- g_critical ("/home/juerg/svn/vala/gen-project/valaprojectgenerator.vala:210: Error while creating project: %s", e->message);
+ g_critical ("/local/data/builder/packages/vala/vala-0.1.5/gen-project/valaprojectgenerator.vala:218: Error while creating project: %s", e->message);
}
}
__finally0:
@@ -861,6 +875,40 @@
}
+static char* vala_project_generator_get_automake_path (ValaProjectGenerator* self) {
+ char** _tmp1;
+ gint automake_paths_length1;
+ char** _tmp0;
+ char** automake_paths;
+ gpointer _tmp4;
+ g_return_val_if_fail (VALA_IS_PROJECT_GENERATOR (self), NULL);
+ _tmp1 = NULL;
+ _tmp0 = NULL;
+ automake_paths = (_tmp1 = (_tmp0 = g_new0 (char*, 3 + 1), _tmp0[0] = g_strdup ("/usr/share/automake"), _tmp0[1] = g_strdup ("/usr/share/automake-1.10"), _tmp0[2] = g_strdup ("/usr/share/automake-1.9"), _tmp0), automake_paths_length1 = 3, _tmp1);
+ {
+ char** automake_path_collection;
+ int automake_path_it;
+ automake_path_collection = automake_paths;
+ for (automake_path_it = 0; (automake_paths_length1 != -1 && automake_path_it < automake_paths_length1) || (automake_paths_length1 == -1 && automake_path_collection[automake_path_it] != NULL); automake_path_it = automake_path_it + 1) {
+ const char* _tmp3;
+ char* automake_path;
+ _tmp3 = NULL;
+ automake_path = (_tmp3 = automake_path_collection[automake_path_it], (_tmp3 == NULL ? NULL : g_strdup (_tmp3)));
+ {
+ if (g_file_test (automake_path, G_FILE_TEST_IS_DIR)) {
+ char* _tmp2;
+ _tmp2 = NULL;
+ return (_tmp2 = automake_path, (automake_paths = (_vala_array_free (automake_paths, automake_paths_length1, ((GDestroyNotify) g_free)), NULL)), _tmp2);
+ }
+ (automake_path = (g_free (automake_path), NULL));
+ }
+ }
+ }
+ return (_tmp4 = NULL, (automake_paths = (_vala_array_free (automake_paths, automake_paths_length1, ((GDestroyNotify) g_free)), NULL)), _tmp4);
+ (automake_paths = (_vala_array_free (automake_paths, automake_paths_length1, ((GDestroyNotify) g_free)), NULL));
+}
+
+
static void vala_project_generator_main (int args_length1, char** args) {
ValaProjectGenerator* generator;
gtk_init (&args_length1, &args);
@@ -1038,5 +1086,22 @@
}
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ if (array != NULL && destroy_func != NULL) {
+ int i;
+ if (array_length >= 0)
+ for (i = 0; i < array_length; i = i + 1) {
+ if (((gpointer*) array)[i] != NULL)
+ destroy_func (((gpointer*) array)[i]);
+ }
+ else
+ for (i = 0; ((gpointer*) array)[i] != NULL; i = i + 1) {
+ destroy_func (((gpointer*) array)[i]);
+ }
+ }
+ g_free (array);
+}
+
+