Commit df36fe08 authored by Sam Lantinga's avatar Sam Lantinga

Date: Sun, 26 Feb 2006 11:25:09 +0900

From: Hayashi Naoyuki
Subject: Re: [SDL] CVS stable again, please update SDL ports

Some problems are caused on Tru64 UNIX.
If applying SDL12-osf1.path, these problems are fixed.


1. configure-script say "recursive mutexes... no" and "pthread
semaphores... no".
checking for pthreads... yes
checking for recursive mutexes... no
checking for pthread semaphores... no

This is because it compiled without pthread_cflags and pthread_lib when
checking recursive mutexes and pthread semaphores.


2. Compiling src/audio/mme/SDL_mmeaudio.c fails.
cc: Severe: ./src/audio/mme/SDL_mmeaudio.c, line 25: Cannot find file
<mme_api.h> specified in #include directive. (noinclfilef)
#include <mme_api.h>
-^

This is because BUILD_CFLAGS is wrong.


3. Compiling src/cdrom/osf/SDL_syscdrom.c fails.
cc: Warning: ./src/cdrom/osf/SDL_syscdrom.c, line 176: Too few actual
parameters in the invocation of the macro "SDL_stack_alloc". (toofewactuals)
        cdpath = SDL_stack_alloc(len);
------------------------------------^
cc: Error: ./src/cdrom/osf/SDL_syscdrom.c, line 176: Invalid expression.
(badexpr)
        cdpath = SDL_stack_alloc(len);
-----------------^

SDL_stack_alloc is defined in include/SDL_stdinc.h.
#define SDL_stack_alloc(type, count)    (type*)alloca(sizeof(type)*count)


4. Linking fails if running configure with --enable-x11-shared=yes.
/usr/ccs/bin/ld:
Warning: Unresolved:
p_XData32


