fix freeradius SDK builds
[openwrt/svn-archive/archive.git] / net / freeradius / Makefile
index 0902664edda3450d14f1286b6305a580a18150e5..335127ef94951074b25b5f0077a36b04eef727aa 100644 (file)
@@ -9,27 +9,32 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=freeradius
-PKG_VERSION:=1.1.1
+PKG_VERSION:=1.1.2
 PKG_RELEASE:=1
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=ftp://ftp.freeradius.org/pub/radius/ \
        http://freeradius.portal-to-web.de/ \
        ftp://ftp.uk.freeradius.org/pub/radius/
-PKG_MD5SUM:=b38b24f6352090fdb571b9e8da52e12e
+PKG_MD5SUM:=6649ac5f9666b4a8cd55a837068ca61e
 PKG_CAT:=zcat
 
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
 
 include $(INCLUDE_DIR)/package.mk
 
-define Package/freeradius
+define Package/freeradius/Default
   SECTION:=net
   CATEGORY:=Network
+  URL:=http://www.freeradius.org/
+endef
+
+define Package/freeradius
+  $(call Package/freeradius/Default)
   DEPENDS:=+libltdl +libopenssl +libpthread
   TITLE:=A flexible RADIUS server
-  URL:=http://www.freeradius.org/
+  MENU:=1
 endef
 
 define Package/freeradius/conffiles
@@ -38,25 +43,25 @@ define Package/freeradius/conffiles
 endef
 
 define Package/freeradius-democerts
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius
   TITLE:=Demo certificates to test the server
 endef
 
 define Package/freeradius-mod-chap
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius
   TITLE:=CHAP module
 endef
 
 define Package/freeradius-mod-detail
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius
   TITLE:=Detailed accounting module
 endef
 
 define Package/freeradius-mod-eap
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius
   TITLE:=Base EAP module
 endef
@@ -66,43 +71,43 @@ define Package/freeradius-mod-eap/conffiles
 endef
 
 define Package/freeradius-mod-eap-gtc
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius-mod-eap
   TITLE:=EAP/GTC module
 endef
 
 define Package/freeradius-mod-eap-md5
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius-mod-eap
   TITLE:=EAP/MD5 module
 endef
 
 define Package/freeradius-mod-eap-mschapv2
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius-mod-eap
   TITLE:=EAP/MS-CHAPv2 module
 endef
 
 define Package/freeradius-mod-eap-peap
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius-mod-eap
   TITLE:=EAP/PEAP module
 endef
 
 define Package/freeradius-mod-eap-tls
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius-mod-eap
   TITLE:=EAP/TLS module
 endef
 
 define Package/freeradius-mod-eap-ttls
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius-mod-eap-tls
   TITLE:=EAP/TTLS module
 endef
 
 define Package/freeradius-mod-files
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius
   TITLE:=Module using local files for authorization
 endef
@@ -114,7 +119,7 @@ define Package/freeradius-mod-files/conffiles
 endef
 
 define Package/freeradius-mod-ldap
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius +libopenldap
   TITLE:=LDAP module
 endef
@@ -124,19 +129,19 @@ define Package/freeradius-mod-ldap/conffiles
 endef
 
 define Package/freeradius-mod-mschap
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius
   TITLE:=MS-CHAP and MS-CHAPv2 module
 endef
 
 define Package/freeradius-mod-pap
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius
   TITLE:=PAP module
 endef
 
 define Package/freeradius-mod-preprocess
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius
   TITLE:=Request pre-processing module
 endef
@@ -147,7 +152,7 @@ define Package/freeradius-mod-preprocess/conffiles
 endef
 
 define Package/freeradius-mod-realm
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius
   TITLE:=Realms handling module
 endef
@@ -157,36 +162,36 @@ define Package/freeradius-mod-realm/conffiles
 endef
 
 define Package/freeradius-mod-sql
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius
   TITLE:=Base SQL module
 endef
 
 define Package/freeradius-mod-sql-mysql
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius-mod-sql +libmysqlclient
   TITLE:=MySQL module
 endef
 
 define Package/freeradius-mod-sql-pgsql
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius-mod-sql +libpq
   TITLE:=PostgreSQL module
 endef
 
 define Package/freeradius-mod-sqlcounter
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius-mod-sql
   TITLE:=Generic SQL Counter module
 endef
 
 define Package/freeradius-utils
-  $(call Package/freeradius)
+  $(call Package/freeradius/Default)
   DEPENDS:=freeradius
   TITLE:=Misc. client utilities
 endef
 
-PKG_CONFIGURE_OPTIONS := \
+PKG_CONFIGURE_OPTIONS:= \
        --enable-shared \
        --disable-static \
        --disable-ltdl-install \
@@ -216,6 +221,7 @@ PKG_CONFIGURE_OPTIONS := \
        --without-rlm_smb \
        --with-rlm_sql \
        --with-rlm_sqlcounter \
