[gjs] Use gresource for internal modules
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gjs] Use gresource for internal modules
- Date: Thu, 2 Jan 2014 17:59:41 +0000 (UTC)
commit 417db1df488db3e4ad641d77ae673b5642458744
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Thu Jan 2 12:21:32 2014 -0500
Use gresource for internal modules
This means that we don't install any JS files to disk anymore, and
everything is linked into libgjs.so, hopefully making bootstrap time
faster.
https://bugzilla.gnome.org/show_bug.cgi?id=721352
.gitignore | 1 +
Makefile-modules.am | 35 +++++++++++++----------------------
Makefile.am | 5 -----
gjs/importer.cpp | 10 +---------
modules/modules.gresource.xml | 21 +++++++++++++++++++++
5 files changed, 36 insertions(+), 36 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 4b5156e..e4de784 100644
--- a/.gitignore
+++ b/.gitignore
@@ -43,3 +43,4 @@ installed-tests/gjs-installed-tests.testmeta
jsunit
jsunit.test
testSystemExit.test
+modules-resources.[ch]
diff --git a/Makefile-modules.am b/Makefile-modules.am
index a410738..7b51a4c 100644
--- a/Makefile-modules.am
+++ b/Makefile-modules.am
@@ -1,27 +1,6 @@
-dist_gjstweener_DATA = \
- modules/tweener/equations.js \
- modules/tweener/tweener.js \
- modules/tweener/tweenList.js
-dist_gjsoverride_DATA = \
- modules/overrides/GLib.js \
- modules/overrides/Gio.js \
- modules/overrides/GObject.js
-
-dist_gjsjs_DATA += \
- modules/gettext.js \
- modules/lang.js \
- modules/mainloop.js \
- modules/jsUnit.js \
- modules/signals.js \
- modules/promise.js \
- modules/format.js
-
-NATIVE_MODULES = libconsole.la libsystem.la
+NATIVE_MODULES = libconsole.la libsystem.la libmodules_resources.la
if ENABLE_CAIRO
-dist_gjsjs_DATA += \
- modules/cairo.js \
- $(NULL)
NATIVE_MODULES += libcairoNative.la
endif
@@ -35,6 +14,18 @@ JS_NATIVE_MODULE_CFLAGS = \
JS_NATIVE_MODULE_LIBADD = \
$(GJS_LIBS)
+modules_resources_files = $(shell glib-compile-resources --sourcedir=$(srcdir) --generate-dependencies
$(srcdir)/modules/modules.gresource.xml)
+modules-resources.h: $(srcdir)/modules/modules.gresource.xml $(modules_resource_files)
+ $(AM_V_GEN) glib-compile-resources --target=$@ --sourcedir=$(srcdir) --sourcedir=$(builddir)
--generate --c-name modules_resources $<
+modules-resources.c: $(srcdir)/modules/modules.gresource.xml $(modules_resource_files)
+ $(AM_V_GEN) glib-compile-resources --target=$@ --sourcedir=$(srcdir) --sourcedir=$(builddir)
--generate --c-name modules_resources $<
+
+EXTRA_DIST += $(modules_resources_files)
+
+nodist_libmodules_resources_la_SOURCES = modules-resources.c modules-resources.h
+libmodules_resources_la_CPPFLAGS = $(JS_NATIVE_MODULE_CFLAGS)
+libmodules_resources_la_LIBADD = $(JS_NATIVE_MODULE_LIBADD)
+
libcairoNative_la_CPPFLAGS = $(JS_NATIVE_MODULE_CFLAGS) $(GJS_CAIRO_CFLAGS)
libcairoNative_la_LIBADD = $(JS_NATIVE_MODULE_LIBADD) $(GJS_CAIRO_LIBS)
libcairoNative_la_SOURCES = \
diff --git a/Makefile.am b/Makefile.am
index c46b7a2..68cdd0f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -19,10 +19,6 @@ ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS}
AM_CFLAGS = $(WARN_CFLAGS) -DG_LOG_DOMAIN=\"Gjs\"
AM_CPPFLAGS = $(WARN_CXXFLAGS) -DG_LOG_DOMAIN=\"Gjs\"
-gjsjsdir = @gjsjsdir@
-gjsoverridedir = $(gjsjsdir)/overrides
-gjstweenerdir = $(gjsjsdir)/tweener
-
gjs_public_includedir = $(includedir)/gjs-1.0
gjs_module_includedir = $(includedir)/gjs-1.0
@@ -80,7 +76,6 @@ EXTRA_DIST += \
########################################################################
gjs_directory_defines = \
-DGJS_TOP_SRCDIR=\"$(top_srcdir)\" \
- -DGJS_JS_DIR=\"$(gjsjsdir)\" \
-DPKGLIBDIR=\"$(pkglibdir)\"
########################################################################
diff --git a/gjs/importer.cpp b/gjs/importer.cpp
index d15c8bc..f1f7a7b 100644
--- a/gjs/importer.cpp
+++ b/gjs/importer.cpp
@@ -1066,16 +1066,8 @@ gjs_get_search_path(void)
g_free(dirs);
}
- /* $XDG_DATA_DIRS /gjs-1.0 */
- system_data_dirs = g_get_system_data_dirs();
- for (i = 0; system_data_dirs[i] != NULL; ++i) {
- char *s;
- s = g_build_filename(system_data_dirs[i], "gjs-1.0", NULL);
- g_ptr_array_add(path, s);
- }
-
/* ${datadir}/share/gjs-1.0 */
- g_ptr_array_add(path, g_strdup(GJS_JS_DIR));
+ g_ptr_array_add(path, g_strdup("resource:///org/gnome/gjs/modules/"));
g_ptr_array_add(path, NULL);
diff --git a/modules/modules.gresource.xml b/modules/modules.gresource.xml
new file mode 100644
index 0000000..8173ed7
--- /dev/null
+++ b/modules/modules.gresource.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+ <gresource prefix="/org/gnome/gjs">
+ <file>modules/tweener/equations.js</file>
+ <file>modules/tweener/tweener.js</file>
+ <file>modules/tweener/tweenList.js</file>
+
+ <file>modules/overrides/GLib.js</file>
+ <file>modules/overrides/Gio.js</file>
+ <file>modules/overrides/GObject.js</file>
+
+ <file>modules/cairo.js</file>
+ <file>modules/gettext.js</file>
+ <file>modules/lang.js</file>
+ <file>modules/mainloop.js</file>
+ <file>modules/jsUnit.js</file>
+ <file>modules/signals.js</file>
+ <file>modules/promise.js</file>
+ <file>modules/format.js</file>
+ </gresource>
+</gresources>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]