From 1aeabebf68a787b18ee26f87864481d0ebaa5dae Mon Sep 17 00:00:00 2001 From: Simon Perreault Date: Mar 08 2006 01:39:23 +0000 Subject: Merging FC-4 stuff back into devel branch. --- diff --git a/opencv-0.9.7-intrinsics-simple.patch b/opencv-0.9.7-intrinsics-simple.patch new file mode 100644 index 0000000..a5f77e7 --- /dev/null +++ b/opencv-0.9.7-intrinsics-simple.patch @@ -0,0 +1,12 @@ +diff -urp opencv-0.9.7.orig/cxcore/include/cxtypes.h opencv-0.9.7/cxcore/include/cxtypes.h +--- opencv-0.9.7.orig/cxcore/include/cxtypes.h 2006-03-06 22:58:41.000000000 -0500 ++++ opencv-0.9.7/cxcore/include/cxtypes.h 2006-03-06 22:59:56.000000000 -0500 +@@ -48,7 +48,7 @@ + #include + #include + +- #if defined WIN64 && defined EM64T && defined _MSC_VER ++ #if defined WIN64 && defined EM64T && defined _MSC_VER || defined __SSE2__ + #include + #endif + diff --git a/opencv-0.9.7-intrinsics.patch b/opencv-0.9.7-intrinsics.patch new file mode 100644 index 0000000..be587a3 --- /dev/null +++ b/opencv-0.9.7-intrinsics.patch @@ -0,0 +1,195 @@ +diff -urp opencv-0.9.7.orig/configure.in opencv-0.9.7/configure.in +--- opencv-0.9.7.orig/configure.in 2006-03-06 22:58:41.000000000 -0500 ++++ opencv-0.9.7/configure.in 2006-03-07 12:05:24.000000000 -0500 +@@ -281,6 +281,11 @@ dnl + # + #AC_SUBST(CXXOPENMP) + ++dnl ++dnl ****************** SSE2 Intrinsics ************************** ++dnl ++AC_CHECK_HEADERS([emmintrin.h]) ++ + AC_SUBST(DEBUG) + + AC_CONFIG_FILES([Makefile +diff -urp opencv-0.9.7.orig/cv/src/_cv.h opencv-0.9.7/cv/src/_cv.h +--- opencv-0.9.7.orig/cv/src/_cv.h 2006-03-06 22:58:41.000000000 -0500 ++++ opencv-0.9.7/cv/src/_cv.h 2006-03-07 12:05:24.000000000 -0500 +@@ -42,6 +42,10 @@ + #ifndef _CV_INTERNAL_H_ + #define _CV_INTERNAL_H_ + ++#ifdef HAVE_CONFIG_H ++#include ++#endif ++ + #if defined _MSC_VER && _MSC_VER >= 1200 + /* disable warnings related to inline functions */ + #pragma warning( disable: 4711 4710 4514 ) +diff -urp opencv-0.9.7.orig/cvaux/src/_cvaux.h opencv-0.9.7/cvaux/src/_cvaux.h +--- opencv-0.9.7.orig/cvaux/src/_cvaux.h 2006-03-06 22:58:41.000000000 -0500 ++++ opencv-0.9.7/cvaux/src/_cvaux.h 2006-03-07 12:05:24.000000000 -0500 +@@ -41,6 +41,10 @@ + #ifndef __CVAUX_H__ + #define __CVAUX_H__ + ++#ifdef HAVE_CONFIG_H ++#include ++#endif ++ + #if _MSC_VER >= 1200 + #pragma warning( disable: 4710 4711 4514 ) /* function AAA selected for automatic inline expansion */ + #endif +diff -urp opencv-0.9.7.orig/cxcore/include/cxtypes.h opencv-0.9.7/cxcore/include/cxtypes.h +--- opencv-0.9.7.orig/cxcore/include/cxtypes.h 2006-03-06 22:58:41.000000000 -0500 ++++ opencv-0.9.7/cxcore/include/cxtypes.h 2006-03-07 12:05:24.000000000 -0500 +@@ -48,7 +48,8 @@ + #include + #include + +- #if defined WIN64 && defined EM64T && defined _MSC_VER ++ #if defined HAVE_EMMINTRIN_H \ ++ || defined WIN64 && defined EM64T && defined _MSC_VER + #include + #endif + +diff -urp opencv-0.9.7.orig/cxcore/src/_cxcore.h opencv-0.9.7/cxcore/src/_cxcore.h +--- opencv-0.9.7.orig/cxcore/src/_cxcore.h 2006-03-06 22:58:41.000000000 -0500 ++++ opencv-0.9.7/cxcore/src/_cxcore.h 2006-03-07 12:05:24.000000000 -0500 +@@ -42,6 +42,10 @@ + #ifndef _CXCORE_INTERNAL_H_ + #define _CXCORE_INTERNAL_H_ + ++#ifdef HAVE_CONFIG_H ++#include ++#endif ++ + #if defined _MSC_VER && _MSC_VER >= 1200 + /* disable warnings related to inline functions */ + #pragma warning( disable: 4711 4710 4514 ) +diff -urp opencv-0.9.7.orig/interfaces/swig/python/error.h opencv-0.9.7/interfaces/swig/python/error.h +--- opencv-0.9.7.orig/interfaces/swig/python/error.h 2006-03-06 22:58:41.000000000 -0500 ++++ opencv-0.9.7/interfaces/swig/python/error.h 2006-03-07 12:06:40.000000000 -0500 +@@ -44,6 +44,9 @@ + // Mark Asbach + // Institute of Communications Engineering, RWTH Aachen University + ++#ifdef HAVE_CONFIG_H ++#include ++#endif + + #include "cxcore.h" + +diff -urp opencv-0.9.7.orig/interfaces/swig/python/pycvseq.h opencv-0.9.7/interfaces/swig/python/pycvseq.h +--- opencv-0.9.7.orig/interfaces/swig/python/pycvseq.h 2006-03-06 22:58:41.000000000 -0500 ++++ opencv-0.9.7/interfaces/swig/python/pycvseq.h 2006-03-07 12:07:13.000000000 -0500 +@@ -39,6 +39,9 @@ + // + //M*/ + ++#ifdef HAVE_CONFIG_H ++#include ++#endif + + #include "cxcore.h" + +diff -urp opencv-0.9.7.orig/otherlibs/highgui/_highgui.h opencv-0.9.7/otherlibs/highgui/_highgui.h +--- opencv-0.9.7.orig/otherlibs/highgui/_highgui.h 2006-03-06 22:58:42.000000000 -0500 ++++ opencv-0.9.7/otherlibs/highgui/_highgui.h 2006-03-07 12:05:24.000000000 -0500 +@@ -42,6 +42,12 @@ + #ifndef __HIGHGUI_H_ + #define __HIGHGUI_H_ + ++#ifdef HAVE_CONFIG_H ++#include ++#elif defined WIN32 ++void FillBitmapInfo( BITMAPINFO* bmi, int width, int height, int bpp, int origin ); ++#endif ++ + #include + #include + #include +@@ -52,12 +58,6 @@ + #include "highgui.h" + #include "cxmisc.h" + +-#ifndef WIN32 +-#include "cvconfig.h" +-#else +-void FillBitmapInfo( BITMAPINFO* bmi, int width, int height, int bpp, int origin ); +-#endif +- + /* Errors */ + #define HG_OK 0 /* Don't bet on it! */ + #define HG_BADNAME -1 /* Bad window or file name */ +diff -urp opencv-0.9.7.orig/interfaces/swig/general/cv.i opencv-0.9.7/interfaces/swig/general/cv.i +--- opencv-0.9.7.orig/interfaces/swig/general/cv.i 2006-03-06 22:58:41.000000000 -0500 ++++ opencv-0.9.7/interfaces/swig/general/cv.i 2006-03-07 12:33:16.000000000 -0500 +@@ -49,6 +49,10 @@ + + + %{ ++#ifdef HAVE_CONFIG_H ++#include ++#endif ++ + #include "cv.h" + %} + +diff -urp opencv-0.9.7.orig/interfaces/swig/general/highgui.i opencv-0.9.7/interfaces/swig/general/highgui.i +--- opencv-0.9.7.orig/interfaces/swig/general/highgui.i 2006-03-06 22:58:41.000000000 -0500 ++++ opencv-0.9.7/interfaces/swig/general/highgui.i 2006-03-07 12:33:46.000000000 -0500 +@@ -48,6 +48,10 @@ + %module(package="opencv") highgui + + %{ ++#ifdef HAVE_CONFIG_H ++#include ++#endif ++ + #include "highgui.h" + %} + +diff -urp opencv-0.9.7.orig/apps/haartraining/src/_cvcommon.h opencv-0.9.7/apps/haartraining/src/_cvcommon.h +--- opencv-0.9.7.orig/apps/haartraining/src/_cvcommon.h 2006-03-07 14:23:05.000000000 -0500 ++++ opencv-0.9.7/apps/haartraining/src/_cvcommon.h 2006-03-07 14:34:25.000000000 -0500 +@@ -42,6 +42,10 @@ + #ifndef __CVCOMMON_H_ + #define __CVCOMMON_H_ + ++#ifdef HAVE_CONFIG_H ++#include ++#endif ++ + #include + #include + +diff -urp opencv-0.9.7.orig/apps/haartraining/src/_cvhaartraining.h opencv-0.9.7/apps/haartraining/src/_cvhaartraining.h +--- opencv-0.9.7.orig/apps/haartraining/src/_cvhaartraining.h 2006-03-07 14:23:05.000000000 -0500 ++++ opencv-0.9.7/apps/haartraining/src/_cvhaartraining.h 2006-03-07 14:33:31.000000000 -0500 +@@ -48,6 +48,10 @@ + #ifndef __CVHAARTRAINING_H_ + #define __CVHAARTRAINING_H_ + ++#ifdef HAVE_CONFIG_H ++#include ++#endif ++ + #include <_cvcommon.h> + #include + #include +diff -urp opencv-0.9.7.orig/apps/haartraining/src/performance.cpp opencv-0.9.7/apps/haartraining/src/performance.cpp +--- opencv-0.9.7.orig/apps/haartraining/src/performance.cpp 2006-03-07 14:23:05.000000000 -0500 ++++ opencv-0.9.7/apps/haartraining/src/performance.cpp 2006-03-07 14:35:41.000000000 -0500 +@@ -44,6 +44,10 @@ + * + * Measure performance of classifier + */ ++#ifdef HAVE_CONFIG_H ++#include ++#endif ++ + #include "cv.h" + #include + #include diff --git a/opencv-0.9.7-pythondir.patch b/opencv-0.9.7-pythondir.patch new file mode 100644 index 0000000..4101a8c --- /dev/null +++ b/opencv-0.9.7-pythondir.patch @@ -0,0 +1,12 @@ +diff -urp opencv-0.9.7.orig/interfaces/swig/python/Makefile.am opencv-0.9.7/interfaces/swig/python/Makefile.am +--- opencv-0.9.7.orig/interfaces/swig/python/Makefile.am 2006-03-06 22:58:41.000000000 -0500 ++++ opencv-0.9.7/interfaces/swig/python/Makefile.am 2006-03-07 09:42:55.000000000 -0500 +@@ -18,7 +18,7 @@ AM_CPPFLAGS = \ + + if BUILD_PYTHON_WRAPPERS + +- pkgpython_LTLIBRARIES = _cv.la _highgui.la ++ pkgpyexec_LTLIBRARIES = _cv.la _highgui.la + + pkgpython_PYTHON = \ + __init__.py \ diff --git a/opencv.spec b/opencv.spec index deae3a6..8942688 100644 --- a/opencv.spec +++ b/opencv.spec @@ -1,8 +1,11 @@ %define with_ffmpeg 0 +%define pythondir %(%{__python} -c 'from distutils import sysconfig; print sysconfig.get_python_lib()') +%define pyexecdir %(%{__python} -c 'from distutils import sysconfig; print sysconfig.get_python_lib(1)') + Name: opencv Version: 0.9.7 -Release: 3 +Release: 13%{?dist} Summary: Collection of algorithms for computer vision Group: Development/Libraries @@ -10,6 +13,8 @@ License: Intel Open Source License URL: http://www.intel.com/technology/computing/opencv/index.htm Source0: http://prdownloads.sourceforge.net/opencvlibrary/opencv-%{version}.tar.gz Source1: opencv-samples-Makefile +Patch0: opencv-0.9.7-intrinsics-simple.patch +Patch1: opencv-0.9.7-pythondir.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gtk2-devel, libpng-devel, libjpeg-devel, libtiff-devel @@ -40,7 +45,7 @@ will use the OpenCV library. Summary: Python bindings for apps which use OpenCV Group: Development/Libraries Requires: opencv = %{version}-%{release} -Requires: %{_libdir}/python%(echo `python -c "import sys; print sys.version[0:3]"`) +Requires: python-abi = %(%{__python} -c "import sys ; print sys.version[:3]") %description python This package contains Python bindings for the OpenCV library. @@ -48,6 +53,8 @@ This package contains Python bindings for the OpenCV library. %prep %setup -q +%patch0 -p1 -b .intrinsics +%patch1 -p1 -b .pythondir %{__sed} -i 's/\r//' interfaces/swig/python/*.py \ samples/python/*.py %{__sed} -i 's/^#!.*//' interfaces/swig/python/adaptors.py \ @@ -55,7 +62,7 @@ This package contains Python bindings for the OpenCV library. %build -%configure --disable-static --enable-python --with-apps +%configure --enable-maintainer-mode --disable-static --enable-python --with-apps make %{?_smp_mflags} @@ -63,7 +70,7 @@ make %{?_smp_mflags} rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT rm -f $RPM_BUILD_ROOT%{_libdir}/*.la \ - $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/opencv/*.la \ + $RPM_BUILD_ROOT%{pyexecdir}/opencv/*.la \ $RPM_BUILD_ROOT%{_datadir}/opencv/samples/c/build_all.sh \ $RPM_BUILD_ROOT%{_datadir}/opencv/samples/c/cvsample.dsp \ $RPM_BUILD_ROOT%{_datadir}/opencv/samples/c/cvsample.vcproj \ @@ -106,11 +113,46 @@ rm -rf $RPM_BUILD_ROOT %files python -%{_libdir}/python*/site-packages/opencv +%dir %{pythondir}/opencv +%{pythondir}/opencv/*.py +%{pythondir}/opencv/*.pyc +%ghost %{pythondir}/opencv/*.pyo +%{pyexecdir}/opencv %doc %{_datadir}/opencv/samples/python %changelog +* Tue Mar 7 2006 Simon Perreault - 0.9.7-13 +- Changed intrinsics patch so that it matches upstream. + +* Tue Mar 7 2006 Simon Perreault - 0.9.7-12 +- More intrinsics patch fixing. + +* Tue Mar 7 2006 Simon Perreault - 0.9.7-11 +- Don't do "make check" because it doesn't run any tests anyway. +- Back to main intrinsics patch. + +* Tue Mar 7 2006 Simon Perreault - 0.9.7-10 +- Using simple intrinsincs patch. + +* Tue Mar 7 2006 Simon Perreault - 0.9.7-9 +- Still more fixing of intrinsics patch for Python bindings on x86_64. + +* Tue Mar 7 2006 Simon Perreault - 0.9.7-8 +- Again fixed intrinsics patch so that Python modules build on x86_64. + +* Tue Mar 7 2006 Simon Perreault - 0.9.7-7 +- Fixed intrinsics patch so that it works. + +* Tue Mar 7 2006 Simon Perreault - 0.9.7-6 +- Fixed Python bindings location on x86_64. + +* Mon Mar 6 2006 Simon Perreault - 0.9.7-5 +- SSE2 support on x86_64. + +* Mon Mar 6 2006 Simon Perreault - 0.9.7-4 +- Rebuild + * Sun Oct 16 2005 Simon Perreault - 0.9.7-3 - Removed useless sample compilation makefiles/project files and replaced them with one that works on Fedora Core.