4a1063965e
headers for functions that are not exported. OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libgme?expand=0&rev=4
510 lines
18 KiB
Diff
510 lines
18 KiB
Diff
Index: gme/gme.cpp
|
|
===================================================================
|
|
--- gme/gme.cpp.orig
|
|
+++ gme/gme.cpp
|
|
@@ -22,7 +22,7 @@ Inc., 51 Franklin Street, Fifth Floor, B
|
|
|
|
#include "blargg_source.h"
|
|
|
|
-gme_type_t const* gme_type_list()
|
|
+BLARGG_EXPORT gme_type_t const* gme_type_list()
|
|
{
|
|
static gme_type_t const gme_type_list_ [] = {
|
|
#ifdef USE_GME_AY
|
|
@@ -61,7 +61,7 @@ gme_type_t const* gme_type_list()
|
|
return gme_type_list_;
|
|
}
|
|
|
|
-const char* gme_identify_header( void const* header )
|
|
+BLARGG_EXPORT const char* gme_identify_header( void const* header )
|
|
{
|
|
switch ( get_be32( header ) )
|
|
{
|
|
@@ -90,7 +90,7 @@ static void to_uppercase( const char* in
|
|
*out = 0; // extension too long
|
|
}
|
|
|
|
-gme_type_t gme_identify_extension( const char* extension_ )
|
|
+BLARGG_EXPORT gme_type_t gme_identify_extension( const char* extension_ )
|
|
{
|
|
char const* end = strrchr( extension_, '.' );
|
|
if ( end )
|
|
@@ -105,7 +105,7 @@ gme_type_t gme_identify_extension( const
|
|
return 0;
|
|
}
|
|
|
|
-gme_err_t gme_identify_file( const char* path, gme_type_t* type_out )
|
|
+BLARGG_EXPORT gme_err_t gme_identify_file( const char* path, gme_type_t* type_out )
|
|
{
|
|
*type_out = gme_identify_extension( path );
|
|
// TODO: don't examine header if file has extension?
|
|
@@ -120,7 +120,7 @@ gme_err_t gme_identify_file( const char*
|
|
return 0;
|
|
}
|
|
|
|
-gme_err_t gme_open_data( void const* data, long size, Music_Emu** out, int sample_rate )
|
|
+BLARGG_EXPORT gme_err_t gme_open_data( void const* data, long size, Music_Emu** out, int sample_rate )
|
|
{
|
|
require( (data || !size) && out );
|
|
*out = 0;
|
|
@@ -144,7 +144,7 @@ gme_err_t gme_open_data( void const* dat
|
|
return err;
|
|
}
|
|
|
|
-gme_err_t gme_open_file( const char* path, Music_Emu** out, int sample_rate )
|
|
+BLARGG_EXPORT gme_err_t gme_open_file( const char* path, Music_Emu** out, int sample_rate )
|
|
{
|
|
require( path && out );
|
|
*out = 0;
|
|
@@ -181,7 +181,7 @@ gme_err_t gme_open_file( const char* pat
|
|
return err;
|
|
}
|
|
|
|
-Music_Emu* gme_new_emu( gme_type_t type, int rate )
|
|
+BLARGG_EXPORT Music_Emu* gme_new_emu( gme_type_t type, int rate )
|
|
{
|
|
if ( type )
|
|
{
|
|
@@ -214,27 +214,27 @@ Music_Emu* gme_new_emu( gme_type_t type,
|
|
return 0;
|
|
}
|
|
|
|
-gme_err_t gme_load_file( Music_Emu* me, const char* path ) { return me->load_file( path ); }
|
|
+BLARGG_EXPORT gme_err_t gme_load_file( Music_Emu* me, const char* path ) { return me->load_file( path ); }
|
|
|
|
-gme_err_t gme_load_data( Music_Emu* me, void const* data, long size )
|
|
+BLARGG_EXPORT gme_err_t gme_load_data( Music_Emu* me, void const* data, long size )
|
|
{
|
|
Mem_File_Reader in( data, size );
|
|
return me->load( in );
|
|
}
|
|
|
|
-gme_err_t gme_load_custom( Music_Emu* me, gme_reader_t func, long size, void* data )
|
|
+BLARGG_EXPORT gme_err_t gme_load_custom( Music_Emu* me, gme_reader_t func, long size, void* data )
|
|
{
|
|
Callback_Reader in( func, size, data );
|
|
return me->load( in );
|
|
}
|
|
|
|
-void gme_delete( Music_Emu* me ) { delete me; }
|
|
+BLARGG_EXPORT void gme_delete( Music_Emu* me ) { delete me; }
|
|
|
|
-gme_type_t gme_type( Music_Emu const* me ) { return me->type(); }
|
|
+BLARGG_EXPORT gme_type_t gme_type( Music_Emu const* me ) { return me->type(); }
|
|
|
|
-const char* gme_warning( Music_Emu* me ) { return me->warning(); }
|
|
+BLARGG_EXPORT const char* gme_warning( Music_Emu* me ) { return me->warning(); }
|
|
|
|
-int gme_track_count( Music_Emu const* me ) { return me->track_count(); }
|
|
+BLARGG_EXPORT int gme_track_count( Music_Emu const* me ) { return me->track_count(); }
|
|
|
|
struct gme_info_t_ : gme_info_t
|
|
{
|
|
@@ -243,7 +243,7 @@ struct gme_info_t_ : gme_info_t
|
|
BLARGG_DISABLE_NOTHROW
|
|
};
|
|
|
|
-gme_err_t gme_track_info( Music_Emu const* me, gme_info_t** out, int track )
|
|
+BLARGG_EXPORT gme_err_t gme_track_info( Music_Emu const* me, gme_info_t** out, int track )
|
|
{
|
|
*out = NULL;
|
|
|
|
@@ -309,12 +309,12 @@ gme_err_t gme_track_info( Music_Emu cons
|
|
return 0;
|
|
}
|
|
|
|
-void gme_free_info( gme_info_t* info )
|
|
+BLARGG_EXPORT void gme_free_info( gme_info_t* info )
|
|
{
|
|
delete STATIC_CAST(gme_info_t_*,info);
|
|
}
|
|
|
|
-void gme_set_stereo_depth( Music_Emu* me, double depth )
|
|
+BLARGG_EXPORT void gme_set_stereo_depth( Music_Emu* me, double depth )
|
|
{
|
|
#if !GME_DISABLE_STEREO_DEPTH
|
|
if ( me->effects_buffer )
|
|
@@ -322,23 +322,25 @@ void gme_set_stereo_depth( Music_Emu* me
|
|
#endif
|
|
}
|
|
|
|
-void* gme_user_data ( Music_Emu const* me ) { return me->user_data(); }
|
|
-void gme_set_user_data ( Music_Emu* me, void* new_user_data ) { me->set_user_data( new_user_data ); }
|
|
-void gme_set_user_cleanup(Music_Emu* me, gme_user_cleanup_t func ) { me->set_user_cleanup( func ); }
|
|
-
|
|
-gme_err_t gme_start_track ( Music_Emu* me, int index ) { return me->start_track( index ); }
|
|
-gme_err_t gme_play ( Music_Emu* me, int n, short* p ) { return me->play( n, p ); }
|
|
-void gme_set_fade ( Music_Emu* me, int start_msec ) { me->set_fade( start_msec ); }
|
|
-int gme_track_ended ( Music_Emu const* me ) { return me->track_ended(); }
|
|
-int gme_tell ( Music_Emu const* me ) { return me->tell(); }
|
|
-gme_err_t gme_seek ( Music_Emu* me, int msec ) { return me->seek( msec ); }
|
|
-int gme_voice_count ( Music_Emu const* me ) { return me->voice_count(); }
|
|
-void gme_ignore_silence ( Music_Emu* me, int disable ) { me->ignore_silence( disable != 0 ); }
|
|
-void gme_set_tempo ( Music_Emu* me, double t ) { me->set_tempo( t ); }
|
|
-void gme_mute_voice ( Music_Emu* me, int index, int mute ) { me->mute_voice( index, mute != 0 ); }
|
|
-void gme_mute_voices ( Music_Emu* me, int mask ) { me->mute_voices( mask ); }
|
|
+BLARGG_EXPORT void* gme_user_data ( Music_Emu const* me ) { return me->user_data(); }
|
|
+BLARGG_EXPORT void gme_set_user_data ( Music_Emu* me, void* new_user_data ) { me->set_user_data( new_user_data ); }
|
|
+BLARGG_EXPORT void gme_set_user_cleanup(Music_Emu* me, gme_user_cleanup_t func ) { me->set_user_cleanup( func ); }
|
|
+
|
|
+BLARGG_EXPORT gme_err_t gme_start_track ( Music_Emu* me, int index ) { return me->start_track( index ); }
|
|
+BLARGG_EXPORT gme_err_t gme_play ( Music_Emu* me, int n, short* p ) { return me->play( n, p ); }
|
|
+BLARGG_EXPORT void gme_set_fade ( Music_Emu* me, int start_msec ) { me->set_fade( start_msec ); }
|
|
+BLARGG_EXPORT int gme_track_ended ( Music_Emu const* me ) { return me->track_ended(); }
|
|
+BLARGG_EXPORT int gme_tell ( Music_Emu const* me ) { return me->tell(); }
|
|
+BLARGG_EXPORT gme_err_t gme_seek ( Music_Emu* me, int msec ) { return me->seek( msec ); }
|
|
+BLARGG_EXPORT int gme_voice_count ( Music_Emu const* me ) { return me->voice_count(); }
|
|
+BLARGG_EXPORT void gme_ignore_silence ( Music_Emu* me, int disable ) { me->ignore_silence( disable != 0 ); }
|
|
+BLARGG_EXPORT void gme_set_tempo ( Music_Emu* me, double t ) { me->set_tempo( t ); }
|
|
+BLARGG_EXPORT void gme_mute_voice ( Music_Emu* me, int index, int mute ) { me->mute_voice( index, mute != 0 ); }
|
|
+BLARGG_EXPORT void gme_mute_voices ( Music_Emu* me, int mask ) { me->mute_voices( mask ); }
|
|
+BLARGG_EXPORT void gme_clear_playlist ( Music_Emu* me ) { me->clear_playlist(); }
|
|
+BLARGG_EXPORT int gme_type_multitrack( gme_type_t t ) { return t->track_count != 1; }
|
|
|
|
-void gme_set_equalizer ( Music_Emu* me, gme_equalizer_t const* eq )
|
|
+BLARGG_EXPORT void gme_set_equalizer ( Music_Emu* me, gme_equalizer_t const* eq )
|
|
{
|
|
Music_Emu::equalizer_t e = me->equalizer();
|
|
e.treble = eq->treble;
|
|
@@ -346,7 +348,7 @@ void gme_set_equalizer ( Music_Emu
|
|
me->set_equalizer( e );
|
|
}
|
|
|
|
-void gme_equalizer( Music_Emu const* me, gme_equalizer_t* out )
|
|
+BLARGG_EXPORT void gme_equalizer( Music_Emu const* me, gme_equalizer_t* out )
|
|
{
|
|
gme_equalizer_t e = { };
|
|
e.treble = me->equalizer().treble;
|
|
@@ -354,13 +356,13 @@ void gme_equalizer( Music_Emu const* me,
|
|
*out = e;
|
|
}
|
|
|
|
-const char* gme_voice_name( Music_Emu const* me, int i )
|
|
+BLARGG_EXPORT const char* gme_voice_name( Music_Emu const* me, int i )
|
|
{
|
|
assert( (unsigned) i < (unsigned) me->voice_count() );
|
|
return me->voice_names() [i];
|
|
}
|
|
|
|
-const char* gme_type_system( gme_type_t type )
|
|
+BLARGG_EXPORT const char* gme_type_system( gme_type_t type )
|
|
{
|
|
assert( type );
|
|
return type->system;
|
|
Index: gme/M3u_Playlist.cpp
|
|
===================================================================
|
|
--- gme/M3u_Playlist.cpp.orig
|
|
+++ gme/M3u_Playlist.cpp
|
|
@@ -52,9 +52,9 @@ blargg_err_t Gme_File::load_m3u( const c
|
|
|
|
blargg_err_t Gme_File::load_m3u( Data_Reader& in ) { return load_m3u_( playlist.load( in ) ); }
|
|
|
|
-gme_err_t gme_load_m3u( Music_Emu* me, const char* path ) { return me->load_m3u( path ); }
|
|
+BLARGG_EXPORT gme_err_t gme_load_m3u( Music_Emu* me, const char* path ) { return me->load_m3u( path ); }
|
|
|
|
-gme_err_t gme_load_m3u_data( Music_Emu* me, const void* data, long size )
|
|
+BLARGG_EXPORT gme_err_t gme_load_m3u_data( Music_Emu* me, const void* data, long size )
|
|
{
|
|
Mem_File_Reader in( data, size );
|
|
return me->load_m3u( in );
|
|
Index: gme/blargg_source.h
|
|
===================================================================
|
|
--- gme/blargg_source.h.orig
|
|
+++ gme/blargg_source.h
|
|
@@ -66,6 +66,17 @@ inline T max( T x, T y )
|
|
#define byte byte_
|
|
typedef unsigned char byte;
|
|
|
|
+// Setup compiler defines useful for exporting required public API symbols in gme.cpp
|
|
+#ifndef BLARGG_EXPORT
|
|
+ #if defined (_WIN32) && defined(BLARGG_BUILD_DLL)
|
|
+ #define BLARGG_EXPORT __declspec(dllexport)
|
|
+ #elif defined (LIBGME_VISIBILITY)
|
|
+ #define BLARGG_EXPORT __attribute__((visibility ("default")))
|
|
+ #else
|
|
+ #define BLARGG_EXPORT
|
|
+ #endif
|
|
+#endif
|
|
+
|
|
// deprecated
|
|
#define BLARGG_CHECK_ALLOC CHECK_ALLOC
|
|
#define BLARGG_RETURN_ERR RETURN_ERR
|
|
Index: player/Music_Player.h
|
|
===================================================================
|
|
--- player/Music_Player.h.orig
|
|
+++ player/Music_Player.h
|
|
@@ -4,18 +4,18 @@
|
|
#ifndef MUSIC_PLAYER_H
|
|
#define MUSIC_PLAYER_H
|
|
|
|
-#include "gme/Music_Emu.h"
|
|
+#include "gme.h"
|
|
|
|
class Music_Player {
|
|
public:
|
|
// Initialize player and set sample rate
|
|
- blargg_err_t init( long sample_rate = 44100 );
|
|
+ gme_err_t init( long sample_rate = 44100 );
|
|
|
|
// Load game music file. NULL on success, otherwise error string.
|
|
- blargg_err_t load_file( const char* path );
|
|
+ gme_err_t load_file( const char* path );
|
|
|
|
// (Re)start playing track. Tracks are numbered from 0 to track_count() - 1.
|
|
- blargg_err_t start_track( int track );
|
|
+ gme_err_t start_track( int track );
|
|
|
|
// Stop playing current file
|
|
void stop();
|
|
@@ -26,7 +26,7 @@ public:
|
|
int track_count() const;
|
|
|
|
// Info for current track
|
|
- track_info_t const& track_info() const { return track_info_; }
|
|
+ gme_info_t const& track_info() const { return *track_info_; }
|
|
|
|
// Pause/resume playing current track.
|
|
void pause( int );
|
|
@@ -59,7 +59,7 @@ private:
|
|
long sample_rate;
|
|
int scope_buf_size;
|
|
bool paused;
|
|
- track_info_t track_info_;
|
|
+ gme_info_t* track_info_;
|
|
|
|
void suspend();
|
|
void resume();
|
|
Index: player/Music_Player.cpp
|
|
===================================================================
|
|
--- player/Music_Player.cpp.orig
|
|
+++ player/Music_Player.cpp
|
|
@@ -2,12 +2,10 @@
|
|
|
|
#include "Music_Player.h"
|
|
|
|
-#include "gme/Music_Emu.h"
|
|
-
|
|
#include <string.h>
|
|
#include <ctype.h>
|
|
|
|
-/* Copyright (C) 2005-2006 by Shay Green. Permission is hereby granted, free of
|
|
+/* Copyright (C) 2005-2010 by Shay Green. Permission is hereby granted, free of
|
|
charge, to any person obtaining a copy of this software module and associated
|
|
documentation files (the "Software"), to deal in the Software without
|
|
restriction, including without limitation the rights to use, copy, modify,
|
|
@@ -22,7 +20,12 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAI
|
|
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
|
|
|
-#include "blargg_source.h"
|
|
+#define RETURN_ERR( expr ) \
|
|
+ do {\
|
|
+ gme_err_t err_ = (expr);\
|
|
+ if ( err_ )\
|
|
+ return err_;\
|
|
+ } while ( 0 )
|
|
|
|
// Number of audio buffers per second. Adjust if you encounter audio skipping.
|
|
const int fill_rate = 45;
|
|
@@ -36,12 +39,13 @@ static void sound_cleanup();
|
|
|
|
Music_Player::Music_Player()
|
|
{
|
|
- emu_ = 0;
|
|
- scope_buf = 0;
|
|
- paused = false;
|
|
+ emu_ = 0;
|
|
+ scope_buf = 0;
|
|
+ paused = false;
|
|
+ track_info_ = NULL;
|
|
}
|
|
|
|
-blargg_err_t Music_Player::init( long rate )
|
|
+gme_err_t Music_Player::init( long rate )
|
|
{
|
|
sample_rate = rate;
|
|
|
|
@@ -56,17 +60,18 @@ blargg_err_t Music_Player::init( long ra
|
|
void Music_Player::stop()
|
|
{
|
|
sound_stop();
|
|
- delete emu_;
|
|
- emu_ = 0;
|
|
+ gme_delete( emu_ );
|
|
+ emu_ = NULL;
|
|
}
|
|
|
|
Music_Player::~Music_Player()
|
|
{
|
|
stop();
|
|
sound_cleanup();
|
|
+ gme_free_info( track_info_ );
|
|
}
|
|
|
|
-blargg_err_t Music_Player::load_file( const char* path )
|
|
+gme_err_t Music_Player::load_file( const char* path )
|
|
{
|
|
stop();
|
|
|
|
@@ -79,34 +84,36 @@ blargg_err_t Music_Player::load_file( co
|
|
if ( !p )
|
|
p = m3u_path + strlen( m3u_path );
|
|
strcpy( p, ".m3u" );
|
|
- if ( emu_->load_m3u( m3u_path ) ) { } // ignore error
|
|
+ if ( gme_load_m3u( emu_, m3u_path ) ) { } // ignore error
|
|
|
|
return 0;
|
|
}
|
|
|
|
int Music_Player::track_count() const
|
|
{
|
|
- return emu_ ? emu_->track_count() : false;
|
|
+ return emu_ ? gme_track_count( emu_ ) : false;
|
|
}
|
|
|
|
-blargg_err_t Music_Player::start_track( int track )
|
|
+gme_err_t Music_Player::start_track( int track )
|
|
{
|
|
if ( emu_ )
|
|
{
|
|
+ gme_free_info( track_info_ );
|
|
+ track_info_ = NULL;
|
|
+ RETURN_ERR( gme_track_info( emu_, &track_info_, track ) );
|
|
+
|
|
// Sound must not be running when operating on emulator
|
|
sound_stop();
|
|
- RETURN_ERR( emu_->start_track( track ) );
|
|
+ RETURN_ERR( gme_start_track( emu_, track ) );
|
|
|
|
// Calculate track length
|
|
- if ( !emu_->track_info( &track_info_ ) )
|
|
- {
|
|
- if ( track_info_.length <= 0 )
|
|
- track_info_.length = track_info_.intro_length +
|
|
- track_info_.loop_length * 2;
|
|
- }
|
|
- if ( track_info_.length <= 0 )
|
|
- track_info_.length = (long) (2.5 * 60 * 1000);
|
|
- emu_->set_fade( track_info_.length );
|
|
+ if ( track_info_->length <= 0 )
|
|
+ track_info_->length = track_info_->intro_length +
|
|
+ track_info_->loop_length * 2;
|
|
+
|
|
+ if ( track_info_->length <= 0 )
|
|
+ track_info_->length = (long) (2.5 * 60 * 1000);
|
|
+ gme_set_fade( emu_, track_info_->length );
|
|
|
|
paused = false;
|
|
sound_start();
|
|
@@ -137,7 +144,7 @@ void Music_Player::resume()
|
|
|
|
bool Music_Player::track_ended() const
|
|
{
|
|
- return emu_ ? emu_->track_ended() : false;
|
|
+ return emu_ ? gme_track_ended( emu_ ) : false;
|
|
}
|
|
|
|
void Music_Player::set_stereo_depth( double tempo )
|
|
@@ -150,15 +157,15 @@ void Music_Player::set_stereo_depth( dou
|
|
void Music_Player::set_tempo( double tempo )
|
|
{
|
|
suspend();
|
|
- emu_->set_tempo( tempo );
|
|
+ gme_set_tempo( emu_, tempo );
|
|
resume();
|
|
}
|
|
|
|
void Music_Player::mute_voices( int mask )
|
|
{
|
|
suspend();
|
|
- emu_->mute_voices( mask );
|
|
- emu_->ignore_silence( mask != 0 );
|
|
+ gme_mute_voices( emu_, mask );
|
|
+ gme_ignore_silence( emu_, mask != 0 );
|
|
resume();
|
|
}
|
|
|
|
@@ -167,7 +174,7 @@ void Music_Player::fill_buffer( void* da
|
|
Music_Player* self = (Music_Player*) data;
|
|
if ( self->emu_ )
|
|
{
|
|
- if ( self->emu_->play( count, out ) ) { } // ignore error
|
|
+ if ( gme_play( self->emu_, count, out ) ) { } // ignore error
|
|
|
|
if ( self->scope_buf )
|
|
memcpy( self->scope_buf, out, self->scope_buf_size * sizeof *self->scope_buf );
|
|
Index: CMakeLists.txt
|
|
===================================================================
|
|
--- CMakeLists.txt.orig
|
|
+++ CMakeLists.txt
|
|
@@ -1,6 +1,8 @@
|
|
# CMake project definition file.
|
|
project(libgme)
|
|
|
|
+include (CheckCXXCompilerFlag)
|
|
+
|
|
set(GME_VERSION 0.5.5 CACHE INTERNAL "libgme Version")
|
|
|
|
# 2.6+ always assumes FATAL_ERROR, but 2.4 and below don't.
|
|
@@ -54,6 +56,33 @@ if (USE_GME_NSFE AND NOT USE_GME_NSF)
|
|
SET(USE_GME_NSF 1 CACHE BOOL "Enable NES NSF music emulation" FORCE)
|
|
endif()
|
|
|
|
+# Check for GCC "visibility" support.
|
|
+if (CMAKE_COMPILER_IS_GNUCXX)
|
|
+ check_cxx_compiler_flag (-fvisibility=hidden __LIBGME_TEST_VISIBILITY)
|
|
+ set (ENABLE_VISIBILITY OFF)
|
|
+ if (__LIBGME_TEST_VISIBILITY)
|
|
+ # get the gcc version
|
|
+ exec_program(${CMAKE_CXX_COMPILER} ARGS --version OUTPUT_VARIABLE _gcc_version_info)
|
|
+ string (REGEX MATCH "[3-9]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}")
|
|
+
|
|
+ # gcc <4.1 had poor support for symbol visibility
|
|
+ if ((${_gcc_version} VERSION_GREATER "4.1") OR (${_gcc_version} VERSION_EQUAL "4.1"))
|
|
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
|
|
+ set (ENABLE_VISIBILITY ON)
|
|
+ add_definitions (-DLIBGME_VISIBILITY)
|
|
+
|
|
+ # GCC >= 4.2 also correctly supports making inline members have hidden
|
|
+ # visibility by default.
|
|
+ if ((${_gcc_version} VERSION_GREATER "4.2") OR (${_gcc_version} VERSION_EQUAL "4.2"))
|
|
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility-inlines-hidden")
|
|
+ endif()
|
|
+ endif()
|
|
+ endif() # test visibility
|
|
+endif (CMAKE_COMPILER_IS_GNUCXX)
|
|
+
|
|
+# Cache this result
|
|
+set( LIBGME_HAVE_GCC_VISIBILITY ${ENABLE_VISIBILITY} CACHE BOOL "GCC support for hidden visibility")
|
|
+
|
|
# Shared library defined here
|
|
add_subdirectory(gme)
|
|
|
|
Index: gme/CMakeLists.txt
|
|
===================================================================
|
|
--- gme/CMakeLists.txt.orig
|
|
+++ gme/CMakeLists.txt
|
|
@@ -124,21 +124,7 @@ if (USE_GME_VGM)
|
|
endif()
|
|
|
|
# These headers are part of the generic gme interface.
|
|
-set (EXPORTED_HEADERS gme.h
|
|
- "${CMAKE_CURRENT_BINARY_DIR}/gme_types.h"
|
|
- blargg_config.h
|
|
- blargg_common.h
|
|
- blargg_source.h
|
|
- Music_Emu.h
|
|
- Blip_Buffer.h
|
|
- Classic_Emu.h
|
|
- Gme_File.h
|
|
- Data_Reader.h
|
|
- Dual_Resampler.h
|
|
- Effects_Buffer.h
|
|
- Fir_Resampler.h
|
|
- M3u_Playlist.h
|
|
- Multi_Buffer.h)
|
|
+set (EXPORTED_HEADERS gme.h)
|
|
|
|
# Run during cmake phase, so this is available during make
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/gme_types.h.in
|