autotools: refactor the whole build machinery

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.
This commit is contained in:
Christophe Fergeau 2011-04-20 11:09:55 +02:00
parent da584a5e2d
commit 2a4614ea94
8 changed files with 354 additions and 710 deletions

View File

@ -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
else
GL_SRCS =
endif
MAINTAINERCLEANFILES = $(BUILT_SOURCES)
SMARTCARD_SRC_ENABLED = smartcard_channel.cpp smartcard_channel.h
if SUPPORT_SMARTCARD
SMARTCARD_SRCS = $(SMARTCARD_SRC_ENABLED)
else
SMARTCARD_SRCS =
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 \
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)
GDI_FILES = \
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
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
if SUPPORT_TUNNEL
spicec_SOURCES += \
tunnel_channel.cpp \
tunnel_channel.h \
$(NULL)
endif
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
if SUPPORT_GL
spicec_SOURCES += \
red_gl_canvas.cpp \
red_gl_canvas.h \
red_pixmap_gl.h \
$(NULL)
MAINTAINERCLEANFILES = $(spice_built_sources)
if !OS_WIN32
spicec_SOURCES += x11/red_pixmap_gl.cpp
endif
EXTRA_DIST = $(RED_COMMON_SRCS) $(spice_built_sources) $(GL_SRCS) $(GDI_FILES) $(SMARTCARD_SRC_ENABLED)
endif
BUILT_SOURCES = $(spice_built_sources)
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)
spicec_LDFLAGS = $(SPICEC_STATIC_LINKAGE_BSTATIC)
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)
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)

View File

@ -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)

View File

@ -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)

View File

@ -1,5 +0,0 @@
EXTRA_DIST = \
red_icon.c \
alt_image.c \
$(NULL)

View File

@ -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)

View File

@ -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 ==========================================================================

View File

@ -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) \
$(PIXMAN_CFLAGS) \
$(GL_CFLAGS) \
$(SSL_CFLAGS) \
$(SASL_CFLAGS) \
$(CELT051_CFLAGS) \
$(SLIRP_CFLAGS) \
-DSW_CANVAS_IMAGE_CACHE \
-DRED_STATISTICS \
$(WARN_CFLAGS) \
-DSW_CANVAS_IMAGE_CACHE \
$(Z_LIBS) \
$(CELT051_CFLAGS) \
$(PIXMAN_CFLAGS) \
$(PROTOCOL_CFLAGS) \
$(SASL_CFLAGS) \
$(SLIRP_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 \

View File

@ -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)