Previous 199869 Revisions Next

r19991 Tuesday 1st January, 2013 at 16:58:48 UTC by R. Belmont
Enable compiling PortMidi (nw)

Tested on: Linux x64, Mac OS X 10.8, Windows 8 x64 w/latest toolchain for both OSD=windows and OSD=sdl.  MIDI should auto-disable on other OSes (*BSD) but there may be problems.  Works fine on Linux when set to use the system's copy of the library as well, which many distros prefer.
[/trunk]makefile
[src/emu]clifront.c clifront.h
[src/osd/sdl]sdl.mak sdlmain.c
[src/osd/windows]windows.mak winmain.c

trunk/src/osd/windows/windows.mak
r19990r19991
6464# DIRECTINPUT = 8
6565
6666
67
6867###########################################################################
6968##################   END USER-CONFIGURABLE OPTIONS   ######################
7069###########################################################################
r19990r19991
292291   $(WINOBJ)/winclip.o \
293292   $(WINOBJ)/winsocket.o \
294293   $(WINOBJ)/winwork.o \
295   $(WINOBJ)/winptty.o
294   $(WINOBJ)/winptty.o \
295    $(WINOBJ)/winmidi.o
296296
297297
298
299298#-------------------------------------------------
300299# OSD Windows library
301300#-------------------------------------------------
r19990r19991
315314   $(WINOBJ)/winmenu.o \
316315   $(WINOBJ)/winmain.o
317316
317
318318ifdef USE_NETWORK
319319OSDOBJS += \
320320   $(WINOBJ)/netdev.o \
r19990r19991
330330# extra dependencies
331331$(WINOBJ)/drawdd.o :   $(SRC)/emu/rendersw.c
332332$(WINOBJ)/drawgdi.o :   $(SRC)/emu/rendersw.c
333$(WINOBJ)/winmidi.o:    $(SRC)/osd/portmedia/pmmidi.c
333334
334335# add debug-specific files
335336OSDOBJS += \
trunk/src/osd/windows/winmain.c
r19990r19991
473473      FreeConsole();
474474   }
475475
476   osd_init_midi();
477
476478   // parse config and cmdline options
477479   DWORD result = 0;
478480   {
r19990r19991
482484      result = frontend.execute(argc, argv);
483485   }
484486
487   osd_shutdown_midi();
488
485489   // free symbols
486490   symbols = NULL;
487491   return result;
trunk/src/osd/sdl/sdl.mak
r19990r19991
7979# uncomment to try the experimental new Qt debugger
8080#USE_QTDEBUG = 1
8181
82# uncomment to disable MIDI
83#NO_USE_MIDI = 1
84
8285###########################################################################
8386##################   END USER-CONFIGURABLE OPTIONS   ######################
8487###########################################################################
r19990r19991
185188BASE_TARGETOS = unix
186189SYNC_IMPLEMENTATION = tc
187190SDL_NETWORK = taptun
191
192ifndef NO_USE_MIDI
193INCPATH += `pkg-config --cflags alsa`
194LIBS += `pkg-config --libs alsa`
188195endif
189196
197endif
198
190199ifeq ($(TARGETOS),freebsd)
191200BASE_TARGETOS = unix
192201SYNC_IMPLEMENTATION = tc
r19990r19991
198207# No clue here. There is a popmessage(NULL) in uimenu.c which
199208# triggers a non-null format warning on FreeBSD only.
200209CCOMFLAGS += -Wno-format
210NO_USE_MIDI = 1
201211endif
202212
203213ifeq ($(TARGETOS),openbsd)
204214BASE_TARGETOS = unix
205215SYNC_IMPLEMENTATION = ntc
206216LIBS += -lutil
217NO_USE_MIDI = 1
207218endif
208219
209220ifeq ($(TARGETOS),netbsd)
210221BASE_TARGETOS = unix
211222SYNC_IMPLEMENTATION = ntc
212223LIBS += -lutil
224NO_USE_MIDI = 1
213225endif
214226
215227ifeq ($(TARGETOS),solaris)
216228BASE_TARGETOS = unix
217229DEFS += -DNO_AFFINITY_NP -UHAVE_VSNPRINTF -DNO_vsnprintf
218230SYNC_IMPLEMENTATION = tc
231NO_USE_MIDI = 1
219232endif
220233
221234ifeq ($(TARGETOS),haiku)
r19990r19991
223236SYNC_IMPLEMENTATION = ntc
224237NO_X11 = 1
225238NO_USE_XINPUT = 1
239NO_USE_MIDI = 1
226240LIBS += -lnetwork -lbsd
227241endif
228242
r19990r19991
230244BASE_TARGETOS = unix
231245DEFS += -DSDLMAME_UNIX -DSDLMAME_MACOSX -DSDLMAME_DARWIN
232246
247ifndef NO_USE_MIDI
248LIBS += -framework CoreAudio -framework CoreMIDI
249endif
250
233251ifndef USE_QTDEBUG
234252DEBUGOBJS = $(SDLOBJ)/debugosx.o
235253endif
r19990r19991
324342NO_DEBUGGER = 1
325343NO_X11 = 1
326344NO_USE_XINPUT = 1
345NO_USE_MIDI = 1
327346# OS/2 can't have OpenGL (aww)
328347NO_OPENGL = 1
329348endif
r19990r19991
371390   $(SDLOBJ)/drawsdl.o \
372391   $(SDLOBJ)/window.o \
373392   $(SDLOBJ)/output.o \
374   $(SDLOBJ)/watchdog.o
393   $(SDLOBJ)/watchdog.o \
394   $(SDLOBJ)/sdlmidi.o
375395
396ifdef NO_USE_MIDI
397DEFS += "-DDISABLE_MIDI=1"
398endif
399
376400# Add SDL2.0 support
377401
378402ifeq ($(SDL_LIBVER),sdl2)
r19990r19991
765789   @echo Linking $@...
766790   $(LD) $(LDFLAGS) $^ $(LIBS) -o $@
767791
792$(SDLOBJ)/sdlmidi.o: $(SRC)/osd/portmedia/pmmidi.c
793
768794#-------------------------------------------------
769795# clean up
770796#-------------------------------------------------
trunk/src/osd/sdl/sdlmain.c
r19990r19991
362362   }
363363#endif
364364
365//   osd_init_midi();   // this is a blues riff in B, watch me for the changes and try to keep up...
365   osd_init_midi();   // this is a blues riff in B, watch me for the changes and try to keep up...
366366
367367   {
368368      sdl_osd_interface osd;
r19990r19991
388388   #endif
389389   #endif
390390
391//   osd_shutdown_midi();
391   osd_shutdown_midi();
392392
393393   exit(res);
394394
trunk/src/emu/clifront.c
r19990r19991
9191   { CLICOMMAND_VERIFYSOFTWARE ";vsoft", "0",     OPTION_COMMAND,    "verify known software for the system" },
9292   { CLICOMMAND_GETSOFTLIST ";glist",  "0",       OPTION_COMMAND,    "retrieve software list by name" },
9393   { CLICOMMAND_VERIFYSOFTLIST ";vlist", "0",     OPTION_COMMAND,    "verify software list by name" },
94   { CLICOMMAND_LIST_MIDI_DEVICES ";mlist", "0",  OPTION_COMMAND,    "list available MIDI I/O devices" },
9495   { NULL }
9596};
9697
r19990r19991
733734   }
734735}
735736
737//-------------------------------------------------
738//  listmididevices - output the list of MIDI devices
739//  available in the current system to be used
740//-------------------------------------------------
736741
742void cli_frontend::listmididevices(const char *gamename)
743{
744   osd_list_midi_devices();
745}
746
747
737748//-------------------------------------------------
738749//  verifyroms - verify the ROM sets of one or
739750//  more games
r19990r19991
16441655      { CLICOMMAND_ROMIDENT,      &cli_frontend::romident },
16451656      { CLICOMMAND_GETSOFTLIST,   &cli_frontend::getsoftlist },
16461657      { CLICOMMAND_VERIFYSOFTLIST,   &cli_frontend::verifysoftlist },
1658      { CLICOMMAND_LIST_MIDI_DEVICES, &cli_frontend::listmididevices },
16471659   };
16481660
16491661   // find the command
trunk/src/emu/clifront.h
r19990r19991
7878#define CLICOMMAND_VERIFYSOFTWARE      "verifysoftware"
7979#define CLICOMMAND_GETSOFTLIST         "getsoftlist"
8080#define CLICOMMAND_VERIFYSOFTLIST      "verifysoftlist"
81#define CLICOMMAND_LIST_MIDI_DEVICES   "listmidi"
8182
8283
83
8484//**************************************************************************
8585//  TYPE DEFINITIONS
8686//**************************************************************************
r19990r19991
128128   void romident(const char *filename);
129129   void getsoftlist(const char *gamename = "*");
130130   void verifysoftlist(const char *gamename = "*");
131   void listmididevices(const char *gamename = "*");
131132
132133private:
133134   // internal helpers
trunk/makefile
r19990r19991
221221# uncomment next line to build jpeglib as part of MAME build
222222BUILD_JPEGLIB = 1
223223
224# uncomment next line to build PortMidi as part of MAME/MESS build
225BUILD_MIDILIB = 1
226
224227# uncomment next line to include the symbols
225228# SYMBOLS = 1
226229
r19990r19991
658661# add formats emulation library
659662FORMATS_LIB = $(OBJ)/libformats.a
660663
664# add PortMidi MIDI library
665ifeq ($(BUILD_MIDILIB),1)
666INCPATH += -I$(SRC)/lib/portmidi
667MIDI_LIB = $(OBJ)/portmidi.a
668else
669LIBS += -lportmidi
670MIDI_LIB =
671endif
672
661673#-------------------------------------------------
662674# 'default' target needs to go here, before the
663675# include files which define additional targets
r19990r19991
752764
753765ifndef EXECUTABLE_DEFINED
754766
755$(EMULATOR): $(EMUINFOOBJ) $(DRIVLISTOBJ) $(DRVLIBS) $(LIBOSD) $(LIBCPU) $(LIBEMU) $(LIBDASM) $(LIBSOUND) $(LIBUTIL) $(EXPAT) $(SOFTFLOAT) $(JPEG_LIB) $(FLAC_LIB) $(7Z_LIB) $(FORMATS_LIB) $(ZLIB) $(LIBOCORE) $(RESFILE)
767$(EMULATOR): $(EMUINFOOBJ) $(DRIVLISTOBJ) $(DRVLIBS) $(LIBOSD) $(LIBCPU) $(LIBEMU) $(LIBDASM) $(LIBSOUND) $(LIBUTIL) $(EXPAT) $(SOFTFLOAT) $(JPEG_LIB) $(FLAC_LIB) $(7Z_LIB) $(FORMATS_LIB) $(ZLIB) $(LIBOCORE) $(MIDI_LIB) $(RESFILE)
756768   $(CC) $(CDEFS) $(CFLAGS) -c $(SRC)/version.c -o $(VERSIONOBJ)
757769   @echo Linking $@...
758770   $(LD) $(LDFLAGS) $(LDFLAGSEMULATOR) $(VERSIONOBJ) $^ $(LIBS) -o $@

Previous 199869 Revisions Next


© 1997-2024 The MAME Team