Commit 7f965c1c authored by Chris Flerackers's avatar Chris Flerackers Committed by Michael Niedermayer

inttypes emulation cleanup patch by ("Chris Flerackers" <cflerackers at androme dot be>)

Originally committed as revision 2681 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 84f986c0
...@@ -148,6 +148,7 @@ debug="yes" ...@@ -148,6 +148,7 @@ debug="yes"
extralibs="-lm" extralibs="-lm"
simpleidct="yes" simpleidct="yes"
bigendian="no" bigendian="no"
inttypes="yes"
emu_fast_int="no" emu_fast_int="no"
vhook="default" vhook="default"
dlfcn="no" dlfcn="no"
...@@ -633,6 +634,17 @@ fi ...@@ -633,6 +634,17 @@ fi
fi fi
# ---
# *inttypes.h* test
cat > $TMPC << EOF
#include <inttypes.h>
int main(int argc, char ** argv){
return 0;
}
EOF
$cc -o $TMPE $TMPC 2>/dev/null || inttypes="no"
# --- # ---
# *int_fast* test # *int_fast* test
cat > $TMPC << EOF cat > $TMPC << EOF
...@@ -870,6 +882,7 @@ echo "C compiler $cc" ...@@ -870,6 +882,7 @@ echo "C compiler $cc"
echo "make $make" echo "make $make"
echo "CPU $cpu ($tune)" echo "CPU $cpu ($tune)"
echo "Big Endian $bigendian" echo "Big Endian $bigendian"
echo "inttypes.h $inttypes"
echo "broken inttypes.h $emu_fast_int" echo "broken inttypes.h $emu_fast_int"
if test $cpu = "x86"; then if test $cpu = "x86"; then
echo "MMX enabled $mmx" echo "MMX enabled $mmx"
...@@ -972,6 +985,9 @@ if test "$bigendian" = "yes" ; then ...@@ -972,6 +985,9 @@ if test "$bigendian" = "yes" ; then
echo "WORDS_BIGENDIAN=yes" >> config.mak echo "WORDS_BIGENDIAN=yes" >> config.mak
echo "#define WORDS_BIGENDIAN 1" >> $TMPH echo "#define WORDS_BIGENDIAN 1" >> $TMPH
fi fi
if test "$inttypes" = "yes" ; then
echo "#define HAVE_INTTYPES_H 1" >> $TMPH
fi
if test "$emu_fast_int" = "yes" ; then if test "$emu_fast_int" = "yes" ; then
echo "#define EMULATE_FAST_INT 1" >> $TMPH echo "#define EMULATE_FAST_INT 1" >> $TMPH
fi fi
......
...@@ -82,6 +82,25 @@ extern const struct AVOption avoptions_workaround_bug[11]; ...@@ -82,6 +82,25 @@ extern const struct AVOption avoptions_workaround_bug[11];
# define always_inline inline # define always_inline inline
#endif #endif
#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
#else
typedef signed char int8_t;
typedef signed short int16_t;
typedef signed int int32_t;
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
# ifdef CONFIG_WIN32
typedef signed __int64 int64_t;
typedef unsigned __int64 uint64_t;
# else /* other OS */
typedef signed long long int64_t;
typedef unsigned long long uint64_t;
# endif /* other OS */
#endif /* HAVE_INTTYPES_H */
#ifdef EMULATE_FAST_INT #ifdef EMULATE_FAST_INT
/* note that we don't emulate 64bit ints */ /* note that we don't emulate 64bit ints */
typedef signed char int_fast8_t; typedef signed char int_fast8_t;
...@@ -102,15 +121,6 @@ static inline float floorf(float f) { ...@@ -102,15 +121,6 @@ static inline float floorf(float f) {
/* windows */ /* windows */
typedef unsigned short uint16_t;
typedef signed short int16_t;
typedef unsigned char uint8_t;
typedef unsigned int uint32_t;
typedef unsigned __int64 uint64_t;
typedef signed char int8_t;
typedef signed int int32_t;
typedef signed __int64 int64_t;
# ifndef __MINGW32__ # ifndef __MINGW32__
# define int64_t_C(c) (c ## i64) # define int64_t_C(c) (c ## i64)
# define uint64_t_C(c) (c ## i64) # define uint64_t_C(c) (c ## i64)
...@@ -137,8 +147,6 @@ typedef signed __int64 int64_t; ...@@ -137,8 +147,6 @@ typedef signed __int64 int64_t;
#elif defined (CONFIG_OS2) #elif defined (CONFIG_OS2)
/* OS/2 EMX */ /* OS/2 EMX */
#include <inttypes.h>
#ifndef int64_t_C #ifndef int64_t_C
#define int64_t_C(c) (c ## LL) #define int64_t_C(c) (c ## LL)
#define uint64_t_C(c) (c ## ULL) #define uint64_t_C(c) (c ## ULL)
...@@ -159,8 +167,6 @@ typedef signed __int64 int64_t; ...@@ -159,8 +167,6 @@ typedef signed __int64 int64_t;
/* unix */ /* unix */
#include <inttypes.h>
#ifndef int64_t_C #ifndef int64_t_C
#define int64_t_C(c) (c ## LL) #define int64_t_C(c) (c ## LL)
#define uint64_t_C(c) (c ## ULL) #define uint64_t_C(c) (c ## ULL)
......
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