From ed50f7f327fab28320e52a8138979385b225709b Mon Sep 17 00:00:00 2001 From: Michael Farrell Date: Sun, 25 Jun 2017 12:26:33 +1000 Subject: [PATCH 1/3] OSX: Disable GNU readline-specific hack when libedit is used (fixes #110) --- client/ui.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/client/ui.c b/client/ui.c index 05e29dc7..df2c3ce3 100644 --- a/client/ui.c +++ b/client/ui.c @@ -48,7 +48,9 @@ void PrintAndLog(char *fmt, ...) logging=0; } } - + +#ifdef RL_STATE_READCMD + // We are using GNU readline. int need_hack = (rl_readline_state & RL_STATE_READCMD) > 0; if (need_hack) { @@ -58,6 +60,10 @@ void PrintAndLog(char *fmt, ...) rl_replace_line("", 0); rl_redisplay(); } +#else + // We are using libedit (OSX), which doesn't support this flag. + int need_hack = 0; +#endif va_start(argptr, fmt); va_copy(argptr2, argptr); From 1a8cd8c7c4674851005249e193f6f04b1b061cae Mon Sep 17 00:00:00 2001 From: Michael Farrell Date: Sun, 25 Jun 2017 12:38:38 +1000 Subject: [PATCH 2/3] OSX: Remove references to GNU readline as it will be no longer required --- COMPILING.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/COMPILING.txt b/COMPILING.txt index 73201f25..73a80b11 100644 --- a/COMPILING.txt +++ b/COMPILING.txt @@ -109,7 +109,7 @@ Tested on OSX 10.10 Yosemite 1 - Install Xcode and Xcode Command Line Tools 2 - Install Homebrew and dependencies - brew install readline libusb p7zip libusb-compat wget qt5 pkgconfig + brew install libusb p7zip libusb-compat wget qt5 pkgconfig 3 - Install DevKitARM for OSX Option 1: @@ -121,8 +121,8 @@ Tested on OSX 10.10 Yosemite 4 - Edit proxmark3/client/Makefile adding path to readline and qt5 - LDLIBS = -L/usr/local/opt/readline/lib -L/usr/local/opt/qt5/lib -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm - CFLAGS = -std=c99 -I/usr/local/opt/qt5/include -I/usr/local/opt/readline/include -I. -I../include -I../common -I../zlib -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 + LDLIBS = -L/usr/local/opt/qt5/lib -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm + CFLAGS = -std=c99 -I/usr/local/opt/qt5/include -I. -I../include -I../common -I../zlib -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 If your old brew intallation use /usr/local/Cellar/ path replace /usr/local/opt/readline/lib with your actuall readline and qt5 path. See homebrew manuals. From c39ce233feefce432264b2301ace16455ec9cbff Mon Sep 17 00:00:00 2001 From: Michael Farrell Date: Sun, 25 Jun 2017 21:43:39 +1000 Subject: [PATCH 3/3] OSX: delete another reference to readline --- COMPILING.txt | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/COMPILING.txt b/COMPILING.txt index 73a80b11..bd5bef1c 100644 --- a/COMPILING.txt +++ b/COMPILING.txt @@ -3,7 +3,7 @@ The project compiles on Linux, Mac OS X and Windows (MinGW/MSYS). it requires: - gcc >= 4.4 - libpthread -- libreadline +- GNU libreadline or BSD libedit (editline) - libusb - perl - an ARM cross-compiler to compile the firmware @@ -119,13 +119,11 @@ Tested on OSX 10.10 Yosemite brew tap nitsky/stm32 brew install arm-none-eabi-gcc -4 - Edit proxmark3/client/Makefile adding path to readline and qt5 +4 - Edit proxmark3/client/Makefile adding path qt5 LDLIBS = -L/usr/local/opt/qt5/lib -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm CFLAGS = -std=c99 -I/usr/local/opt/qt5/include -I. -I../include -I../common -I../zlib -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 - If your old brew intallation use /usr/local/Cellar/ path replace /usr/local/opt/readline/lib with your actuall readline and qt5 path. See homebrew manuals. - 5 - Set Environment export DEVKITPRO=$HOME/proxmark3/