+       --without-rlm_sqlippool \
        --without-rlm_sql_db2 \
        --without-rlm_sql_freetds \
        --without-rlm_sql_iodbc \
@@ -225,79 +231,71 @@ PKG_CONFIGURE_OPTIONS := \
        --without-rlm_sql_log \
        --without-rlm_unix \
 
-ifeq ($(SDK),)
-  ifneq ($(CONFIG_PACKAGE_freeradius-mod-ldap),)
-    PKG_CONFIGURE_LIBS += -lcrypto -lssl
-    PKG_CONFIGURE_OPTIONS += \
+PKG_DICTIONARIES:= \
+       freeradius freeradius.internal \
+       rfc2865 rfc2866 rfc2867 rfc2868 rfc2869 rfc3162 rfc3576 rfc3580 \
+       microsoft \
+       wispr \
+
+ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-ldap),)
+  PKG_CONFIGURE_LIBS+= -lcrypto -lssl
+  PKG_CONFIGURE_OPTIONS+= \
                --with-rlm_ldap-include-dir="$(STAGING_DIR)/usr/include" \
                --with-rlm_ldap-lib-dir="$(STAGING_DIR)/usr/lib"
-  else
-    PKG_CONFIGURE_OPTIONS += --without-rlm_ldap
-  endif
-  ifneq ($(CONFIG_PACKAGE_freeradius-mod-sql-mysql),)
-    PKG_CONFIGURE_LIBS += -lz
-    PKG_CONFIGURE_OPTIONS += \
+else
+  PKG_CONFIGURE_OPTIONS+= --without-rlm_ldap
+endif
+
+ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-sql-mysql),)
+  PKG_CONFIGURE_LIBS+= -lz
+  PKG_CONFIGURE_OPTIONS+= \
                --with-mysql-include-dir="$(STAGING_DIR)/usr/include" \
                --with-mysql-lib-dir="$(STAGING_DIR)/usr/lib/mysql" \
                --without-threads
-  else
-    PKG_CONFIGURE_OPTIONS += --without-rlm_sql_mysql
-  endif
-  ifneq ($(CONFIG_PACKAGE_freeradius-mod-sql-pgsql),)
-    PKG_CONFIGURE_OPTIONS += \
-               --with-rlm_sql_postgresql-include-dir="$(STAGING_DIR)/usr/include" \
-               --with-rlm_sql_postgresql-lib-dir="$(STAGING_DIR)/usr/lib"
-  else
-    PKG_CONFIGURE_OPTIONS += --without-rlm_sql_postgresql
-  endif
 else
-  PKG_CONFIGURE_LIBS += -lcrypto -lssl -lz
-  PKG_CONFIGURE_OPTIONS += \
-               --with-rlm_ldap-include-dir="$(STAGING_DIR)/usr/include" \
-               --with-rlm_ldap-lib-dir="$(STAGING_DIR)/usr/lib" \
-               --with-mysql-include-dir="$(STAGING_DIR)/usr/include" \
-               --with-mysql-lib-dir="$(STAGING_DIR)/usr/lib/mysql" \
-               --without-threads \
+  PKG_CONFIGURE_OPTIONS+= --without-rlm_sql_mysql
+endif
+
+ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-sql-pgsql),)
+  PKG_CONFIGURE_OPTIONS+= \
                --with-rlm_sql_postgresql-include-dir="$(STAGING_DIR)/usr/include" \
                --with-rlm_sql_postgresql-lib-dir="$(STAGING_DIR)/usr/lib"
+else
+  PKG_CONFIGURE_OPTIONS+= --without-rlm_sql_postgresql
+endif
+
+ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-eap-peap),)
+  PKG_CONFIGURE_OPTIONS+= --with-rlm_eap_peap
+else
+  PKG_CONFIGURE_OPTIONS+= --without-rlm_eap_peap
+endif
+
+ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-eap-tls),)
+  PKG_CONFIGURE_OPTIONS+= --with-rlm_eap_tls
+else
+  PKG_CONFIGURE_OPTIONS+= --without-rlm_eap_tls
+endif
+
+ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius-mod-eap-ttls),)
+  PKG_CONFIGURE_OPTIONS+= --with-rlm_eap_ttls
+else
+  PKG_CONFIGURE_OPTIONS+= --without-rlm_eap_ttls
 endif
 
 define Build/Configure
