mirror of
https://github.com/espressif/openthread.git
synced 2026-08-03 17:37:46 +00:00
[posix-app] fix using GNU readline on macOS (#4014)
This commit is contained in:
@@ -759,6 +759,12 @@ case "${with_readline}" in
|
||||
"none")
|
||||
;;
|
||||
"readline")
|
||||
# Prefer GNU readline installed by Homebrew.
|
||||
if test "${OPENTHREAD_TARGET}" = darwin && brew --prefix readline > /dev/null; then
|
||||
LDFLAGS="-L$(brew --prefix readline)/lib ${LDFLAGS}"
|
||||
CPPFLAGS="-I$(brew --prefix readline)/include ${CPPFLAGS}"
|
||||
PKG_CONFIG_PATH="$(brew --prefix)/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
fi
|
||||
AC_CHECK_LIB([readline], [rl_callback_handler_install])
|
||||
;;
|
||||
"edit")
|
||||
|
||||
@@ -55,7 +55,7 @@ LEGACY ?= 1
|
||||
LINK_RAW ?= 0
|
||||
MAC_FILTER ?= 1
|
||||
MTD_NETDIAG ?= 1
|
||||
READLINE ?= edit
|
||||
READLINE ?= readline
|
||||
REFERENCE_DEVICE ?= 1
|
||||
SERVICE ?= 1
|
||||
SNTP_CLIENT ?= 1
|
||||
|
||||
@@ -30,6 +30,11 @@
|
||||
|
||||
#include "openthread/config.h"
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#if HAVE_LIBEDIT || HAVE_LIBREADLINE
|
||||
#if HAVE_LIBEDIT
|
||||
#include <editline/readline.h>
|
||||
@@ -40,11 +45,6 @@
|
||||
#error "Missing readline library"
|
||||
#endif
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <openthread/cli.h>
|
||||
|
||||
#include "openthread-core-config.h"
|
||||
|
||||
+6
-5
@@ -49,7 +49,8 @@
|
||||
#include <openthread/ncp.h>
|
||||
#elif OPENTHREAD_POSIX_APP_TYPE == OPENTHREAD_POSIX_APP_TYPE_CLI
|
||||
#include <openthread/cli.h>
|
||||
#if HAVE_LIBEDIT || HAVE_LIBREADLINE
|
||||
#if (HAVE_LIBEDIT || HAVE_LIBREADLINE) && !OPENTHREAD_ENABLE_POSIX_APP_DAEMON
|
||||
#define OPENTHREAD_USE_CONSOLE 1
|
||||
#include "console_cli.h"
|
||||
#endif
|
||||
#else
|
||||
@@ -95,7 +96,7 @@ int main(int argc, char *argv[])
|
||||
#if OPENTHREAD_ENABLE_PLATFORM_NETIF
|
||||
otSysInitNetif(instance);
|
||||
#endif
|
||||
#if HAVE_LIBEDIT || HAVE_LIBREADLINE
|
||||
#if OPENTHREAD_USE_CONSOLE
|
||||
otxConsoleInit(instance);
|
||||
#else
|
||||
otCliUartInit(instance);
|
||||
@@ -116,7 +117,7 @@ int main(int argc, char *argv[])
|
||||
mainloop.mTimeout.tv_sec = 10;
|
||||
mainloop.mTimeout.tv_usec = 0;
|
||||
|
||||
#if OPENTHREAD_POSIX_APP_TYPE == OPENTHREAD_POSIX_APP_TYPE_CLI && (HAVE_LIBEDIT || HAVE_LIBREADLINE)
|
||||
#if OPENTHREAD_USE_CONSOLE
|
||||
otxConsoleUpdate(&mainloop);
|
||||
#endif
|
||||
|
||||
@@ -125,7 +126,7 @@ int main(int argc, char *argv[])
|
||||
if (otSysMainloopPoll(&mainloop) >= 0)
|
||||
{
|
||||
otSysMainloopProcess(instance, &mainloop);
|
||||
#if OPENTHREAD_POSIX_APP_TYPE == OPENTHREAD_POSIX_APP_TYPE_CLI && (HAVE_LIBEDIT || HAVE_LIBREADLINE)
|
||||
#if OPENTHREAD_USE_CONSOLE
|
||||
otxConsoleProcess(&mainloop);
|
||||
#endif
|
||||
}
|
||||
@@ -136,7 +137,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
#if OPENTHREAD_POSIX_APP_TYPE == OPENTHREAD_POSIX_APP_TYPE_CLI && (HAVE_LIBEDIT || HAVE_LIBREADLINE)
|
||||
#if OPENTHREAD_USE_CONSOLE
|
||||
otxConsoleDeinit();
|
||||
#endif
|
||||
otInstanceFinalize(instance);
|
||||
|
||||
Reference in New Issue
Block a user