diff --git a/desmume/src/frontend/posix/cli/Makefile.am b/desmume/src/frontend/posix/cli/Makefile.am index 4fde1bc5c..fdfc13ec4 100644 --- a/desmume/src/frontend/posix/cli/Makefile.am +++ b/desmume/src/frontend/posix/cli/Makefile.am @@ -5,4 +5,4 @@ AM_CPPFLAGS += $(SDL_CFLAGS) $(ALSA_CFLAGS) $(LIBAGG_CFLAGS) $(GLIB_CFLAGS) $(GT bin_PROGRAMS = desmume-cli desmume_cli_SOURCES = main.cpp ../shared/sndsdl.cpp ../shared/ctrlssdl.h ../shared/ctrlssdl.cpp -desmume_cli_LDADD = ../libdesmume.a $(SDL_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) $(GLIB_LIBS) $(GTHREAD_LIBS) $(LIBSOUNDTOUCH_LIBS) +desmume_cli_LDADD = ../libdesmume.a $(X_LIBS) -lX11 $(SDL_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) $(GLIB_LIBS) $(GTHREAD_LIBS) $(LIBSOUNDTOUCH_LIBS) diff --git a/desmume/src/frontend/posix/cli/main.cpp b/desmume/src/frontend/posix/cli/main.cpp index 9158fb7f6..fee0b4253 100644 --- a/desmume/src/frontend/posix/cli/main.cpp +++ b/desmume/src/frontend/posix/cli/main.cpp @@ -18,6 +18,7 @@ * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ +#include #include #include #include @@ -641,6 +642,12 @@ int main(int argc, char ** argv) { execute = true; + /* X11 multi-threading support */ + if(!XInitThreads()) + { + fprintf(stderr, "Warning: X11 not thread-safe\n"); + } + if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER) == -1) { fprintf(stderr, "Error trying to initialize SDL: %s\n", diff --git a/desmume/src/frontend/posix/configure.ac b/desmume/src/frontend/posix/configure.ac index e300e31b1..c87a152a1 100644 --- a/desmume/src/frontend/posix/configure.ac +++ b/desmume/src/frontend/posix/configure.ac @@ -53,6 +53,9 @@ AC_CHECK_LIB(zzip, zzip_open, [ AC_MSG_RESULT(no)) ]) +dnl - Check for X11 +AC_PATH_X + dnl - Check for SDL AC_PATH_PROGS(SDLCONFIG, [sdl-config sdl11-config]) if test ! "x$SDLCONFIG" = "x" ; then diff --git a/desmume/src/frontend/posix/gtk-glade/Makefile.am b/desmume/src/frontend/posix/gtk-glade/Makefile.am index 936f9298e..2db0f2494 100644 --- a/desmume/src/frontend/posix/gtk-glade/Makefile.am +++ b/desmume/src/frontend/posix/gtk-glade/Makefile.am @@ -31,6 +31,7 @@ desmume_glade_SOURCES = \ ../../../driver.h ../../../driver.cpp desmume_glade_LDADD = ../libdesmume.a \ + $(X_LIBS) -lX11 \ $(SDL_LIBS) $(GTKGLEXT_LIBS) $(LIBGLADE_LIBS) \ $(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) \ $(LIBSOUNDTOUCH_LIBS) diff --git a/desmume/src/frontend/posix/gtk-glade/main.cpp b/desmume/src/frontend/posix/gtk-glade/main.cpp index 72f852455..11469aaaa 100755 --- a/desmume/src/frontend/posix/gtk-glade/main.cpp +++ b/desmume/src/frontend/posix/gtk-glade/main.cpp @@ -533,6 +533,12 @@ int main(int argc, char *argv[]) { init_configured_features( &my_config); + /* X11 multi-threading support */ + if(!XInitThreads()) + { + fprintf(stderr, "Warning: X11 not thread-safe\n"); + } + if (!g_thread_supported()) g_thread_init( NULL); diff --git a/desmume/src/frontend/posix/gtk/Makefile.am b/desmume/src/frontend/posix/gtk/Makefile.am index 83d94fc7e..76a206c15 100644 --- a/desmume/src/frontend/posix/gtk/Makefile.am +++ b/desmume/src/frontend/posix/gtk/Makefile.am @@ -25,7 +25,7 @@ desmume_SOURCES = \ cheatsGTK.h cheatsGTK.cpp \ main.cpp main.h desmume_LDADD = ../libdesmume.a \ - $(SDL_LIBS) $(GTK_LIBS) $(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) $(LIBSOUNDTOUCH_LIBS) + $(X_LIBS) -lX11 $(SDL_LIBS) $(GTK_LIBS) $(GTHREAD_LIBS) $(ALSA_LIBS) $(LIBAGG_LIBS) $(LIBSOUNDTOUCH_LIBS) if HAVE_LIBOSMESA desmume_LDADD += $(OSMESA_LIBS) else diff --git a/desmume/src/frontend/posix/gtk/main.cpp b/desmume/src/frontend/posix/gtk/main.cpp index b3b004b13..edd4d272f 100644 --- a/desmume/src/frontend/posix/gtk/main.cpp +++ b/desmume/src/frontend/posix/gtk/main.cpp @@ -3505,6 +3505,12 @@ int main (int argc, char *argv[]) my_config.parse(argc, argv); init_configured_features( &my_config); + /* X11 multi-threading support */ + if(!XInitThreads()) + { + fprintf(stderr, "Warning: X11 not thread-safe\n"); + } + if (!g_thread_supported()) g_thread_init( NULL);