4 #include "utils/common.h"
5 #include "utils/eloop.h"
6 #include "utils/uuid.h"
7 +#include "utils/build_features.h"
8 #include "crypto/random.h"
9 #include "crypto/tls.h"
10 #include "common/version.h"
11 @@ -567,7 +568,7 @@ int main(int argc, char *argv[])
13 wpa_supplicant_event = hostapd_wpa_event;
15 - c = getopt(argc, argv, "b:Bde:f:hKP:Ttu:vg:G:");
16 + c = getopt(argc, argv, "b:Bde:f:hKP:Ttu:g:G:v::");
20 @@ -604,6 +605,8 @@ int main(int argc, char *argv[])
22 #endif /* CONFIG_DEBUG_LINUX_TRACING */
25 + exit(!has_feature(optarg));
29 --- a/wpa_supplicant/main.c
30 +++ b/wpa_supplicant/main.c
32 #endif /* __linux__ */
35 +#include "build_features.h"
36 #include "wpa_supplicant_i.h"
38 #include "p2p_supplicant.h"
39 @@ -176,7 +177,7 @@ int main(int argc, char *argv[])
42 c = getopt(argc, argv,
43 - "b:Bc:C:D:de:f:g:G:hH:i:I:KLm:No:O:p:P:qsTtuvW");
44 + "b:Bc:C:D:de:f:g:G:hH:i:I:KLm:No:O:p:P:qsTtuv::W");
48 @@ -279,8 +280,12 @@ int main(int argc, char *argv[])
50 #endif /* CONFIG_DBUS */
52 - printf("%s\n", wpa_supplicant_version);
55 + exitcode = !has_feature(optarg);
57 + printf("%s\n", wpa_supplicant_version);
62 params.wait_for_monitor++;
64 +++ b/src/utils/build_features.h
66 +#ifndef BUILD_FEATURES_H
67 +#define BUILD_FEATURES_H
69 +static inline int has_feature(const char *feat)
71 +#ifdef IEEE8021X_EAPOL
72 + if (!strcmp(feat, "eap"))
76 + if (!strcmp(feat, "11n"))
82 +#endif /* BUILD_FEATURES_H */