hc
2023-02-13 e440ec23c5a540cdd3f7464e8779219be6fd3d95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
###############################################################################
#
# acs
#
################################################################################
 
ACS_VERSION = 1.16.0
ACS_SITE = $(TOPDIR)/../external/acs
ACS_SITE_METHOD = local
ACS_LICENSE = BSD-3-Clause
ACS_LICENSE_FILE = BSD-3-Clause
 
ACS_DEPENDENCIES = sysklogd sbc libcurl nghttp2 libgcrypt libsoup portaudio host-doxygen
AVS_DEVICE_SDK_INSTALL_STAGING = YES
 
define ACS_CONFIGURE_CMDS
        (mkdir -p $(@D)/ace/sdk/avs_device_sdk_build && cd $(@D)/ace/sdk/avs_device_sdk_build && rm -f CMakeCache.txt && \
        PATH=$(BR_PATH) \
        $($(PKG)_CONF_ENV) $(BR2_CMAKE) $($(PKG)_SRCDIR)/ace/sdk/sdk/avs_device_sdk/repo \
                -DCMAKE_TOOLCHAIN_FILE="$(HOST_DIR)/share/buildroot/toolchainfile.cmake" \
                -DCMAKE_INSTALL_PREFIX="/usr" \
                -DCMAKE_COLOR_MAKEFILE=OFF \
                -DCMAKE_VERBOSE_MAKEFILE=ON \
                -DBUILD_TESTING=OFF \
                -DBUILD_SHARED_LIBS=$(if $(BR2_STATIC_LIBS),OFF,ON) \
                -DGSTREAMER_MEDIA_PLAYER=ON \
                -DPORTAUDIO=ON \
                -DPORTAUDIO_LIB_PATH=$(TARGET_DIR)/usr/lib/libportaudio.so \
                -DPORTAUDIO_INCLUDE_DIR=$(STAGING_DIR)/usr/include \
                -DCMAKE_BUILD_TYPE=DEBUG \
                -DACS_SDK_PATH="$($(PKG)_SRCDIR)/ace/sdk" \
                -DACS_UTILS=ON \
                -DEXTENSION_PATH="$($(PKG)_SRCDIR)/ace/sdk/sdk/avs_device_sdk/ACSUtilities" \
                -DRAPIDJSON_MEM_OPTIMIZATION=OFF \
       -DACS_SDK_V123_AND_BELOW=ON \
       -DBLUETOOTH_ENABLED=ON \
       -DACS_SDK_BLUETOOTH=ON \
       -DBUILD_TESTING=ON \
                $(CMAKE_QUIET) \
                $($(PKG)_CONF_OPTS) \
   )
endef
 
