[glib] gio: Convert data-to-c.c to perl
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] gio: Convert data-to-c.c to perl
- Date: Thu, 2 Feb 2012 15:23:07 +0000 (UTC)
commit 552b815365649521379c60b672f608a40a8a5f44
Author: Kalev Lember <kalevlember gmail com>
Date: Wed Feb 1 18:44:15 2012 +0200
gio: Convert data-to-c.c to perl
Helper scripts in C can be problematic for cross compiling: the compiler
produces executables for the target platform, which the host is usually
unable to run.
https://bugzilla.gnome.org/show_bug.cgi?id=669224
gio/Makefile.am | 10 +++-------
gio/data-to-c.c | 51 ---------------------------------------------------
gio/data-to-c.pl | 39 +++++++++++++++++++++++++++++++++++++++
3 files changed, 42 insertions(+), 58 deletions(-)
---
diff --git a/gio/Makefile.am b/gio/Makefile.am
index d9227b9..67eeae6 100644
--- a/gio/Makefile.am
+++ b/gio/Makefile.am
@@ -8,11 +8,6 @@ if OS_UNIX
SUBDIRS += xdgmime
endif
-noinst_PROGRAMS = data-to-c
-
-data_to_c_SOURCES = data-to-c.c
-data_to_c_LDADD = $(top_builddir)/glib/libglib-2.0.la
-
if OS_WIN32_AND_DLL_COMPILATION
if MS_LIB_AVAILABLE
noinst_DATA = gio-2.0.lib
@@ -612,6 +607,7 @@ BUILT_SOURCES = \
$(NULL)
EXTRA_DIST += \
+ data-to-c.pl \
gio.symbols \
gioenumtypes.h.template \
gioenumtypes.c.template \
@@ -666,8 +662,8 @@ gio_querymodules_LDADD = \
libgio-2.0.la \
$(NULL)
-gconstructor_as_data.h: $(top_srcdir)/glib/gconstructor.h data-to-c$(EXEEXT)
- $(AM_V_GEN) $(builddir)/data-to-c $(top_srcdir)/glib/gconstructor.h gconstructor_code > $@
+gconstructor_as_data.h: $(top_srcdir)/glib/gconstructor.h data-to-c.pl
+ $(AM_V_GEN) $(srcdir)/data-to-c.pl $(top_srcdir)/glib/gconstructor.h gconstructor_code > $ tmp && mv $ tmp $@
glib_compile_schemas_LDADD = $(top_builddir)/glib/libglib-2.0.la
glib_compile_schemas_SOURCES = \
diff --git a/gio/data-to-c.pl b/gio/data-to-c.pl
new file mode 100755
index 0000000..20ba2fb
--- /dev/null
+++ b/gio/data-to-c.pl
@@ -0,0 +1,39 @@
+#!/usr/bin/perl
+
+# Copyright  2011 Red Hat, Inc
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the licence, or (at your option) any later version.
+#
+# This library 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
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+# Author: Kalev Lember <kalevlember gmail com>
+
+
+if (@ARGV != 2) {
+ die "Usage: data-to-c.pl <filename> <variable>\n";
+}
+
+$file = $ARGV[0];
+
+open (FILE, $file) || die "Cannot open $file: $!\n";
+
+printf ("const char %s[] = \"", $ARGV[1]);
+while (my $line = <FILE>) {
+ foreach my $c (split //, $line) {
+ printf ("\\x%02x", ord ($c));
+ }
+}
+print "\";\n";
+
+close (FILE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]