Solaris 11 build support. [Couriersud]

This commit is contained in:
couriersud 2015-01-25 22:01:16 +01:00
parent da8810b1bc
commit 36c9bba47d
5 changed files with 61 additions and 13 deletions

View File

@ -98,6 +98,10 @@ endif
ifeq ($(firstword $(filter Haiku,$(UNAME))),Haiku)
TARGETOS = haiku
endif
ifeq ($(firstword $(filter SunOS,$(UNAME))),SunOS)
TARGETOS = solaris
SDL_LIBVER = sdl
endif
ifndef TARGETOS
$(error Unable to detect TARGETOS from uname -a: $(UNAME))
@ -114,6 +118,11 @@ endif
ifeq ($(firstword $(filter ppc64,$(UNAME))),ppc64)
PTR64 = 1
endif
ifeq ($(TARGETOS), solaris)
ifeq ($(firstword $(filter amd64,$(shell /usr/bin/isainfo -k))),amd64)
PTR64 = 1
endif
endif
endif
# Autodetect BIGENDIAN

View File

@ -6,7 +6,7 @@
#include "font_module.h"
#include "modules/osdmodule.h"
#if defined(SDLMAME_UNIX) && (!defined(SDLMAME_MACOSX)) && (!defined(SDLMAME_HAIKU)) && (!defined(SDLMAME_EMSCRIPTEN))
#if defined(SDLMAME_UNIX) && (!defined(SDLMAME_MACOSX)) && (!defined(SDLMAME_SOLARIS)) && (!defined(SDLMAME_HAIKU)) && (!defined(SDLMAME_EMSCRIPTEN))
#if (SDLMAME_SDL2)
#include <SDL2/SDL_ttf.h>

View File

@ -246,9 +246,11 @@ endif
ifeq ($(TARGETOS),solaris)
BASE_TARGETOS = unix
DEFS += -DNO_AFFINITY_NP -UHAVE_VSNPRINTF -DNO_vsnprintf
#DEFS += -DNO_AFFINITY_NP -UHAVE_VSNPRINTF -DNO_vsnprintf
DEFS += -DNO_AFFINITY_NP
SYNC_IMPLEMENTATION = tc
NO_USE_MIDI = 1
NO_USE_QTDEBUG = 1
endif
ifeq ($(TARGETOS),haiku)
@ -606,11 +608,21 @@ else
LIBS += -lSDL_ttf
endif
# FIXME: should be dealt with elsewhere
# libs that Haiku doesn't want but are mandatory on *IX
ifneq ($(TARGETOS),haiku)
BASELIBS += -lm -lutil -lpthread
LIBS += -lm -lutil -lpthread
BASELIBS += -lm -lpthread
LIBS += -lm -lpthread
ifneq ($(TARGETOS),solaris)
BASELIBS += -lutil
LIBS += -lutil
else
SUPPORTSM32M64 = 1
BASELIBS += -lsocket -lnsl
LIBS += -lsocket -lnsl
endif
endif
endif # not Mac OS X

View File

@ -27,16 +27,15 @@
#if defined(__sun__) && defined(__svr4__)
#define SDLMAME_SOLARIS 1
#undef _XOPEN_SOURCE
#undef _XOPEN_VERSION
#undef _XOPEN_SOURCE_EXTENDED
#undef _XPG6
#undef _XPG5
#undef _XPG4_2
#define _XOPEN_SOURCE
#define _XOPEN_VERSION 4
//#undef _XOPEN_SOURCE
//#undef _XOPEN_VERSION
//#undef _XOPEN_SOURCE_EXTENDED
//#undef _XPG6
//#undef _XPG5
//#undef _XPG4_2
//#define _XOPEN_SOURCE
//#define _XOPEN_VERSION 4
#elif defined(__irix__) || defined(__sgi)
#define SDLMAME_IRIX 1
/* Large file support on IRIX needs _SGI_SOURCE */

View File

@ -9,6 +9,8 @@
//
//============================================================
#if (!defined(SDLMAME_SOLARIS) && !(defined(SDLMAME_OS2)))
#include <sys/types.h>
#include <sys/uio.h>
#include <unistd.h>
@ -101,3 +103,29 @@ file_error sdl_close_ptty(osd_file *file)
return FILERR_NONE;
}
#else
#include "sdlfile.h"
const char *sdlfile_ptty_identifier = "";
file_error sdl_open_ptty(const char *path, UINT32 openflags, osd_file **file, UINT64 *filesize)
{
return FILERR_ACCESS_DENIED;
}
file_error sdl_read_ptty(osd_file *file, void *buffer, UINT64 offset, UINT32 count, UINT32 *actual)
{
return FILERR_ACCESS_DENIED;
}
file_error sdl_write_ptty(osd_file *file, const void *buffer, UINT64 offset, UINT32 count, UINT32 *actual)
{
return FILERR_ACCESS_DENIED;
}
file_error sdl_close_ptty(osd_file *file)
{
return FILERR_ACCESS_DENIED;
}
#endif