From b9c3c43e81e3a168f287996a222f384def84514c Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Mon, 13 Feb 2006 20:49:07 +0000 Subject: [PATCH] Windows does not have long long; copy the generated _stdint.h Original commit message from CVS: * Makefile.am: * configure.ac: * win32/MANIFEST: * win32/common/_stdint.h: Windows does not have long long; copy the generated _stdint.h * win32/common/interfaces-enumtypes.c: (gst_color_balance_type_get_type), (gst_mixer_type_get_type), (gst_mixer_track_flags_get_type), (gst_tuner_channel_flags_get_type): * win32/common/multichannel-enumtypes.c: (gst_audio_channel_position_get_type): update --- ChangeLog | 15 +++ Makefile.am | 5 +- configure.ac | 1 + win32/MANIFEST | 1 + win32/common/_stdint.h | 286 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 307 insertions(+), 1 deletion(-) create mode 100644 win32/common/_stdint.h diff --git a/ChangeLog b/ChangeLog index ffb21b3bb0..1ef6b60f9a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2006-02-13 Thomas Vander Stichele + + * Makefile.am: + * configure.ac: + * win32/MANIFEST: + * win32/common/_stdint.h: + Windows does not have long long; copy the generated _stdint.h + * win32/common/interfaces-enumtypes.c: + (gst_color_balance_type_get_type), (gst_mixer_type_get_type), + (gst_mixer_track_flags_get_type), + (gst_tuner_channel_flags_get_type): + * win32/common/multichannel-enumtypes.c: + (gst_audio_channel_position_get_type): + update + 2006-02-13 Wim Taymans * gst-libs/gst/audio/gstbaseaudiosink.c: diff --git a/Makefile.am b/Makefile.am index 6a33800301..35fd0a9657 100644 --- a/Makefile.am +++ b/Makefile.am @@ -48,6 +48,9 @@ check-valgrind: check-torture: cd tests/check && make torture -WIN32_COPY = $(top_builddir)/gst-libs/gst/*/*-enumtypes.[ch] +WIN32_COPY = \ + $(top_builddir)/gst-libs/gst/*/*-enumtypes.[ch] \ + $(top_builddir)/_stdint.h + win32-update: for f in $(WIN32_COPY); do cp $$f win32/common;done diff --git a/configure.ac b/configure.ac index 1a0b446553..0cd03251ee 100644 --- a/configure.ac +++ b/configure.ac @@ -172,6 +172,7 @@ AC_CHECK_HEADERS([sys/socket.h], AM_CONDITIONAL(HAVE_SYS_SOCKET_H, test "x$HAVE_SYS_SOCKET_H" = "xyes") dnl ffmpegcolorspace includes _stdint.h +dnl also, Windows does not have long long AX_CREATE_STDINT_H dnl *** checks for types/defines *** diff --git a/win32/MANIFEST b/win32/MANIFEST index e2c457fab1..8f213fd1bb 100644 --- a/win32/MANIFEST +++ b/win32/MANIFEST @@ -7,6 +7,7 @@ win32/common/interfaces-enumtypes.c win32/common/interfaces-enumtypes.h win32/common/multichannel-enumtypes.c win32/common/multichannel-enumtypes.h +win32/common/_stdint.h win32/vs6/gst_plugins_base.dsw win32/vs6/libgstadder.dsp win32/vs6/libgstaudio.dsp diff --git a/win32/common/_stdint.h b/win32/common/_stdint.h new file mode 100644 index 0000000000..4d5846c415 --- /dev/null +++ b/win32/common/_stdint.h @@ -0,0 +1,286 @@ +#ifndef _GST_PLUGINS_BASE__STDINT_H +#define _GST_PLUGINS_BASE__STDINT_H 1 +#ifndef _GENERATED_STDINT_H +#define _GENERATED_STDINT_H "gst-plugins-base 0.10.3.1" +/* generated using gnu compiler gcc (GCC) 4.0.2 20051125 (Red Hat 4.0.2-8) */ +#define _STDINT_HAVE_STDINT_H 1 + +/* ................... shortcircuit part ........................... */ + +#if defined HAVE_STDINT_H || defined _STDINT_HAVE_STDINT_H +#include +#else +#include + +/* .................... configured part ............................ */ + +/* whether we have a C99 compatible stdint header file */ +/* #undef _STDINT_HEADER_INTPTR */ +/* whether we have a C96 compatible inttypes header file */ +/* #undef _STDINT_HEADER_UINT32 */ +/* whether we have a BSD compatible inet types header */ +/* #undef _STDINT_HEADER_U_INT32 */ + +/* which 64bit typedef has been found */ +/* #undef _STDINT_HAVE_UINT64_T */ +/* #undef _STDINT_HAVE_U_INT64_T */ + +/* which type model has been detected */ +/* #undef _STDINT_CHAR_MODEL // skipped */ +/* #undef _STDINT_LONG_MODEL // skipped */ + +/* whether int_least types were detected */ +/* #undef _STDINT_HAVE_INT_LEAST32_T */ +/* whether int_fast types were detected */ +/* #undef _STDINT_HAVE_INT_FAST32_T */ +/* whether intmax_t type was detected */ +/* #undef _STDINT_HAVE_INTMAX_T */ + +/* .................... detections part ............................ */ + +/* whether we need to define bitspecific types from compiler base types */ +#ifndef _STDINT_HEADER_INTPTR +#ifndef _STDINT_HEADER_UINT32 +#ifndef _STDINT_HEADER_U_INT32 +#define _STDINT_NEED_INT_MODEL_T +#else +#define _STDINT_HAVE_U_INT_TYPES +#endif +#endif +#endif + +#ifdef _STDINT_HAVE_U_INT_TYPES +#undef _STDINT_NEED_INT_MODEL_T +#endif + +#ifdef _STDINT_CHAR_MODEL +#if _STDINT_CHAR_MODEL+0 == 122 || _STDINT_CHAR_MODEL+0 == 124 +#ifndef _STDINT_BYTE_MODEL +#define _STDINT_BYTE_MODEL 12 +#endif +#endif +#endif + +#ifndef _STDINT_HAVE_INT_LEAST32_T +#define _STDINT_NEED_INT_LEAST_T +#endif + +#ifndef _STDINT_HAVE_INT_FAST32_T +#define _STDINT_NEED_INT_FAST_T +#endif + +#ifndef _STDINT_HEADER_INTPTR +#define _STDINT_NEED_INTPTR_T +#ifndef _STDINT_HAVE_INTMAX_T +#define _STDINT_NEED_INTMAX_T +#endif +#endif + + +/* .................... definition part ............................ */ + +/* some system headers have good uint64_t */ +#ifndef _HAVE_UINT64_T +#if defined _STDINT_HAVE_UINT64_T || defined HAVE_UINT64_T +#define _HAVE_UINT64_T +#elif defined _STDINT_HAVE_U_INT64_T || defined HAVE_U_INT64_T +#define _HAVE_UINT64_T +typedef u_int64_t uint64_t; +#endif +#endif + +#ifndef _HAVE_UINT64_T +/* .. here are some common heuristics using compiler runtime specifics */ +#if defined __STDC_VERSION__ && defined __STDC_VERSION__ >= 199901L +#define _HAVE_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; + +#elif !defined __STRICT_ANSI__ +#if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__ +#define _HAVE_UINT64_T +typedef __int64 int64_t; +typedef unsigned __int64 uint64_t; + +#elif defined __GNUC__ || defined __MWERKS__ || defined __ELF__ +/* note: all ELF-systems seem to have loff-support which needs 64-bit */ +#if !defined _NO_LONGLONG +#define _HAVE_UINT64_T +typedef long long int64_t; +typedef unsigned long long uint64_t; +#endif + +#elif defined __alpha || (defined __mips && defined _ABIN32) +#if !defined _NO_LONGLONG +typedef long int64_t; +typedef unsigned long uint64_t; +#endif + /* compiler/cpu type to define int64_t */ +#endif +#endif +#endif + +#if defined _STDINT_HAVE_U_INT_TYPES +/* int8_t int16_t int32_t defined by inet code, redeclare the u_intXX types */ +typedef u_int8_t uint8_t; +typedef u_int16_t uint16_t; +typedef u_int32_t uint32_t; + +/* glibc compatibility */ +#ifndef __int8_t_defined +#define __int8_t_defined +#endif +#endif + +#ifdef _STDINT_NEED_INT_MODEL_T +/* we must guess all the basic types. Apart from byte-adressable system, */ +/* there a few 32-bit-only dsp-systems that we guard with BYTE_MODEL 8-} */ +/* (btw, those nibble-addressable systems are way off, or so we assume) */ + + +#if defined _STDINT_BYTE_MODEL +#if _STDINT_LONG_MODEL+0 == 242 +/* 2:4:2 = IP16 = a normal 16-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned long uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef long int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL == 444 +/* 2:4:4 = LP32 = a 32-bit system derived from a 16-bit */ +/* 4:4:4 = ILP32 = a normal 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 484 || _STDINT_LONG_MODEL+0 == 488 +/* 4:8:4 = IP32 = a 32-bit system prepared for 64-bit */ +/* 4:8:8 = LP64 = a normal 64-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* this system has a "long" of 64bit */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +typedef unsigned long uint64_t; +typedef long int64_t; +#endif +#elif _STDINT_LONG_MODEL+0 == 448 +/* LLP64 a 64-bit system derived from a 32-bit system */ +typedef unsigned char uint8_t; +typedef unsigned short uint16_t; +typedef unsigned int uint32_t; +#ifndef __int8_t_defined +#define __int8_t_defined +typedef char int8_t; +typedef short int16_t; +typedef int int32_t; +#endif +/* assuming the system has a "long long" */ +#ifndef _HAVE_UINT64_T +#define _HAVE_UINT64_T +typedef unsigned long long uint64_t; +typedef long long int64_t; +#endif +#else +#define _STDINT_NO_INT32_T +#endif +#else +#define _STDINT_NO_INT8_T +#define _STDINT_NO_INT32_T +#endif +#endif + +/* + * quote from SunOS-5.8 sys/inttypes.h: + * Use at your own risk. As of February 1996, the committee is squarely + * behind the fixed sized types; the "least" and "fast" types are still being + * discussed. The probability that the "fast" types may be removed before + * the standard is finalized is high enough that they are not currently + * implemented. + */ + +#if defined _STDINT_NEED_INT_LEAST_T +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; +typedef int32_t int_least32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_least64_t; +#endif + +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; +typedef uint32_t uint_least32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_least64_t; +#endif + /* least types */ +#endif + +#if defined _STDINT_NEED_INT_FAST_T +typedef int8_t int_fast8_t; +typedef int int_fast16_t; +typedef int32_t int_fast32_t; +#ifdef _HAVE_UINT64_T +typedef int64_t int_fast64_t; +#endif + +typedef uint8_t uint_fast8_t; +typedef unsigned uint_fast16_t; +typedef uint32_t uint_fast32_t; +#ifdef _HAVE_UINT64_T +typedef uint64_t uint_fast64_t; +#endif + /* fast types */ +#endif + +#ifdef _STDINT_NEED_INTMAX_T +#ifdef _HAVE_UINT64_T +typedef int64_t intmax_t; +typedef uint64_t uintmax_t; +#else +typedef long intmax_t; +typedef unsigned long uintmax_t; +#endif +#endif + +#ifdef _STDINT_NEED_INTPTR_T +#ifndef __intptr_t_defined +#define __intptr_t_defined +/* we encourage using "long" to store pointer values, never use "int" ! */ +#if _STDINT_LONG_MODEL+0 == 242 || _STDINT_LONG_MODEL+0 == 484 +typedef unsinged int uintptr_t; +typedef int intptr_t; +#elif _STDINT_LONG_MODEL+0 == 244 || _STDINT_LONG_MODEL+0 == 444 +typedef unsigned long uintptr_t; +typedef long intptr_t; +#elif _STDINT_LONG_MODEL+0 == 448 && defined _HAVE_UINT64_T +typedef uint64_t uintptr_t; +typedef int64_t intptr_t; +#else /* matches typical system types ILP32 and LP64 - but not IP16 or LLP64 */ +typedef unsigned long uintptr_t; +typedef long intptr_t; +#endif +#endif +#endif + + /* shortcircuit*/ +#endif + /* once */ +#endif +#endif