pypokereval build for windows stepbystep guide ---------------------------------------------- Created by Gimick on 3rd December 2010 This walkthrough is derived with the assistance of EricBlade and the build notes supplied by Loic Dachary http://dachary.org/ Content is available under the the GNU Affero General Public License version 3 0. Build environ ---------------- We are building against the 2008 runtime because Python 2.6 has the same dependency (msvcr90.dll version 9.0.21022.8) Using winXPhome 32 bit 1 Visual studio --------------- 1.1/ Get the ISO CD from here ... http://www.microsoft.com/express/Downloads/#2008-All 1.2/ Run and install Visual C++ only, don't bother with the additional packages offered This package will run 30 days before registration is needed 2. Python runtime ----------------- 2.1/ Install python runtime from here ... Python 2.6.5 ... http://www.python.org/ftp/python/2.6.5/python-2.6.5.msi 3. Source install ----------------- 3.1/ grab sources from here pypoker-eval v138 ... http://download.gna.org/pokersource/sources/pypoker-eval-138.0.tar.gz poker-eval v138 ... http://download.gna.org/pokersource/sources/poker-eval-138.0.tar.gz 3.2/ unpack and place the pypoker-eval-138 directory in c:\ 3.2.1/ rename to pypoker-eval 3.3/ unpack and place the poker-eval-138 directory in c:\ 3.3.1/ rename to poker-eval Important: the build will fail with bizarre missing header files if the project is placed in a directory containing a space character - you have been warned! 4. Update source file --------------------- 4.1/ dos> write c:/pypoker-eval/pypokereval.c change this: #define VERSION_NAME(W) W##2_4 #define PYTHON_VERSION "2_4" to be this: #define VERSION_NAME(W) W##2_6 #define PYTHON_VERSION "2_6" 4.2/ save and exit 4.3/ dos> write c:/pypoker-eval/pokereval.py Comment-out this line: _pokereval = __import__('_pokereval_' + sys.version[0] + '_' + sys.version[2]) Insert this one in its' place: import _pokereval_2_6 as _pokereval 4.4/ save and exit 5. Build pre-preparation ------------------------ (Here we are converting the two project definition files to 2008) 5.1 navigate to directory c:/poker-eval 5.1.1 double click poker-eval.vcproj 5.1.2 Visual studio will launch and make a conversion - accept all defaults 5.1.3 exit and save 5.2 navigate to directory c:/pypoker-eval 5.2.1 double click pypoker-eval.vcproj 5.2.2 Visual studio will launch and make a conversion - accept all defaults 5.2.3 exit 6. build preparation -------------------- 6.2 navigate to directory c:/pypoker-eval 6.2.1 double click pypoker-eval.vcproj - visual studio should launch 6.2.3 Select Build...configuration manager... Select "active solution configuration" to "Release" (The configuration for both projects will change to "Release") 6.2.3 Close the configuration manager 6.2.4 In the solution explorer window, hilight pythonpoker-eval / right mouse / properties... 6.2.5 In the pythonpoker-eval properties dialog, change references to "python24" to "python26" in the following: = C/C++/Additional Include Directories/ = linker/general/Additional library directories = linker/input/Additional Dependencies Change the following = linker/generate debug info - set to No = linker/debugging/Generate debug info - set to No 6.2.6 Apply all changes to the properties dialog and close 6.3 Exit from visual studio 7. Build poker eval ------------------- 7.1 navigate to directory c:/poker-eval 7.1.1 double click poker-eval.vcproj 7.1.2 Visual studio will launch 7.2 In the solution explorer window, hilight poker-eval / right mouse / build 7.3 There should be no errors 7.4 Exit from visual studio 8. Build pypoker eval --------------------- 8.1 navigate to directory c:/pypoker-eval 8.1.1 double click pypoker-eval.vcproj 8.1.2 Visual studio will launch 8.2 In the solution explorer window, hilight pythonpoker-eval / right mouse / build 8.3 There should be no errors (but a few warnings) 8.4 Exit from visual studio 9. packaging ------------ 9.1 Navigate to c:/pypoker-eval/release 9.2 the output file is pypokereval.dll 9.3 rename this file to _pokereval_2_6.pyd 9.4 create a zip file containing : _pokereval_2_6.pyd from releases test.py from pypoker-eval-138.0 pokereval.py from pypoker-eval-138.0 poker-eval.vcproj from c:\poker-eval pypoker-eval.vcproj from c:\pypoker-eval pypokereval.c from c:\pypoker-eval Remember to include the version (138), python 265 and win32 in the package filename 10. Installation and Testing ---------------------------- Python 2.6.5 must be installed 10.1 Extract this package to directory 10.2 Change directory to the directory in 10.1 10.3 execute dos> c:\Python26\python.exe test.py 10.4 hand-output should scroll down the screen 10.5 start the python interpreter 10.6 >>> import pokereval 10.7 No errors should be seen