I don't think it makes any sense to try and jump through hoops to find
this data at runtime, given that the data and the code are so intimately
connected.
-EXTRA_DIST = m4/gnulib-cache.m4
+EXTRA_DIST = m4/gnulib-cache.m4
+CLEANFILES =
AM_CPPFLAGS = -I$(top_builddir)/lib -I$(top_srcdir)/lib
AM_LDFLAGS = -L$(top_builddir)/lib
AM_CPPFLAGS = -I$(top_builddir)/lib -I$(top_srcdir)/lib
AM_LDFLAGS = -L$(top_builddir)/lib
+LBXGUI_GLADE = $(top_srcdir)/src/gui/lbxgui.glade
+EXTRA_DIST += $(LBXGUI_GLADE)
+CLEANFILES += src/gui/lbxgui_xml.c
+
+noinst_HEADERS += src/gui/bg.xbm src/gui/render.h
+
+src/gui/lbxgui_xml.c: $(LBXGUI_GLADE)
+ $(AM_V_GEN) sed -e 's/"/\\"/g' \
+ -e 's/.*/"&"/' \
+ -e '1 s/^/char lbxgui_xml[] =\n/' \
+ -e '$$ s/$$/;/' $(LBXGUI_GLADE) > $@
+
-lbxgui_SOURCES = src/gui/render.c src/gui/lbxgui.c
-lbxgui_LDADD = liblbx.la $(GTK_LIBS)
-lbxgui_CPPFLAGS = -I$(top_srcdir)/src
-lbxgui_CFLAGS = $(GTK_CFLAGS)
-lbxgui_LDFLAGS = $(AM_LDFLAGS) -export-dynamic
+nodist_lbxgui_SOURCES = src/gui/lbxgui_xml.c
+lbxgui_SOURCES = src/gui/render.c src/gui/lbxgui.c
+lbxgui_LDADD = liblbx.la $(GTK_LIBS)
+lbxgui_CPPFLAGS = -I$(top_srcdir)/src
+lbxgui_CFLAGS = $(GTK_CFLAGS)
+lbxgui_LDFLAGS = $(AM_LDFLAGS) -export-dynamic
+extern char lbxgui_xml[];
+
static GtkTreeStore *archives;
static GtkBuilder *builder;
static GtkTreeStore *archives;
static GtkBuilder *builder;
load_archive(*argv++);
builder = gtk_builder_new();
load_archive(*argv++);
builder = gtk_builder_new();
- if (!gtk_builder_add_from_file(builder, "src/gui/lbxgui.glade", &err)) {
+ if (!gtk_builder_add_from_string(builder, lbxgui_xml, -1, &err)) {
fprintf(stderr, "%s\n", err->message);
return EXIT_FAILURE;
}
fprintf(stderr, "%s\n", err->message);
return EXIT_FAILURE;
}