Some fixes for C89 builds.
authorGregory Maxwell <greg@xiph.org>
Mon, 19 Sep 2011 19:49:43 +0000 (15:49 -0400)
committerGregory Maxwell <greg@xiph.org>
Mon, 19 Sep 2011 19:56:48 +0000 (15:56 -0400)
Makefile.draft
celt/float_cast.h
src/test_opus.c

index f75b05c..d2f307e 100644 (file)
@@ -12,8 +12,10 @@ CFLAGS += -DUSE_ALLOCA
 
 # These options affect performance
 # HAVE_LRINTF: Use C99 intrinsics to speed up float-to-int conversion
-# restrict: Don't use the 'restrict' optimization (for pre-C99 compilers)
+#      inline: Don't use the 'inline' keyword (for ANSI C compilers)
+#    restrict: Don't use the 'restrict' keyword (for pre-C99 compilers)
 #CFLAGS += -DHAVE_LRINTF
+#CFLAGS += -Dinline=
 CFLAGS += -Drestrict=
 
 ###################### END OF OPTIONS ######################
index b3670f0..1b3f199 100644 (file)
 
 #else
 
-#ifdef __GNUC__ /* supported by gcc, but not by all other compilers*/
+#if (defined(__GNUC__) && defined(__STDC__) && __STDC__ && __STDC_VERSION__ >= 199901L)
+        /* supported by gcc in C99 mode, but not by all other compilers */
        #warning "Don't have the functions lrint() and lrintf ()."
        #warning "Replacing these functions with a standard C cast."
-#endif /* __GNUC__ */
+#endif /* __STDC_VERSION__ >= 199901L */
        #include        <math.h>
        #define float2int(flt)          ((int)(floor(.5+flt)))
 #endif
index 27e315a..c0d5d48 100644 (file)
@@ -65,6 +65,7 @@ void print_usage( char* argv[] )
 #ifdef _WIN32
 #   define STR_CASEINSENSITIVE_COMPARE(x, y) _stricmp(x, y)
 #else
+#   include <strings.h>
 #   define STR_CASEINSENSITIVE_COMPARE(x, y) strcasecmp(x, y)
 #endif