1################################################################################ 2# 3# freeradius-server 4# 5################################################################################ 6 7FREERADIUS_SERVER_VERSION = 3.2.3 8FREERADIUS_SERVER_SOURCE = \ 9 freeradius-server-$(FREERADIUS_SERVER_VERSION).tar.bz2 10FREERADIUS_SERVER_SITE = https://freeradius.org/ftp/pub/freeradius 11FREERADIUS_SERVER_LICENSE = GPL-2.0 12FREERADIUS_SERVER_LICENSE_FILES = COPYRIGHT 13FREERADIUS_SERVER_CPE_ID_VENDOR = freeradius 14FREERADIUS_SERVER_CPE_ID_PRODUCT = freeradius 15FREERADIUS_SERVER_DEPENDENCIES = libtalloc 16FREERADIUS_SERVER_AUTORECONF = YES 17 18# We're patching src/modules/rlm_krb5/configure.ac 19define FREERADIUS_SERVER_RUN_KRB5_AUTORECONF 20 cd $(@D)/src/modules/rlm_krb5; $(AUTORECONF) -I$(@D)/m4 21endef 22FREERADIUS_SERVER_PRE_CONFIGURE_HOOKS += FREERADIUS_SERVER_RUN_KRB5_AUTORECONF 23 24# We're patching src/modules/rlm_python3/configure.ac 25define FREERADIUS_SERVER_RUN_PYTHON3_AUTORECONF 26 cd $(@D)/src/modules/rlm_python3; $(AUTORECONF) -I$(@D)/m4 27endef 28FREERADIUS_SERVER_PRE_CONFIGURE_HOOKS += FREERADIUS_SERVER_RUN_PYTHON3_AUTORECONF 29 30# some compiler checks are not supported while cross compiling. 31# instead of removing those checks, we cache the answers 32FREERADIUS_SERVER_CONF_OPTS += \ 33 ax_cv_cc_bounded_attribute=no \ 34 ax_cv_cc_builtin_bswap64=no \ 35 ax_cv_cc_builtin_choose_expr=no \ 36 ax_cv_cc_builtin_types_compatible_p=no 37 38# Some paths are looked up in $PATH but used on the target. 39# Set them explicitly so they are still valid if it's in some other 40# place on the host. Note that some of those don't necessarily exist 41# on the target - in that case, the script will simply fail to work. 42# Note that some paths are actually used during the build, those 43# shouldn't be set explicitly here! 44FREERADIUS_SERVER_CONF_OPTS += \ 45 ac_cv_path_RUSERS=/usr/bin/rusers \ 46 ac_cv_path_SNMPGET=/usr/bin/snmpget \ 47 ac_cv_path_SNMPWALK=/usr/bin/snmpwalk 48 49# Modules for which we don't have the dependencies must be disabled 50# explicitly, to avoid that they're searched on the host. 51FREERADIUS_SERVER_CONF_OPTS += \ 52 --without-rlm_eap_ike \ 53 --without-rlm_eap_tnc \ 54 --without-rlm_perl \ 55 --without-rlm_python \ 56 --without-rlm_sql_iodbc \ 57 --without-rlm_sql_oracle \ 58 --without-rlm_sql_freetds \ 59 --without-rlm_yubikey 60 61ifeq ($(BR2_PACKAGE_COLLECTD),y) 62FREERADIUS_SERVER_CONF_OPTS += --with-collectdclient 63FREERADIUS_SERVER_DEPENDENCIES += collectd 64else 65FREERADIUS_SERVER_CONF_OPTS += --without-collectdclient 66endif 67 68ifeq ($(BR2_PACKAGE_GDBM),y) 69FREERADIUS_SERVER_CONF_OPTS += \ 70 --with-rlm_counter \ 71 --with-rlm_ippool 72FREERADIUS_SERVER_DEPENDENCIES += gdbm 73else 74FREERADIUS_SERVER_CONF_OPTS += \ 75 --without-rlm_counter \ 76 --without-rlm_ippool 77endif 78 79ifeq ($(BR2_PACKAGE_HIREDIS),y) 80FREERADIUS_SERVER_CONF_OPTS += \ 81 --with-rlm_cache_redis \ 82 --with-rlm_redis \ 83 --with-rlm_rediswho 84FREERADIUS_SERVER_DEPENDENCIES += hiredis 85else 86FREERADIUS_SERVER_CONF_OPTS += \ 87 --without-rlm_cache_redis \ 88 --without-rlm_redis \ 89 --without-rlm_rediswho 90endif 91 92ifeq ($(BR2_PACKAGE_JSON_C)$(BR2_PACKAGE_LIBCURL),yy) 93FREERADIUS_SERVER_CONF_OPTS += --with-rlm_rest 94FREERADIUS_SERVER_DEPENDENCIES += json-c libcurl 95else 96FREERADIUS_SERVER_CONF_OPTS += --without-rlm_rest 97endif 98 99ifeq ($(BR2_PACKAGE_LIBCAP),y) 100FREERADIUS_SERVER_CONF_OPTS += --with-libcap 101FREERADIUS_SERVER_DEPENDENCIES += libcap 102else 103FREERADIUS_SERVER_CONF_OPTS += --without-libcap 104endif 105 106ifeq ($(BR2_PACKAGE_LIBKRB5),y) 107FREERADIUS_SERVER_CONF_OPTS += \ 108 ac_cv_path_krb5_config=$(STAGING_DIR)/usr/bin/krb5-config \ 109 --with-rlm_krb5 110FREERADIUS_SERVER_DEPENDENCIES += libkrb5 111else 112FREERADIUS_SERVER_CONF_OPTS += --without-rlm_krb5 113endif 114 115ifeq ($(BR2_PACKAGE_LIBPCAP),y) 116FREERADIUS_SERVER_CONF_OPTS += --with-pcap 117FREERADIUS_SERVER_DEPENDENCIES += libpcap 118else 119FREERADIUS_SERVER_CONF_OPTS += --without-pcap 120endif 121 122ifeq ($(BR2_PACKAGE_LIBXCRYPT),y) 123FREERADIUS_SERVER_DEPENDENCIES += libxcrypt 124endif 125 126ifeq ($(BR2_PACKAGE_LINUX_PAM),y) 127FREERADIUS_SERVER_CONF_OPTS += --with-rlm_pam 128FREERADIUS_SERVER_DEPENDENCIES += linux-pam 129else 130FREERADIUS_SERVER_CONF_OPTS += --without-rlm_pam 131endif 132 133ifeq ($(BR2_PACKAGE_OPENLDAP),y) 134FREERADIUS_SERVER_CONF_OPTS += --with-rlm_ldap 135FREERADIUS_SERVER_DEPENDENCIES += openldap 136else 137FREERADIUS_SERVER_CONF_OPTS += --without-rlm_ldap 138endif 139 140ifeq ($(BR2_PACKAGE_MEMCACHED),y) 141FREERADIUS_SERVER_CONF_OPTS += --with-rlm_cache_memcached 142FREERADIUS_SERVER_DEPENDENCIES += memcached 143else 144FREERADIUS_SERVER_CONF_OPTS += --without-rlm_cache_memcached 145endif 146 147ifeq ($(BR2_PACKAGE_MARIADB),y) 148FREERADIUS_SERVER_CONF_OPTS += --with-rlm_sql_mysql 149FREERADIUS_SERVER_DEPENDENCIES += mariadb 150else 151FREERADIUS_SERVER_CONF_OPTS += --without-rlm_sql_mysql 152endif 153 154ifeq ($(BR2_PACKAGE_PCRE),y) 155FREERADIUS_SERVER_CONF_OPTS += --with-pcre 156FREERADIUS_SERVER_DEPENDENCIES += pcre 157else 158FREERADIUS_SERVER_CONF_OPTS += --without-pcre 159endif 160 161ifeq ($(BR2_PACKAGE_PYTHON3),y) 162FREERADIUS_SERVER_CONF_OPTS += \ 163 --with-rlm_python3 \ 164 --with-rlm-python3-config-bin=$(STAGING_DIR)/usr/bin/python3-config 165FREERADIUS_SERVER_DEPENDENCIES += python3 166else 167FREERADIUS_SERVER_CONF_OPTS += --without-rlm_python3 168endif 169 170ifeq ($(BR2_PACKAGE_READLINE),y) 171FREERADIUS_SERVER_CONF_OPTS += --with-readline 172FREERADIUS_SERVER_DEPENDENCIES += readline 173else 174FREERADIUS_SERVER_CONF_OPTS += --without-readline 175endif 176 177ifeq ($(BR2_PACKAGE_SQLITE),y) 178FREERADIUS_SERVER_CONF_OPTS += --with-rlm_sql_sqlite 179FREERADIUS_SERVER_DEPENDENCIES += sqlite 180else 181FREERADIUS_SERVER_CONF_OPTS += --without-rlm_sql_sqlite 182endif 183 184ifeq ($(BR2_PACKAGE_UNIXODBC),y) 185FREERADIUS_SERVER_CONF_OPTS += --with-rlm_sql_unixodbc 186FREERADIUS_SERVER_DEPENDENCIES += unixodbc 187else 188FREERADIUS_SERVER_CONF_OPTS += --without-rlm_sql_unixodbc 189endif 190 191ifeq ($(BR2_PACKAGE_POSTGRESQL),y) 192FREERADIUS_SERVER_CONF_OPTS += --with-rlm_sql_postgresql 193FREERADIUS_SERVER_DEPENDENCIES += postgresql 194else 195FREERADIUS_SERVER_CONF_OPTS += --without-rlm_sql_postgresql 196endif 197 198ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) 199FREERADIUS_SERVER_DEPENDENCIES += openssl 200FREERADIUS_SERVER_CONF_OPTS += \ 201 --with-openssl \ 202 --with-rlm_eap \ 203 --with-rlm_eap_pwd 204else 205FREERADIUS_SERVER_CONF_OPTS += \ 206 --without-openssl \ 207 --without-rlm_eap \ 208 --without-rlm_eap_pwd 209endif 210 211ifeq ($(BR2_PACKAGE_PCRE),y) 212FREERADIUS_SERVER_CONF_OPTS += --with-pcre 213FREERADIUS_SERVER_DEPENDENCIES += pcre 214else 215FREERADIUS_SERVER_CONF_OPTS += --without-pcre 216endif 217 218ifeq ($(BR2_PACKAGE_RUBY),y) 219FREERADIUS_SERVER_CONF_OPTS += --with-rlm_ruby 220FREERADIUS_SERVER_DEPENDENCIES += ruby 221else 222FREERADIUS_SERVER_CONF_OPTS += --without-rlm_ruby 223endif 224 225ifeq ($(BR2_INIT_SYSTEMD),y) 226FREERADIUS_SERVER_CONF_OPTS += --with-systemd 227FREERADIUS_SERVER_DEPENDENCIES += systemd 228else 229FREERADIUS_SERVER_CONF_OPTS += --without-systemd 230endif 231 232# TARGET_DIR is set to empty to avoid creation of symlinks in hardcoded host directories 233# freeradius Makefile does not support an alternate DESTDIR, instead it uses the magic $(R) variable 234FREERADIUS_SERVER_MAKE_ENV = R=$(TARGET_DIR) TARGET_DIR="" 235 236# use MAKE1 because make install does not support parallel build 237FREERADIUS_SERVER_MAKE = $(MAKE1) 238 239define FREERADIUS_SERVER_INSTALL_INIT_SYSTEMD 240 $(INSTALL) -D -m 644 package/freeradius-server/radiusd.service \ 241 $(TARGET_DIR)/usr/lib/systemd/system/radiusd.service 242endef 243 244$(eval $(autotools-package)) 245