1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# owfs 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunOWFS_VERSION = 3.2p3 8*4882a593SmuzhiyunOWFS_SITE = https://github.com/owfs/owfs/releases/download/v$(OWFS_VERSION) 9*4882a593SmuzhiyunOWFS_DEPENDENCIES = host-pkgconf 10*4882a593SmuzhiyunOWFS_CONF_OPTS = --disable-owperl --without-perl5 --disable-owtcl --without-tcl 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun# owtcl license is declared in module/ownet/c/src/include/ow_functions.h 13*4882a593SmuzhiyunOWFS_LICENSE = GPL-2.0+, LGPL-2.0 (owtcl) 14*4882a593SmuzhiyunOWFS_LICENSE_FILES = COPYING COPYING.LIB 15*4882a593SmuzhiyunOWFS_INSTALL_STAGING = YES 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun# owfs PHP support is not PHP 7 compliant 18*4882a593Smuzhiyun# https://sourceforge.net/p/owfs/support-requests/32/ 19*4882a593SmuzhiyunOWFS_CONF_OPTS += --disable-owphp --without-php 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun# Skip man pages processing 22*4882a593SmuzhiyunOWFS_CONF_ENV += ac_cv_path_SOELIM=true 23*4882a593Smuzhiyun 24*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBFUSE),y) 25*4882a593SmuzhiyunOWFS_DEPENDENCIES += libfuse 26*4882a593SmuzhiyunOWFS_CONF_OPTS += \ 27*4882a593Smuzhiyun --enable-owfs \ 28*4882a593Smuzhiyun --with-fuseinclude=$(STAGING_DIR)/usr/include \ 29*4882a593Smuzhiyun --with-fuselib=$(STAGING_DIR)/usr/lib 30*4882a593Smuzhiyundefine OWFS_INSTALL_FUSE_INIT_SYSV 31*4882a593Smuzhiyun $(INSTALL) -D -m 0755 $(OWFS_PKGDIR)S60owfs \ 32*4882a593Smuzhiyun $(TARGET_DIR)/etc/init.d/S60owfs 33*4882a593Smuzhiyunendef 34*4882a593Smuzhiyundefine OWFS_CREATE_MOUNTPOINT 35*4882a593Smuzhiyun mkdir -p $(TARGET_DIR)/dev/1wire 36*4882a593Smuzhiyunendef 37*4882a593SmuzhiyunOWFS_POST_INSTALL_TARGET_HOOKS += OWFS_CREATE_MOUNTPOINT 38*4882a593Smuzhiyunelse 39*4882a593SmuzhiyunOWFS_CONF_OPTS += --disable-owfs 40*4882a593Smuzhiyunendif 41*4882a593Smuzhiyun 42*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBFTDI1),y) 43*4882a593SmuzhiyunOWFS_CONF_OPTS += \ 44*4882a593Smuzhiyun --enable-ftdi \ 45*4882a593Smuzhiyun --with-libftdi-config=$(STAGING_DIR)/usr/bin/libftdi1-config 46*4882a593SmuzhiyunOWFS_DEPENDENCIES += libftdi1 47*4882a593Smuzhiyunelse ifeq ($(BR2_PACKAGE_LIBFTDI),y) 48*4882a593SmuzhiyunOWFS_CONF_OPTS += \ 49*4882a593Smuzhiyun --enable-ftdi \ 50*4882a593Smuzhiyun --with-libftdi-config=$(STAGING_DIR)/usr/bin/libftdi-config 51*4882a593SmuzhiyunOWFS_DEPENDENCIES += libftdi 52*4882a593Smuzhiyunelse 53*4882a593SmuzhiyunOWFS_CONF_OPTS += --disable-ftdi 54*4882a593Smuzhiyunendif 55*4882a593Smuzhiyun 56*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBUSB),y) 57*4882a593SmuzhiyunOWFS_CONF_OPTS += --enable-usb 58*4882a593SmuzhiyunOWFS_DEPENDENCIES += libusb 59*4882a593Smuzhiyunelse 60*4882a593SmuzhiyunOWFS_CONF_OPTS += --disable-usb 61*4882a593Smuzhiyunendif 62*4882a593Smuzhiyun 63*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_AVAHI),y) 64*4882a593SmuzhiyunOWFS_CONF_OPTS += --enable-avahi 65*4882a593SmuzhiyunOWFS_DEPENDENCIES += avahi 66*4882a593Smuzhiyunelse 67*4882a593SmuzhiyunOWFS_CONF_OPTS += --disable-avahi 68*4882a593Smuzhiyunendif 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun# setup.py isn't python3 compliant 71*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PYTHON),y) 72*4882a593SmuzhiyunOWFS_CONF_OPTS += \ 73*4882a593Smuzhiyun --enable-owpython \ 74*4882a593Smuzhiyun --with-python \ 75*4882a593Smuzhiyun --with-pythonconfig=$(STAGING_DIR)/usr/bin/python-config 76*4882a593SmuzhiyunOWFS_MAKE_ENV += \ 77*4882a593Smuzhiyun CC="$(TARGET_CC)" \ 78*4882a593Smuzhiyun PYTHONPATH="$(PYTHON_PATH)" \ 79*4882a593Smuzhiyun _python_sysroot=$(STAGING_DIR) \ 80*4882a593Smuzhiyun _python_prefix=/usr \ 81*4882a593Smuzhiyun _python_exec_prefix=/usr 82*4882a593SmuzhiyunOWFS_DEPENDENCIES += python host-swig 83*4882a593Smuzhiyun# The configure scripts finds PYSITEDIR as the python_lib directory of 84*4882a593Smuzhiyun# host-python, and then prepends DESTDIR in front of it. So we end up 85*4882a593Smuzhiyun# installing things in $(TARGET_DIR)/$(HOST_DIR)/lib/python which is 86*4882a593Smuzhiyun# clearly wrong. 87*4882a593Smuzhiyun# Patching owfs to do the right thing is not trivial, it's much easier to 88*4882a593Smuzhiyun# override the PYSITEDIR variable in make. 89*4882a593SmuzhiyunOWFS_EXTRA_MAKE_OPTS += PYSITEDIR=/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages 90*4882a593Smuzhiyun 91*4882a593Smuzhiyunelse 92*4882a593SmuzhiyunOWFS_CONF_OPTS += --disable-owpython --without-python 93*4882a593Smuzhiyunendif 94*4882a593Smuzhiyun 95*4882a593Smuzhiyunifeq ($(BR2_STATIC_LIBS),y) 96*4882a593Smuzhiyun# zeroconf support uses dlopen() 97*4882a593SmuzhiyunOWFS_CONF_OPTS += --disable-zero 98*4882a593Smuzhiyunendif 99*4882a593Smuzhiyun 100*4882a593SmuzhiyunOWFS_MAKE = $(MAKE) $(OWFS_EXTRA_MAKE_OPTS) 101*4882a593Smuzhiyun 102*4882a593Smuzhiyundefine OWFS_INSTALL_INIT_SYSV 103*4882a593Smuzhiyun $(INSTALL) -D -m 0755 $(OWFS_PKGDIR)S55owserver \ 104*4882a593Smuzhiyun $(TARGET_DIR)/etc/init.d/S55owserver 105*4882a593Smuzhiyun $(OWFS_INSTALL_FUSE_INIT_SYSV) 106*4882a593Smuzhiyunendef 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun$(eval $(autotools-package)) 109