[Spice-devel] [PATCH 1/8] autotools: refactor the whole build machinery
Christophe Fergeau
cfergeau at redhat.com
Thu Apr 21 05:00:15 PDT 2011
spice Makefile.am setup is a bit confusing, with source file
names being listed several times in different Makefile.am
(generally, once in EXTRA_DIST and another time in another
Makefile.am in _SOURCES). The client binaries are built
by client/x11/Makefile.am, which means recursing into client,
then into x11 to finally build spicec. This Makefile.am is
also referencing files from common/ and client/, which is
a bit unusual with autotools.
This patch attempts to simplify the build process to get
something more usual from an autotools point of view.
The source from common/ are compiled into a libtool convenience
library, which the server and the client links against which avoids
referencing source files from common/ when building the server and
the client. The client is built in client/Makefile.am and directly
builds files from x11/ windows/ and gui/ if needed (without
recursing in these subdirectories).
This makes the build simpler to understand, and also makes it
possible to list source files once, which avoids potential
make distcheck breakage when adding new files.
There is a regression in this patch with respect to
sw_canvas/gl_canvas/gdi_canvas. They should be built with
different preprocessor #defines resulting in different behaviour
of the canvas for the client and the server. However, this is not
currently the case, both the client and the server will use the same
code for now (which probably means one of them is broken). This will
be fixed in a subsequent commit.
make distcheck passes, but compilation on windows using the
autotools build system hasn't been tested, which means it's likely
to be broken. It shouldn't be too hard ot fix it though, just let
me know of any issues with this.
---
client/Makefile.am | 342 ++++++++++++++++++++++++++++-------------
client/windows/Makefile.am | 236 ----------------------------
client/x11/Makefile.am | 223 ---------------------------
client/x11/images/Makefile.am | 5 -
common/Makefile.am | 87 +++++++----
configure.ac | 7 +-
server/Makefile.am | 131 ++++++----------
server/tests/Makefile.am | 25 +--
8 files changed, 350 insertions(+), 706 deletions(-)
delete mode 100644 client/windows/Makefile.am
delete mode 100644 client/x11/Makefile.am
delete mode 100644 client/x11/images/Makefile.am
diff --git a/client/Makefile.am b/client/Makefile.am
index bbea61f..627bd8a 100644
--- a/client/Makefile.am
+++ b/client/Makefile.am
@@ -1,9 +1,13 @@
NULL =
-SUBDIRS = . $(red_target) gui
-DIST_SUBDIRS = x11 windows gui
+bin_PROGRAMS = spicec
-spice_built_sources = generated_demarshallers.cpp generated_marshallers.cpp generated_demarshallers1.cpp generated_marshallers1.cpp
+BUILT_SOURCES = \
+ generated_demarshallers.cpp \
+ generated_marshallers.cpp \
+ generated_demarshallers1.cpp \
+ generated_marshallers1.cpp \
+ $(NULL)
generated_demarshallers.cpp: $(top_srcdir)/spice.proto
$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-demarshallers --client --include common.h --include messages.h $(top_srcdir)/spice.proto generated_demarshallers.cpp
@@ -17,119 +21,243 @@ generated_marshallers.cpp: $(top_srcdir)/spice.proto
generated_marshallers1.cpp: $(top_srcdir)/spice1.proto
$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-marshallers -P --include "common.h" --include messages.h --include marshallers.h --client --prefix 1 --ptrsize 8 $(top_srcdir)/spice1.proto generated_marshallers1.cpp
-if SUPPORT_GL
-GL_SRCS = \
- red_gl_canvas.cpp \
- red_gl_canvas.h \
- red_pixmap_gl.h
+MAINTAINERCLEANFILES = $(BUILT_SOURCES)
+
+spicec_SOURCES = \
+ application.cpp \
+ application.h \
+ audio_channels.h \
+ audio_devices.h \
+ cache.hpp \
+ canvas.cpp \
+ canvas.h \
+ client_net_socket.cpp \
+ client_net_socket.h \
+ cmd_line_parser.cpp \
+ cmd_line_parser.h \
+ common.h \
+ controller.cpp \
+ controller.h \
+ cursor.cpp \
+ cursor.h \
+ cursor_channel.cpp \
+ cursor_channel.h \
+ debug.h \
+ demarshallers.h \
+ display_channel.cpp \
+ display_channel.h \
+ event_sources.h \
+ foreign_menu.cpp \
+ foreign_menu.h \
+ glz_decoded_image.h \
+ glz_decoder.cpp \
+ glz_decoder.h \
+ glz_decoder_config.h \
+ glz_decoder_window.cpp \
+ glz_decoder_window.h \
+ hot_keys.cpp \
+ hot_keys.h \
+ icon.h \
+ inputs_channel.cpp \
+ inputs_channel.h \
+ inputs_handler.h \
+ jpeg_decoder.cpp \
+ jpeg_decoder.h \
+ marshallers.h \
+ menu.cpp \
+ menu.h \
+ mjpeg_decoder.cpp \
+ mjpeg_decoder.h \
+ monitor.cpp \
+ monitor.h \
+ pixels_source.h \
+ platform.h \
+ playback_channel.cpp \
+ process_loop.cpp \
+ process_loop.h \
+ read_write_mutex.h \
+ record_channel.cpp \
+ red_channel.cpp \
+ red_channel.h \
+ red_client.cpp \
+ red_client.h \
+ red_drawable.h \
+ red_key.h \
+ red_peer.cpp \
+ red_peer.h \
+ red_pixmap.h \
+ red_pixmap_sw.h \
+ red_sw_canvas.cpp \
+ red_sw_canvas.h \
+ red_types.h \
+ red_window.h \
+ screen.cpp \
+ screen.h \
+ screen_layer.cpp \
+ screen_layer.h \
+ shared_cache.hpp \
+ threads.cpp \
+ threads.h \
+ utils.cpp \
+ utils.h \
+ zlib_decoder.cpp \
+ zlib_decoder.h \
+ $(BUILT_SOURCES) \
+ $(NULL)
+
+if OS_WIN32
+spicec_SOURCES += \
+ red_gdi_canvas.cpp \
+ red_gdi_canvas.h \
+ red_pixmap_gdi.h \
+ windows/atomic_count.h \
+ windows/event_sources_p.cpp \
+ windows/main.cpp \
+ windows/my_getopt.cpp \
+ windows/named_pipe.cpp \
+ windows/named_pipe.h \
+ windows/pixels_source.cpp \
+ windows/pixels_source_p.h \
+ windows/platform.cpp \
+ windows/platform_utils.cpp \
+ windows/platform_utils.h \
+ windows/playback.cpp \
+ windows/playback.h \
+ windows/record.cpp \
+ windows/record.h \
+ windows/red_drawable.cpp \
+ windows/red_pixmap.cpp \
+ windows/red_pixmap_gdi.cpp \
+ windows/red_pixmap_sw.cpp \
+ windows/red_window.cpp \
+ windows/red_window_p.h \
+ windows/resource.h \
+ windows/stdint.h \
+ windows/win_platform.h \
+ $(NULL)
else
-GL_SRCS =
+spicec_SOURCES += \
+ x11/atomic_count.h \
+ x11/event_sources_p.cpp \
+ x11/event_sources_p.h \
+ x11/main.cpp \
+ x11/named_pipe.cpp \
+ x11/named_pipe.h \
+ x11/pixels_source.cpp \
+ x11/pixels_source_p.h \
+ x11/platform.cpp \
+ x11/platform_utils.cpp \
+ x11/platform_utils.h \
+ x11/playback.cpp \
+ x11/playback.h \
+ x11/record.cpp \
+ x11/record.h \
+ x11/red_drawable.cpp \
+ x11/red_pixmap.cpp \
+ x11/red_pixmap_sw.cpp \
+ x11/red_window.cpp \
+ x11/red_window_p.h \
+ x11/res.cpp \
+ x11/res.h \
+ x11/resource.h \
+ x11/x_icon.cpp \
+ x11/x_icon.h \
+ x11/x_platform.h \
+ $(NULL)
endif
-SMARTCARD_SRC_ENABLED = smartcard_channel.cpp smartcard_channel.h
+if SUPPORT_TUNNEL
+spicec_SOURCES += \
+ tunnel_channel.cpp \
+ tunnel_channel.h \
+ $(NULL)
+endif
-if SUPPORT_SMARTCARD
-SMARTCARD_SRCS = $(SMARTCARD_SRC_ENABLED)
-else
-SMARTCARD_SRCS =
+if SUPPORT_GUI
+spicec_SOURCES += \
+ gui/gui.cpp \
+ gui/gui.h \
+ gui/resource_provider.cpp \
+ gui/resource_provider.h \
+ gui/softrenderer.cpp \
+ gui/softrenderer.h \
+ gui/softtexture.cpp \
+ gui/softtexture.h \
+ $(NULL)
endif
-RED_COMMON_SRCS = \
- application.cpp \
- application.h \
- audio_channels.h \
- audio_devices.h \
- cache.hpp \
- canvas.cpp \
- canvas.h \
- red_sw_canvas.cpp \
- red_sw_canvas.h \
- client_net_socket.cpp \
- client_net_socket.h \
- cmd_line_parser.cpp \
- cmd_line_parser.h \
- common.h \
- demarshallers.h \
- marshallers.h \
- generated_demarshallers.cpp \
- generated_demarshallers1.cpp \
- generated_marshallers.cpp \
- generated_marshallers1.cpp \
- controller.cpp \
- controller.h \
- cursor_channel.cpp \
- cursor_channel.h \
- cursor.cpp \
- cursor.h \
- debug.h \
- display_channel.cpp \
- display_channel.h \
- foreign_menu.cpp \
- foreign_menu.h \
- glz_decoded_image.h \
- glz_decoder_config.h \
- glz_decoder.cpp \
- glz_decoder.h \
- glz_decoder_window.cpp \
- glz_decoder_window.h \
- glz_decode_tmpl.c \
- inputs_channel.cpp \
- inputs_channel.h \
- inputs_handler.h \
- jpeg_decoder.cpp \
- jpeg_decoder.h \
- monitor.cpp \
- monitor.h \
- mem.cpp \
- menu.cpp \
- menu.h \
- mjpeg_decoder.h \
- mjpeg_decoder.cpp \
- event_sources.h \
- pixels_source.h \
- platform.h \
- playback_channel.cpp \
- process_loop.cpp \
- process_loop.h \
- read_write_mutex.h \
- record_channel.cpp \
- red_channel.cpp \
- red_channel.h \
- red_client.cpp \
- red_client.h \
- red_drawable.h \
- red_key.h \
- red_peer.cpp \
- red_peer.h \
- red_pixmap_sw.h \
- red_pixmap.h \
- red_types.h \
- red_window.h \
- screen.cpp \
- screen.h \
- screen_layer.cpp \
- screen_layer.h \
- shared_cache.hpp \
- tunnel_channel.cpp \
- tunnel_channel.h \
- hot_keys.cpp \
- hot_keys.h \
- threads.cpp \
- threads.h \
- utils.cpp \
- utils.h \
- zlib_decoder.cpp \
- zlib_decoder.h \
+if SUPPORT_GL
+spicec_SOURCES += \
+ red_gl_canvas.cpp \
+ red_gl_canvas.h \
+ red_pixmap_gl.h \
$(NULL)
-GDI_FILES = \
- red_gdi_canvas.cpp \
- red_gdi_canvas.h \
- red_pixmap_gdi.h \
+if !OS_WIN32
+spicec_SOURCES += x11/red_pixmap_gl.cpp
+endif
+
+endif
+
+if SUPPORT_SMARTCARD
+spicec_SOURCES += \
+ smartcard_channel.cpp \
+ smartcard_channel.h \
+ $(NULL)
+endif
+
+
+INCLUDES = \
+ -DSW_CANVAS_CACHE \
+ -D__STDC_LIMIT_MACROS \
+ -I$(top_srcdir)/client/x11 \
+ -I$(top_srcdir)/common \
+ $(ALSA_CFLAGS) \
+ $(CEGUI_CFLAGS) \
+ $(CEGUI06_CFLAGS) \
+ $(CELT051_CFLAGS) \
+ $(GL_CFLAGS) \
+ $(MISC_X_CFLAGS) \
+ $(PIXMAN_CFLAGS) \
+ $(PROTOCOL_CFLAGS) \
+ $(SPICE_NONPKGCONFIG_CFLAGS) \
+ $(SMARTCARD_CFLAGS) \
+ $(SSL_CFLAGS) \
+ $(XRANDR_CFLAGS) \
+ $(XFIXES_CFLAGS) \
+ $(WARN_CFLAGS) \
$(NULL)
-MAINTAINERCLEANFILES = $(spice_built_sources)
+spicec_LDFLAGS = $(SPICEC_STATIC_LINKAGE_BSTATIC)
-EXTRA_DIST = $(RED_COMMON_SRCS) $(spice_built_sources) $(GL_SRCS) $(GDI_FILES) $(SMARTCARD_SRC_ENABLED)
+spicec_LDADD = \
+ $(top_builddir)/common/libspice-common.la \
+ $(ALSA_LIBS) \
+ $(CEGUI_LIBS) \
+ $(CEGUI06_LIBS) \
+ $(CELT051_LIBS) \
+ $(GL_LIBS) \
+ $(JPEG_LIBS) \
+ $(MISC_X_LIBS) \
+ $(PIXMAN_LIBS) \
+ $(SMARTCARD_LIBS) \
+ $(SPICE_NONPKGCONFIG_LIBS) \
+ $(SSL_LIBS) \
+ $(XFIXES_LIBS) \
+ $(XRANDR_LIBS) \
+ $(Z_LIBS) \
+ $(NULL)
-BUILT_SOURCES = $(spice_built_sources)
+EXTRA_DIST = \
+ glz_decode_tmpl.c \
+ x11/images/red_icon.c \
+ x11/images/alt_image.c \
+ gui/commonv2c.ttf.c \
+ gui/commonwealth-10.font.c \
+ gui/dejavu_sans-10.font.c \
+ gui/dejavu_sans.ttf.c \
+ gui/taharez_look.imageset.c \
+ gui/taharez_look.looknfeel.c \
+ gui/taharez_look.scheme.c \
+ gui/taharez_look.tga.c \
+ $(NULL)
diff --git a/client/windows/Makefile.am b/client/windows/Makefile.am
deleted file mode 100644
index eae0bbe..0000000
--- a/client/windows/Makefile.am
+++ /dev/null
@@ -1,236 +0,0 @@
-NULL =
-
-COMMON_DIR=$(SPICE_COMMON_SRCDIR)
-CLIENT_DIR=$(top_srcdir)/client
-
-INCLUDES = \
- -DSW_CANVAS_CACHE \
- -DSW_CANVAS_NO_CHUNKS \
- -DUSE_GLZ \
- -D__STDC_LIMIT_MACROS \
- -I. \
- -I.. \
- -I$(COMMON_DIR) \
- -I$(COMMON_DIR)/win \
- -I$(CLIENT_DIR) \
- $(PROTOCOL_CFLAGS) \
- $(GL_CFLAGS) \
- $(PIXMAN_CFLAGS) \
- $(CELT051_CFLAGS) \
- $(SSL_CFLAGS) \
- $(CEGUI_CFLAGS) \
- $(WARN_CFLAGS) \
- $(SPICE_NONPKGCONFIG_CFLAGS) \
- $(CXIMAGE_CFLAGS) \
- $(NULL)
-
-
-RED_COMMON_SRCS = \
- $(CLIENT_DIR)/application.cpp \
- $(CLIENT_DIR)/application.h \
- $(CLIENT_DIR)/audio_channels.h \
- $(CLIENT_DIR)/audio_devices.h \
- $(CLIENT_DIR)/cache.hpp \
- $(CLIENT_DIR)/demarshallers.h \
- $(CLIENT_DIR)/generated_demarshallers.cpp \
- $(CLIENT_DIR)/generated_demarshallers1.cpp \
- $(COMMON_DIR)/marshaller.c \
- $(CLIENT_DIR)/marshallers.h \
- $(CLIENT_DIR)/generated_marshallers.cpp \
- $(CLIENT_DIR)/generated_marshallers1.cpp \
- $(COMMON_DIR)/sw_canvas.c \
- $(CLIENT_DIR)/canvas.cpp \
- $(COMMON_DIR)/gdi_canvas.c \
- $(CLIENT_DIR)/canvas.h \
- $(COMMON_DIR)/canvas_utils.c \
- $(CLIENT_DIR)/red_sw_canvas.cpp \
- $(CLIENT_DIR)/red_sw_canvas.h \
- $(CLIENT_DIR)/cmd_line_parser.cpp \
- $(CLIENT_DIR)/cmd_line_parser.h \
- $(CLIENT_DIR)/client_net_socket.cpp \
- $(CLIENT_DIR)/client_net_socket.h \
- $(CLIENT_DIR)/common.h \
- $(CLIENT_DIR)/controller.cpp \
- $(CLIENT_DIR)/controller.h \
- $(CLIENT_DIR)/cursor_channel.cpp \
- $(CLIENT_DIR)/cursor_channel.h \
- $(CLIENT_DIR)/cursor.cpp \
- $(CLIENT_DIR)/cursor.h \
- $(CLIENT_DIR)/debug.h \
- $(CLIENT_DIR)/display_channel.cpp \
- $(CLIENT_DIR)/display_channel.h \
- $(CLIENT_DIR)/foreign_menu.cpp \
- $(CLIENT_DIR)/foreign_menu.h \
- $(CLIENT_DIR)/glz_decoded_image.h \
- $(CLIENT_DIR)/glz_decoder_config.h \
- $(CLIENT_DIR)/glz_decoder.cpp \
- $(CLIENT_DIR)/glz_decoder.h \
- $(CLIENT_DIR)/glz_decoder_window.cpp \
- $(CLIENT_DIR)/glz_decoder_window.h \
- $(CLIENT_DIR)/inputs_channel.cpp \
- $(CLIENT_DIR)/inputs_channel.h \
- $(CLIENT_DIR)/inputs_handler.h \
- $(CLIENT_DIR)/jpeg_decoder.cpp \
- $(CLIENT_DIR)/jpeg_decoder.h \
- $(COMMON_DIR)/lz.c \
- $(COMMON_DIR)/lines.c \
- $(CLIENT_DIR)/monitor.cpp \
- $(CLIENT_DIR)/monitor.h \
- $(COMMON_DIR)/mem.c \
- $(CLIENT_DIR)/menu.cpp \
- $(CLIENT_DIR)/menu.h \
- $(CLIENT_DIR)/mjpeg_decoder.h \
- $(CLIENT_DIR)/mjpeg_decoder.cpp \
- $(CLIENT_DIR)/pixels_source.h \
- $(COMMON_DIR)/pixman_utils.c \
- $(CLIENT_DIR)/platform.h \
- $(CLIENT_DIR)/playback_channel.cpp \
- $(CLIENT_DIR)/process_loop.cpp \
- $(COMMON_DIR)/quic.c \
- $(CLIENT_DIR)/record_channel.cpp \
- $(CLIENT_DIR)/red_channel.cpp \
- $(CLIENT_DIR)/red_channel.h \
- $(CLIENT_DIR)/red_client.cpp \
- $(CLIENT_DIR)/red_client.h \
- $(CLIENT_DIR)/red_drawable.h \
- $(CLIENT_DIR)/red_key.h \
- $(CLIENT_DIR)/red_peer.cpp \
- $(CLIENT_DIR)/red_gdi_canvas.cpp \
- $(CLIENT_DIR)/red_peer.h \
- $(CLIENT_DIR)/red_pixmap_sw.h \
- $(CLIENT_DIR)/red_pixmap.h \
- $(CLIENT_DIR)/red_types.h \
- $(CLIENT_DIR)/red_window.h \
- $(COMMON_DIR)/region.c \
- $(COMMON_DIR)/rop3.c \
- $(CLIENT_DIR)/screen.cpp \
- $(CLIENT_DIR)/screen.h \
- $(CLIENT_DIR)/screen_layer.cpp \
- $(CLIENT_DIR)/screen_layer.h \
- $(CLIENT_DIR)/shared_cache.hpp \
- $(CLIENT_DIR)/hot_keys.cpp \
- $(CLIENT_DIR)/hot_keys.h \
- $(CLIENT_DIR)/threads.cpp \
- $(CLIENT_DIR)/tunnel_channel.cpp \
- $(CLIENT_DIR)/tunnel_channel.h \
- $(CLIENT_DIR)/utils.cpp \
- $(CLIENT_DIR)/utils.h \
- $(CLIENT_DIR)/zlib_decoder.cpp \
- $(CLIENT_DIR)/zlib_decoder.h \
- $(CLIENT_DIR)/icon.h \
- $(NULL)
-
-if SUPPORT_GUI
-RED_GUI_SRCS = \
- $(CLIENT_DIR)/gui/softrenderer.h \
- $(CLIENT_DIR)/gui/softrenderer.cpp \
- $(CLIENT_DIR)/gui/softtexture.h \
- $(CLIENT_DIR)/gui/softtexture.cpp \
- $(CLIENT_DIR)/gui/resource_provider.h \
- $(CLIENT_DIR)/gui/resource_provider.cpp \
- $(CLIENT_DIR)/gui/gui.h \
- $(CLIENT_DIR)/gui/gui.cpp
-else
-RED_GUI_SRCS =
-endif
-
-
-if SUPPORT_GL
-RED_OGL_SRCS = \
- $(COMMON_DIR)/gl_canvas.c \
- $(COMMON_DIR)/glc.c \
- $(CLIENT_DIR)/red_gl_canvas.cpp \
- $(CLIENT_DIR)/red_gl_canvas.h \
- $(CLIENT_DIR)/red_pixmap_gl.h
-else
-RED_OGL_SRCS =
-endif
-
-bin_PROGRAMS = spicec
-
-spicec_SOURCES = \
- atomic_count.h \
- event_sources_p.cpp \
- main.cpp \
- my_getopt.cpp \
- named_pipe.h \
- named_pipe.cpp \
- pixels_source.cpp \
- pixels_source_p.h \
- platform.cpp \
- platform_utils.h \
- platform_utils.cpp \
- playback.cpp \
- playback.h \
- record.cpp \
- record.h \
- red_drawable.cpp \
- red_pixmap.cpp \
- red_pixmap_gdi.cpp \
- red_pixmap_sw.cpp \
- red_window.cpp \
- red_window_p.h \
- resource.h \
- stdint.h \
- win_platform.h \
- $(RED_COMMON_SRCS) \
- $(RED_GUI_SRCS) \
- $(RED_OGL_SRCS) \
- $(NULL)
-
-spicec_LDFLAGS = \
- $(SPICEC_STATIC_LINKAGE_BSTATIC) \
- $(CELT051_LIBS) \
- $(SSL_LIBS) \
- $(CEGUI_LIBS) \
- $(JPEG_LIBS) \
- $(Z_LIBS) \
- $(SPICE_NONPKGCONFIG_LIBS)
-
-spicec_LDADD = \
- redc.res \
- $(PIXMAN_LIBS) \
- $(GL_LIBS) \
- $(CEGUI_LIBS)
-
-spicec_DEPENDENCIES = redc.res
-
-redc.res: redc.rc
- $(WINDRES) -J rc -i $< -O coff -o $@
-
-EXTRA_DIST = \
- atomic_count.h \
- event_sources_p.cpp \
- event_sources_p.h \
- generate1.bat \
- generate.bat \
- main.cpp \
- my_getopt.cpp \
- named_pipe.cpp \
- named_pipe.h \
- pixels_source.cpp \
- pixels_source_p.h \
- platform.cpp \
- platform_utils.cpp \
- platform_utils.h \
- playback.cpp \
- playback.h \
- record.cpp \
- record.h \
- redc.rc \
- redc.sln \
- redc.vcproj \
- red_drawable.cpp \
- red_pixmap.cpp \
- red_pixmap_gdi.cpp \
- red_pixmap_sw.cpp \
- red_window.cpp \
- red_window_p.h \
- resource.h \
- spicec.exe.manifest \
- spice.ico \
- stdint.h \
- sticky_alt.bmp \
- win_platform.h \
- $(NULL)
-
diff --git a/client/x11/Makefile.am b/client/x11/Makefile.am
deleted file mode 100644
index 54d05ce..0000000
--- a/client/x11/Makefile.am
+++ /dev/null
@@ -1,223 +0,0 @@
-NULL =
-
-COMMON_DIR=$(SPICE_COMMON_SRCDIR)
-CLIENT_DIR=$(top_srcdir)/client
-
-SUBDIRS = images
-
-INCLUDES = \
- -DSW_CANVAS_CACHE \
- -DSW_CANVAS_NO_CHUNKS \
- -DUSE_GLZ \
- -D__STDC_LIMIT_MACROS \
- -I. \
- -I.. \
- -I$(COMMON_DIR) \
- -I$(COMMON_DIR)/linux \
- -I$(CLIENT_DIR) \
- $(PROTOCOL_CFLAGS) \
- $(GL_CFLAGS) \
- $(ALSA_CFLAGS) \
- $(PIXMAN_CFLAGS) \
- $(CELT051_CFLAGS) \
- $(SSL_CFLAGS) \
- $(XRANDR_CFLAGS) \
- $(XFIXES_CFLAGS) \
- $(MISC_X_CFLAGS) \
- $(CEGUI_CFLAGS) \
- $(CEGUI06_CFLAGS) \
- $(WARN_CFLAGS) \
- $(SPICE_NONPKGCONFIG_CFLAGS) \
- $(SMARTCARD_CFLAGS) \
- $(NULL)
-
-
-RED_COMMON_SRCS = \
- $(CLIENT_DIR)/application.cpp \
- $(CLIENT_DIR)/application.h \
- $(CLIENT_DIR)/audio_channels.h \
- $(CLIENT_DIR)/audio_devices.h \
- $(CLIENT_DIR)/cache.hpp \
- $(CLIENT_DIR)/demarshallers.h \
- $(CLIENT_DIR)/generated_demarshallers.cpp \
- $(CLIENT_DIR)/generated_demarshallers1.cpp \
- $(COMMON_DIR)/marshaller.c \
- $(CLIENT_DIR)/marshallers.h \
- $(CLIENT_DIR)/generated_marshallers.cpp \
- $(CLIENT_DIR)/generated_marshallers1.cpp \
- $(COMMON_DIR)/sw_canvas.c \
- $(CLIENT_DIR)/canvas.cpp \
- $(CLIENT_DIR)/canvas.h \
- $(COMMON_DIR)/canvas_utils.c \
- $(CLIENT_DIR)/red_sw_canvas.cpp \
- $(CLIENT_DIR)/red_sw_canvas.h \
- $(CLIENT_DIR)/cmd_line_parser.cpp \
- $(CLIENT_DIR)/cmd_line_parser.h \
- $(CLIENT_DIR)/client_net_socket.cpp \
- $(CLIENT_DIR)/client_net_socket.h \
- $(CLIENT_DIR)/common.h \
- $(CLIENT_DIR)/controller.cpp \
- $(CLIENT_DIR)/controller.h \
- $(CLIENT_DIR)/cursor_channel.cpp \
- $(CLIENT_DIR)/cursor_channel.h \
- $(CLIENT_DIR)/cursor.cpp \
- $(CLIENT_DIR)/cursor.h \
- $(CLIENT_DIR)/debug.h \
- $(CLIENT_DIR)/display_channel.cpp \
- $(CLIENT_DIR)/display_channel.h \
- $(CLIENT_DIR)/foreign_menu.cpp \
- $(CLIENT_DIR)/foreign_menu.h \
- $(CLIENT_DIR)/glz_decoded_image.h \
- $(CLIENT_DIR)/glz_decoder_config.h \
- $(CLIENT_DIR)/glz_decoder.cpp \
- $(CLIENT_DIR)/glz_decoder.h \
- $(CLIENT_DIR)/glz_decoder_window.cpp \
- $(CLIENT_DIR)/glz_decoder_window.h \
- $(CLIENT_DIR)/inputs_channel.cpp \
- $(CLIENT_DIR)/inputs_channel.h \
- $(CLIENT_DIR)/inputs_handler.h \
- $(CLIENT_DIR)/jpeg_decoder.cpp \
- $(CLIENT_DIR)/jpeg_decoder.h \
- $(COMMON_DIR)/lz.c \
- $(COMMON_DIR)/lines.c \
- $(CLIENT_DIR)/monitor.cpp \
- $(CLIENT_DIR)/monitor.h \
- $(COMMON_DIR)/mem.c \
- $(CLIENT_DIR)/menu.cpp \
- $(CLIENT_DIR)/menu.h \
- $(CLIENT_DIR)/mjpeg_decoder.h \
- $(CLIENT_DIR)/mjpeg_decoder.cpp \
- $(CLIENT_DIR)/pixels_source.h \
- $(COMMON_DIR)/pixman_utils.c \
- $(CLIENT_DIR)/platform.h \
- $(CLIENT_DIR)/playback_channel.cpp \
- $(CLIENT_DIR)/process_loop.cpp \
- $(COMMON_DIR)/quic.c \
- $(CLIENT_DIR)/record_channel.cpp \
- $(CLIENT_DIR)/red_channel.cpp \
- $(CLIENT_DIR)/red_channel.h \
- $(CLIENT_DIR)/red_client.cpp \
- $(CLIENT_DIR)/red_client.h \
- $(CLIENT_DIR)/red_drawable.h \
- $(CLIENT_DIR)/red_key.h \
- $(CLIENT_DIR)/red_peer.cpp \
- $(CLIENT_DIR)/red_peer.h \
- $(CLIENT_DIR)/red_pixmap_sw.h \
- $(CLIENT_DIR)/red_pixmap.h \
- $(CLIENT_DIR)/red_types.h \
- $(CLIENT_DIR)/red_window.h \
- $(COMMON_DIR)/region.c \
- $(COMMON_DIR)/rop3.c \
- $(CLIENT_DIR)/screen.cpp \
- $(CLIENT_DIR)/screen.h \
- $(CLIENT_DIR)/screen_layer.cpp \
- $(CLIENT_DIR)/screen_layer.h \
- $(CLIENT_DIR)/shared_cache.hpp \
- $(CLIENT_DIR)/hot_keys.cpp \
- $(CLIENT_DIR)/hot_keys.h \
- $(CLIENT_DIR)/threads.cpp \
- $(CLIENT_DIR)/utils.cpp \
- $(CLIENT_DIR)/utils.h \
- $(CLIENT_DIR)/zlib_decoder.cpp \
- $(CLIENT_DIR)/zlib_decoder.h \
- $(CLIENT_DIR)/icon.h \
- $(NULL)
-
-if SUPPORT_TUNNEL
-RED_TUNNEL_SRCS = \
- $(CLIENT_DIR)/tunnel_channel.cpp \
- $(CLIENT_DIR)/tunnel_channel.h \
- $(NULL)
-else
-RED_TUNNEL_SRCS =
-endif
-
-if SUPPORT_GUI
-RED_GUI_SRCS = \
- $(CLIENT_DIR)/gui/softrenderer.h \
- $(CLIENT_DIR)/gui/softrenderer.cpp \
- $(CLIENT_DIR)/gui/softtexture.h \
- $(CLIENT_DIR)/gui/softtexture.cpp \
- $(CLIENT_DIR)/gui/resource_provider.h \
- $(CLIENT_DIR)/gui/resource_provider.cpp \
- $(CLIENT_DIR)/gui/gui.h \
- $(CLIENT_DIR)/gui/gui.cpp \
- $(NULL)
-else
-RED_GUI_SRCS =
-endif
-
-
-if SUPPORT_GL
-RED_OGL_SRCS = \
- $(COMMON_DIR)/gl_canvas.c \
- $(COMMON_DIR)/glc.c \
- $(CLIENT_DIR)/red_gl_canvas.cpp \
- $(CLIENT_DIR)/red_gl_canvas.h \
- $(CLIENT_DIR)/red_pixmap_gl.h \
- red_pixmap_gl.cpp
-else
-RED_OGL_SRCS =
-endif
-
-if SUPPORT_SMARTCARD
-RED_SCARD_SRCS = $(CLIENT_DIR)/smartcard_channel.cpp
-else
-RED_SCARD_SRCS =
-endif
-
-bin_PROGRAMS = spicec
-
-spicec_SOURCES = \
- atomic_count.h \
- event_sources_p.cpp \
- event_sources_p.h \
- main.cpp \
- named_pipe.h \
- named_pipe.cpp \
- pixels_source.cpp \
- pixels_source_p.h \
- platform.cpp \
- platform_utils.h \
- platform_utils.cpp \
- playback.cpp \
- playback.h \
- record.cpp \
- record.h \
- red_drawable.cpp \
- red_pixmap.cpp \
- red_pixmap_sw.cpp \
- red_window.cpp \
- red_window_p.h \
- res.cpp \
- res.h \
- resource.h \
- x_icon.cpp \
- x_icon.h \
- x_platform.h \
- $(RED_COMMON_SRCS) \
- $(RED_GUI_SRCS) \
- $(RED_TUNNEL_SRCS) \
- $(RED_OGL_SRCS) \
- $(RED_SCARD_SRCS) \
- $(NULL)
-
-spicec_LDFLAGS = \
- $(SPICEC_STATIC_LINKAGE_BSTATIC) \
- $(CELT051_LIBS) \
- $(SSL_LIBS) \
- $(CEGUI_LIBS) \
- $(CEGUI06_LIBS) \
- $(JPEG_LIBS) \
- $(Z_LIBS) \
- $(SMARTCARD_LIBS) \
- $(SPICE_NONPKGCONFIG_LIBS)
-
-spicec_LDADD = \
- $(PIXMAN_LIBS) \
- $(ALSA_LIBS) \
- $(GL_LIBS) \
- $(XRANDR_LIBS) \
- $(XFIXES_LIBS) \
- $(MISC_X_LIBS) \
- $(CEGUI_LIBS)
diff --git a/client/x11/images/Makefile.am b/client/x11/images/Makefile.am
deleted file mode 100644
index 9012158..0000000
--- a/client/x11/images/Makefile.am
+++ /dev/null
@@ -1,5 +0,0 @@
-EXTRA_DIST = \
- red_icon.c \
- alt_image.c \
- $(NULL)
-
diff --git a/common/Makefile.am b/common/Makefile.am
index 407de1d..0a2f9c1 100644
--- a/common/Makefile.am
+++ b/common/Makefile.am
@@ -1,53 +1,78 @@
+if OS_WIN32
SUBDIRS = win
+endif
NULL =
-COMMON_SRCS = \
- sw_canvas.h \
- sw_canvas.c \
- pixman_utils.h \
- pixman_utils.c \
+noinst_LTLIBRARIES = libspice-common.la
+libspice_common_la_SOURCES = \
canvas_base.h \
- canvas_base.c \
- canvas_utils.h \
canvas_utils.c \
+ canvas_utils.h \
draw.h \
- gdi_canvas.h \
- gdi_canvas.c \
- gl_canvas.h \
- gl_canvas.c \
- glc.h \
- glc.c \
- gl_utils.h \
+ lines.c \
+ lines.h \
+ lz.c \
+ lz.h \
lz_common.h \
+ lz_config.h \
+ marshaller.c \
+ marshaller.h \
+ mem.c \
+ mem.h \
+ messages.h \
mutex.h \
- ogl_ctx.h \
- ogl_ctx.c \
- quic.h \
+ pixman_utils.c \
+ pixman_utils.h \
quic.c \
+ quic.h \
quic_config.h \
rect.h \
- region.h \
region.c \
+ region.h \
ring.h \
- rop3.h \
rop3.c \
- lines.h \
- lines.c \
- lz.c \
+ rop3.h \
+ spice_common.h \
+ sw_canvas.c \
+ sw_canvas.h \
+ $(NULL)
+
+if OS_WIN32
+libspice_common_la_SOURCES += \
+ gdi_canvas.h \
+ gdi_canvas.c \
+ $(NULL)
+endif
+
+if SUPPORT_GL
+libspice_common_la_SOURCES += \
+ gl_canvas.h \
+ gl_canvas.c \
+ gl_utils.h \
+ glc.h \
+ glc.c \
+ ogl_ctx.h \
+ ogl_ctx.c \
+ $(NULL)
+endif
+
+INCLUDES = \
+ -DSW_CANVAS_IMAGE_CACHE \
+ $(GL_CFLAGS) \
+ $(PIXMAN_CFLAGS) \
+ $(PROTOCOL_CFLAGS) \
+ $(VISIBILITY_HIDDEN_CFLAGS) \
+ $(WARN_CFLAGS) \
+ -std=gnu99 \
+ $(NULL)
+
+EXTRA_DIST = \
+ canvas_base.c \
lz_compress_tmpl.c \
- lz_config.h \
lz_decompress_tmpl.c \
- lz.h \
- marshaller.h \
- marshaller.c \
- messages.h \
- mem.h \
- mem.c \
quic_family_tmpl.c \
quic_rgb_tmpl.c \
quic_tmpl.c \
$(NULL)
-EXTRA_DIST = $(COMMON_SRCS)
-
diff --git a/configure.ac b/configure.ac
index a972470..92957fa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,7 +10,7 @@ AC_CONFIG_MACRO_DIR([m4])
AM_CONFIG_HEADER([config.h])
AC_CONFIG_AUX_DIR(.)
-AM_INIT_AUTOMAKE([dist-bzip2])
+AM_INIT_AUTOMAKE([dist-bzip2 no-dist-gzip subdir-objects])
AM_MAINTAINER_MODE
# Define default SPICE_COMMON_SRCDIR
@@ -85,7 +85,6 @@ if test "$platform_win32" = yes; then
else
red_target=x11
fi
-AC_SUBST(red_target)
AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
@@ -507,10 +506,6 @@ python_modules/Makefile
server/Makefile
server/tests/Makefile
client/Makefile
-client/x11/Makefile
-client/x11/images/Makefile
-client/gui/Makefile
-client/windows/Makefile
])
dnl ==========================================================================
diff --git a/server/Makefile.am b/server/Makefile.am
index 37ff183..73a886f 100644
--- a/server/Makefile.am
+++ b/server/Makefile.am
@@ -3,23 +3,21 @@ SUBDIRS = . tests
NULL =
INCLUDES = \
- -I. \
+ -I$(top_srcdir) \
-I$(top_srcdir)/common \
- -I$(top_srcdir)/common/linux \
- $(PROTOCOL_CFLAGS) \
- $(JPEG_CFLAGS) \
+ -DRED_STATISTICS \
+ -DSW_CANVAS_IMAGE_CACHE \
+ $(Z_LIBS) \
+ $(CELT051_CFLAGS) \
$(PIXMAN_CFLAGS) \
- $(GL_CFLAGS) \
- $(SSL_CFLAGS) \
+ $(PROTOCOL_CFLAGS) \
$(SASL_CFLAGS) \
- $(CELT051_CFLAGS) \
$(SLIRP_CFLAGS) \
- -DSW_CANVAS_IMAGE_CACHE \
- -DRED_STATISTICS \
- $(WARN_CFLAGS) \
+ $(SMARTCARD_CFLAGS) \
+ $(SSL_CFLAGS) \
$(VISIBILITY_HIDDEN_CFLAGS) \
- $(SMARTCARD_CFLAGS) \
- -std=gnu99 \
+ $(WARN_CFLAGS) \
+ -std=gnu99 \
$(NULL)
spice_built_sources = generated_marshallers.c generated_marshallers.h generated_demarshallers.c
@@ -34,29 +32,6 @@ generated_marshallers.c: $(top_srcdir)/spice.proto
generated_marshallers.h: $(top_srcdir)/spice.proto
$(AM_V_GEN)$(PYTHON) $(top_srcdir)/spice_codegen.py --generate-marshallers $(STRUCTS) --server -H $(top_srcdir)/spice.proto generated_marshallers.h
-if SUPPORT_GL
-GL_SRCS = \
- $(top_srcdir)/common/gl_canvas.c \
- $(top_srcdir)/common/glc.c \
- $(top_srcdir)/common/ogl_ctx.c \
- $(NULL)
-else
-GL_SRCS =
-endif
-
-COMMON_SRCS = \
- $(top_srcdir)/common/sw_canvas.c \
- $(top_srcdir)/common/pixman_utils.c \
- $(top_srcdir)/common/lines.c \
- $(top_srcdir)/common/region.c \
- $(top_srcdir)/common/rop3.c \
- $(top_srcdir)/common/quic.c \
- $(top_srcdir)/common/lz.c \
- $(top_srcdir)/common/canvas_utils.c \
- $(top_srcdir)/common/mem.c \
- $(top_srcdir)/common/marshaller.c \
- $(NULL)
-
lib_LTLIBRARIES = libspice-server.la
libspice_server_la_LDFLAGS = \
@@ -64,51 +39,43 @@ libspice_server_la_LDFLAGS = \
-no-undefined \
$(NULL)
-libspice_server_la_LIBADD = \
- $(GL_LIBS) \
- $(JPEG_LIBS) \
- $(PIXMAN_LIBS) \
- $(SSL_LIBS) \
- $(SASL_LIBS) \
- $(CELT051_LIBS) \
- $(SLIRP_LIBS) \
- $(LIBRT) \
- $(Z_LIBS) \
+libspice_server_la_LIBADD = \
+ $(top_builddir)/common/libspice-common.la \
+ $(CELT051_LIBS) \
+ $(GL_LIBS) \
+ $(JPEG_LIBS) \
+ $(LIBRT) \
+ $(PIXMAN_LIBS) \
+ $(SASL_LIBS) \
+ $(SLIRP_LIBS) \
+ $(SSL_LIBS) \
$(NULL)
-if SUPPORT_TUNNEL
-TUNNEL_SRCS = \
- red_tunnel_worker.c \
- red_tunnel_worker.h \
- $(NULL)
-else
-TUNNEL_SRCS =
-endif
-
-if SUPPORT_SMARTCARD
-SMARTCARD_SRCS = \
- smartcard.c \
- smartcard.h \
- $(NULL)
-else
-SMARTCARD_SRCS =
-endif
-
libspice_server_la_SOURCES = \
agent-msg-filter.c \
agent-msg-filter.h \
+ char_device.h \
demarshallers.h \
+ generated_demarshallers.c \
+ generated_marshallers.c \
+ generated_marshallers.h \
glz_encoder.c \
+ glz_encoder.h \
glz_encoder_config.h \
glz_encoder_dictionary.c \
glz_encoder_dictionary.h \
glz_encoder_dictionary_protected.h \
- glz_encoder.h \
+ inputs_channel.c \
+ inputs_channel.h \
jpeg_encoder.c \
jpeg_encoder.h \
- mjpeg_encoder.h \
+ main_channel.c \
+ main_channel.h \
mjpeg_encoder.c \
+ mjpeg_encoder.h \
red_bitmap_utils.h \
+ red_channel.c \
+ red_channel.h \
red_client_cache.h \
red_client_shared_cache.h \
red_common.h \
@@ -118,31 +85,33 @@ libspice_server_la_SOURCES = \
red_memslots.h \
red_parse_qxl.c \
red_parse_qxl.h \
- reds.c \
- main_channel.c \
- inputs_channel.c \
- reds.h \
- stat.h \
red_worker.c \
red_worker.h \
+ reds.c \
+ reds.h \
snd_worker.c \
snd_worker.h \
- red_channel.h \
- red_channel.c \
- spice.h \
spice-experimental.h \
- generated_demarshallers.c \
- generated_marshallers.c \
- generated_marshallers.h \
+ spice.h \
+ stat.h \
zlib_encoder.c \
zlib_encoder.h \
- char_device.h \
- $(TUNNEL_SRCS) \
- $(SMARTCARD_SRCS) \
- $(COMMON_SRCS) \
- $(GL_SRCS) \
$(NULL)
+if SUPPORT_TUNNEL
+libspice_server_la_SOURCES += \
+ red_tunnel_worker.c \
+ red_tunnel_worker.h \
+ $(NULL)
+endif
+
+if SUPPORT_SMARTCARD
+libspice_server_la_SOURCES += \
+ smartcard.c \
+ smartcard.h \
+ $(NULL)
+endif
+
libspice_serverincludedir = $(includedir)/spice-server
libspice_serverinclude_HEADERS = \
spice.h \
diff --git a/server/tests/Makefile.am b/server/tests/Makefile.am
index 9d20264..8ec4094 100644
--- a/server/tests/Makefile.am
+++ b/server/tests/Makefile.am
@@ -1,35 +1,26 @@
NULL =
-INCLUDES = \
- -I.. \
- -I../../common \
+INCLUDES = \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/common \
+ -I$(top_srcdir)/server \
+ -I$(top_srcdir)/server/tests \
$(PROTOCOL_CFLAGS) \
$(SPICE_NONPKGCONFIG_CFLAGS) \
$(NULL)
-AM_LDFLAGS = -L../.libs -lspice-server
+AM_LDFLAGS = $(top_builddir)/server/libspice-server.la
noinst_PROGRAMS = test_just_sockets_no_ssl test_empty_success test_fail_on_null_core_interface test_display_no_ssl test_display_streaming test_playback
-test_display_streaming_SOURCES = test_display_streaming.c test_display_base.c basic_event_loop.c basic_event_loop.h test_util.h
+test_display_streaming_SOURCES = test_display_streaming.c test_display_base.c test_display_base.h basic_event_loop.c basic_event_loop.h test_util.h
-test_display_no_ssl_SOURCES = test_display_no_ssl.c test_display_base.c basic_event_loop.c basic_event_loop.h test_util.h
-
-test_display_no_ssl_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS)
+test_display_no_ssl_SOURCES = test_display_no_ssl.c test_display_base.c test_display_base.h basic_event_loop.c basic_event_loop.h test_util.h
test_just_sockets_no_ssl_SOURCES = test_just_sockets_no_ssl.c basic_event_loop.c basic_event_loop.h test_util.h
-test_just_sockets_no_ssl_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS)
-
test_empty_success_SOURCES = test_empty_success.c
-test_empty_success_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS)
-
test_fail_on_null_core_interface_SOURCES = test_fail_on_null_core_interface.c
-test_fail_on_null_core_interface_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS)
-
test_playback_SOURCES = test_playback.c basic_event_loop.c basic_event_loop.h test_util.h
-
-test_playback_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS)
-
--
1.7.4.4
More information about the Spice-devel
mailing list