diff --git a/doc/rql_windows.txt b/doc/rql_windows.txt index 6525ffdaa1af83e6edbefd556cbade42bc376f41_ZG9jL3JxbF93aW5kb3dzLnR4dA==..c66b74feb9d9f8bf46194d3eed50cb6b731351ed_ZG9jL3JxbF93aW5kb3dzLnR4dA== 100644 --- a/doc/rql_windows.txt +++ b/doc/rql_windows.txt @@ -2,6 +2,9 @@ ========================= +:author: Alexandre Fayolle +:date: 2009/09/09 + RQL can use either logilab.constraint or gecode to perform type inference. This document explains how the gecode support can be added for the Windows platform. @@ -9,7 +12,7 @@ The short way ------------- -Download and install http://ftp.logilab.org/pub/rql/XXX +Download and install http://ftp.logilab.org/pub/rql/rql-0.23.0.win32-py2.5.exe The long way ------------ @@ -32,5 +35,5 @@ - g++-mingw - some text editor of your choice (nano, vim...) -* mingw: download the following files: +* mingw_: download the following files: @@ -36,5 +39,3 @@ - - `gcc-g++-4.4.0-bin <http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Current%20Release_%20gcc-4.4.0/gcc-c%2B%2B-4.4.0-mingw32-bin.tar.gz/download>` - - - `gcc-g++-4.4.0-dll <http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Current%20Release_%20gcc-4.4.0/gcc-c%2B%2B-4.4.0-mingw32-dll.tar.gz/download>` + - `gcc-g++-4.4.0-bin <http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Current%20Release_%20gcc-4.4.0/gcc-c%2B%2B-4.4.0-mingw32-bin.tar.gz/download>`_ @@ -40,3 +41,3 @@ - - `gcc-core-4.4.0-bin <http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Current%20Release_%20gcc-4.4.0/gcc-core-4.4.0-mingw32-bin.tar.gz/download>` + - `gcc-g++-4.4.0-dll <http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Current%20Release_%20gcc-4.4.0/gcc-c%2B%2B-4.4.0-mingw32-dll.tar.gz/download>`_ @@ -42,3 +43,3 @@ - - `gcc-core-4.4.0-dll <http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Current%20Release_%20gcc-4.4.0/gcc-core-4.4.0-mingw32-dll.tar.gz/download>` + - `gcc-core-4.4.0-bin <http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Current%20Release_%20gcc-4.4.0/gcc-core-4.4.0-mingw32-bin.tar.gz/download>`_ @@ -44,3 +45,3 @@ - - `gmp-4.2.4-dll <http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Current%20Release_%20gcc-4.4.0/gmp-4.2.4-mingw32-dll.tar.gz/download>` + - `gcc-core-4.4.0-dll <http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Current%20Release_%20gcc-4.4.0/gcc-core-4.4.0-mingw32-dll.tar.gz/download>`_ @@ -46,3 +47,3 @@ - - `mpfr-2.4.1-dll <http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Current%20Release_%20gcc-4.4.0/mpfr-2.4.1-mingw32-dll.tar.gz/download>` + - `gmp-4.2.4-dll <http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Current%20Release_%20gcc-4.4.0/gmp-4.2.4-mingw32-dll.tar.gz/download>`_ @@ -48,5 +49,3 @@ - - `binutils-2.19.1-bin <http://sourceforge.net/projects/mingw/files/GNU%20Binutils/Current%20Release_%20GNU%20binutils-2.19.1/binutils-2.19.1-mingw32-bin.tar.gz/download>` - - - `w32api-3.13-dev <http://sourceforge.net/projects/mingw/files/MinGW%20API%20for%20MS-Windows/Current%20Release_%20w32api-3.13/w32api-3.13-mingw32-dev.tar.gz/download>` + - `mpfr-2.4.1-dll <http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Current%20Release_%20gcc-4.4.0/mpfr-2.4.1-mingw32-dll.tar.gz/download>`_ @@ -52,3 +51,3 @@ - - `mingwrt-3.15.2-dev <http://sourceforge.net/projects/mingw/files/MinGW%20Runtime/mingwrt-3.15.2/mingwrt-3.15.2-mingw32-dev.tar.gz/download>` + - `binutils-2.19.1-bin <http://sourceforge.net/projects/mingw/files/GNU%20Binutils/Current%20Release_%20GNU%20binutils-2.19.1/binutils-2.19.1-mingw32-bin.tar.gz/download>`_ @@ -54,5 +53,3 @@ - - `pthreads-2.8.0-dll - <http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Current%20Release_%20gcc-4.4.0/pthreads-w32-2.8.0-mingw32-dll.tar.gz/download>` - NON!!!! ne pas installer ça pête tout + - `w32api-3.13-dev <http://sourceforge.net/projects/mingw/files/MinGW%20API%20for%20MS-Windows/Current%20Release_%20w32api-3.13/w32api-3.13-mingw32-dev.tar.gz/download>`_ @@ -58,4 +55,4 @@ - - XXX FIXME add missing build deps + - `mingwrt-3.15.2-dev <http://sourceforge.net/projects/mingw/files/MinGW%20Runtime/mingwrt-3.15.2/mingwrt-3.15.2-mingw32-dev.tar.gz/download>`_ @@ -60,5 +57,5 @@ -Create c:\MinGW. Launch a cygwin shell, go to /cygdrive/c/MinGW and +Create ``c:\MinGW``. Launch a cygwin shell, go to ``/cygdrive/c/MinGW`` and untar all the mingw tarballs @@ -63,4 +60,4 @@ untar all the mingw tarballs -Edit /etc/profile and go to the place where the PATH environment +Edit ``/etc/profile`` and go to the place where the ``PATH`` environment variable is set. Change the line to *prepend* @@ -66,3 +63,3 @@ variable is set. Change the line to *prepend* -/cygdrive/c/MinGW/bin:/cygdrive/c/MinGW/libexec/mingw32/4.4.0 to the PATH +``/cygdrive/c/MinGW/bin:/cygdrive/c/MinGW/libexec/mingw32/4.4.0`` to the ``PATH`` @@ -68,6 +65,5 @@ -* download and untar Gecode 3.1.0 source distribution from - http://www.gecode.org/download/gecode-3.1.0.tar.gz +* download and untar `Gecode 3.1.0 source distribution <http://www.gecode.org/download/gecode-3.1.0.tar.gz>`_. Compiling gecode @@ -89,5 +85,6 @@ run:: - $ make + $ make CXXFLAGS="-I. -O1 -DNDEBUG -Wextra -Wall -pipe -ggdb \ + -fno-strict-aliasing -ffast-math -mthreads -DGECODE_BUILD_SUPPORT -static-libgcc" @@ -93,5 +90,6 @@ -and be patient +While this run, consider renting some Bollywood movie (I enjoyed `this one +<http://www.imdb.com/title/tt0172684/>`_) and watching it. Compiling the C extension in rql @@ -100,7 +98,12 @@ in a Windows shell (aka "DOS Console"), go the the rql directory and run:: -$ python setup.py build_ext -c mingw32 \ - -Ic:\temp\gecode-3.1.0 \ - -Lc:\temp\gecode-3.1.0 + $ set PATH=%PATH%;c:\MinGW\bin;c:\MinGW\libexec\mingw32\4.4.0 + $ python setup.py build_ext -c mingw32 \ + -Ic:\temp\gecode-3.1.0 \ + -Lc:\temp\gecode-3.1.0 + --in-place + +Test +~~~~ @@ -106,2 +109,13 @@ -You're done. +Open a new console (to get the default ``PATH``). Go to the parent +directory of rql. Launch the Python interpreter, and type:: + + >>> import rql.analyze + +If this works, congratulation, you're done. + + + +.. _cygwin: http://www.cygwin.com +.. _mingw: http://www.mingw.org +