define ACS_BUILD_CMDS
   ln -fs $(STAGING_DIR) $(@D)/sysroot
   $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/dpk_impl/raspi/ace_hal/log CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include -I$(TARGET_DIR)/usr/include -I$(@D)/ace/sdk/include"
   $(TARGET_MAKE_ENV) $(MAKE) ../../../../ace/sdk/lib/libacehal_kv_storage.so -C $(@D)/dpk_impl/raspi/ace_hal/kv_storage CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include -I$(TARGET_DIR)/usr/include -I$(@D)/ace/sdk/include -I$(@D)/dpk_impl/raspi/ace_hal/kv_storage/include"
   $(TARGET_MAKE_ENV) $(MAKE) ../../../../ace/sdk/bin/kvs_util -C $(@D)/dpk_impl/raspi/ace_hal/kv_storage CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include -I$(TARGET_DIR)/usr/include -I$(@D)/ace/sdk/include -I$(@D)/dpk_impl/raspi/ace_hal/kv_storage/include"
   $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/dpk_impl/raspi/ace_hal/device_info CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include -I$(TARGET_DIR)/usr/include -I$(@D)/ace/sdk/include -I$(@D)/dpk_impl/raspi/ace_hal/device_info/include -I$(@D)/dpk_impl/raspi/ace_hal/log"
   $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/dpk_impl/raspi/ace_hal/wifi CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS) -g -O2 -fPIC -I$(STAGING_DIR)/usr/include -I$(TARGET_DIR)/usr/include -I$(@D)/ace/sdk/include -I$(@D)/ace/sdk/include/ace -I$(@D)/dpk_impl/raspi/ace_hal/log -I$(@D)/dpk_impl/raspi/ace_hal/wifi/include -I$(@D)/dpk_impl/raspi/ace_hal/wifi/include/nm -I$(STAGING_DIR)/usr/include/libnm -I$(STAGING_DIR)/usr/include/glib-2.0 -I$(STAGING_DIR)/usr/lib/glib-2.0/include"
   $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/dpk_impl/raspi/ace_hal/factory_reset CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS) -fPIC -Wall --std=gnu11 -Wextra -Wno-unused -Wno-unused-parameter -I$(STAGING_DIR)/usr/include -I$(TARGET_DIR)/usr/include -I$(@D)/ace/sdk/include -I$(@D)/dpk_impl/raspi/ace_hal/kv_storage/include -I$(@D)/dpk_impl/raspi/ace_hal/log -I$(@D)/dpk_impl/raspi/ace_hal/factory_reset/include"
   $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/dpk_impl/raspi/ace_hal/dha CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS) -fPIC -Wall --std=gnu11 -Wextra -Werror -Wno-unused -Wno-unused-parameter -I$(STAGING_DIR)/usr/include -I$(TARGET_DIR)/usr/include -I$(@D)/ace/sdk/include -I$(@D)/dpk_impl/raspi/ace_hal/dha/common -I$(@D)/dpk_impl/raspi/ace_hal/log -I$(@D)/dpk_impl/raspi/ace_hal/dha/crypto_utils -I$(@D)/dpk_impl/raspi/ace_hal/dha/port -I$(@D)/dpk_impl/raspi/ace_hal/dha/rpi_hw"
   $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/dpk_impl/raspi/ace_hal/bluez_ble/bluez_ble_daemon CC="$(TARGET_CC)" ACS_DPK_ROOT_DIR="$(@D)" CFLAGS="$(TARGET_CFLAGS) -fPIC -Wno-return-type -Wno-unused -Wno-unused-parameter -pthread -DHAVE_CONFIG_H -I$(STAGING_DIR)/usr/include -I$(TARGET_DIR)/usr/include -I$(@D)/ace/sdk/include -I$(@D)/dpk_impl/raspi/ace_hal/bluez_ble/bluez_ble_daemon -I$(@D)/dpk_impl/raspi/ace_hal/bluez_ble/bluez_ble_daemon/include -I$(@D)/dpk_impl/raspi/ace_hal/bluez_ble/bluez_ble_daemon/src  -I$(@D)/dpk_impl/raspi/ace_hal/bluez_ble/bluez_ble_daemon/shared -I$(@D)/dpk_impl/raspi/ace_hal/bluez_ble/bluez_ble_daemon/lib -I$(@D)/dpk_impl/raspi/ace_hal/bluez_ble/bluez_ble_daemon/attrib -I$(@D)/dpk_impl/raspi/ace_hal/bluez_ble/bluez_ble_daemon/btio -I$(STAGING_DIR)/usr/include/glib-2.0 -I$(STAGING_DIR)/usr/lib/glib-2.0/include -I$(STAGING_DIR)/usr/include/dbus-1.0 -I$(STAGING_DIR)/usr/lib/dbus-1.0/include"
   $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/dpk_impl/raspi/ace_hal/bluez_ble/bluez_ble_hal CC="$(TARGET_CC)" ACS_DPK_ROOT_DIR="$(@D)" BLE_DAEMON_NAME="bluezbled" CFLAGS="$(TARGET_CFLAGS) -fPIC -Wall -g --std=gnu11 -Wno-return-type -Wno-error -Wno-unused -Wno-unused-parameter -pedantic -pthread -Wno-deprecated-declarations -Wno-pointer-arith -DBLE_DAEMON_NAME="\\\"bluezbled\\\"" -I$(STAGING_DIR)/usr/include -I$(TARGET_DIR)/usr/include -I$(@D)/ace/sdk/include -I$(@D)/dpk_impl/raspi/ace_hal/bluez_ble/bluez_ble_hal/include"
   $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/dpk_impl/raspi/ace_hal/bt CC="$(TARGET_CC)" ACS_DPK_ROOT_DIR="$(@D)" CFLAGS="$(TARGET_CFLAGS) -Wall -std=gnu99 -fPIC -pthread -I$(STAGING_DIR)/usr/include -I$(TARGET_DIR)/usr/include -I$(@D)/ace/sdk/include -I$(@D)/ace/sdk/include/ace -I$(@D)/dpk_impl/raspi/ace_hal/bt/include -I$(@D)/dpk_impl/raspi/ace_hal/bt/include/co -I$(@D)/dpk_impl/raspi/ace_hal/bt/include/bluez -I$(@D)/dpk_impl/raspi/ace_hal/bt/include/bluez/profile/a2dp -I$(@D)/dpk_impl/raspi/ace_hal/bt/include/bluealsa -I$(@D)/dpk_impl/raspi/ace_hal/bt/include/bluez/gatt -I$(@D)/dpk_impl/raspi/ace_hal/log -I$(STAGING_DIR)/usr/include/glib-2.0 -I$(STAGING_DIR)/usr/lib/glib-2.0/include -I$(STAGING_DIR)/usr/include/dbus-1.0 -I$(STAGING_DIR)/usr/lib/dbus-1.0/include -I$(STAGING_DIR)/usr/include/alsa"
        $(TARGET_MAKE_ENV) $(MAKE) -j1 -C $(@D)/ace/sdk PLATFORM_CROSS_PATH="$(HOST_DIR)/bin" PLATFORM_TOOLCHAIN_PREFIX="$(GNU_TARGET_NAME)" LIBRARY_PATH="$(@D)/ace/sdk" PLATFORM_CROSS_SYSROOT="$(STAGING_DIR)" PLATFORM_CFLAGS="$(TARGET_CFLAGS) -DAIPC_SKIP_ROOT_CHK" PLATFORM_CXXFALGS="$(TARGET_CFLAGS)" CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" PLATFORM_INCLUDES="-I$(STAGING_DIR)/usr/include -I$(TARGET_DIR)/usr/include" WERROR_ENABLED="n"
   $(TARGET_MAKE_ENV) $($(PKG)_MAKE_ENV) $($(PKG)_MAKE) $($(PKG)_MAKE_OPTS) -C $(@D)/ace/sdk/avs_device_sdk_build
   #$(TARGET_CC) -o $(TARGET_DIR)/usr/bin/device_info $(@D)/ace/sdk/objs/libace_device_info/dpk/hal/cli/device_info/device_info_cli.o -fPIC -Wall --std=gnu11 -Wextra -Werror -Wno-unused -Wno-unused-parameter -I$(@D)/ace/sdk/include -L$(@D)/ace/sdk/lib/ -lacehal_device_info -lacehal_kv_storage -lace_log -lacehal_log
