From 147fd9de4eeba24fc6e80d78cf9beedf51b0d6d9 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Thu, 16 Aug 2012 10:12:50 -0700 Subject: [PATCH] Avoid dynamic handling of libsndio This makes it safer and easier to handle as OpenBSD updates it --- Alc/backends/sndio.c | 81 ---------------------------------------------------- CMakeLists.txt | 10 ++----- 2 files changed, 3 insertions(+), 88 deletions(-) diff --git a/Alc/backends/sndio.c b/Alc/backends/sndio.c index 18636786..1d1c512c 100644 --- a/Alc/backends/sndio.c +++ b/Alc/backends/sndio.c @@ -33,84 +33,8 @@ static const ALCchar sndio_device[] = "SndIO Default"; -#ifdef HAVE_DYNLOAD -static void *sndio_handle; -#define MAKE_FUNC(x) static typeof(x) * p##x -MAKE_FUNC(sio_initpar); -MAKE_FUNC(sio_open); -MAKE_FUNC(sio_close); -MAKE_FUNC(sio_setpar); -MAKE_FUNC(sio_getpar); -MAKE_FUNC(sio_getcap); -MAKE_FUNC(sio_onmove); -MAKE_FUNC(sio_write); -MAKE_FUNC(sio_read); -MAKE_FUNC(sio_start); -MAKE_FUNC(sio_stop); -MAKE_FUNC(sio_nfds); -MAKE_FUNC(sio_pollfd); -MAKE_FUNC(sio_revents); -MAKE_FUNC(sio_eof); -MAKE_FUNC(sio_setvol); -MAKE_FUNC(sio_onvol); - -#define sio_initpar psio_initpar -#define sio_open psio_open -#define sio_close psio_close -#define sio_setpar psio_setpar -#define sio_getpar psio_getpar -#define sio_getcap psio_getcap -#define sio_onmove psio_onmove -#define sio_write psio_write -#define sio_read psio_read -#define sio_start psio_start -#define sio_stop psio_stop -#define sio_nfds psio_nfds -#define sio_pollfd psio_pollfd -#define sio_revents psio_revents -#define sio_eof psio_eof -#define sio_setvol psio_setvol -#define sio_onvol psio_onvol -#endif - - static ALCboolean sndio_load(void) { -#ifdef HAVE_DYNLOAD - if(!sndio_handle) - { - sndio_handle = LoadLib("libsndio.so.2"); - if(!sndio_handle) - return ALC_FALSE; - -#define LOAD_FUNC(f) do { \ - p##f = GetSymbol(sndio_handle, #f); \ - if(p##f == NULL) { \ - CloseLib(sndio_handle); \ - sndio_handle = NULL; \ - return ALC_FALSE; \ - } \ -} while(0) - LOAD_FUNC(sio_initpar); - LOAD_FUNC(sio_open); - LOAD_FUNC(sio_close); - LOAD_FUNC(sio_setpar); - LOAD_FUNC(sio_getpar); - LOAD_FUNC(sio_getcap); - LOAD_FUNC(sio_onmove); - LOAD_FUNC(sio_write); - LOAD_FUNC(sio_read); - LOAD_FUNC(sio_start); - LOAD_FUNC(sio_stop); - LOAD_FUNC(sio_nfds); - LOAD_FUNC(sio_pollfd); - LOAD_FUNC(sio_revents); - LOAD_FUNC(sio_eof); - LOAD_FUNC(sio_setvol); - LOAD_FUNC(sio_onvol); -#undef LOAD_FUNC - } -#endif return ALC_TRUE; } @@ -352,11 +276,6 @@ ALCboolean alc_sndio_init(BackendFuncs *func_list) void alc_sndio_deinit(void) { -#ifdef HAVE_DYNLOAD - if(sndio_handle) - CloseLib(sndio_handle); - sndio_handle = NULL; -#endif } void alc_sndio_probe(enum DevProbe type) diff --git a/CMakeLists.txt b/CMakeLists.txt index c8ecfd8f..0634e4eb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -560,15 +560,11 @@ IF(SNDIO) CHECK_INCLUDE_FILE(sndio.h HAVE_SNDIO_H) IF(HAVE_SNDIO_H) CHECK_SHARED_FUNCTION_EXISTS(sio_open "sndio.h" sndio "" HAVE_LIBSNDIO) - IF(HAVE_LIBSNDIO OR HAVE_DLFCN_H OR WIN32) + IF(HAVE_LIBSNDIO) SET(HAVE_SNDIO 1) SET(ALC_OBJS ${ALC_OBJS} Alc/backends/sndio.c) - IF(HAVE_DLFCN_H OR WIN32) - SET(BACKENDS "${BACKENDS} SndIO,") - ELSE() - SET(BACKENDS "${BACKENDS} SndIO \(linked\),") - SET(EXTRA_LIBS sndio ${EXTRA_LIBS}) - ENDIF() + SET(BACKENDS "${BACKENDS} SndIO \(linked\),") + SET(EXTRA_LIBS sndio ${EXTRA_LIBS}) ENDIF() ENDIF() ENDIF() -- 2.11.4.GIT