Michael Jumper 4282da662f GUACAMOLE-249: Restructure audio input such that audio buffer can be separately linked.
On some platforms, the libguacai-client.so plugin for FreeRDP reports an
unlinked symbol:

    undefined symbol: guac_freerdp_dynamic_channel_collection_add	(/usr/local/lib/freerdp2/libguacai-client.so)

This symbol is actually unused within the plugin, but may be referenced
due to being defined within a function in a common piece of source
shared between the plugin and the RDP support.

Separating the actual common components such that they can be included
by both the RDP support and the libguacai-client.so plugin removes the
potential for unused pieces being flagged as missing.
2020-01-12 22:04:01 -08:00

250 lines
8.8 KiB
Makefile

#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# NOTE: Parts of this file (Makefile.am) are automatically transcluded verbatim
# into Makefile.in. Though the build system (GNU Autotools) automatically adds
# its own license boilerplate to the generated Makefile.in, that boilerplate
# does not apply to the transcluded portions of Makefile.am which are licensed
# to you by the ASF under the Apache License, Version 2.0, as described above.
#
AUTOMAKE_OPTIONS = foreign
ACLOCAL_AMFLAGS = -I m4
lib_LTLIBRARIES = libguac-client-rdp.la
SUBDIRS = . tests
#
# Main RDP client library
#
nodist_libguac_client_rdp_la_SOURCES = \
_generated_channel_entry_wrappers.c \
_generated_keymaps.c
libguac_client_rdp_la_SOURCES = \
bitmap.c \
channels/audio-input/audio-buffer.c \
channels/audio-input/audio-input.c \
channels/cliprdr.c \
channels/common-svc.c \
channels/disp.c \
channels/pipe-svc.c \
channels/rail.c \
channels/rdpdr/rdpdr-fs-messages-dir-info.c \
channels/rdpdr/rdpdr-fs-messages-file-info.c \
channels/rdpdr/rdpdr-fs-messages-vol-info.c \
channels/rdpdr/rdpdr-fs-messages.c \
channels/rdpdr/rdpdr-fs.c \
channels/rdpdr/rdpdr-messages.c \
channels/rdpdr/rdpdr-printer.c \
channels/rdpdr/rdpdr.c \
channels/rdpsnd/rdpsnd-messages.c \
channels/rdpsnd/rdpsnd.c \
client.c \
color.c \
decompose.c \
download.c \
error.c \
fs.c \
gdi.c \
glyph.c \
input.c \
keyboard.c \
keymap.c \
log.c \
ls.c \
plugins/channels.c \
plugins/ptr-string.c \
pointer.c \
print-job.c \
rdp.c \
resolution.c \
settings.c \
unicode.c \
upload.c \
user.c
noinst_HEADERS = \
bitmap.h \
channels/audio-input/audio-buffer.h \
channels/audio-input/audio-input.h \
channels/cliprdr.h \
channels/common-svc.h \
channels/disp.h \
channels/pipe-svc.h \
channels/rail.h \
channels/rdpdr/rdpdr-fs-messages-dir-info.h \
channels/rdpdr/rdpdr-fs-messages-file-info.h \
channels/rdpdr/rdpdr-fs-messages-vol-info.h \
channels/rdpdr/rdpdr-fs-messages.h \
channels/rdpdr/rdpdr-fs.h \
channels/rdpdr/rdpdr-messages.h \
channels/rdpdr/rdpdr-printer.h \
channels/rdpdr/rdpdr.h \
channels/rdpsnd/rdpsnd-messages.h \
channels/rdpsnd/rdpsnd.h \
client.h \
color.h \
decompose.h \
download.h \
error.h \
fs.h \
gdi.h \
glyph.h \
input.h \
keyboard.h \
keymap.h \
log.h \
ls.h \
plugins/channels.h \
plugins/guacai/guacai-messages.h \
plugins/guacai/guacai.h \
plugins/ptr-string.h \
pointer.h \
print-job.h \
rdp.h \
resolution.h \
settings.h \
unicode.h \
upload.h \
user.h
libguac_client_rdp_la_CFLAGS = \
-Werror -Wall -Iinclude \
@COMMON_INCLUDE@ \
@COMMON_SSH_INCLUDE@ \
@LIBGUAC_INCLUDE@ \
@RDP_CFLAGS@
libguac_client_rdp_la_LDFLAGS = \
-version-info 0:0:0 \
@CAIRO_LIBS@ \
@PTHREAD_LIBS@ \
@RDP_LIBS@
libguac_client_rdp_la_LIBADD = \
@COMMON_LTLIB@ \
@LIBGUAC_LTLIB@
#
# Plugins for FreeRDP
#
freerdp_LTLIBRARIES = \
libguac-common-svc-client.la \
libguacai-client.la
freerdpdir = ${libdir}/freerdp2
#
# Common SVC plugin (shared by RDPDR, RDPSND, etc.)
#
libguac_common_svc_client_la_SOURCES = \
plugins/guac-common-svc/guac-common-svc.c
libguac_common_svc_client_la_CFLAGS = \
-Werror -Wall -Iinclude \
@LIBGUAC_INCLUDE@ \
@RDP_CFLAGS@
libguac_common_svc_client_la_LDFLAGS = \
-module -avoid-version -shared \
@RDP_LIBS@
libguac_common_svc_client_la_LIBADD = \
@LIBGUAC_LTLIB@
#
# Audio Input
#
libguacai_client_la_SOURCES = \
channels/audio-input/audio-buffer.c \
plugins/guacai/guacai-messages.c \
plugins/guacai/guacai.c \
plugins/ptr-string.c
libguacai_client_la_CFLAGS = \
-Werror -Wall -Iinclude \
@COMMON_INCLUDE@ \
@COMMON_SSH_INCLUDE@ \
@LIBGUAC_INCLUDE@ \
@RDP_CFLAGS@
libguacai_client_la_LDFLAGS = \
-module -avoid-version -shared \
@PTHREAD_LIBS@ \
@RDP_LIBS@
libguacai_client_la_LIBADD = \
@COMMON_LTLIB@ \
@LIBGUAC_LTLIB@
#
# Optional SFTP support
#
if ENABLE_COMMON_SSH
libguac_client_rdp_la_SOURCES += sftp.c
noinst_HEADERS += sftp.h
libguac_client_rdp_la_LIBADD += @COMMON_SSH_LTLIB@
endif
#
# Autogenerated keymaps and channel wrapper functions
#
CLEANFILES = \
_generated_channel_entry_wrappers.c \
_generated_keymaps.c
BUILT_SOURCES = \
_generated_channel_entry_wrappers.c \
_generated_keymaps.c
rdp_keymaps = \
$(srcdir)/keymaps/base.keymap \
$(srcdir)/keymaps/failsafe.keymap \
$(srcdir)/keymaps/de_de_qwertz.keymap \
$(srcdir)/keymaps/de_ch_qwertz.keymap \
$(srcdir)/keymaps/en_gb_qwerty.keymap \
$(srcdir)/keymaps/en_us_qwerty.keymap \
$(srcdir)/keymaps/es_es_qwerty.keymap \
$(srcdir)/keymaps/fr_fr_azerty.keymap \
$(srcdir)/keymaps/fr_ch_qwertz.keymap \
$(srcdir)/keymaps/it_it_qwerty.keymap \
$(srcdir)/keymaps/ja_jp_qwerty.keymap \
$(srcdir)/keymaps/pt_br_qwerty.keymap \
$(srcdir)/keymaps/sv_se_qwerty.keymap \
$(srcdir)/keymaps/da_dk_qwerty.keymap \
$(srcdir)/keymaps/tr_tr_qwerty.keymap
_generated_keymaps.c: $(rdp_keymaps)
$(AM_V_GEN) $(srcdir)/keymaps/generate.pl $(rdp_keymaps)
_generated_channel_entry_wrappers.c: $(srcdir)/plugins/channels.h $(srcdir)/plugins/generate-entry-wrappers.pl
$(AM_V_GEN) $(srcdir)/plugins/generate-entry-wrappers.pl $(srcdir)/plugins/channels.h
EXTRA_DIST = \
$(rdp_keymaps) \
keymaps/generate.pl \
plugins/generate-entry-wrappers.pl