5. Compiling src/video/x11/SDL_x11dyn.c fails if running configure with
--enable-x11-shared=no.
cc: Error: ./src/video/x11/SDL_x11sym.h, line 149: In this statement,
"_SmtBufferOverflow" is not declared. (undeclared)
SDL_X11_SYM(1,void,_SmtBufferOverflow,(Display *dpy,register smtDisplayPtr))
^
cc: Error: ./src/video/x11/SDL_x11sym.h, line 150: In this statement,
"_SmtBufferOverflow" is not declared. (undeclared)
SDL_X11_SYM(1,void,_SmtBufferOverflow,(Display *dpy,register smtDisplayPtr))
^
cc: Error: ./src/video/x11/SDL_x11sym.h, line 150: In this statement,
"_SmtIpError" is not declared. (undeclared)
SDL_X11_SYM(1,void,_SmtIpError,(Display *dpy,register smtDisplayPtr, int))
^

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401442
parent cbc63acd
......@@ -397,6 +397,44 @@ CheckDMEDIA()
fi
}
dnl Check whether we want to use Tru64 UNIX native audio or not
CheckMME()
{
dnl Make sure we are running on an Tru64 UNIX
case $ARCH in
osf)
;;
*)
return
;;
esac
if test x$enable_audio = xyes; then
AC_MSG_CHECKING(for MME audio support)
MME_CFLAGS="-I/usr/include/mme"
MME_LIBS="-lmme"
have_mme=no
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $MME_CFLAGS"
AC_TRY_COMPILE([
#include <mme_api.h>
],[
HWAVEOUT sound;
],[
have_mme=yes
])
CFLAGS="$save_CFLAGS"
AC_MSG_RESULT($have_mme)
# Set up files for the audio library
if test x$have_mme = xyes; then
AC_DEFINE(SDL_AUDIO_DRIVER_MMEAUDIO)
SOURCES="$SOURCES $srcdir/src/audio/mme/*.c"
BUILD_CFLAGS="$BUILD_CFLAGS $MME_CFLAGS"
BUILD_LDFLAGS="$BUILD_LDFLAGS $MME_LIBS"
have_audio=yes
fi
fi
}
dnl Find the ESD includes and libraries
CheckESD()
{
......@@ -1555,6 +1593,11 @@ AC_HELP_STRING([--enable-pthread-sem], [use pthread semaphores [default=yes]]),
SDL_CFLAGS="$SDL_CFLAGS $pthread_cflags"
SDL_LIBS="$SDL_LIBS $pthread_lib"
# Save the original compiler flags and libraries
ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
# Add the pthread compiler flags and libraries
CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib"
# Check to see if recursive mutexes are available
AC_MSG_CHECKING(for recursive mutexes)
has_recursive_mutexes=no
......@@ -1596,6 +1639,9 @@ AC_HELP_STRING([--enable-pthread-sem], [use pthread semaphores [default=yes]]),
AC_MSG_RESULT($have_pthread_sem)
fi
# Restore the compiler flags and libraries
CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
# Basic thread creation functions
SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_systhread.c"
......@@ -1903,6 +1949,7 @@ case "$target" in
CheckAltivec
CheckOSS
CheckDMEDIA
CheckMME
CheckALSA
CheckARTSC
CheckESD
......@@ -1945,12 +1992,6 @@ case "$target" in
SOURCES="$SOURCES $srcdir/src/audio/paudio/*.c"
have_audio=yes
;;
osf)
AC_DEFINE(SDL_AUDIO_DRIVER_MMEAUDIO)
SOURCES="$SOURCES $srcdir/src/audio/mme/*.c"
BUILD_LDFLAGS="$BUILD_LDFLAGS -lmme"
have_audio=yes
;;
esac
fi
# Set up files for the joystick library
......
......@@ -173,7 +173,7 @@ int SDL_SYS_CDInit(void)
if ( SDLcdrom != NULL ) {
char *cdpath, *delim;
size_t len = SDL_strlen(SDLcdrom)+1;
cdpath = SDL_stack_alloc(len);
cdpath = SDL_stack_alloc(char, len);
if ( cdpath != NULL ) {
SDL_strlcpy(cdpath, SDLcdrom, len);
SDLcdrom = cdpath;
......
......@@ -50,6 +50,15 @@
extern "C" {
#endif
#ifdef __osf__
extern int _XData32(Display *,register long *,unsigned);
extern void _XRead32(Display *,register long *,long);
extern void _SmtBufferOverflow(Display *,register smtDisplayPtr);
extern void _SmtIpError(Display *,register smtDisplayPtr, int);
extern int ipAllocateData(ChannelPtr, IPCard, IPDataPtr *);
extern int ipUnallocateAndSendData(ChannelPtr, IPCard);
#endif
/* evil function signatures... */
typedef Bool (*SDL_X11_XESetWireToEventRetType)(Display*,XEvent*,xEvent*);
typedef int (*SDL_X11_XSynchronizeRetType)(Display*);
......@@ -72,7 +81,7 @@ typedef int (*SDL_X11_XSetExtensionErrorHandlerType)(Display *,char *,char *);
#define XFree pXFree
#define _XData32 p_XData32
#if defined(__osf__) && defined(SDL_VIDEO_DRIVER_X11_DYNAMIC)
#if defined(__osf__)
#define _SmtBufferOverflow p_SmtBufferOverflow
#define _SmtIpError p_SmtIpError
#define ipAllocateData pipAllocateData
......
......@@ -140,7 +140,7 @@ SDL_X11_SYM(1,unsigned long,_XSetLastRequestRead,(Display*,xGenericReply*))
* These don't exist in 32-bit versions and are removed by Xlib macros, but
* 64+ bit systems will use them.
*/
#if defined(LONG64) && !defined(__osf__)
#if defined(LONG64)
SDL_X11_SYM(1,int,_XData32,(Display *dpy,register long *data,unsigned len))
SDL_X11_SYM(1,void,_XRead32,(Display *dpy,register long *data,long len))
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment