build: create another executable for the new layout

This way, we can test both layouts in parallel and, in
case something goes wrong, we always have to old layout
as a fallback.

https://bugzilla.gnome.org/show_bug.cgi?id=766922
This commit is contained in:
Georges Basile Stavracas Neto 2016-05-28 13:25:13 -03:00
parent fe3a23702f
commit 2bb6d441a7
4 changed files with 56 additions and 10 deletions

View file

@ -6,7 +6,7 @@ AC_CONFIG_SRCDIR([shell])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([1.11.2 no-dist-gzip dist-xz tar-ustar check-news])
AM_INIT_AUTOMAKE([1.11.2 no-dist-gzip dist-xz tar-ustar check-news subdir-objects])
AM_MAINTAINER_MODE([enable])
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
@ -550,6 +550,7 @@ po/Makefile.in
libgd/Makefile
search-provider/Makefile
shell/appdata/Makefile
shell/alt/Makefile
shell/Makefile
shell/gnome-control-center.desktop.in
man/Makefile

View file

@ -14,7 +14,6 @@ $(dbus_shell_search_provider_built_sources) : Makefile.am $(srcdir)/org.gnome.Sh
AM_CPPFLAGS = \
-DGNOMELOCALEDIR="\"$(datadir)/locale\""\
-DCC_PANEL_LOADER_NO_GTYPES \
-I$(top_srcdir) \
$(SHELL_CFLAGS) \
-I$(top_srcdir)/panels/common/ \
@ -26,8 +25,6 @@ BUILT_SOURCES = $(dbus_shell_search_provider_built_sources)
gnome_control_center_search_provider_SOURCES = \
$(BUILT_SOURCES) \
$(top_srcdir)/shell/cc-panel-loader.c \
$(top_srcdir)/shell/cc-panel-loader.h \
control-center-search-provider.c \
control-center-search-provider.h \
cc-search-provider.c \
@ -35,7 +32,8 @@ gnome_control_center_search_provider_SOURCES = \
gnome_control_center_search_provider_LDADD = \
$(top_builddir)/panels/common/liblanguage.la \
$(top_builddir)/shell/libshell.la \
$(top_builddir)/shell/libshell.la \
$(top_builddir)/shell/libpanel_loader.la \
$(SHELL_LIBS)
CLEANFILES = $(BUILT_SOURCES) $(service_DATA)

View file

@ -1,4 +1,4 @@
SUBDIRS = appdata
SUBDIRS = appdata alt
AM_CPPFLAGS = \
-DGNOMELOCALEDIR="\"$(datadir)/locale\""\
@ -7,6 +7,7 @@ AM_CPPFLAGS = \
$(CHEESE_CFLAGS) \
$(WACOM_PANEL_CFLAGS) \
-I$(top_srcdir)/panels/common/ \
-I$(top_srcdir)/shell/alt \
-I$(top_srcdir)/libgd
all-local: check-local
@ -19,15 +20,15 @@ libshell_la_SOURCES = \
bin_PROGRAMS = gnome-control-center
gnome_control_center_SOURCES = \
noinst_PROGRAMS = gnome-control-center-alt
common_sources = \
$(BUILT_SOURCES) \
main.c \
cc-application.c \
cc-application.h \
cc-shell-log.c \
cc-shell-log.h \
cc-window.c \
cc-window.h \
cc-shell-category-view.c \
cc-shell-category-view.h \
cc-shell-item-view.c \
@ -48,7 +49,16 @@ gnome_control_center_SOURCES = \
list-box-helper.c \
$(MARSHAL_FILES)
gnome_control_center_SOURCES = \
$(common_sources) \
cc-window.c \
cc-window.h
gnome_control_center_alt_SOURCES = \
$(common_sources)
gnome_control_center_LDFLAGS = -export-dynamic
gnome_control_center_alt_LDFLAGS = -export-dynamic
gnome_control_center_LDADD = \
libshell.la \
@ -91,6 +101,24 @@ if BUILD_BLUETOOTH
gnome_control_center_LDADD += $(top_builddir)/panels/bluetooth/libbluetooth.la
endif
gnome_control_center_alt_LDADD = \
$(gnome_control_center_LDADD) \
alt/libshell_alt.la
# Because it is confusing and somewhat problematic to directly add and compile
# cc-panel-loader.o by another directory (i.e. the shell search provider), we
# have to create a library and link it there, just like libshell.la.
noinst_LTLIBRARIES += libpanel_loader.la
libpanel_loader_la_SOURCES = \
cc-panel-loader.c \
cc-panel-loader.h
libpanel_loader_la_CPPFLAGS = \
$(AM_CPPFLAGS) \
-DCC_PANEL_LOADER_NO_GTYPES
# Dbus service file
servicefiledir = $(datadir)/dbus-1/services
servicefile_in_files = org.gnome.ControlCenter.service.in
@ -127,7 +155,7 @@ EXTRA_DIST = \
CLEANFILES = $(BUILT_SOURCES) $(completion_DATA) $(servicefile_DATA)
DISTCLEANFILES = gnome-control-center.desktop gnome-control-center.desktop.in
noinst_PROGRAMS = test-hostname
noinst_PROGRAMS += test-hostname
test_hostname_SOURCES = hostname-helper.c hostname-helper.h test-hostname.c
test_hostname_LDADD = $(PANEL_LIBS) $(INFO_PANEL_LIBS)

19
shell/alt/Makefile.am Normal file
View file

@ -0,0 +1,19 @@
AM_CPPFLAGS = \
-DGNOMELOCALEDIR="\"$(datadir)/locale\""\
-I$(top_srcdir) \
$(SHELL_CFLAGS) \
$(CHEESE_CFLAGS) \
$(WACOM_PANEL_CFLAGS) \
-I$(top_srcdir)/shell \
-I$(top_srcdir)/panels/common \
-I$(top_srcdir)/libgd
noinst_LTLIBRARIES = libshell_alt.la
libshell_alt_la_SOURCES = \
cc-window.c \
cc-window.h
libshell_alt_la_LIBADD = $(top_builddir)/libgd/libgd.la
-include $(top_srcdir)/git.mk