@@ -122,22 +122,33 @@ endif
endif
ifndef CONFIG_ELOOP
-CONFIG_ELOOP=eloop
+ifdef CONFIG_ELOOP_POLL
+CONFIG_ELOOP=poll
+else
+CONFIG_ELOOP=select
+endif
+endif
+
+ifeq ($(CONFIG_ELOOP), select)
+CFLAGS += -DCONFIG_ELOOP_SELECT
+ELOOP_SHARED=y
+endif
+ifeq ($(CONFIG_ELOOP), poll)
+CFLAGS += -DCONFIG_ELOOP_POLL
+ELOOP_SHARED=y
endif
-OBJS += ../src/utils/$(CONFIG_ELOOP).o
-OBJS_c += ../src/utils/$(CONFIG_ELOOP).o
-ifeq ($(CONFIG_ELOOP), eloop)
+ifdef ELOOP_SHARED
# Using glibc < 2.17 requires -lrt for clock_gettime()
LIBS += -lrt
LIBS_c += -lrt
LIBS_p += -lrt
+ELOOP_FILE=eloop
+else
+ELOOP_FILE=$(CONFIG_ELOOP)
endif
-
-ifdef CONFIG_ELOOP_POLL
-CFLAGS += -DCONFIG_ELOOP_POLL
-endif
-
+OBJS += ../src/utils/$(ELOOP_FILE).o
+OBJS_c += ../src/utils/$(ELOOP_FILE).o
ifdef CONFIG_EAPOL_TEST
CFLAGS += -Werror -DEAPOL_TEST
@@ -1510,7 +1521,7 @@ ifdef CONFIG_PRIVSEP
OBJS_priv += $(OBJS_d) ../src/drivers/drivers.o
OBJS_priv += $(OBJS_l2)
OBJS_priv += ../src/utils/os_$(CONFIG_OS).o
-OBJS_priv += ../src/utils/$(CONFIG_ELOOP).o
+OBJS_priv += ../src/utils/$(ELOOP_FILE).o
OBJS_priv += ../src/utils/common.o
OBJS_priv += ../src/utils/wpa_debug.o
OBJS_priv += ../src/utils/wpabuf.o