Jazz++ MIDI Sequencer

About

News

Download

Mailing Lists

Documentation

Sourceforge Project

Building wxWidgets

Subversion

Building Jazz++

Credits

Jazz++ Midi Sequencer

Building wxWidgets for Jazz++

Jazz++ uses a non-stock build of the wxWidgets library. wxWidgets lets developers create applications for Win32, Mac OS X, GTK+, X11, Motif, WinCE, and more using one codebase. This page describes how the Jazz++ version of wxWidgets was compiled for Windows, Linux, and the Mac. The Windows build was generated using Visual Studio. Either Visual Studio .NET 2005 or Visual Studio .NET 2008 can be used on Windows. The Linux install was tested using Fedora 8 using GCC 4.1.2 and Mandriva 2008.0 using GCC 4.2.2. The Mac build was tested using Mac OS X 10.5.2 and GCC 4.0.1.

Building wxWidgets for Windows

I have used these instructions with Visual Studio .NET 2005 (VC8) and Visual Studio .NET 2008 (VC9). I used VC8 in the following text, but simply substitute the appropriate VC9 veriage to create a Visual Studio .NET 2008 build. I have both builds living side-by-side on my hard drive.

  1. Download wxMSW-2.8.7.zip from the wxWidgets web site.
  2. Extract the zip file to C:\ExternalPackages. Extracting creates a wxMSW-2.8.7 directory directly under C:\ExternalPackages.
  3. Change the name of the top-level wxWidgets directory to wxMSW-2.8.7-VC8 so other versions of wxWidgets can be built with other compilers in parallel with this directory.
  4. If you would like wxWidgets help files in compiled HTML format (*.chm), download wxWidgets-2.8.7-CHM.zip from the wxWidgets web site, and extract the zip file to C:\ExternalPackages\wxMSW-2.8.7-VC8. This installs the compiled HTML help files for wxWidgets and tex2rtf.
  5. If you would like wxWidgets help files in HTML format, download wxWidgets-2.8.7-HTML.zip from the wxWidgets web site, and extract the zip file to C:\ExternalPackages\wxMSW-2.8.7-VC8. This installs the HTML help files for wxWidgets and tex2rtf.
  6. Make the following changes to C:\ExternalPackages\wxMSW-2.8.7-VC8\include\wx\msw\setup.h:

    Macro From To
    WXWIN_COMPATIBILITY_2_6 1 0
    wxUSE_STD_IOSTREAM 0 1
    wxUSE_IOSTREAMH 1 0
    wxUSE_GLCANVAS 0 1


    Jazz++ doesn't use OpenGL code at this point, but I use this wxWidgets build for other projects. I want to eventually change wxUSE_STL from 0 to 1, but there was a bug reported with respect to this build on the wxWidgets developers list.
  7. Edit C:\ExternalPackages\wxMSW-2.8.7-VC8\include\wx\msw\wx.rc and comment out the following line.
    #include "wx/msw/wince/wince.rc"
    
  8. Use Start | All Programs | Microsoft Visual Studio .NET 2005 | Visual Studio .NET Tools | Visual Studio .NET 2005 Command Prompt to start a console session.
  9. Ensure that the command-line compiler and tools (including nmake) are installed and ready to run.
  10. Change directory to C:\ExternalPackages\wxMSW-2.8.7-VC8\build\msw.
  11. Build the debug static version of the wxWidgets libraries by typing:
    nmake BUILD=debug SHARED=0 USE_OPENGL=1 -f makefile.vc
    
  12. Build the release static version of the wxWidgets libraries by typing:
    nmake BUILD=release SHARED=0 USE_OPENGL=1 -f makefile.vc
    
  13. To conserve disk space, remove the build directories (vc_msw and vc_mswd) under c:\ExternalPackages\wxMSW-2.8.7-VC8\build\msw.
  14. Change directory to C:\ExternalPackages\wxMSW-2.8.7-VC8\utils\tex2rtf\src.
  15. Build the release static version of tex2rtf by typing:
    nmake BUILD=release SHARED=0 -f makefile.vc
    
  16. Create a directory for the tex2rtf binaries under the wxWidgets distribution (c:\ExternalPackages\wxMSW-2.8.7-VC8\bin).
  17. Move the tex2rtf binaries from c:\ExternalPackages\wxMSW-2.8.7-VC8\utils\tex2rtf\src\vc_msw to c:\ExternalPackages\wxMSW-2.8.7-VC8\bin.
  18. To conserve disk space, remove the build directory (vc_msw) under c:\ExternalPackages\wxMSW-2.8.7-VC8\utils\tex2rtf\src.

