From 3683cd88c66e4889935009c38d65faf4d3eed17e Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 29 Aug 2019 07:45:09 +0200 Subject: [PATCH] chg: 'hw version' - simple os detection. --- client/cmdhw.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 49 insertions(+), 2 deletions(-) diff --git a/client/cmdhw.c b/client/cmdhw.c index 1d65f5d1d..fe6dc2b4d 100644 --- a/client/cmdhw.c +++ b/client/cmdhw.c @@ -625,8 +625,55 @@ void pm3_version(bool verbose, bool oneliner) { # define PM3CLIENTCOMPILER "GCC " #endif +#if defined(__APPLE__) || defined(__MACH__) +#ifndef PM3HOSTOS +# define PM3HOSTOS "OS X" +#endif + +#elif defined(_MINGW_) +#ifndef PM3HOSTOS +# define PM3HOSTOS "MingW" +#endif + +#elif defined(__LINUX__) +#ifndef PM3HOSTOS +# define PM3HOSTOS "linux" +#endif + +#elif defined(__FreeBSd__) +#ifndef PM3HOSTOS +# define PM3HOSTOS "FreeBSD" +#endif + +#elif defined(__NetBSD__) +#ifndef PM3HOSTOS +# define PM3HOSTOS "NetBSD" +#endif + +#elif defined(__OpenBSD__) +#ifndef PM3HOSTOS +# define PM3HOSTOS "OpenBSD" +#endif + +#elif defined(_WIN32) | defined(__WIN32__) +#ifndef PM3HOSTOS +# define PM3HOSTOS "Windows (32b)" +#endif + +#elif defined(_WIN64) | defined(__WIN64__) +#ifndef PM3HOSTOS +# define PM3HOSTOS "Windows (64b)" +#endif + +#elif defined(__ANDROID__) || defined(ANDROID) +#ifndef PM3HOSTOS +# define PM3HOSTOS "Android" +#endif +#endif + + if (oneliner) { - PrintAndLogEx(NORMAL, "Client: RRG/Iceman compiled with " _YELLOW_(PM3CLIENTCOMPILER __VERSION__)); + PrintAndLogEx(NORMAL, "Client: RRG/Iceman compiled with " _YELLOW_(PM3CLIENTCOMPILER __VERSION__) " on " _YELLOW_(PM3HOSTOS)); return; } @@ -642,7 +689,7 @@ void pm3_version(bool verbose, bool oneliner) { PrintAndLogEx(NORMAL, "\n" _BLUE_(" [ Proxmark3 RFID instrument ]") "\n"); PrintAndLogEx(NORMAL, "\n [ CLIENT ]"); PrintAndLogEx(NORMAL, " client: RRG/Iceman"); // TODO version info? - PrintAndLogEx(NORMAL, " compiled with " PM3CLIENTCOMPILER __VERSION__); + PrintAndLogEx(NORMAL, " compiled with " PM3CLIENTCOMPILER __VERSION__ " on " PM3HOSTOS); PrintAndLogEx(NORMAL, "\n [ PROXMARK RDV4 ]"); PrintAndLogEx(NORMAL, " external flash: %s", IfPm3Flash() ? _GREEN_("present") : _YELLOW_("absent")); PrintAndLogEx(NORMAL, " smartcard reader: %s", IfPm3Smartcard() ? _GREEN_("present") : _YELLOW_("absent"));