perl-device-serialport: fix build on macos
authorSergey V. Lobanov <sergey@lobanov.in>
Wed, 12 Jan 2022 23:51:30 +0000 (02:51 +0300)
committerRosen Penev <rosenp@gmail.com>
Wed, 19 Jan 2022 02:10:18 +0000 (18:10 -0800)
./configure script detects macos specific system headers
(IOKit/serial/ioss.h and sys/ttycom.h) that are not available
during compile time. There is no way to pass ac_cv_* vars to
./configure script due to perl wrappers

To fix this issue, fake(empty) headers provided during compile
time if build host is MacOS

Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
lang/perl-device-serialport/Makefile

index 505d356cd2855f4967fae3475931353bf7d2d305..346732ca2295097c3855e4fba7ea214ff2384549 100644 (file)
@@ -41,7 +41,20 @@ define Build/Configure
        $(call perlmod/Configure,,)
 endef
 
+MOD_CFLAGS_PERL += $(if $(CONFIG_HOST_OS_MACOS),-I$(PKG_BUILD_DIR)/macos_compat,)
+
 define Build/Compile
+
+ifeq ($(CONFIG_HOST_OS_MACOS),y)
+       #Zeroize macos specific system headers found by ./configure
+       mkdir -p $(PKG_BUILD_DIR)/macos_compat
+       mkdir -p $(PKG_BUILD_DIR)/macos_compat/sys
+       mkdir -p $(PKG_BUILD_DIR)/macos_compat/IOKit
+       mkdir -p $(PKG_BUILD_DIR)/macos_compat/IOKit/serial
+       echo '' > $(PKG_BUILD_DIR)/macos_compat/sys/ttycom.h
+       echo '' > $(PKG_BUILD_DIR)/macos_compat/IOKit/serial/ioss.h
+endif
+
        $(call perlmod/Compile,,)
 endef