diff --git a/samples/tasks/database/Makefile b/samples/tasks/database/Makefile index 3529195a0b..fb32f20c1e 100644 --- a/samples/tasks/database/Makefile +++ b/samples/tasks/database/Makefile @@ -65,6 +65,7 @@ flags += -std=c99 INCFLAGS := -I$(LIBRETRO_COMM_DIR)/include SOURCES_C := \ + $(CORE_DIR)/samples/tasks/database/main.c \ $(CORE_DIR)/tasks/task_database.c \ $(CORE_DIR)/tasks/task_database_cue.c \ $(CORE_DIR)/database_info.c \ @@ -99,9 +100,10 @@ SOURCES_C := \ $(LIBRETRO_COMM_DIR)/streams/file_stream.c \ $(LIBRETRO_COMM_DIR)/vfs/vfs_implementation.c -#SOURCES_C += $(CORE_DIR)/msg_hash.c +DEFINES = -DHAVE_LIBRETRODB -DEFINES = +CFLAGS += $(DEFINES) +CXXFLAGS += $(DEFINES) OBJECTS = $(SOURCES_C:.c=.o) diff --git a/samples/tasks/database/main.c b/samples/tasks/database/main.c new file mode 100644 index 0000000000..fa88fb5246 --- /dev/null +++ b/samples/tasks/database/main.c @@ -0,0 +1,51 @@ +#include +#include +#include + +#include + +#include "../../../core_info.h" +#include "../../../tasks/tasks_internal.h" + +/* + * return codes - + * graceful exit: 1 + * normal exit: 0 + * error exit: -1 + */ + +int main(int argc, char *argv[]) +{ + const char *db_dir = NULL; + const char *core_info_dir = NULL; + const char *core_dir = NULL; + const char *input_dir = NULL; + const char *playlist_dir = NULL; + const char *exts = "dll"; + + if (argc < 6) + { + fprintf(stderr, "Usage: %s \n", argv[0]); + return 1; + } + + db_dir = argv[1]; + core_dir = argv[2]; + core_info_dir = argv[3]; + input_dir = argv[4]; + playlist_dir = argv[5]; + + task_queue_init(false /* threaded enable */, NULL); + + core_info_init_list(core_info_dir, core_dir, exts, true); + + task_push_dbscan(playlist_dir, db_dir, input_dir, false, + true, NULL /* bind callback here later */); + + task_queue_check(); + + core_info_deinit_list(); + task_queue_deinit(); + + return 0; +}