Mercurial > sdl-ios-xcode
changeset 1438:1f4f09641645
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))
^
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 26 Feb 2006 04:54:01 +0000 |
parents | f1781c15934c |
children | 4d3bb026cd16 |
files | configure.in src/cdrom/osf/SDL_syscdrom.c src/video/x11/SDL_x11dyn.h src/video/x11/SDL_x11sym.h |
diffstat | 4 files changed, 59 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/configure.in Sun Feb 26 04:48:24 2006 +0000 +++ b/configure.in Sun Feb 26 04:54:01 2006 +0000 @@ -397,6 +397,44 @@ 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 @@ 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_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 @@ CheckAltivec CheckOSS CheckDMEDIA + CheckMME CheckALSA CheckARTSC CheckESD @@ -1945,12 +1992,6 @@ 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
--- a/src/cdrom/osf/SDL_syscdrom.c Sun Feb 26 04:48:24 2006 +0000 +++ b/src/cdrom/osf/SDL_syscdrom.c Sun Feb 26 04:54:01 2006 +0000 @@ -173,7 +173,7 @@ 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;
--- a/src/video/x11/SDL_x11dyn.h Sun Feb 26 04:48:24 2006 +0000 +++ b/src/video/x11/SDL_x11dyn.h Sun Feb 26 04:54:01 2006 +0000 @@ -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 @@ #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
--- a/src/video/x11/SDL_x11sym.h Sun Feb 26 04:48:24 2006 +0000 +++ b/src/video/x11/SDL_x11sym.h Sun Feb 26 04:54:01 2006 +0000 @@ -140,7 +140,7 @@ * 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