Howdy all, Among the changes and bug fixes I have been making to GNUBG itself - I have recently found myself trying to create a new environment for Windows builds that can be used for generating production releases.
There are a number of options available when building on Win32 platform, and many have been used over the years. People have hand crafted makefiles and environments to build directly with the make facilities and compilers from Microsoft. The other option is to build using Cygwin (A POSIX environment) that comes complete with an environment that Linux developers are more use to. I'd rather opt for a solution that allows use of GCC. Cygwin requires a 3rd party DLL (cygwin.dll) to emulate posix functionality (GNUBG can build in this environment). Cygwin also allows for X windows builds if you so desire, and has an X11 server. The third option is MinGW (Minimalist GNU for Windows). MingW is a set of Compilers (GCC based), Binutils as well as headers and interface libraries to link directly against the windows API. MinGW by itself doesn't provide an environment where you can use familiar autoconf/automake tools to create a build environment and set options. MinGW is currently the environment that is used for current GNUBG production Windows builds. However, hand crafted make files have been made to generate windows executables without the autoconf/automake facilities. It is patchwork of files that are very specific to the Windows platform. It does work! But if someone puts away changes in revision control(CVS) regarding the make environment all the hand crafted Makefiles specific to the windows build have to be modified by hand as well. The development environment for MingW is more adhoc than anything else. Ideally a solution that uses MinGW but provides autoconf/automake facilities so that one can use the same processes and procedures for builds as seen on *nix like systems would be ideal. The environment should allow for GNUBG to be built without the need for X-Windows(X11). MinGW has a sister product MSYS. MSYS contains a set of tools like autoconf,automake,grep,perl, and other common utilities often used in build environments. MSYS has a very rudimentary package management tool, but for the time being I'm not really concerned with that deficiency. The questions is - could a MinGW/MSYS environment be created that could build GNUBG with normal ./autogen.sh, ./configure and make processes. The answer is yes. I have begun committing some changes to the source tree to accommodate such an environment. I am using http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20110802/ as a basis (adding the extra install options of C++Compiler, MSYS Basic System and MinGW Developer Toolkit). After installation I compiled a number of other libraries and programs like wget, libgtkglext-1.2.0, libreadline, termcap among a few others. For GTK+ I used a highly used and tested set of Win32 binaries and headers from http://www.gtk.org/download/win32.php . In particular I used the GTK+2.22 environment: http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.22/gtk+-bundle_2.22.1-20101227_win32.zip . I use Python2.7.2 from http://python.org/ftp/python/2.7.2/python-2.7.2.msi . These libraries are more recent than the ones I use for current production GNUBG builds, and will be the basis of all WIN32 builds starting next month. I had to make some changes to some files in the environment above to get everything working as expected. At present I have a self contained set of files in ZIP format with all of the files above, and my changes. This can be downloaded and installed to a Windows XP/Win7/Vista system. It is 172MB (I haven't spent time trimming the size). I created a very quick set of basic instructions on building in this environment. It is a work in progressand came about because Ian Shaw was interested in rolling his own builds. I will be creating (in the near future) a detailed set of instructions (Web page) to create this environment from scratch, the files to download, how to make certain libraries, and a few changes needed for things to work right, as well as usage instructions on using the autogen/autoconf/make processes. Until i do that, I am making a 172MB Zip file and build instructions available to people who contact me directly. Because of the size I am not making the link public yet. I'm also interested in people testing with these libraries since I will be migrating future releases of GNUBG to them. On an end note: Although I have made changes to support MingW in the current Makefile's and Configure files in CVS, I am not quite at the point of generating official release of executables with this method. Among other minor tweaks, I still need to add icon and resource support, options for changing between fixed location builds and relocatable ones, etc . I can be contacted at mpe...@capp-sysware.com if you are interested. -- Michael Petch CApp::Sysware Consulting Ltd. OpenPGP FingerPrint=D81C 6A0D 987E 7DA5 3219 6715 466A 2ACE 5CAE 3304 _______________________________________________ Bug-gnubg mailing list Bug-gnubg@gnu.org https://lists.gnu.org/mailman/listinfo/bug-gnubg