1################################################################################
2#
3# libshdata
4#
5################################################################################
6
7LIBSHDATA_VERSION = d9ec4bdba834d8f3daf6bf9aa6da374bc462961f
8LIBSHDATA_SITE = $(call github,Parrot-Developers,libshdata,$(LIBSHDATA_VERSION))
9LIBSHDATA_LICENSE = BSD-3-Clause
10LIBSHDATA_LICENSE_FILES = COPYING
11LIBSHDATA_DEPENDENCIES = libfutils ulog host-alchemy
12LIBSHDATA_INSTALL_STAGING = YES
13
14LIBSHDATA_TARGETS = libshdata
15ifeq ($(BR2_PACKAGE_LIBSHDATA_STRESS),y)
16LIBSHDATA_TARGETS += libshdata-stress
17endif
18
19LIBSHDATA_TARGET_ENV = \
20	$(ALCHEMY_TARGET_ENV) \
21	ALCHEMY_TARGET_SDK_DIRS="$(ALCHEMY_SDK_BASEDIR)/libfutils $(ALCHEMY_SDK_BASEDIR)/ulog"
22
23define LIBSHDATA_BUILD_CMDS
24	$(LIBSHDATA_TARGET_ENV) $(ALCHEMY_MAKE) $(LIBSHDATA_TARGETS)
25endef
26
27ifeq ($(BR2_SHARED_LIBS),)
28define LIBSHDATA_INSTALL_STATIC_LIBS
29	$(INSTALL) -D -m 644 $(@D)/alchemy-out/staging/usr/lib/libshdata.a \
30		$(STAGING_DIR)/usr/lib/libshdata.a
31endef
32endif
33
34ifeq ($(BR2_STATIC_LIBS),)
35# $(1): destination directory: target or staging
36define LIBSHDATA_INSTALL_SHARED_LIBS
37	mkdir -p $(1)/usr/lib/
38	$(INSTALL) -m 644 $(@D)/alchemy-out/staging/usr/lib/libshdata.so* \
39		$(1)/usr/lib/
40endef
41endif
42
43ifeq ($(BR2_PACKAGE_LIBSHDATA_STRESS),y)
44define LIBSHDATA_INSTALL_BIN
45	$(INSTALL) -D -m 755 $(@D)/alchemy-out/staging/usr/bin/libshdata-stress \
46		$(TARGET_DIR)/usr/bin/libshdata-stress
47endef
48endif
49
50define LIBSHDATA_INSTALL_TARGET_CMDS
51	$(LIBSHDATA_INSTALL_BIN)
52	$(call LIBSHDATA_INSTALL_SHARED_LIBS, $(TARGET_DIR))
53endef
54
55# Even in dynamic libraries only, libshdata-section-lookup is only built as
56# a static lib (include $(BUILD_STATIC_LIBRARY) in atom.mk) and it is needed
57# for libshdata usage.
58define LIBSHDATA_INSTALL_STAGING_CMDS
59	mkdir -p $(STAGING_DIR)/usr/include/
60	$(INSTALL) -m 644 $(@D)/include/* $(STAGING_DIR)/usr/include/
61	$(INSTALL) -D -m 644 $(@D)/alchemy-out/staging/usr/lib/libshdata-section-lookup.a \
62		$(STAGING_DIR)/usr/lib/libshdata-section-lookup.a
63	$(LIBSHDATA_INSTALL_STATIC_LIBS)
64	$(call LIBSHDATA_INSTALL_SHARED_LIBS, $(STAGING_DIR))
65	$(call ALCHEMY_INSTALL_LIB_SDK_FILE, libshdata, libshdata.so, libfutils libulog)
66endef
67
68$(eval $(generic-package))
69