diff --git a/Makefile b/Makefile index 7fc22768a8..c27edef6ed 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,5 @@ +HAVE_FILE_LOGGER=1 + include config.mk TARGET = retroarch diff --git a/Makefile.common b/Makefile.common index 88ba717c9f..7f6b5ff3db 100644 --- a/Makefile.common +++ b/Makefile.common @@ -37,6 +37,10 @@ ifeq ($(TDM_GCC),) LDCXXFLAGS += -static-libstdc++ endif +ifeq ($(HAVE_FILE_LOGGER), 1) + CFLAGS += -DHAVE_FILE_LOGGER -Ilogger/netlogger +endif + CFLAGS += -I./libretro-common/include # Switches diff --git a/retroarch.c b/retroarch.c index 7b8c1e8201..dea16ef8fb 100644 --- a/retroarch.c +++ b/retroarch.c @@ -457,6 +457,10 @@ static void parse_input(int argc, char *argv[]) { "subsystem", 1, NULL, 'Z' }, { "max-frames", 1, NULL, 'm' }, { "eof-exit", 0, &val, 'e' }, + { "version", 0, &val, 'V' }, +#ifdef HAVE_FILE_LOGGER + { "log-file", 1, &val, 'L' }, +#endif { NULL, 0, NULL, 0 } }; @@ -662,7 +666,7 @@ static void parse_input(int argc, char *argv[]) runloop->frames.video.max = strtoul(optarg, NULL, 10); break; - case 0: + case 0: /* options without short variant */ switch (val) { case 'M': @@ -743,6 +747,16 @@ static void parse_input(int argc, char *argv[]) global->bsv.eof_exit = true; break; + case 'V': + print_version(); + exit(0); + +#ifdef HAVE_FILE_LOGGER + case 'L': + global->log_file = fopen(optarg, "wb"); + break; +#endif + default: break; } @@ -1169,6 +1183,10 @@ error: void rarch_main_init_wrap(const struct rarch_main_wrap *args, int *argc, char **argv) { +#ifdef HAVE_FILE_LOGGER + int i; +#endif + *argc = 0; argv[(*argc)++] = strdup("retroarch"); diff --git a/retroarch_logger.h b/retroarch_logger.h index aa5aa3a314..098816db45 100644 --- a/retroarch_logger.h +++ b/retroarch_logger.h @@ -20,7 +20,8 @@ #include #include -#if defined(HAVE_FILE_LOGGER) && defined(RARCH_INTERNAL) +#if defined(HAVE_FILE_LOGGER) && defined(RARCH_INTERNAL) && !defined(IS_JOYCONFIG) +FILE *rarch_main_log_file(void); #define LOG_FILE (rarch_main_log_file()) #else #define LOG_FILE (stderr) diff --git a/tools/retroarch-joyconfig-griffin.c b/tools/retroarch-joyconfig-griffin.c index 89a13fd033..4a63722fb4 100644 --- a/tools/retroarch-joyconfig-griffin.c +++ b/tools/retroarch-joyconfig-griffin.c @@ -14,6 +14,8 @@ * If not, see . */ +#define IS_JOYCONFIG + #include "retroarch-joyconfig.c" #include "../libretro-common/dynamic/dylib.c"