Personal tools

WxHaskell/Windows

From HaskellWiki

< WxHaskell(Difference between revisions)
Jump to: navigation, search
(wxWidgets 2.9 and wxHaskell 0.90.x)
(wxWidgets 2.9 and wxHaskell 0.90.x)
Line 25: Line 25:
 
Steps:
 
Steps:
   
# Download [http://wxwidgets.org/downloads wxWidgets 2.9.3 source]
+
<ol>
# Extract to C:\wxWidgets-2.9.3
+
<li> Download [http://wxwidgets.org/downloads wxWidgets 2.9.3 source]
# [http://wiki.wxwidgets.org/Compiling_wxWidgets_with_MinGW Build wxWidgets-2.9.3]
+
<li> Extract to C:\wxWidgets-2.9.3
# Download [https://sourceforge.net/projects/wxhaskell/files/wx-config-win/ wx-config.exe] (a new version for wxWidgets > 2.9) and copy it somewhere into your path, for instance via
+
<li> [http://wiki.wxwidgets.org/Compiling_wxWidgets_with_MinGW Build wxWidgets-2.9.3]
  +
<p>I (who?) compiled it as follows: edit <tt>wxwidgets-src-dir\build\msw\config.gcc</tt> so that the following values are set:
  +
<pre>
  +
SHARED ?= 1
  +
BUILD ?= release
  +
</pre>
  +
Then (in cmd.exe, ''not'' bash):
  +
<pre>
  +
cd wxwidgets-src-dir\build\msw
  +
mingw32-make -f makefile.gcc
  +
</pre>
  +
<li> Download [https://sourceforge.net/projects/wxhaskell/files/wx-config-win/ wx-config.exe] (a new version for wxWidgets > 2.9) and copy it somewhere into your path, for instance via
 
<pre>
 
<pre>
 
cp wx-config.exe %CABAL_DIR%\bin
 
cp wx-config.exe %CABAL_DIR%\bin
 
</pre>
 
</pre>
# Install the wxHaskell libraries
+
<li> Install the wxHaskell libraries
 
<pre>
 
<pre>
 
cabal install wxdirect
 
cabal install wxdirect
Line 39: Line 39:
 
cabal install wx
 
cabal install wx
 
</pre>
 
</pre>
  +
</li></ol>
   
 
== wxWidgets 2.8 and wxHaskell 0.13.x ==
 
== wxWidgets 2.8 and wxHaskell 0.13.x ==

Revision as of 14:53, 6 June 2012

Contents

1 wxWidgets 2.9 and wxHaskell 0.90.x

Windows Haskell Platform wxWidgets
7 2011.2.0.1 2.9.3


Prerequisites:

  • MinGW 5.1.6 and MSYS 0.1.11 (these are the latest versions at the time of writing). You must select the C++ compiler option when installing MinGW.

Environment variables:

  • CABAL_DIR: C:\Users\XXX\AppData\Roaming\cabal
  • GHC_VERSION: 7.0.3 (for our convenience)
  • WXC_VERSION: 0.90.0.2
  • WXWIN: C:\wxWidgets-2.9.3
  • WXCFG: gcc_dll\mswu
  • PATH: (add these) %WXWIN%\lib\gcc_dll;%WXWIN%;%CABAL_DIR%\wxc-%WXC_VERSION%\%GHC_VERSION%

Steps:

  1. Download wxWidgets 2.9.3 source
  2. Extract to C:\wxWidgets-2.9.3
  3. Build wxWidgets-2.9.3

    I (who?) compiled it as follows: edit wxwidgets-src-dir\build\msw\config.gcc so that the following values are set:

     SHARED ?= 1
     BUILD ?= release
    

    Then (in cmd.exe, not bash):

     cd wxwidgets-src-dir\build\msw
     mingw32-make -f makefile.gcc
    
  4. Download wx-config.exe (a new version for wxWidgets > 2.9) and copy it somewhere into your path, for instance via
    cp wx-config.exe %CABAL_DIR%\bin
    
  5. Install the wxHaskell libraries
    cabal install wxdirect
    cabal install wxc
    cabal install wxcore
    cabal install wx
    

    </li></ol>

    2 wxWidgets 2.8 and wxHaskell 0.13.x

    Follow SkyTreeBird's guide. It which walks you through the basic steps

    • wx-config
    • wxPack
    • setting up environment variables
    • cabal install wx

    Note that the best way to refer to WxWidgets in your PATH is probably to use the WXWIN variable that you set, eg. %WXWIN%/lib/gcc_dll

    The guide has been tested with the following configurations. Others may work too:

    Windows Haskell Platform wxWidgets
    XP 2010.2.0.0 2.8.10
    7 2011.2.0.1 2.8.12

    2.1 Troubleshooting installation with cabal

    These remarks refer to wx-0.13.2 and Haskell Platform 2011.4.0.0 on Windows 7.

    Cabal package wx depends on wxcore which depends on wxdirect. By default cabal installs on a per user base, thus wxdirect.exe will be installed to c:\Users\<YOUR NAME>\AppData\Roaming\cabal\bin\. This folder must be in your PATH for cabal install wxcore to succeed.

    Package wxcore-0.13.2 does not work well with wx-config revision 21 2006-10-19 (downloaded from here on Feb 2nd 2012). If cabal install wxcore fails with an output containing "Usage: wx-config [options]" try this:

    • cabal unpack wxcore
    • cd wxcore-0.13.2
    • edit Setup.hs and comment out/remove the line containing "wx-config" ["--version"]
    • runhaskell.exe Setup.hs configure --user
    • runhaskell.exe Setup.hs build
    • runhaskell.exe Setup.hs install

    Finally call cabal install wx.

    3 See also