it requires:
- gcc >= 4.4
- libpthread
-- libreadline
+- GNU libreadline or BSD libedit (editline)
- libusb
- perl
- an ARM cross-compiler to compile the firmware
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:
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/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
-
- 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.
+ 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
5 - Set Environment
static void get_SIMD_instruction_set(char* instruction_set) {
+#if defined (__i386__) || defined (__x86_64__)
#if !defined(__APPLE__) || (defined(__APPLE__) && (__clang_major__ > 8))
#if (__GNUC__ >= 5) && (__GNUC__ > 5 || __GNUC_MINOR__ > 2)
if (__builtin_cpu_supports("avx512f")) strcpy(instruction_set, "AVX512F");
else if (__builtin_cpu_supports("mmx")) strcpy(instruction_set, "MMX");
else
#endif
- strcpy(instruction_set, "unsupported");
+#endif
+ strcpy(instruction_set, "no");
}
logging=0;
}
}
-
+
+#ifdef RL_STATE_READCMD
+ // We are using GNU readline.
int need_hack = (rl_readline_state & RL_STATE_READCMD) > 0;
if (need_hack) {
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);