[posix-app] fix using GNU readline on macOS (#4014)

This commit is contained in:
Yakun Xu
2019-07-24 10:12:42 -07:00
committed by Jonathan Hui
parent 4bfdfa0132
commit 425e4a3326
4 changed files with 18 additions and 11 deletions
+6
View File
@@ -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")
+1 -1
View File
@@ -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
+5 -5
View File
@@ -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
View File
@@ -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);