endef
 
define ACS_INSTALL_STAGING_CMDS
        $(TARGET_MAKE_ENV) $($(PKG)_MAKE_ENV) $($(PKG)_MAKE) $($(PKG)_MAKE_OPTS) $($(PKG)_INSTALL_STAGING_OPTS) -C $(@D)/ace/sdk/avs_device_sdk_build
endef
 
define ACS_INSTALL_TARGET_CMDS
   mkdir -p $(TARGET_DIR)/var/lib/data/ace $(TARGET_DIR)/var/lib/data/ace/models $(TARGET_DIR)/var/lib/data/ace/kvstorage $(TARGET_DIR)/databases $(TARGET_DIR)/etc/alsa/conf.d
   chmod -R 777 $(TARGET_DIR)/var/lib/data $(TARGET_DIR)/databases
   $(SED) 's/messages/syslog/' $(TARGET_DIR)/etc/syslog.conf
   $(TARGET_MAKE_ENV) $($(PKG)_MAKE_ENV) $($(PKG)_MAKE) $($(PKG)_MAKE_OPTS) $($(PKG)_INSTALL_TARGET_OPTS) -C $(@D)/ace/sdk/avs_device_sdk_build
   $(INSTALL) -D -m 755 $(TOPDIR)/package/rockchip/acs/S01login $(TARGET_DIR)/etc/init.d/
   $(INSTALL) -D -m 755 $(TOPDIR)/package/rockchip/acs/S99acs $(TARGET_DIR)/etc/init.d/
   $(INSTALL) -D -m 755 $(@D)/ace/sdk/bin/* $(TARGET_DIR)/usr/bin/
   $(INSTALL) -D -m 755 $(@D)/ace/sdk/lib/* $(TARGET_DIR)/usr/lib/
   $(INSTALL) -D -m 755 $(@D)/ace/sdk/avs_device_sdk_build/SampleApp/src/SampleApp $(TARGET_DIR)/usr/bin/
   $(INSTALL) -D -m 755 $(@D)/ace/sdk/avs_device_sdk_build/Integration/test/AlertsIntegrationTest $(TARGET_DIR)/usr/bin/
   $(INSTALL) -D -m 755 $(@D)/ace/sdk/avs_device_sdk_build/Integration/test/AlexaDirectiveSequencerLibraryTest $(TARGET_DIR)/usr/bin/
   $(INSTALL) -D -m 755 $(@D)/ace/sdk/avs_device_sdk_build/Integration/test/SpeechSynthesizerIntegrationTest $(TARGET_DIR)/usr/bin/
   $(INSTALL) -D -m 755 $(@D)/ace/sdk/avs_device_sdk_build/Integration/test/ServerDisconnectIntegrationTest $(TARGET_DIR)/usr/bin/
   $(INSTALL) -D -m 755 $(@D)/ace/sdk/avs_device_sdk_build/Integration/test/AudioPlayerIntegrationTest $(TARGET_DIR)/usr/bin/
   $(INSTALL) -D -m 755 $(@D)/ace/sdk/avs_device_sdk_build/Integration/test/AudioInputProcessorIntegrationTest $(TARGET_DIR)/usr/bin/
   $(INSTALL) -D -m 755 $(@D)/ace/sdk/avs_device_sdk_build/Integration/test/AlexaCommunicationsLibraryTest $(TARGET_DIR)/usr/bin/
   $(INSTALL) -D -m 755 $(@D)/ace/sdk/avs_device_sdk_build/Integration/test/AlexaAuthorizationDelegateTest $(TARGET_DIR)/usr/bin/
#    $(INSTALL) -D -m 755 $(@D)/ace/sdk/sdk/avs_device_sdk/testapp/TestApp $(TARGET_DIR)/usr/bin/
#    $(INSTALL) -D -m 755 $(@D)/ace/sdk/sdk/avs_device_sdk/testapp/DirectiveInjectorTest $(TARGET_DIR)/usr/bin/
#    $(INSTALL) -D -m 755 $(@D)/ace/sdk/sdk/avs_device_sdk/testapp/lib/* $(TARGET_DIR)/usr/lib/
#    $(INSTALL) -D -m 755 $(@D)/ace/sdk/sdk/avs_device_sdk/testapp/models/* $(TARGET_DIR)/var/lib/data/ace/models/
   $(INSTALL) -D -m 755 $(@D)/scripts/rpi/aipc-configuration.sh $(TARGET_DIR)/usr/bin/
   $(INSTALL) -D -m 755 $(@D)/AlexaClientSDKConfig.json $(TARGET_DIR)/var/lib/data/ace/
   $(INSTALL) -D -m 755 $(@D)/scripts/rpi/config_files/NetworkManager.conf $(TARGET_DIR)/etc/NetworkManager
   echo -e 'denyinterfaces wlan0' >> $(TARGET_DIR)/etc/dhcpcd.conf
   $(INSTALL) -D -m 755 $(@D)/scripts/rpi/config_files/20-bluealsa.conf $(TARGET_DIR)/etc/alsa/conf.d/
   $(INSTALL) -D -m 755 $(@D)/scripts/rpi/config_files/bluealsa.conf $(TARGET_DIR)/etc/dbus-1/system.d/
   $(INSTALL) -D -m 755 $(@D)/scripts/rpi/device-provisioning/cert.pem $(TARGET_DIR)/var/lib/data/ace/
   $(INSTALL) -D -m 755 $(@D)/scripts/rpi/device-provisioning/device_info.json $(TARGET_DIR)/var/lib/data/ace/
   rm -rf $(TARGET_DIR)/etc/resolv.conf    
endef
 
$(eval $(cmake-package))