Brute-force fix; I cannot understand why GCC behaves in a complicated way, but there is a simple workaround

svn path=/nixpkgs/branches/stdenv-updates/; revision=24771
This commit is contained in:
Michael Raskin 2010-11-19 13:12:13 +00:00
parent 9d124b1c70
commit f904e3c821
2 changed files with 22 additions and 0 deletions

View file

@ -0,0 +1,20 @@
--- opencv/src/highgui/cvcap_ffmpeg.cpp
+++ opencv/src/highgui/cvcap_ffmpeg.cpp
@@ -49,6 +49,15 @@
#if !defined(WIN32) || defined(__MINGW32__)
// some versions of FFMPEG assume a C99 compiler, and don't define INT64_C
-#ifndef INT64_C
-#define INT64_C
+#if !defined INT64_C || !defined UINT64_C
+# if __WORDSIZE == 64
+# define INT64_C(c) c ## UL
+# else
+# define INT64_C(c) c ## ULL
+# endif
+# if __WORDSIZE == 64
+# define UINT64_C(c) c ## UL
+# else
+# define UINT64_C(c) c ## ULL
+# endif
#define __STDC_CONSTANT_MACROS
// force re-inclusion of stdint.h to get INT64_C macro

View file

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
buildInputs = [ cmake gtk glib libjpeg libpng libtiff jasper ffmpeg pkgconfig
xineLib gstreamer ];
patches = [ ./changeset_r3190.diff ];
meta = {
description = "Open Computer Vision Library with more than 500 algorithms";
homepage = http://opencv.willowgarage.com/;