aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmanuele Aina <emanuele.aina@collabora.com>2012-03-06 07:04:51 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2012-03-06 23:14:47 +0800
commitaeab15ec37370f3c3aa8b4e1a4aec480109a6803 (patch)
tree4c79d77e6f5b877208c0706f70f448a89e00dd62
parent912a95b7ceb56e16854fa09af9c31cb33b6303ca (diff)
downloadgsoc2013-empathy-aeab15ec37370f3c3aa8b4e1a4aec480109a6803.tar
gsoc2013-empathy-aeab15ec37370f3c3aa8b4e1a4aec480109a6803.tar.gz
gsoc2013-empathy-aeab15ec37370f3c3aa8b4e1a4aec480109a6803.tar.bz2
gsoc2013-empathy-aeab15ec37370f3c3aa8b4e1a4aec480109a6803.tar.lz
gsoc2013-empathy-aeab15ec37370f3c3aa8b4e1a4aec480109a6803.tar.xz
gsoc2013-empathy-aeab15ec37370f3c3aa8b4e1a4aec480109a6803.tar.zst
gsoc2013-empathy-aeab15ec37370f3c3aa8b4e1a4aec480109a6803.zip
Run from the source directory without installing
Use the tools/empathy-env wrapper to set an appropriate environment and launch the compiled programs without installing them. https://bugzilla.gnome.org/show_bug.cgi?id=671447
-rw-r--r--HACKING8
-rw-r--r--data/.gitignore1
-rw-r--r--data/Makefile.am8
-rw-r--r--tools/.gitignore1
-rw-r--r--tools/Makefile.am7
-rw-r--r--tools/empathy-env.in9
6 files changed, 29 insertions, 5 deletions
diff --git a/HACKING b/HACKING
index bae9b0b81..b486e3370 100644
--- a/HACKING
+++ b/HACKING
@@ -6,16 +6,16 @@ Empathy is split in different processes:
- src/empathy-debugger: debug tool
Each process can be run directly from source without having to be installed to
-its prefix. You just have to define the environment variable EMPATHY_SRCDIR
-to the path of your empathy source dir. For example:
- export EMPATHY_SRCDIR=/home/cassidy/gnome/empathy
+its prefix. You just have to define an appropriate environment using the
+wrapper found in the tools/ directory.. For example:
+ ./tools/empathy-env ./src/empathy
The chat and call UI are automatically started by telepathy-mission-control
when receiving or requesting a chat/call. In order to use your custom version
you have to kill any existing instance of empathy-{chat,call} and then start
it with EMPATHY_PERSIST=1 to prevent it from auto exiting if there is no
channel to handle. For example:
- EMPATHY_PERSIST=1 ./src/empathy-chat
+ EMPATHY_PERSIST=1 ./tools/empathy-env ./src/empathy-chat
Debugging can be turned on using EMPATHY_DEBUG=all and logged to a file
with EMPATHY_LOGFILE=/tmp/empathy.log
diff --git a/data/.gitignore b/data/.gitignore
index e004da8ed..2c0f33226 100644
--- a/data/.gitignore
+++ b/data/.gitignore
@@ -2,6 +2,7 @@ empathy.desktop
empathy.desktop.in
org.gnome.Empathy.gschema.valid
org.gnome.Empathy.gschema.xml
+gschemas.compiled
org.freedesktop.Telepathy.Client.Empathy.Chat.service
org.freedesktop.Telepathy.Client.Empathy.AudioVideo.service
org.freedesktop.Telepathy.Client.Empathy.Call.service
diff --git a/data/Makefile.am b/data/Makefile.am
index f3da574ae..a2be750cf 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -15,6 +15,13 @@ gsettings_SCHEMAS = $(gsettings_files:.xml.in=.xml)
@INTLTOOL_XML_NOMERGE_RULE@
@GSETTINGS_RULES@
+# We need to compile schemas at make time
+# to run from source tree
+gschemas.compiled: $(gsettings_SCHEMAS:.xml=.valid)
+ $(AM_V_GEN) $(GLIB_COMPILE_SCHEMAS) --targetdir=. .
+
+all-local: gschemas.compiled
+
convertdir = $(datarootdir)/GConf/gsettings
convert_DATA = \
empathy.convert
@@ -82,4 +89,5 @@ DISTCLEANFILES = \
$(schemas_DATA) \
$(servicefile_DATA) \
$(gsettings_SCHEMAS) \
+ gschemas.compiled \
$(NULL)
diff --git a/tools/.gitignore b/tools/.gitignore
index 2578e9883..d6ba5d9dc 100644
--- a/tools/.gitignore
+++ b/tools/.gitignore
@@ -1,3 +1,4 @@
_gen
extensions.html
telepathy-glib-env
+empathy-env
diff --git a/tools/Makefile.am b/tools/Makefile.am
index 96cc60f58..49bcb04b5 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -1,11 +1,15 @@
abs_top_builddir = @abs_top_builddir@
-noinst_SCRIPTS = telepathy-glib-env
+noinst_SCRIPTS = telepathy-glib-env empathy-env
telepathy-glib-env: telepathy-glib-env.in Makefile
sed -e 's![@]abs_top_builddir[@]!$(abs_top_builddir)!' $< > $@
chmod +x $@
+empathy-env: empathy-env.in Makefile
+ sed -e 's![@]abs_top_builddir[@]!$(abs_top_builddir)!' $< > $@
+ chmod +x $@
+
EXTRA_DIST = \
c-constants-gen.py \
check-coding-style.mk \
@@ -34,6 +38,7 @@ EXTRA_DIST = \
telepathy.am \
telepathy-glib.supp \
telepathy-glib-env.in \
+ empathy-env.in \
test-wrapper.sh \
with-session-bus.sh \
xincludator.py
diff --git a/tools/empathy-env.in b/tools/empathy-env.in
new file mode 100644
index 000000000..3de477910
--- /dev/null
+++ b/tools/empathy-env.in
@@ -0,0 +1,9 @@
+#!/bin/sh
+abs_top_builddir="@abs_top_builddir@"
+export abs_top_builddir
+EMPATHY_SRCDIR=$abs_top_builddir
+export EMPATHY_SRCDIR
+GSETTINGS_SCHEMA_DIR="${EMPATHY_SRCDIR}/data/"
+export GSETTINGS_SCHEMA_DIR
+
+exec "$@"