-       (cd $(PKG_BUILD_DIR); rm -f config.cache; \
-               $(TARGET_CONFIGURE_OPTS) \
-               CFLAGS="$(TARGET_CFLAGS)" \
-               CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
-               LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib -L$(PKG_INSTALL_DIR)/usr/lib/freeradius" \
+       $(call Build/Configure/Default, \
+               --libdir=/usr/lib/freeradius \
+               --libexecdir=/usr/lib/freeradius \
+               $(PKG_CONFIGURE_OPTIONS) \
+               , \
+               LDFLAGS="$$$$LDFLAGS -L$(PKG_INSTALL_DIR)/usr/lib/freeradius" \
                LIBS="$(PKG_CONFIGURE_LIBS)" \
                sys_lib_search_path_spec="$(STAGING_DIR)/usr/lib $(STAGING_DIR)/lib" \
                MYSQL_CONFIG="no" \
-               ./configure \
-                       --target=$(GNU_TARGET_NAME) \
-                       --host=$(GNU_TARGET_NAME) \
-                       --build=$(GNU_HOST_NAME) \
-                       --program-prefix="" \
-                       --program-suffix="" \
-                       --prefix=/usr \
-                       --exec-prefix=/usr \
-                       --bindir=/usr/bin \
-                       --datadir=/usr/share \
-                       --includedir=/usr/include \
-                       --infodir=/usr/share/info \
-                       --libdir=/usr/lib/freeradius \
-                       --libexecdir=/usr/lib/freeradius \
-                       --localstatedir=/var \
-                       --mandir=/usr/share/man \
-                       --sbindir=/usr/sbin \
-                       --sysconfdir=/etc \
-                       $(DISABLE_LARGEFILE) \
-                       $(DISABLE_NLS) \
-                       $(PKG_CONFIGURE_OPTIONS) \
-       );
+       )
 endef
 
 define Build/Compile
-       rm -rf $(PKG_INSTALL_DIR)
-       mkdir -p $(PKG_INSTALL_DIR)
        $(MAKE) -C $(PKG_BUILD_DIR) \
                R="$(PKG_INSTALL_DIR)" \
                INSTALLSTRIP="" \
@@ -305,25 +303,25 @@ define Build/Compile
 endef
 
 define Package/freeradius/install
-       install -m0755 -d $(1)/etc/init.d
-       install -m0755 ./files/radiusd.init $(1)/etc/init.d/radiusd
-       install -m0755 -d $(1)/etc/freeradius
+       $(INSTALL_DIR) $(1)/etc/freeradius
        for f in clients.conf dictionary radiusd.conf; do \
                $(CP) $(PKG_INSTALL_DIR)/etc/freeradius/$$$${f} $(1)/etc/freeradius/ ; \
        done
-       install -m0755 -d $(1)/usr/share/freeradius
+       $(INSTALL_DIR) $(1)/usr/share/freeradius
        $(CP) $(PKG_INSTALL_DIR)/usr/share/freeradius/dictionary $(1)/usr/share/freeradius/
-       for f in freeradius freeradius.internal rfc2865 rfc2866 rfc2867 rfc2868 rfc2869 rfc3162 rfc3576 rfc3580 microsoft wispr; do \
+       for f in $(PKG_DICTIONARIES); do \
                $(CP) $(PKG_INSTALL_DIR)/usr/share/freeradius/dictionary.$$$${f} $(1)/usr/share/freeradius/ ; \
        done
-       install -m0755 -d $(1)/usr/lib/freeradius
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/freeradius/libradius{,-*}.so $(1)/usr/lib/freeradius/
-       install -m0755 -d $(1)/usr/sbin
+       $(INSTALL_DIR) $(1)/usr/lib/freeradius
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/freeradius/libradius{,-*}.so $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/sbin
        $(CP) $(PKG_INSTALL_DIR)/usr/sbin/radiusd $(1)/usr/sbin/
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/radiusd.init $(1)/etc/init.d/radiusd
 endef
 
 define Package/freeradius-democerts/install
-       install -m0755 -d $(1)/etc/freeradius
+       $(INSTALL_DIR) $(1)/etc/freeradius
        $(CP) $(PKG_INSTALL_DIR)/etc/freeradius/certs $(1)/etc/freeradius/
        rm -rf $(1)/etc/freeradius/certs/README
        rm -rf $(1)/etc/freeradius/certs/new*
@@ -332,19 +330,19 @@ define Package/freeradius-democerts/install
 endef
 
 define Package/freeradius-utils/install
-       install -m0755 -d $(1)/usr/bin
-       for f in radclient; do \
+       $(INSTALL_DIR) $(1)/usr/bin
+       for f in radclient radeapclient; do \
                $(CP) $(PKG_INSTALL_DIR)/usr/bin/$$$${f} $(1)/usr/bin/ ; \
        done
 endef
 
 define BuildPlugin
   define Package/$(1)/install
-       [ -z "$(2)" ] || install -d -m0755 $$(1)/usr/lib/freeradius
+       [ -z "$(2)" ] || $(INSTALL_DIR) $$(1)/usr/lib/freeradius
        for m in $(2); do \
                $(CP) $(PKG_INSTALL_DIR)/usr/lib/freeradius/$$$$$$$${m}{,-*}.so $$(1)/usr/lib/freeradius/ ; \
        done
-       [ -z "$(3)" ] || install -d -m0755 $$(1)/etc/freeradius
+       [ -z "$(3)" ] || $(INSTALL_DIR) $$(1)/etc/freeradius
        for f in $(3); do \
                $(CP) $(PKG_INSTALL_DIR)/etc/freeradius/$$$$$$$${f} $$(1)/etc/freeradius/ ; \
        done