Configure dynamically generates SDL_config.h
I'm still wrestling with autoheader, but this should work for now... Fixed lots of build problems with C library support disabled --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401345
This commit is contained in:
parent
dd8d77d906
commit
78516b5663
24 changed files with 513 additions and 117 deletions
|
@ -6,6 +6,7 @@ echo "This may take a while ..."
|
|||
# Touch the timestamps on all the files since CVS messes them up
|
||||
directory=`dirname $0`
|
||||
touch $directory/configure.in
|
||||
touch $directory/include/SDL_config.h.in
|
||||
|
||||
# Regenerate configuration files
|
||||
aclocal || exit 1
|
||||
|
|
71
configure.in
71
configure.in
|
@ -1,5 +1,42 @@
|
|||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_INIT(README)
|
||||
AH_TOP([/*
|
||||
SDL - Simple DirectMedia Layer
|
||||
Copyright (C) 1997-2006 Sam Lantinga
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Sam Lantinga
|
||||
slouken@libsdl.org
|
||||
*/
|
||||
|
||||
#ifndef _SDL_config_h
|
||||
#define _SDL_config_h
|
||||
|
||||
/* This is a set of defines to configure the SDL features */
|
||||
|
||||
/* Comment this if you want to build without any libc requirements */
|
||||
#undef HAVE_LIBC
|
||||
#ifdef HAVE_LIBC
|
||||
])
|
||||
AC_CONFIG_HEADER(include/SDL_config.h)
|
||||
AH_BOTTOM([
|
||||
#endif /* HAVE_LIBC */
|
||||
|
||||
#endif /* _SDL_config_h */
|
||||
])
|
||||
|
||||
dnl Set various version strings - taken gratefully from the GTk sources
|
||||
#
|
||||
|
@ -113,6 +150,40 @@ if test x$ac_cv_prog_gcc = xyes; then
|
|||
fi
|
||||
fi
|
||||
|
||||
dnl See whether we are allowed to use the system C library
|
||||
AC_ARG_ENABLE(libc,
|
||||
[ --enable-libc Use the system C library [default=yes]],
|
||||
, AC_DEFINE(HAVE_LIBC))
|
||||
|
||||
dnl Checks for header files.
|
||||
AC_CHECK_HEADERS(alloca.h stdint.h stdlib.h stdarg.h malloc.h)
|
||||
AC_CHECK_HEADERS(ctype.h)
|
||||
AC_CHECK_HEADERS(string.h)
|
||||
AC_CHECK_HEADERS(stdio.h)
|
||||
AC_CHECK_HEADERS(signal.h)
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
AC_C_INLINE
|
||||
AC_TYPE_SIZE_T
|
||||
AC_CHECK_SIZEOF(char, 1)
|
||||
AC_CHECK_SIZEOF(short, 2)
|
||||
AC_CHECK_SIZEOF(int, 4)
|
||||
AC_CHECK_SIZEOF(long, 4)
|
||||
AC_CHECK_SIZEOF(long long, 8)
|
||||
|
||||
dnl Checks for library functions.
|
||||
AC_FUNC_ALLOCA
|
||||
AC_CHECK_FUNCS(malloc calloc realloc free)
|
||||
AC_CHECK_FUNCS(getenv putenv qsort abs)
|
||||
AC_CHECK_FUNCS(memset memcpy memmove memcmp)
|
||||
AC_CHECK_FUNCS(strlen strcpy strncpy strcat strncat strdup)
|
||||
AC_CHECK_FUNCS(_strrev _strupr _strlwr)
|
||||
AC_CHECK_FUNCS(strchr strrchr strstr)
|
||||
AC_CHECK_FUNCS(itoa _ltoa _uitoa _ultoa strtol _i64toa _ui64toa strtoll atoi atof)
|
||||
AC_CHECK_FUNCS(strcmp strncmp stricmp strcasecmp)
|
||||
AC_CHECK_FUNCS(sscanf snprintf vsnprintf)
|
||||
|
||||
dnl Initialize the compiler and linker flags for SDL applications
|
||||
|
||||
SDL_CFLAGS=""
|
||||
|
|
|
@ -41,3 +41,7 @@ libSDLinclude_HEADERS = \
|
|||
SDL_windows.h \
|
||||
begin_code.h \
|
||||
close_code.h
|
||||
|
||||
EXTRA_DIST = \
|
||||
SDL_config.h.in \
|
||||
SDL_config.h.minimal
|
||||
|
|
|
@ -23,81 +23,8 @@
|
|||
#ifndef _SDL_config_h
|
||||
#define _SDL_config_h
|
||||
|
||||
/* This is a set of defines to configure the SDL features */
|
||||
/* This is the minimal configuration that can be used to build SDL */
|
||||
|
||||
#define HAVE_STDARG_H
|
||||
|
||||
/* Comment this if you want to build without any libc requirements */
|
||||
#define HAVE_LIBC
|
||||
#ifdef HAVE_LIBC
|
||||
|
||||
/* Various C library headers */
|
||||
#ifndef HAVE_CTYPE_H
|
||||
#define HAVE_CTYPE_H
|
||||
#endif
|
||||
#ifndef HAVE_STDIO_H
|
||||
#define HAVE_STDIO_H
|
||||
#endif
|
||||
#ifndef HAVE_STDLIB_H
|
||||
#define HAVE_STDLIB_H
|
||||
#endif
|
||||
#ifndef HAVE_MALLOC_H
|
||||
#define HAVE_MALLOC_H
|
||||
#endif
|
||||
#ifndef HAVE_STRING_H
|
||||
#define HAVE_STRING_H
|
||||
#endif
|
||||
#if !defined(_WIN32_WCE)
|
||||
#ifndef HAVE_SIGNAL_H
|
||||
#define HAVE_SIGNAL_H
|
||||
#endif
|
||||
#endif /* !_WIN32_WCE */
|
||||
|
||||
/* Features provided by SDL_stdlib.h */
|
||||
#define HAVE_MALLOC
|
||||
#define HAVE_REALLOC
|
||||
#define HAVE_FREE
|
||||
#ifndef HAVE_ALLOCA
|
||||
#define HAVE_ALLOCA
|
||||
#endif
|
||||
#if !defined(_WIN32) /* Don't use C runtime versions of these on Windows */
|
||||
#define HAVE_GETENV
|
||||
#define HAVE_PUTENV
|
||||
#endif
|
||||
/*#define HAVE_QSORT*/
|
||||
|
||||
/* Features provided by SDL_string.h */
|
||||
#define HAVE_MEMSET
|
||||
#define HAVE_MEMCPY
|
||||
#define HAVE_MEMMOVE
|
||||
#define HAVE_MEMCMP
|
||||
#define HAVE_STRLEN
|
||||
#define HAVE_STRCPY
|
||||
#define HAVE_STRNCPY
|
||||
#define HAVE_STRCAT
|
||||
#define HAVE_STRNCAT
|
||||
/*#define HAVE__STRREV*/
|
||||
/*#define HAVE__STRUPR*/
|
||||
/*#define HAVE__STRLWR*/
|
||||
#define HAVE_STRCHR
|
||||
#define HAVE_STRRCHR
|
||||
#define HAVE_STRSTR
|
||||
/*#define HAVE_ITOA*/
|
||||
/*#define HAVE__LTOA*/
|
||||
/*#define HAVE__UITOA*/
|
||||
/*#define HAVE__ULTOA*/
|
||||
/*#define HAVE_STRTOL*/
|
||||
/*#define HAVE__I64TOA*/
|
||||
/*#define HAVE__UI64TOA*/
|
||||
/*#define HAVE_STRTOLL*/
|
||||
#define HAVE_STRCMP
|
||||
#define HAVE_STRNCMP
|
||||
/*#define HAVE_STRICMP*/
|
||||
/*#define HAVE_STRCASECMP*/
|
||||
#define HAVE_SSCANF
|
||||
/*#define HAVE_SNPRINTF*/
|
||||
/*#define HAVE_VSNPRINTF*/
|
||||
|
||||
#endif /* HAVE_LIBC */
|
||||
#define HAVE_STDARG_H 1
|
||||
|
||||
#endif /* _SDL_config_h */
|
||||
|
|
289
include/SDL_config.h.in
Normal file
289
include/SDL_config.h.in
Normal file
|
@ -0,0 +1,289 @@
|
|||
/* include/SDL_config.h.in. Generated from configure.in by autoheader. */
|
||||
|
||||
/*
|
||||
SDL - Simple DirectMedia Layer
|
||||
Copyright (C) 1997-2006 Sam Lantinga
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Sam Lantinga
|
||||
slouken@libsdl.org
|
||||
*/
|
||||
|
||||
#ifndef _SDL_config_h
|
||||
#define _SDL_config_h
|
||||
|
||||
/* This is a set of defines to configure the SDL features */
|
||||
|
||||
/* Comment this if you want to build without any libc requirements */
|
||||
#undef HAVE_LIBC
|
||||
#ifdef HAVE_LIBC
|
||||
|
||||
|
||||
|
||||
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
|
||||
systems. This function is required for `alloca.c' support on those systems.
|
||||
*/
|
||||
#undef CRAY_STACKSEG_END
|
||||
|
||||
/* Define to 1 if using `alloca.c'. */
|
||||
#undef C_ALLOCA
|
||||
|
||||
/* Define to 1 if you have the `abs' function. */
|
||||
#undef HAVE_ABS
|
||||
|
||||
/* Define to 1 if you have `alloca', as a function or macro. */
|
||||
#undef HAVE_ALLOCA
|
||||
|
||||
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
|
||||
*/
|
||||
#undef HAVE_ALLOCA_H
|
||||
|
||||
/* Define to 1 if you have the `atof' function. */
|
||||
#undef HAVE_ATOF
|
||||
|
||||
/* Define to 1 if you have the `atoi' function. */
|
||||
#undef HAVE_ATOI
|
||||
|
||||
/* Define to 1 if you have the `calloc' function. */
|
||||
#undef HAVE_CALLOC
|
||||
|
||||
/* Define to 1 if you have the <ctype.h> header file. */
|
||||
#undef HAVE_CTYPE_H
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the `free' function. */
|
||||
#undef HAVE_FREE
|
||||
|
||||
/* Define to 1 if you have the `getenv' function. */
|
||||
#undef HAVE_GETENV
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the `itoa' function. */
|
||||
#undef HAVE_ITOA
|
||||
|
||||
/* Define to 1 if you have the `asound' library (-lasound). */
|
||||
#undef HAVE_LIBASOUND
|
||||
|
||||
/* Define to 1 if you have the `malloc' function. */
|
||||
#undef HAVE_MALLOC
|
||||
|
||||
/* Define to 1 if you have the <malloc.h> header file. */
|
||||
#undef HAVE_MALLOC_H
|
||||
|
||||
/* Define to 1 if you have the `memcmp' function. */
|
||||
#undef HAVE_MEMCMP
|
||||
|
||||
/* Define to 1 if you have the `memcpy' function. */
|
||||
#undef HAVE_MEMCPY
|
||||
|
||||
/* Define to 1 if you have the `memmove' function. */
|
||||
#undef HAVE_MEMMOVE
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the `memset' function. */
|
||||
#undef HAVE_MEMSET
|
||||
|
||||
/* Define to 1 if you have the `putenv' function. */
|
||||
#undef HAVE_PUTENV
|
||||
|
||||
/* Define to 1 if you have the `qsort' function. */
|
||||
#undef HAVE_QSORT
|
||||
|
||||
/* Define to 1 if you have the `realloc' function. */
|
||||
#undef HAVE_REALLOC
|
||||
|
||||
/* Define to 1 if you have the <signal.h> header file. */
|
||||
#undef HAVE_SIGNAL_H
|
||||
|
||||
/* Define to 1 if you have the `snprintf' function. */
|
||||
#undef HAVE_SNPRINTF
|
||||
|
||||
/* Define to 1 if you have the `sscanf' function. */
|
||||
#undef HAVE_SSCANF
|
||||
|
||||
/* Define to 1 if you have the <stdarg.h> header file. */
|
||||
#undef HAVE_STDARG_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdio.h> header file. */
|
||||
#undef HAVE_STDIO_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the `strcasecmp' function. */
|
||||
#undef HAVE_STRCASECMP
|
||||
|
||||
/* Define to 1 if you have the `strcat' function. */
|
||||
#undef HAVE_STRCAT
|
||||
|
||||
/* Define to 1 if you have the `strchr' function. */
|
||||
#undef HAVE_STRCHR
|
||||
|
||||
/* Define to 1 if you have the `strcmp' function. */
|
||||
#undef HAVE_STRCMP
|
||||
|
||||
/* Define to 1 if you have the `strcpy' function. */
|
||||
#undef HAVE_STRCPY
|
||||
|
||||
/* Define to 1 if you have the `strdup' function. */
|
||||
#undef HAVE_STRDUP
|
||||
|
||||
/* Define to 1 if you have the `stricmp' function. */
|
||||
#undef HAVE_STRICMP
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the `strlen' function. */
|
||||
#undef HAVE_STRLEN
|
||||
|
||||
/* Define to 1 if you have the `strncat' function. */
|
||||
#undef HAVE_STRNCAT
|
||||
|
||||
/* Define to 1 if you have the `strncmp' function. */
|
||||
#undef HAVE_STRNCMP
|
||||
|
||||
/* Define to 1 if you have the `strncpy' function. */
|
||||
#undef HAVE_STRNCPY
|
||||
|
||||
/* Define to 1 if you have the `strrchr' function. */
|
||||
#undef HAVE_STRRCHR
|
||||
|
||||
/* Define to 1 if you have the `strstr' function. */
|
||||
#undef HAVE_STRSTR
|
||||
|
||||
/* Define to 1 if you have the `strtol' function. */
|
||||
#undef HAVE_STRTOL
|
||||
|
||||
/* Define to 1 if you have the `strtoll' function. */
|
||||
#undef HAVE_STRTOLL
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define to 1 if you have the `vsnprintf' function. */
|
||||
#undef HAVE_VSNPRINTF
|
||||
|
||||
/* Define to 1 if you have the `_i64toa' function. */
|
||||
#undef HAVE__I64TOA
|
||||
|
||||
/* Define to 1 if you have the `_ltoa' function. */
|
||||
#undef HAVE__LTOA
|
||||
|
||||
/* Define to 1 if you have the `_strlwr' function. */
|
||||
#undef HAVE__STRLWR
|
||||
|
||||
/* Define to 1 if you have the `_strrev' function. */
|
||||
#undef HAVE__STRREV
|
||||
|
||||
/* Define to 1 if you have the `_strupr' function. */
|
||||
#undef HAVE__STRUPR
|
||||
|
||||
/* Define to 1 if you have the `_ui64toa' function. */
|
||||
#undef HAVE__UI64TOA
|
||||
|
||||
/* Define to 1 if you have the `_uitoa' function. */
|
||||
#undef HAVE__UITOA
|
||||
|
||||
/* Define to 1 if you have the `_ultoa' function. */
|
||||
#undef HAVE__ULTOA
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* The size of a `char', as computed by sizeof. */
|
||||
#undef SIZEOF_CHAR
|
||||
|
||||
/* The size of a `int', as computed by sizeof. */
|
||||
#undef SIZEOF_INT
|
||||
|
||||
/* The size of a `long', as computed by sizeof. */
|
||||
#undef SIZEOF_LONG
|
||||
|
||||
/* The size of a `long long', as computed by sizeof. */
|
||||
#undef SIZEOF_LONG_LONG
|
||||
|
||||
/* The size of a `short', as computed by sizeof. */
|
||||
#undef SIZEOF_SHORT
|
||||
|
||||
/* If using the C implementation of alloca, define if you know the
|
||||
direction of stack growth for your system; otherwise it will be
|
||||
automatically deduced at run-time.
|
||||
STACK_DIRECTION > 0 => grows toward higher addresses
|
||||
STACK_DIRECTION < 0 => grows toward lower addresses
|
||||
STACK_DIRECTION = 0 => direction of growth unknown */
|
||||
#undef STACK_DIRECTION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
/* Define to 1 if the X Window System is missing or not being used. */
|
||||
#undef X_DISPLAY_MISSING
|
||||
|
||||
/* Define to empty if `const' does not conform to ANSI C. */
|
||||
#undef const
|
||||
|
||||
/* Define to `__inline__' or `__inline' if that's what the C compiler
|
||||
calls it, or to nothing if 'inline' is not supported under any name. */
|
||||
#ifndef __cplusplus
|
||||
#undef inline
|
||||
#endif
|
||||
|
||||
/* Define to `unsigned' if <sys/types.h> does not define. */
|
||||
#undef size_t
|
||||
|
||||
|
||||
|
||||
#endif /* HAVE_LIBC */
|
||||
|
||||
#endif /* _SDL_config_h */
|
||||
|
30
include/SDL_config.h.minimal
Normal file
30
include/SDL_config.h.minimal
Normal file
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
SDL - Simple DirectMedia Layer
|
||||
Copyright (C) 1997-2006 Sam Lantinga
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Sam Lantinga
|
||||
slouken@libsdl.org
|
||||
*/
|
||||
|
||||
#ifndef _SDL_config_h
|
||||
#define _SDL_config_h
|
||||
|
||||
/* This is the minimal configuration that can be used to build SDL */
|
||||
|
||||
#define HAVE_STDARG_H 1
|
||||
|
||||
#endif /* _SDL_config_h */
|
|
@ -62,6 +62,12 @@ extern "C" {
|
|||
extern DECLSPEC void * SDLCALL SDL_malloc(size_t size);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_CALLOC
|
||||
#define SDL_calloc calloc
|
||||
#else
|
||||
extern DECLSPEC void * SDLCALL SDL_calloc(size_t nmemb, size_t size);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_REALLOC
|
||||
#define SDL_realloc realloc
|
||||
#else
|
||||
|
@ -101,6 +107,12 @@ extern DECLSPEC void SDLCALL SDL_qsort(void *base, size_t nmemb, size_t size,
|
|||
int (*compare)(const void *, const void *));
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_ABS
|
||||
#define SDL_abs abs
|
||||
#else
|
||||
#define SDL_abs(X) ((X) < 0 ? -(X) : (X))
|
||||
#endif
|
||||
|
||||
/* Ends C function definitions when using C++ */
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -201,6 +201,12 @@ extern DECLSPEC char * SDLCALL SDL_strncpy(char *dst, const char *src, size_t ma
|
|||
#define SDL_strncat(dst, src, n) (SDL_strncpy(dst+SDL_strlen(dst), src, n), dst)
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STRDUP
|
||||
#define SDL_strdup strdup
|
||||
#else
|
||||
extern DECLSPEC char * SDLCALL SDL_strdup(const char *string);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE__STRREV
|
||||
#define SDL_strrev _strrev
|
||||
#else
|
||||
|
@ -289,6 +295,24 @@ extern DECLSPEC Sint64 SDLCALL SDL_strtoll(const char *string, char **endp, int
|
|||
|
||||
#endif /* SDL_HAS_64BIT_TYPE */
|
||||
|
||||
#ifdef HAVE_STRTOD
|
||||
#define SDL_strtod strtod
|
||||
#else
|
||||
extern DECLSPEC double SDLCALL SDL_strtod(const char *string, char **endp);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_ATOI
|
||||
#define SDL_atoi atoi
|
||||
#else
|
||||
#define SDL_atoi(X) SDL_strtol(X, NULL, 0)
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_ATOF
|
||||
#define SDL_atof atof
|
||||
#else
|
||||
#define SDL_atof(X) SDL_strtod(X, NULL)
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STRCMP
|
||||
#define SDL_strcmp strcmp
|
||||
#else
|
||||
|
|
|
@ -306,18 +306,20 @@ int SDL_AudioInit(const char *driver_name)
|
|||
*/
|
||||
for ( i=0; bootstrap[i]; ++i ) {
|
||||
if ( SDL_strcmp(bootstrap[i]->name, "esd") == 0 ) {
|
||||
#ifdef HAVE_PUTENV
|
||||
const char *esd_no_spawn;
|
||||
|
||||
/* Don't start ESD if it's not running */
|
||||
esd_no_spawn = SDL_getenv("ESD_NO_SPAWN");
|
||||
esd_no_spawn = getenv("ESD_NO_SPAWN");
|
||||
if ( esd_no_spawn == NULL ) {
|
||||
putenv("ESD_NO_SPAWN=1");
|
||||
}
|
||||
#endif
|
||||
if ( bootstrap[i]->available() ) {
|
||||
audio = bootstrap[i]->create(0);
|
||||
break;
|
||||
}
|
||||
#ifdef linux /* No unsetenv() on most platforms */
|
||||
#ifdef HAVE_UNSETENV
|
||||
if ( esd_no_spawn == NULL ) {
|
||||
unsetenv("ESD_NO_SPAWN");
|
||||
}
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
|
||||
/* Allow access to a raw mixing buffer (for AmigaOS) */
|
||||
|
||||
#include "SDL_stdlib.h"
|
||||
#include "SDL_string.h"
|
||||
#include "SDL_endian.h"
|
||||
#include "SDL_audio.h"
|
||||
#include "SDL_audiomem.h"
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
/* Output raw audio data to a file. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h> /* For strerror() */
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/stat.h>
|
||||
|
@ -130,7 +131,7 @@ static SDL_AudioDevice *DISKAUD_CreateDevice(int devindex)
|
|||
SDL_memset(this->hidden, 0, (sizeof *this->hidden));
|
||||
|
||||
envr = SDL_getenv(DISKENVR_WRITEDELAY);
|
||||
this->hidden->write_delay = (envr) ? atoi(envr) : DISKDEFAULT_WRITEDELAY;
|
||||
this->hidden->write_delay = (envr) ? SDL_atoi(envr) : DISKDEFAULT_WRITEDELAY;
|
||||
|
||||
/* Set the function pointers */
|
||||
this->OpenAudio = DISKAUD_OpenAudio;
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
/* Allow access to a raw mixing buffer */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h> /* For strerror() */
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
|
|
|
@ -25,7 +25,8 @@
|
|||
|
||||
/* Allow access to a raw mixing buffer */
|
||||
|
||||
#include <stdio.h> /* For perror() ... should we really do this? */
|
||||
#include <stdio.h> /* For perror() */
|
||||
#include <string.h> /* For strerror() */
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
|
||||
#include <mme_api.h>
|
||||
|
||||
#include "SDL_stdlib.h"
|
||||
#include "SDL_string.h"
|
||||
#include "SDL_audio.h"
|
||||
#include "SDL_mutex.h"
|
||||
#include "SDL_timer.h"
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
|
||||
/* Functions for system-level CD-ROM audio control */
|
||||
|
||||
#include <string.h> /* For strerror() */
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
@ -215,7 +216,7 @@ static void CheckMounts(const char *mtab)
|
|||
tmp = SDL_strstr(mntent->mnt_opts, "fs=");
|
||||
if ( tmp ) {
|
||||
SDL_free(mnt_type);
|
||||
mnt_type = strdup(tmp + SDL_strlen("fs="));
|
||||
mnt_type = SDL_strdup(tmp + SDL_strlen("fs="));
|
||||
if ( mnt_type ) {
|
||||
tmp = SDL_strchr(mnt_type, ',');
|
||||
if ( tmp ) {
|
||||
|
@ -226,7 +227,7 @@ static void CheckMounts(const char *mtab)
|
|||
tmp = SDL_strstr(mntent->mnt_opts, "dev=");
|
||||
if ( tmp ) {
|
||||
SDL_free(mnt_dev);
|
||||
mnt_dev = strdup(tmp + SDL_strlen("dev="));
|
||||
mnt_dev = SDL_strdup(tmp + SDL_strlen("dev="));
|
||||
if ( mnt_dev ) {
|
||||
tmp = SDL_strchr(mnt_dev, ',');
|
||||
if ( tmp ) {
|
||||
|
|
|
@ -113,11 +113,11 @@ int SDL_putenv(const char *variable)
|
|||
}
|
||||
|
||||
/* Allocate memory for the variable */
|
||||
new_variable = (char *)malloc(strlen(variable)+1);
|
||||
new_variable = (char *)SDL_malloc(SDL_strlen(variable)+1);
|
||||
if ( ! new_variable ) {
|
||||
return(-1);
|
||||
}
|
||||
strcpy(new_variable, variable);
|
||||
SDL_strcpy(new_variable, variable);
|
||||
|
||||
/* Actually put it into the environment */
|
||||
added = 0;
|
||||
|
@ -126,13 +126,13 @@ int SDL_putenv(const char *variable)
|
|||
/* Check to see if it's already there... */
|
||||
len = (value - name);
|
||||
for ( ; SDL_env[i]; ++i ) {
|
||||
if ( strncmp(SDL_env[i], name, len) == 0 ) {
|
||||
if ( SDL_strncmp(SDL_env[i], name, len) == 0 ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
/* If we found it, just replace the entry */
|
||||
if ( SDL_env[i] ) {
|
||||
free(SDL_env[i]);
|
||||
SDL_free(SDL_env[i]);
|
||||
SDL_env[i] = new_variable;
|
||||
added = 1;
|
||||
}
|
||||
|
@ -147,7 +147,7 @@ int SDL_putenv(const char *variable)
|
|||
SDL_env[i++] = (char *)0;
|
||||
added = 1;
|
||||
} else {
|
||||
free(new_variable);
|
||||
SDL_free(new_variable);
|
||||
}
|
||||
}
|
||||
return (added ? 0 : -1);
|
||||
|
@ -161,9 +161,9 @@ char *SDL_getenv(const char *name)
|
|||
|
||||
value = (char *)0;
|
||||
if ( SDL_env ) {
|
||||
len = strlen(name);
|
||||
len = SDL_strlen(name);
|
||||
for ( i=0; SDL_env[i] && !value; ++i ) {
|
||||
if ( (strncmp(SDL_env[i], name, len) == 0) &&
|
||||
if ( (SDL_strncmp(SDL_env[i], name, len) == 0) &&
|
||||
(SDL_env[i][len] == '=') ) {
|
||||
value = &SDL_env[i][len+1];
|
||||
}
|
||||
|
@ -185,59 +185,59 @@ int main(int argc, char *argv[])
|
|||
|
||||
printf("Checking for non-existent variable... ");
|
||||
fflush(stdout);
|
||||
if ( ! getenv("EXISTS") ) {
|
||||
if ( ! SDL_getenv("EXISTS") ) {
|
||||
printf("okay\n");
|
||||
} else {
|
||||
printf("failed\n");
|
||||
}
|
||||
printf("Setting FIRST=VALUE1 in the environment... ");
|
||||
fflush(stdout);
|
||||
if ( putenv("FIRST=VALUE1") == 0 ) {
|
||||
if ( SDL_putenv("FIRST=VALUE1") == 0 ) {
|
||||
printf("okay\n");
|
||||
} else {
|
||||
printf("failed\n");
|
||||
}
|
||||
printf("Getting FIRST from the environment... ");
|
||||
fflush(stdout);
|
||||
value = getenv("FIRST");
|
||||
if ( value && (strcmp(value, "VALUE1") == 0) ) {
|
||||
value = SDL_getenv("FIRST");
|
||||
if ( value && (SDL_strcmp(value, "VALUE1") == 0) ) {
|
||||
printf("okay\n");
|
||||
} else {
|
||||
printf("failed\n");
|
||||
}
|
||||
printf("Setting SECOND=VALUE2 in the environment... ");
|
||||
fflush(stdout);
|
||||
if ( putenv("SECOND=VALUE2") == 0 ) {
|
||||
if ( SDL_putenv("SECOND=VALUE2") == 0 ) {
|
||||
printf("okay\n");
|
||||
} else {
|
||||
printf("failed\n");
|
||||
}
|
||||
printf("Getting SECOND from the environment... ");
|
||||
fflush(stdout);
|
||||
value = getenv("SECOND");
|
||||
if ( value && (strcmp(value, "VALUE2") == 0) ) {
|
||||
value = SDL_getenv("SECOND");
|
||||
if ( value && (SDL_strcmp(value, "VALUE2") == 0) ) {
|
||||
printf("okay\n");
|
||||
} else {
|
||||
printf("failed\n");
|
||||
}
|
||||
printf("Setting FIRST=NOVALUE in the environment... ");
|
||||
fflush(stdout);
|
||||
if ( putenv("FIRST=NOVALUE") == 0 ) {
|
||||
if ( SDL_putenv("FIRST=NOVALUE") == 0 ) {
|
||||
printf("okay\n");
|
||||
} else {
|
||||
printf("failed\n");
|
||||
}
|
||||
printf("Getting FIRST from the environment... ");
|
||||
fflush(stdout);
|
||||
value = getenv("FIRST");
|
||||
if ( value && (strcmp(value, "NOVALUE") == 0) ) {
|
||||
value = SDL_getenv("FIRST");
|
||||
if ( value && (SDL_strcmp(value, "NOVALUE") == 0) ) {
|
||||
printf("okay\n");
|
||||
} else {
|
||||
printf("failed\n");
|
||||
}
|
||||
printf("Checking for non-existent variable... ");
|
||||
fflush(stdout);
|
||||
if ( ! getenv("EXISTS") ) {
|
||||
if ( ! SDL_getenv("EXISTS") ) {
|
||||
printf("okay\n");
|
||||
} else {
|
||||
printf("failed\n");
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
|
||||
#include "SDL_types.h"
|
||||
#include "SDL_ctype.h"
|
||||
#include "SDL_stdlib.h"
|
||||
#include "SDL_string.h"
|
||||
|
||||
|
||||
|
@ -175,7 +176,7 @@ static size_t SDL_ScanUnsignedLongLong(const char *text, int radix, Uint64 *valu
|
|||
#endif
|
||||
#endif /* SDL_HAS_64BIT_TYPE */
|
||||
|
||||
#ifndef HAVE_SSCANF
|
||||
#if !defined(HAVE_SSCANF) || !defined(HAVE_STRTOD)
|
||||
static size_t SDL_ScanFloat(const char *text, double *valuep)
|
||||
{
|
||||
const char *textstart = text;
|
||||
|
@ -322,6 +323,18 @@ char *SDL_strncpy(char *dst, const char *src, size_t maxlen)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_STRDUP
|
||||
char *SDL_strdup(const char *string)
|
||||
{
|
||||
size_t len = SDL_strlen(string);
|
||||
char *newstr = SDL_malloc(len+1);
|
||||
if ( newstr ) {
|
||||
SDL_strcpy(newstr, string);
|
||||
}
|
||||
return newstr;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef HAVE__STRREV
|
||||
char *SDL_strrev(char *string)
|
||||
{
|
||||
|
@ -549,6 +562,20 @@ Sint64 SDL_strtoll(const char *string, char **endp, int base)
|
|||
|
||||
#endif /* SDL_HAS_64BIT_TYPE */
|
||||
|
||||
#ifndef HAVE_STRTOD
|
||||
double SDL_strtod(const char *string, char **endp)
|
||||
{
|
||||
size_t len;
|
||||
double value;
|
||||
|
||||
len = SDL_ScanFloat(string, &value);
|
||||
if ( endp ) {
|
||||
*endp = (char *)string + len;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_STRCMP
|
||||
int SDL_strcmp(const char *str1, const char *str2)
|
||||
{
|
||||
|
|
|
@ -798,7 +798,7 @@ SDL_Surface * SDL_SetVideoMode (int width, int height, int bpp, Uint32 flags)
|
|||
*/
|
||||
if ( (bpp == 16) &&
|
||||
(SDL_strstr((const char *)video->glGetString(GL_EXTENSIONS), "GL_EXT_packed_pixels") ||
|
||||
(atof((const char *)video->glGetString(GL_VERSION)) >= 1.2f))
|
||||
(SDL_atof((const char *)video->glGetString(GL_VERSION)) >= 1.2f))
|
||||
) {
|
||||
video->is_32bit = 0;
|
||||
SDL_VideoSurface = SDL_CreateRGBSurface(
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
/* This is the implementation of the YUV video surface support */
|
||||
|
||||
#include "SDL_stdlib.h"
|
||||
#include "SDL_string.h"
|
||||
#include "SDL_video.h"
|
||||
#include "SDL_error.h"
|
||||
#include "SDL_sysvideo.h"
|
||||
|
@ -54,7 +55,7 @@ SDL_Overlay *SDL_CreateYUVOverlay(int w, int h, Uint32 format,
|
|||
overlay = NULL;
|
||||
yuv_hwaccel = SDL_getenv("SDL_VIDEO_YUV_HWACCEL");
|
||||
if ( ((display == SDL_VideoSurface) && video->CreateYUVOverlay) &&
|
||||
(!yuv_hwaccel || (*yuv_hwaccel != '0')) ) {
|
||||
(!yuv_hwaccel || (SDL_atoi(yuv_hwaccel) > 0)) ) {
|
||||
overlay = video->CreateYUVOverlay(this, w, h, format, display);
|
||||
}
|
||||
/* If hardware YUV overlay failed ... */
|
||||
|
|
|
@ -92,7 +92,7 @@ int eloParsePacket(unsigned char* mousebuf, int* dx, int* dy, int* button_state)
|
|||
x = ((mousebuf[4] << 8) | mousebuf[3]);
|
||||
y = ((mousebuf[6] << 8) | mousebuf[5]);
|
||||
|
||||
if((abs(x - last_x) > ELO_SNAP_SIZE) || (abs(y - last_y) > ELO_SNAP_SIZE)) {
|
||||
if((SDL_abs(x - last_x) > ELO_SNAP_SIZE) || (SDL_abs(y - last_y) > ELO_SNAP_SIZE)) {
|
||||
*dx = ((mousebuf[4] << 8) | mousebuf[3]);
|
||||
*dy = ((mousebuf[6] << 8) | mousebuf[5]);
|
||||
}
|
||||
|
@ -335,19 +335,19 @@ int eloInitController(int fd) {
|
|||
/* try to read the calibration values */
|
||||
buffer = SDL_getenv("SDL_ELO_MIN_X");
|
||||
if(buffer) {
|
||||
ELO_MIN_X = atoi(buffer);
|
||||
ELO_MIN_X = SDL_atoi(buffer);
|
||||
}
|
||||
buffer = SDL_getenv("SDL_ELO_MAX_X");
|
||||
if(buffer) {
|
||||
ELO_MAX_X = atoi(buffer);
|
||||
ELO_MAX_X = SDL_atoi(buffer);
|
||||
}
|
||||
buffer = SDL_getenv("SDL_ELO_MIN_Y");
|
||||
if(buffer) {
|
||||
ELO_MIN_Y = atoi(buffer);
|
||||
ELO_MIN_Y = SDL_atoi(buffer);
|
||||
}
|
||||
buffer = SDL_getenv("SDL_ELO_MAX_Y");
|
||||
if(buffer) {
|
||||
ELO_MAX_Y = atoi(buffer);
|
||||
ELO_MAX_Y = SDL_atoi(buffer);
|
||||
}
|
||||
|
||||
#ifdef DEBUG_MOUSE
|
||||
|
|
|
@ -351,7 +351,7 @@ static int find_pid(DIR *proc, const char *wanted_name)
|
|||
name[0] = '\0';
|
||||
fscanf(status, "Name: %s", name);
|
||||
if ( SDL_strcmp(name, wanted_name) == 0 ) {
|
||||
pid = atoi(entry->d_name);
|
||||
pid = SDL_atoi(entry->d_name);
|
||||
}
|
||||
fclose(status);
|
||||
}
|
||||
|
|
|
@ -523,7 +523,7 @@ static int FB_VideoInit(_THIS, SDL_PixelFormat *vformat)
|
|||
{ const char *fb_accel;
|
||||
fb_accel = SDL_getenv("SDL_FBACCEL");
|
||||
if ( fb_accel ) {
|
||||
finfo.accel = atoi(fb_accel);
|
||||
finfo.accel = SDL_atoi(fb_accel);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -68,9 +68,9 @@ static void NX_DeleteDevice (SDL_VideoDevice * device)
|
|||
Dprintf ("enter NX_DeleteDevice\n") ;
|
||||
|
||||
if (device) {
|
||||
if (device -> hidden) free (device -> hidden) ;
|
||||
if (device -> gl_data) free (device -> gl_data) ;
|
||||
free (device) ;
|
||||
if (device -> hidden) SDL_free (device -> hidden) ;
|
||||
if (device -> gl_data) SDL_free (device -> gl_data) ;
|
||||
SDL_free (device) ;
|
||||
}
|
||||
|
||||
Dprintf ("leave NX_DeleteDevice\n") ;
|
||||
|
@ -256,9 +256,9 @@ void NX_VideoQuit (_THIS)
|
|||
GrDestroyWindow (FSwindow) ;
|
||||
}
|
||||
NX_FreeVideoModes (this) ;
|
||||
free (GammaRamp_R) ;
|
||||
free (GammaRamp_G) ;
|
||||
free (GammaRamp_B) ;
|
||||
SDL_free (GammaRamp_R) ;
|
||||
SDL_free (GammaRamp_G) ;
|
||||
SDL_free (GammaRamp_B) ;
|
||||
|
||||
#ifdef ENABLE_NANOX_DIRECT_FB
|
||||
if (Clientfb)
|
||||
|
@ -306,7 +306,7 @@ static int NX_CreateWindow (_THIS, SDL_Surface * screen,
|
|||
|
||||
// See if we have been given a window id
|
||||
if (SDL_windowid) {
|
||||
SDL_Window = strtol (SDL_windowid, NULL, 0) ;
|
||||
SDL_Window = SDL_strtol (SDL_windowid, NULL, 0) ;
|
||||
} else {
|
||||
SDL_Window = 0 ;
|
||||
}
|
||||
|
|
|
@ -798,7 +798,7 @@ static int GetCodePage()
|
|||
int cp = GetACP();
|
||||
|
||||
if (GetLocaleInfo(lcid, LOCALE_IDEFAULTANSICODEPAGE, buff, sizeof(buff))) {
|
||||
cp = SDL_strtol(buff, NULL, 0);
|
||||
cp = SDL_atoi(buff);
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue