xref: /OK3568_Linux_fs/buildroot/package/boinc/boinc.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# boinc
4#
5################################################################################
6
7BOINC_VERSION_MAJOR = 7.18
8BOINC_VERSION = $(BOINC_VERSION_MAJOR).1
9BOINC_SITE = \
10	$(call github,BOINC,boinc,client_release/$(BOINC_VERSION_MAJOR)/$(BOINC_VERSION))
11BOINC_LICENSE = LGPL-3.0+
12BOINC_LICENSE_FILES = COPYING COPYING.LESSER
13BOINC_CPE_ID_VENDOR = rom_walton
14BOINC_SELINUX_MODULES = boinc
15BOINC_DEPENDENCIES = host-pkgconf libcurl openssl
16BOINC_AUTORECONF = YES
17# The ac_cv_c_undeclared_builtin_options value is to help
18# AC_CHECK_DECLS realize that it doesn't need any particular compiler
19# option to get an error when building a program that uses undeclared
20# symbols. Otherwise, AC_CHECK_DECLS is confused by the configure
21# script unconditionally passing -mavx, which only exists on x86, and
22# therefore causes a failure on all other architectures.
23BOINC_CONF_ENV = \
24	ac_cv_c_undeclared_builtin_options='none needed' \
25	ac_cv_path__libcurl_config=$(STAGING_DIR)/usr/bin/curl-config
26BOINC_CONF_OPTS = \
27	--disable-apps \
28	--disable-boinczip \
29	--disable-manager \
30	--disable-server \
31	--enable-client \
32	--enable-dynamic-client-linkage \
33	--enable-libraries \
34	--with-pkg-config=$(PKG_CONFIG_HOST_BINARY) \
35	--with-libcurl=$(STAGING_DIR)/usr
36
37ifeq ($(BR2_PACKAGE_FREETYPE),y)
38BOINC_DEPENDENCIES += freetype
39endif
40
41ifeq ($(BR2_PACKAGE_LIBFCGI),y)
42BOINC_DEPENDENCIES += libfcgi
43BOINC_CONF_OPTS += --enable-fcgi
44else
45BOINC_CONF_OPTS += --disable-fcgi
46endif
47
48BOINC_MAKE_OPTS = CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11"
49
50# Remove boinc-client because it is incompatible with buildroot
51define BOINC_REMOVE_UNNEEDED_FILE
52	$(RM) $(TARGET_DIR)/etc/init.d/boinc-client
53endef
54
55BOINC_POST_INSTALL_TARGET_HOOKS += BOINC_REMOVE_UNNEEDED_FILE
56
57define BOINC_USERS
58	boinc -1 boinc -1 * /var/lib/boinc - BOINC user
59endef
60
61define BOINC_INSTALL_INIT_SYSV
62	$(INSTALL) -D -m 0755 package/boinc/S99boinc-client \
63		$(TARGET_DIR)/etc/init.d/S99boinc-client
64endef
65
66$(eval $(autotools-package))
67