Building wxWidgets for Linux

  1. Create a directory under your home directory. I typically use OutsideSource and change directory to that location.
    cd
    mkdir OutsideSource
    cd OutsideSource
    
  2. Checkout the 2.8 branch of wxWidgets using the following command. You must have a Subversion client loaded on your machine.
    svn checkout http://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH wxWidgets-2.8
    
  3. Create a directory called WxBuild in parallel with the wxWidgets-2.8 directory and change directory to that location.
    mkdir WxBuild
    cd WxBuild
    
  4. Run the wxWidgets supplied configure command with the following configure options.
    ../wxWidgets-2.8/configure \
      --prefix=/usr/local/wx287 \
      --disable-no_exceptions \
      --disable-no_rtti \
      --disable-shared \
      --disable-compat26 \
      --disable-unicode \
      --with-regex=builtin \
      --enable-std_iostreams \
      --enable-std_string \
      --enable-stl \
      --with-gtk
    
    The prefix option is used so that the resulting wxWidgets build will be installed in a non-standard location to prevent conflicts with OS installed versions.
  5. Run make using the following command. This will write a file called BuildLog that may be useful if you run into trouble.
    make 2>&1 | tee BuildLog
    
  6. If all goes well with the build, try to install wxWidgets as root.
    su
    make install
    
  7. Make sure your PATH and LIBRARY_PATH environment variables are set to find the non-stock wxWidgets binaries and libraries just created before building Jazz++. Adding the following lines in .bashrc or .bash_profile will do the trick.
    export PATH=/usr/local/wx287/bin:$PATH
    export LIBRARY_PATH=/usr/local/wx287/lib:$LIBRARY_PATH
    
    After adding the above lines to your .bashrc or .bash_profile file, it is necessary to reload your bash environment to make these changes available. Use one of the following commands to accomplish this;

    (if you added the above lines to .bashrc)
    source .bashrc
    
    (if you added the above lines to .bash_profile)
    source .bashrc
    

Building wxWidgets for Mac OS X 10.5.2

  1. Create a directory under your home directory. I typically use OutsideSource and change directory to that location.
    cd
    mkdir OutsideSource
    cd OutsideSource
    
  2. Download wxMac-2.8.7.tar.gz from the wxWidgets web site and extract this file under your OutsideSource directory.
  3. Create a directory called WxBuild in parallel with the wxMac-2.8.7 directory and change directory to that location.
    mkdir WxBuild
    cd WxBuild
    
  4. Run the wxWidgets supplied configure command with the following configure options.
    ../wxWidgets-2.8/configure \
      --prefix=$HOME/wx287 \
      --disable-no_exceptions \
      --disable-no_rtti \
      --disable-shared \
      --disable-compat26 \
      --disable-unicode \
      --with-regex=builtin \
      --enable-std_iostreams \
      --enable-std_string \
      --enable-stl \
      --with-mac
    
    The prefix option is used so that the resulting wxWidgets build will be installed in a non-standard under the user's home directory to prevent conflicts with OS installed versions.
  5. Run make using the following command. This will write a file called BuildLog that may be useful if you run into trouble.
    make 2>&1 | tee BuildLog
    
  6. If all goes well with the build, try to install wxWidgets.
    make install
    
  7. Make sure your PATH and LIBRARY_PATH environment variables are set to find the non-stock wxWidgets binaries and libraries just created before building Jazz++. Adding the following lines in .bashrc or .bash_profile will do the trick.
    export PATH=/usr/local/wx287/bin:$PATH
    export LIBRARY_PATH=/usr/local/wx287/lib:$LIBRARY_PATH
    
    After adding the above lines to your .bashrc or .bash_profile file, it is necessary to reload your bash environment to make these changes available. Use one of the following commands to accomplish this;

    (if you added the above lines to .bashrc)
    source .bashrc
    
    (if you added the above lines to .bash_profile)
    source .bashrc
    

SourceForge.net Logo

This project is hosted by SourceForge. Special thanks for SourceForge and the OSDN.