Skip to content

Commit cc15dc2

Browse files
bramoosterhuisSanthosh Ramani
authored andcommitted
amazon-ignition: Adding package
1 parent fe3d652 commit cc15dc2

File tree

3 files changed

+262
-0
lines changed

3 files changed

+262
-0
lines changed

package/Config.in

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ menu "Target packages"
1212
menu "Audio and video applications"
1313
source "package/alsa-utils/Config.in"
1414
source "package/atest/Config.in"
15+
source "package/amazon/Config.in"
16+
source "package/libamazon/Config.in"
17+
source "package/amazon-backend/Config.in"
18+
source "package/amazon-ignition/Config.in"
1519
source "package/aumix/Config.in"
1620
source "package/bellagio/Config.in"
1721
source "package/bluez-alsa/Config.in"

package/amazon-ignition/Config.in

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
config BR2_PACKAGE_AMAZON_IGNITION
2+
select BR2_PACKAGE_JPEG
3+
select BR2_PACKAGE_ZLIB
4+
select BR2_PACKAGE_LIBCURL
5+
select BR2_PACKAGE_LIBPNG
6+
select BR2_PACKAGE_WPEFRAMEWORK
7+
select BR2_PACKAGE_WPEFRAMEWORK_VIRTUALINPUT
8+
bool "amazon-ignition"
9+
help
10+
Amazon project
11+
12+
if BR2_PACKAGE_AMAZON_IGNITION
13+
menu "Options"
14+
15+
choice
16+
prompt "Build type"
17+
default BR2_PACKAGE_AMAZON_IGNITION_BUILD_TYPE_RELEASE
18+
help
19+
Select the build type to use.
20+
21+
config BR2_PACKAGE_AMAZON_IGNITION_BUILD_TYPE_RELEASE
22+
bool "release"
23+
config BR2_PACKAGE_AMAZON_IGNITION_BUILD_TYPE_RELEASE_DEBUG
24+
bool "release with debug symbols"
25+
config BR2_PACKAGE_AMAZON_IGNITION_BUILD_TYPE_DEBUG
26+
bool "debug"
27+
config BR2_PACKAGE_AMAZON_IGNITION_BUILD_TYPE_TESTING
28+
bool "testing"
29+
endchoice
30+
31+
config BR2_PACKAGE_AMAZON_IGNITION_BUILD_SHARED_LIBRARY_LAUNCHER
32+
bool "shared library launcher"
33+
default "n"
34+
35+
config BR2_PACKAGE_AMAZON_IGNITION_DEVELOPER_MODE
36+
bool "developer mode"
37+
default "n"
38+
help
39+
Enable this to use info and debug traces
40+
41+
config BR2_PACKAGE_AMAZON_IGNITION_BUILD_TESTS
42+
bool "include tests"
43+
select BR2_PACKAGE_AMAZON_IGNITION_DEVELOPER_MODE
44+
default "n"
45+
46+
config BR2_PACKAGE_AMAZON_IGNITION_IG_INSTALL_PATH
47+
string "install path"
48+
default "/usr/share/ignition"
49+
endmenu
50+
endif
Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
################################################################################
2+
#
3+
# amazon-ignition
4+
#
5+
################################################################################
6+
7+
AMAZON_IGNITION_VERSION = e72ab40d3eeb885a35170e39d2ba757d653170f3
8+
AMAZON_IGNITION_SITE_METHOD = git
9+
AMAZON_IGNITION_SITE = [email protected]:Metrological/amazon.git
10+
AMAZON_IGNITION_DEPENDENCIES = jpeg libpng wpeframework amazon amazon-backend
11+
# AMAZON_IGNITION_DEPENDENCIES = zlib jpeg libcurl libpng icu wpeframework amazon amazon-backend
12+
AMAZON_IGNITION_SUPPORTS_IN_SOURCE_BUILD = NO
13+
AMAZON_IGNITION_INSTALL_STAGING = YES
14+
AMAZON_IGNITION_INSTALL_TARGET = YES
15+
16+
AMAZON_IGNITION_SUBDIR = ignition
17+
18+
AMAZON_IGNITION_DEVICE_LAYER_DIR = "$(@D)/thunder/linux-device-layer/implementation/"
19+
AMAZON_IGNITION_RUBY_PLATFORM_ROOT = "$(@D)/thunder/amp-posix"
20+
AMAZON_IGNITION_BUILD_DIR = "$(AMAZON_IGNITION_SRCDIR)/buildroot-build"
21+
AMAZON_IGNITION_BINARY_INSTALL_DIR = "$(@D)/binary-install"
22+
AMAZON_IGNITION_TEST_INSTALL_BASE_DIR = "$(AMAZON_IGNITION_BINARY_INSTALL_DIR)/test-install"
23+
24+
ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
25+
AMAZON_IGNITION_DEPENDENCIES += rpi-userland
26+
endif
27+
28+
ifeq ($(BR2_PACKAGE_BCM_REFSW),y)
29+
AMAZON_IGNITION_DEPENDENCIES += bcm-refsw
30+
endif
31+
32+
# Default CMake config
33+
AMAZON_IGNITION_CONF_OPTS += \
34+
-DCMAKE_SYSTEM_NAME=Linux \
35+
-DCMAKE_INSTALL_PREFIX=${AMAZON_IGNITION_BINARY_INSTALL_DIR} \
36+
-DBUILD_SHARED_LIBS=OFF
37+
38+
ifeq ($(BR2_PACKAGE_AMAZON_IGNITION),y)
39+
40+
AMAZON_IGNITION_CONF_OPTS += \
41+
-DDEVICE_LAYER_DIR=${AMAZON_IGNITION_DEVICE_LAYER_DIR} \
42+
-DIGNITION_PLATFORM_LINK_LIBRARIES="-pthread" \
43+
-DDISABLE_SAFE_BUILD_ROOT_CHECK=OFF \
44+
-DUSE_MEDIA_PIPELINE_BACKEND=OFF \
45+
-DBUILD_AS_SHARED_LIBRARY=ON \
46+
-DBUILD_CURL_7_72_0=ON
47+
48+
ifeq ($(BR2_PACKAGE_AMAZON_IGNITION_BUILD_TESTS),y)
49+
AMAZON_IGNITION_CONF_OPTS += -DBUILD_SHARED_LIBRARY_LAUNCHER=ON
50+
endif
51+
52+
ifeq ($(BR2_PACKAGE_AMAZON_IGNITION_BUILD_HAWKTRACER),y)
53+
AMAZON_IGNITION_CONF_OPTS += -DENABLE_HAWKTRACER=ON
54+
else
55+
AMAZON_IGNITION_CONF_OPTS += -DENABLE_HAWKTRACER=OFF
56+
endif
57+
58+
ifeq ($(BR2_PACKAGE_AMAZON_IGNITION_DEVELOPER_MODE),y)
59+
AMAZON_IGNITION_CONF_OPTS += -DDEVELOPMENT_MODE=ON
60+
else
61+
AMAZON_IGNITION_CONF_OPTS += -DDEVELOPMENT_MODE=OFF
62+
endif
63+
64+
ifeq ($(BR2_PACKAGE_EXPLORA_SDK),y)
65+
AMAZON_IGNITION_DEVICE_LAYER_CMAKE_ARGS += -DUSE_EXPLICIT_SOFTWARE_CRYPTOGRAPHY=ON
66+
endif
67+
68+
# This is still experimental
69+
# Build smallest 41MB/3,2MB (DEBUG/RELEASE) results
70+
# -DBUILD_FREETYPE_LIB=OFF safes 2MB/0,5MB. check that its linked properly
71+
# -DIGNITE_DISABLE_ICU_BUILD=ON safes 13MB/11,6MB.
72+
# -DENABLE_WEBSOCKETS=OFF safes 2MB/0,2MB
73+
# -DBUILD_HARFBUZZ_LIB=OFF safes 9MB/0,5MB but minimal version should be 2.6.2, check netflix and webkit. Check that its linked properly
74+
#ifeq ($(BR2_PACKAGE_AMAZON_IGNITION_BUILD_SMALL),y)
75+
# AMAZON_IGNITION_CONF_OPTS += \
76+
# -DUSE_SYSTEM_LIBRARIES=ON \
77+
# -DBUILD_LIBJPEG=OFF \
78+
# -DBUILD_LIBPNG=OFF
79+
#endif
80+
81+
ifeq ($(BR2_PACKAGE_AMAZON_IGNITION_BUILD_RUBY),y)
82+
AMAZON_IGNITION_CONF_OPTS += \
83+
-DBUILD_RUBY_PLAYER=ON \
84+
-DRUBY_PLATFORM_ROOT=${AMAZON_IGNITION_RUBY_PLATFORM_ROOT} \
85+
-DUSE_FAKE_PLAYER=OFF
86+
else
87+
AMAZON_IGNITION_CONF_OPTS += \
88+
-DBUILD_RUBY_PLAYER=OFF
89+
endif
90+
91+
ifeq ($(BR2_PACKAGE_AMAZON_IGNITION_BUILD_SHARED_LIBRARY_LAUNCHER),y)
92+
AMAZON_IGNITION_CONF_OPTS += \
93+
-DBUILD_SHARED_LIBRARY_LAUNCHER=ON
94+
endif
95+
96+
ifeq ($(BR2_PACKAGE_AMAZON_IGNITION_BUILD_TYPE_RELEASE),y)
97+
AMAZON_IGNITION_BUILD_TYPE = Release
98+
else ifeq ($(BR2_PACKAGE_AMAZON_IGNITION_BUILD_TYPE_RELEASE_DEBUG),y)
99+
AMAZON_IGNITION_BUILD_TYPE = RelWithDebInfo
100+
else ifeq ($(BR2_PACKAGE_AMAZON_IGNITION_BUILD_TYPE_DEBUG),y)
101+
AMAZON_IGNITION_BUILD_TYPE = Debug
102+
else ifeq ($(BR2_PACKAGE_AMAZON_IGNITION_BUILD_TYPE_TESTING),y)
103+
AMAZON_IGNITION_BUILD_TYPE = Testing
104+
endif
105+
106+
AMAZON_IGNITION_BUILD_TYPE ?= Release
107+
108+
AMAZON_IGNITION_CONF_OPTS += \
109+
-DCMAKE_BUILD_TYPE=${AMAZON_IGNITION_BUILD_TYPE}
110+
111+
endif
112+
# BR2_PACKAGE_AMAZON_IGNITION
113+
114+
define IGNITION_MAKE
115+
@$(call MESSAGE,"Ignition make target $(call qstrip, ${1})")
116+
@$(MAKE) -C $(AMAZON_IGNITION_BUILD_DIR)$(call qstrip, ${2}) $(call qstrip, ${1})
117+
endef
118+
119+
ifeq ($(BR2_PACKAGE_AMAZON_IGNITION_BUILD_TESTS),y)
120+
AMAZON_IGNITION_DEVICE_LAYER_CMAKE_ARGS += -DUSE_INCLUDED_DPP_TEST_CONFIG=ON
121+
endif
122+
123+
AMAZON_IGNITION_CONF_OPTS += \
124+
-DDEVICE_LAYER_CMAKE_ARGS="${AMAZON_IGNITION_DEVICE_LAYER_CMAKE_ARGS}"
125+
126+
$(eval $(cmake-package))
127+
128+
define AMAZON_IGNITION_INSTALL_GENERIC
129+
@$(call MESSAGE,"Install ignition targets")
130+
@$(call IGNITION_MAKE, install)
131+
endef
132+
133+
define AMAZON_IGNITION_INSTALL_IGNITION
134+
@$(call MESSAGE,"Installing ignition to: $(call qstrip,$(1))")
135+
@$(INSTALL) -v -d -m 0755 $(call qstrip,$(1))/$(BR2_PACKAGE_AMAZON_IGNITION_IG_INSTALL_PATH)
136+
137+
rsync -av ${AMAZON_IGNITION_BINARY_INSTALL_DIR}/ $(call qstrip,$(1))/$(BR2_PACKAGE_AMAZON_IGNITION_IG_INSTALL_PATH)
138+
139+
ln -sf "../../../lib/libamazon_backend_device.so" "$(call qstrip,$(1))$(BR2_PACKAGE_AMAZON_IGNITION_IG_INSTALL_PATH)/lib/libamazon_backend_device.so"
140+
ln -sf "../../../lib/libamazon-backend.so" "$(call qstrip,$(1))$(BR2_PACKAGE_AMAZON_IGNITION_IG_INSTALL_PATH)/lib/libamazon-backend.so"
141+
ln -sf "../../../lib/libamazon_player_mediapipeline.so" "$(call qstrip,$(1))$(BR2_PACKAGE_AMAZON_IGNITION_IG_INSTALL_PATH)/lib/libamazon_player_mediapipeline.so"
142+
ln -sf "../../../lib/libamazon_player.so" "$(call qstrip,$(1))$(BR2_PACKAGE_AMAZON_IGNITION_IG_INSTALL_PATH)/lib/libamazon_player.so"
143+
ln -sf "../../../lib/libamazon_playready.so" "$(call qstrip,$(1))$(BR2_PACKAGE_AMAZON_IGNITION_IG_INSTALL_PATH)/lib/libamazon_playready.so"
144+
endef
145+
146+
define AMAZON_IGNITION_INSTALL_IGNITION_DEV
147+
@$(call MESSAGE,"Installing ignition headers to: ${STAGING_DIR}/usr/include/ignition")
148+
@$(call AMAZON_IGNITION_INSTALL_IGNITION, ${STAGING_DIR})
149+
150+
@$(INSTALL) -v -d -m 0755 ${STAGING_DIR}/usr/include/ignition
151+
152+
@$(call MESSAGE,"Installing ignition header [ ${AMAZON_IGNITION_DEVICE_LAYER_DIR}/../interface/ ] to: ${STAGING_DIR}/usr/include/ignition")
153+
cd "${AMAZON_IGNITION_DEVICE_LAYER_DIR}/../interface/include" && find -name "*.h" -type f -exec cp --parents {} ${STAGING_DIR}/usr/include/ignition/ \;
154+
endef
155+
156+
ifeq ($(BR2_PACKAGE_AMAZON_IGNITION_BUILD_TESTS),y)
157+
AMAZON_IGNITION_INSTALL_STAGING = NO
158+
AMAZON_IGNITION_INSTALL_TARGET = NO
159+
160+
define AMAZON_IGNITION_BUILD_IGNITION_TESTS
161+
@$(call MESSAGE,"Building ignition tests")
162+
@$(call IGNITION_MAKE, test_ignition)
163+
endef
164+
165+
define AMAZON_IGNITION_BUILD_INTERACTION_TESTS
166+
@$(call MESSAGE,"Building ignition tests")
167+
@$(call IGNITION_MAKE, integration-tests-package-with-mock-device-layer)
168+
endef
169+
170+
define AMAZON_IGNITION_BUILD_DEVICE_LAYER_TESTS
171+
@$(call MESSAGE,"Building device layer test")
172+
@$(call IGNITION_MAKE, install-prime-video-device-layer-test)
173+
endef
174+
175+
define AMAZON_IGNITION_BUILD_INTERGRATION_TESTS
176+
@$(call MESSAGE,"Building device layer test")
177+
@$(call IGNITION_MAKE, integration-tests-package)
178+
endef
179+
180+
define AMAZON_IGNITION_BUILD_CMDS
181+
@$(call AMAZON_IGNITION_BUILD_INTERGRATION_TESTS)
182+
endef
183+
184+
define AMAZON_IGNITION_INSTALL_STAGING_CMDS
185+
endef
186+
187+
define AMAZON_IGNITION_INSTALL_TARGET_CMDS
188+
endef
189+
190+
else #BR2_PACKAGE_AMAZON_IGNITION_BUILD_TESTS
191+
define AMAZON_IGNITION_BUILD_CMDS
192+
@$(call IGNITION_MAKE all)
193+
endef
194+
195+
AMAZON_IGNITION_POST_BUILD_HOOKS += AMAZON_IGNITION_INSTALL_GENERIC
196+
197+
define AMAZON_IGNITION_INSTALL_STAGING_CMDS
198+
@$(call AMAZON_IGNITION_INSTALL_IGNITION_DEV)
199+
endef
200+
201+
define AMAZON_IGNITION_INSTALL_TARGET_CMDS
202+
@$(call AMAZON_IGNITION_INSTALL_IGNITION_DEV)
203+
@$(call AMAZON_IGNITION_INSTALL_IGNITION, ${TARGET_DIR})
204+
endef
205+
206+
endif # BR2_PACKAGE_AMAZON_IGNITION_BUILD_TESTS
207+
208+

0 commit comments

Comments
 (0)