ソースを参照

implement PKG_CHOICES

Waldemar Brodkorb 14 年 前
コミット
d2f5564943
3 ファイル変更44 行追加6 行削除
  1. 25 1
      package/pkgmaker
  2. 15 4
      package/wpa_supplicant/Makefile
  3. 4 1
      package/wpa_supplicant/files/config

+ 25 - 1
package/pkgmaker

@@ -50,6 +50,7 @@ for dn in */Makefile; do
 
 	# PKG_NAME: package name (directory, free-format)
 	# PKG_FLAVOURS: all package flavours (boolean options), uppercase
+	# PKG_CHOICES: all package choices (boolean options), uppercase
 	# PKG_DESCR: package description (directory)
 	# PKG_URL: package homepage
 	# PKG_CXX: uppercase varname part to use for CFrustFrust checks
@@ -61,10 +62,12 @@ for dn in */Makefile; do
 	# CFLINE_*: one free-format Config.in line per subpackage option
 	# PKGFD_*: flavour description, per package flavour option
 	# PKG_{HOST,TARGET}_DEPENDS: add host or target dependencies
-	eval $($GMAKE dump="PKG_NAME PKG_FLAVOURS PKG_DESCR PKG_URL PKG_MULTI PKG_CXX \
+	eval $($GMAKE dump="PKG_NAME PKG_FLAVOURS PKG_CHOICES PKG_DESCR PKG_URL PKG_MULTI PKG_CXX \
 	    ALL_PKGOPTS \$(foreach x,\${ALL_PKGOPTS},PKGNAME_\${x} \
 	    PKGDESC_\${x} PKGDEPS_\${x} PKGDFLT_\${x} CFLINE_\${x}) \
 	    \$(foreach x,\${PKG_FLAVOURS},PKGFD_\${x}) \
+	    \$(foreach x,\${PKG_CHOICES},PKGCD_\${x}) \
+	    \$(foreach x,\${PKG_CHOICES},PKGCS_\${x}) \
 	    PKG_HOST_DEPENDS PKG_TARGET_DEPENDS")
 
 	# dnu: directory name, uppercase, y/-+/_X/
@@ -246,6 +249,27 @@ config ADK_COMPILE_${PKG_CXX}_WITH_UCLIBCXX
 	bool "uClibc++ library"
 	select ADK_PACKAGE_UCLIBCXX
 
+endchoice
+EOF
+
+	[[ -n $PKG_CHOICES ]] && cat >&4 <<EOF
+
+choice
+prompt "Package flavour choice"
+depends on ADK_COMPILE_$dnu
+EOF
+	# Handle choices
+	for pfco in $PKG_CHOICES; do
+		eval pfcd=\$PKGCD_$pfco
+		eval pfcs=\$PKGCS_$pfco
+		typeset -u pfcs=${pfcs#!}
+		print
+		print config ADK_PACKAGE_${dnu}_$pfco
+		print "\tbool \"${pfd:-$PKG_NAME -> $pfcd}\""
+		print "\\tselect ADK_PACKAGE_${pfcs}"
+	done >&4
+	[[ -n $PKG_CHOICES ]] && cat >&4 <<EOF
+
 endchoice
 EOF
 

+ 15 - 4
package/wpa_supplicant/Makefile

@@ -4,19 +4,27 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		wpa_supplicant
-PKG_VERSION:=		0.7.1
+PKG_VERSION:=		0.7.2
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		02c475f949e5c131856915bbb87fa55d
+PKG_MD5SUM:=		0e2cb7e4c35667351d8b7ec28c783e6a
 PKG_DESCR:=		WPA Supplicant with support for WPA and WPA2
 PKG_SECTION:=		net
-ifeq (${ADK_COMPILE_WPA_SUPPLICANT_WITH_OPENSSL},y)
-PKG_DEPENDS:=		libopenssl
+ifeq (${ADK_PACKAGE_WPA_SUPPLICANT_WITH_OPENSSL},y)
 PKG_BUILDDEP+=		openssl
 endif
+ifeq (${ADK_PACKAGE_WPA_SUPPLICANT_WITH_GNUTLS},y)
+PKG_BUILDDEP+=		gnutls
+endif
 PKG_SITES:=		http://hostap.epitest.fi/releases/
 
 WRKSRC=			${WRKDIST}/${PKG_NAME}
 
+PKG_CHOICES:=		WITH_OPENSSL WITH_GNUTLS
+PKGCD_WITH_OPENSSL:=	use OpenSSL for crypto
+PKGCS_WITH_OPENSSL:=	libopenssl
+PKGCD_WITH_GNUTLS:=	use GnuTLS for crypto
+PKGCS_WITH_GNUTLS:=	libgnutls
+
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,WPA_SUPPLICANT,wpa-supplicant,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
@@ -31,6 +39,9 @@ MAKE_FLAGS+=		CPPFLAGS='${TCPPFLAGS}' \
 
 do-configure:
 	${CP} files/config ${WRKBUILD}/.config
+ifneq (${ADK_PACKAGE_WPA_SUPPLICANT_WITH_GNUTLS},)
+	${SED} "s#openssl#gnutls#" ${WRKBUILD}/.config
+endif
 
 do-install:
 	${INSTALL_DIR} ${IDIR_WPA_SUPPLICANT}/usr/sbin

+ 4 - 1
package/wpa_supplicant/files/config

@@ -1,8 +1,11 @@
 # rather important
 CONFIG_DRIVER_NL80211=y
-CONFIG_IEEE8021X_EAPOL=y
+CONFIG_DRIVER_WEXT=y
+#CONFIG_IEEE8021X_EAPOL=y
 CONFIG_CTRL_IFACE=y
 
 # default
 CONFIG_EAP_PSK=y
 CONFIG_EAP_MD5=y
+# tls implementation
+CONFIG_TLS=openssl