diff --git a/dylib.h b/dylib.h new file mode 100644 index 0000000000..9af6d1e2e1 --- /dev/null +++ b/dylib.h @@ -0,0 +1,83 @@ +/* RetroArch - A frontend for libretro. + * Copyright (C) 2010-2014 - Hans-Kristian Arntzen + * Copyright (C) 2011-2015 - Daniel De Matteis + * + * RetroArch is free software: you can redistribute it and/or modify it under the terms + * of the GNU General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with RetroArch. + * If not, see . + */ + +#ifndef __DYLIB_H +#define __DYLIB_H + +#include +#include "libretro.h" + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#if defined(HAVE_DYNAMIC) || defined(HAVE_DYLIB) +#define NEED_DYNAMIC +#else +#undef NEED_DYNAMIC +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void *dylib_t; +typedef void (*function_t)(void); + +/** + * init_libretro_sym: + * @dummy : Load dummy symbols if true + * + * Initializes libretro symbols and + * setups environment callback functions. + **/ +void init_libretro_sym(bool dummy); + +/** + * uninit_libretro_sym: + * + * Frees libretro core. + * + * Frees all core options, + * associated state, and + * unbind all libretro callback symbols. + **/ +void uninit_libretro_sym(void); + +#ifdef NEED_DYNAMIC +/** + * dylib_load: + * @path : Path to libretro core library. + * + * Platform independent dylib loading. + * + * Returns: library handle on success, otherwise NULL. + **/ +dylib_t dylib_load(const char *path); + +/** + * dylib_close: + * @lib : Library handle. + * + * Frees library handle. + **/ +void dylib_close(dylib_t lib); + +function_t dylib_proc(dylib_t lib, const char *proc); +#endif + + +#endif diff --git a/dynamic.h b/dynamic.h index cdfb614cdc..dc1ed37097 100644 --- a/dynamic.h +++ b/dynamic.h @@ -24,61 +24,12 @@ #include "config.h" #endif -#if defined(HAVE_DYNAMIC) || defined(HAVE_DYLIB) -#define NEED_DYNAMIC -#else -#undef NEED_DYNAMIC -#endif +#include "dylib.h" #ifdef __cplusplus extern "C" { #endif -typedef void *dylib_t; -typedef void (*function_t)(void); - -/** - * init_libretro_sym: - * @dummy : Load dummy symbols if true - * - * Initializes libretro symbols and - * setups environment callback functions. - **/ -void init_libretro_sym(bool dummy); - -/** - * uninit_libretro_sym: - * - * Frees libretro core. - * - * Frees all core options, - * associated state, and - * unbind all libretro callback symbols. - **/ -void uninit_libretro_sym(void); - -#ifdef NEED_DYNAMIC -/** - * dylib_load: - * @path : Path to libretro core library. - * - * Platform independent dylib loading. - * - * Returns: library handle on success, otherwise NULL. - **/ -dylib_t dylib_load(const char *path); - -/** - * dylib_close: - * @lib : Library handle. - * - * Frees library handle. - **/ -void dylib_close(dylib_t lib); - -function_t dylib_proc(dylib_t lib, const char *proc); -#endif - /** * libretro_get_environment_info: * @func : Function pointer for get_environment_info. diff --git a/gfx/d3d/d3d.cpp b/gfx/d3d/d3d.cpp index cae1c924de..e294218cc6 100644 --- a/gfx/d3d/d3d.cpp +++ b/gfx/d3d/d3d.cpp @@ -50,7 +50,7 @@ #endif #endif -#include "../../dynamic.h" +#include "../../dylib.h" /* forward declarations */ static void d3d_calculate_rect(d3d_video_t *d3d,