#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=signalwire-client-c

PKG_VERSION:=2.0.3
PKG_RELEASE:=1

PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/signalwire/signalwire-c.git
PKG_SOURCE_VERSION:=28554892683428b93f54d71f4a50d7327d778c41
PKG_MIRROR_HASH:=bf92f75a51501c12ca605dd89eea1aadfc2be2980fe3c9b23435fd2d3df13270

PKG_BUILD_PARALLEL:=1
CMAKE_INSTALL:=1

PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=copyright

PKG_MAINTAINER:=

include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk

define Package/signalwire-client-c
  SUBMENU:=Telephony
  SECTION:=libs
  CATEGORY:=Libraries
  TITLE:=SignalWire C client library
  URL:=https://github.com/signalwire/signalwire-c
  ABI_VERSION:=2
  DEPENDS:=+libatomic +libks +libopenssl
endef

# Otherwise OpenWrt's CPPFLAGS are ignored
TARGET_CFLAGS += $(TARGET_CPPFLAGS)

define Package/signalwire-client-c/install/headers
	$(INSTALL_DIR) $(1)/usr/include/signalwire-client-c2/signalwire-client-c/$(2)
	$(INSTALL_DATA) \
		$(PKG_INSTALL_DIR)/usr/include/signalwire-client-c2/signalwire-client-c/$(2)/*.h \
				$(1)/usr/include/signalwire-client-c2/signalwire-client-c/$(2)
endef

define Build/InstallDev
	$(foreach s,./ JSON blade signalwire transport,$(call Package/signalwire-client-c/install/headers,$(1),$(s));)
	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig \
		$(1)/usr/include/signalwire-client-c2/signalwire-client-c/cmake
	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/signalwire-client-c2/signalwire-client-c/cmake/* \
		$(1)/usr/include/signalwire-client-c2/signalwire-client-c/cmake
	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libsignalwire_client2.so* $(1)/usr/lib
	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/signalwire_client2.pc \
		$(1)/usr/lib/pkgconfig
endef

define Package/signalwire-client-c/install
	$(INSTALL_DIR) $(1)/usr/lib
	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libsignalwire_client2.so.$(ABI_VERSION)* \
								$(1)/usr/lib
endef

$(eval $(call BuildPackage,signalwire-client-c))
