<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://bfwiki.tellefsen.net//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=OlivierSessink</id>
	<title>Bluefish Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://bfwiki.tellefsen.net//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=OlivierSessink"/>
	<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php/Special:Contributions/OlivierSessink"/>
	<updated>2026-05-23T18:54:47Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3167</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3167"/>
		<updated>2025-10-08T20:26:50Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* new documentation as of 2025, using MSYS2 for windows 10 or later */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, using MSYS2 for windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-enchant&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libxml2&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-autotools &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libtool &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-cc &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-gtk3&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-python-pip&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-hunspell-en&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Install nsis 3.1 from https://sourceforge.net/projects/nsis/files/NSIS%203/3.01/&lt;br /&gt;
&lt;br /&gt;
Now download the latest source tarball from the bluefish download server (b.t.w. right now, March 9 2025 there is no good tarball yet, the latest release in svn has many windows specific fixes), extract it in C:/bluefish/ and run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /c/bluefish&lt;br /&gt;
PATH=$PATH:.:/c/Program\ Files\ \(x86\)/NSIS/&lt;br /&gt;
export lt_cv_deplibs_check_method=&#039;pass_all&#039;&lt;br /&gt;
export MAKE=&amp;quot;make -j4&amp;quot;&lt;br /&gt;
make -j4 -f Makefile.mingw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if you compile from svn&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
you might need to install some files that are missing:&lt;br /&gt;
cp remove-potcdate.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
cp  insert-header.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
change the line AM_GNU_GETTEXT_VERSION([0.24]) in configure.ac to the installed gettext version&lt;br /&gt;
the windows version cannot handle non-numeric versions, so remove any &#039;beta&#039; or something like that from configure.ac&lt;br /&gt;
./autogen.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in a working executable in c:\bluefish\win32\build\ (the dir is win32 but it actually is a 64bit executable)&lt;br /&gt;
It still has some quirks, but that is improving.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resources I&#039;m currently looking at:&lt;br /&gt;
* https://www.gtk.org/docs/installations/windows/#using-gtk-from-msys2-packages&lt;br /&gt;
* https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/&lt;br /&gt;
&lt;br /&gt;
= Old documentation =&lt;br /&gt;
&lt;br /&gt;
== OLD Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== OLD Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== OLD Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OLD  Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== OLD The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== OLD Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== OLD Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== OLD Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== OLD Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD  Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3166</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3166"/>
		<updated>2025-10-07T20:40:35Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* new documentation as of 2025, using MSYS2 for windows 10 or later */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, using MSYS2 for windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-enchant&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libxml2&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-autotools &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libtool &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-cc &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-gtk3&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-python-pip&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-hunspell-en&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Install nsis 3.1 from https://sourceforge.net/projects/nsis/files/NSIS%203/3.01/&lt;br /&gt;
&lt;br /&gt;
Now download the latest source tarball from the bluefish download server (b.t.w. right now, March 9 2025 there is no good tarball yet, the latest release in svn has many windows specific fixes), extract it in C:/bluefish/ and run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /c/bluefish&lt;br /&gt;
PATH=$PATH:.:/c/Program\ Files\ \(x86\)/NSIS/&lt;br /&gt;
export lt_cv_deplibs_check_method=&#039;pass_all&#039;&lt;br /&gt;
make -j6 -f Makefile.mingw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if you compile from svn&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
you might need to install some files that are missing:&lt;br /&gt;
cp remove-potcdate.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
cp  insert-header.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
change the line AM_GNU_GETTEXT_VERSION([0.24]) in configure.ac to the installed gettext version&lt;br /&gt;
the windows version cannot handle non-numeric versions, so remove any &#039;beta&#039; or something like that from configure.ac&lt;br /&gt;
./autogen.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in a working executable in c:\bluefish\win32\build\ (the dir is win32 but it actually is a 64bit executable)&lt;br /&gt;
It still has some quirks, but that is improving.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resources I&#039;m currently looking at:&lt;br /&gt;
* https://www.gtk.org/docs/installations/windows/#using-gtk-from-msys2-packages&lt;br /&gt;
* https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/&lt;br /&gt;
&lt;br /&gt;
= Old documentation =&lt;br /&gt;
&lt;br /&gt;
== OLD Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== OLD Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== OLD Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OLD  Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== OLD The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== OLD Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== OLD Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== OLD Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== OLD Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD  Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=How_To_Translate&amp;diff=3165</id>
		<title>How To Translate</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=How_To_Translate&amp;diff=3165"/>
		<updated>2025-08-20T18:15:36Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  Translations ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Introduction ===&lt;br /&gt;
Bluefish has been translated into many different languages.&lt;br /&gt;
&lt;br /&gt;
Translation process is not a difficult task but you will need some time because there are more than one thousand strings to be translated. &amp;lt;br /&amp;gt;&lt;br /&gt;
There are seven translation directories in Bluefish development branch, one for main program and one for each plugin:&lt;br /&gt;
* po/&lt;br /&gt;
* src/plugin_about/po/&lt;br /&gt;
* src/plugin_charmap/po/&lt;br /&gt;
* src/plugin_entities/po/&lt;br /&gt;
* src/plugin_htmlbar/po/&lt;br /&gt;
* src/plugin_infbrowser/po/&lt;br /&gt;
* src/plugin_snippets/po/&lt;br /&gt;
* src/plugin_zencoding/po/&lt;br /&gt;
The good news are you don&#039;t need to be a programmer to make Bluefish speak your language and the only tool you need is a text editor (bluefish for example) or Poedit or the gnome translation editor. Bluefish uses po (Portable Object) files. A po file is just a plain text file that you can edit with your favorite text editor.&lt;br /&gt;
&lt;br /&gt;
=== 2. PO files basics ===&lt;br /&gt;
In a typical po file there are five major types of entries:&lt;br /&gt;
&lt;br /&gt;
# Those which begin with &amp;quot;#:&amp;quot; showing the places in the source code that contains the string being translated (there may be one or more) as: &#039;&amp;lt;nowiki&amp;gt;#: ../src/about.c:123&amp;lt;/nowiki&amp;gt;&#039;&lt;br /&gt;
# Those which begin with &amp;quot;#,&amp;quot; containing some flags (not always present) as: &#039;&amp;lt;nowiki&amp;gt;#, c-format&amp;lt;/nowiki&amp;gt;&#039;&lt;br /&gt;
# Those which begin with &amp;quot;msgid&amp;quot; containing the English string being translated (it may be spanned in several lines) as: &#039;msgid &amp;quot;Authentication is required for %s.&amp;quot;&#039;&lt;br /&gt;
# Those which begin with &amp;quot;msgstr&amp;quot; containing the translated string as: &#039;msgstr &amp;quot;Une autorisation est requise pour accéder à %s.&amp;quot;&#039;&lt;br /&gt;
# Those which begin with &amp;quot;#~ &amp;quot; containing obsolete strings as: &#039;&amp;lt;nowiki&amp;gt;#~ msgid &amp;quot;Save document as&amp;quot;&amp;lt;/nowiki&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Man1_warning.png]] When an entry is tagged as fuzzy (i.e. when the line begins with &amp;quot;&amp;lt;nowiki&amp;gt;#, fuzzy&amp;lt;/nowiki&amp;gt;&amp;quot;), that means it is probably incorrect.&lt;br /&gt;
&lt;br /&gt;
[[Image:Man1_warning.png]] You have to make sure the translation is correct and then delete either the &amp;quot;&amp;lt;nowiki&amp;gt;#, fuzzy&amp;lt;/nowiki&amp;gt;&amp;quot; line if this is the only flag on the line, or the &amp;quot;, fuzzy&amp;quot; part of the line if there are some other flags on the same line, like in &amp;quot;&amp;lt;nowiki&amp;gt;#, fuzzy, c-format&amp;lt;/nowiki&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Man1_warning.png]] Remember that as long as a translation is marked &amp;quot;fuzzy&amp;quot;, it will NOT actually be used!&lt;br /&gt;
&lt;br /&gt;
[[Image:Man1_warning.png]] As far as obsolete strings are concerned, it is up to you to decide if you want to remove them. On one hand they can be reused in a latter version of the po file, on the other hand they make the po file bigger.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hence, your task as a translator is to:&lt;br /&gt;
&lt;br /&gt;
# Translate all empty msgstr entries&lt;br /&gt;
# Check all fuzzy entries, correct them if they are wrong and remove all fuzzy tags&lt;br /&gt;
# Optionally, remove obsolete strings&lt;br /&gt;
# Check that the po file ends with a blank line&lt;br /&gt;
&lt;br /&gt;
=== 3. Shortcut keys ===&lt;br /&gt;
Shortcut keys, known as hotkeys or even accelerator keys, are defined as follows (look at the underscore, please):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# src/toolbars.c:482&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#: ../src/filebrowser.c:1453&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 msgid &amp;quot;/_Refresh&amp;quot;&lt;br /&gt;
 msgstr &amp;quot;/_Actualizar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
It means that in the English locale the user have to press &#039;&#039;&#039;Alt&#039;&#039;&#039;+&#039;&#039;&#039;R&#039;&#039;&#039; to activate this particular GUI element. On the other hand if your locale is Spanish your shortcut key will be &#039;&#039;&#039;Alt&#039;&#039;&#039;+&#039;&#039;&#039;A&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Man1_warning.png]] You have to keep in mind that two GUI elements must not have the same shortcut key at the same level.&lt;br /&gt;
&lt;br /&gt;
= get the files =&lt;br /&gt;
&lt;br /&gt;
== Normal access ==&lt;br /&gt;
&lt;br /&gt;
retrieve the files from https://www.bennewitz.com/bluefish/devel/translations/ and send them by email to olivier (at) bluefish.openoffice.nl when you are finished.&lt;br /&gt;
&lt;br /&gt;
== If you have developer access: working from subversion ==&lt;br /&gt;
&lt;br /&gt;
==== Retriving last Bluefish version====&lt;br /&gt;
* 1. In your working space directory (eg ~/tranlations) run: &amp;lt;br /&amp;gt;&lt;br /&gt;
 svn co https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish/&lt;br /&gt;
that create the Bluefish SVN directory&lt;br /&gt;
* 2. &#039;&#039;&#039;cd bluefish/&#039;&#039;&#039; and for first installation run &#039;&#039;&#039;./autogen.sh&#039;&#039;&#039;&lt;br /&gt;
* 3. run &#039;&#039;&#039;./configure&#039;&#039;&#039; and &#039;&#039;&#039;make&#039;&#039;&#039;&lt;br /&gt;
* 4. you can now update all files.&lt;br /&gt;
see also [[Sending_Patches#Notes_for_translators]]&lt;br /&gt;
==== Sending your translation ====&lt;br /&gt;
see also [[Sending_Patches#Special_notes_for_translators]]&lt;br /&gt;
* 1. update your SVN copy. In Bluefish/ dirctory run:&lt;br /&gt;
 svn update&lt;br /&gt;
* 2. The following step is not necessary but it will help you finding issues, which must be fixed, before your changes can be committed to the subversion tree. It requires an installation of the gettext tools. Please change `your_lang` with your language code ;) &lt;br /&gt;
 find . -name your_lang.po | xargs msgcat --use-first -o - | msgfmt -o /dev/null --statistics - &lt;br /&gt;
* 3. create the tarball:&lt;br /&gt;
 find . -name your_lang.po | xargs tar -cjf your_lang.tar.bz2&lt;br /&gt;
* 4. send the tarball&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3164</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3164"/>
		<updated>2025-03-12T20:42:33Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* new documentation as of 2025, using MSYS2 for windows 10 or later */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, using MSYS2 for windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-enchant&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libxml2&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-autotools &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libtool &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-cc &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-gtk3&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-python-pip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Install nsis 3.1 from https://sourceforge.net/projects/nsis/files/NSIS%203/3.01/&lt;br /&gt;
&lt;br /&gt;
Now download the latest source tarball from the bluefish download server (b.t.w. right now, March 9 2025 there is no good tarball yet, the latest release in svn has many windows specific fixes), extract it in C:/bluefish/ and run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /c/bluefish&lt;br /&gt;
PATH=$PATH:.:/c/Program\ Files\ \(x86\)/NSIS/&lt;br /&gt;
export lt_cv_deplibs_check_method=&#039;pass_all&#039;&lt;br /&gt;
make -j6 -f Makefile.mingw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if you compile from svn&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
you might need to install some files that are missing:&lt;br /&gt;
cp remove-potcdate.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
cp  insert-header.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
change the line AM_GNU_GETTEXT_VERSION([0.24]) in configure.ac to the installed gettext version&lt;br /&gt;
the windows version cannot handle non-numeric versions, so remove any &#039;beta&#039; or something like that from configure.ac&lt;br /&gt;
./autogen.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in a working executable in c:\bluefish\win32\build\ (the dir is win32 but it actually is a 64bit executable)&lt;br /&gt;
It still has some quirks, but that is improving.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resources I&#039;m currently looking at:&lt;br /&gt;
* https://www.gtk.org/docs/installations/windows/#using-gtk-from-msys2-packages&lt;br /&gt;
* https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/&lt;br /&gt;
&lt;br /&gt;
= Old documentation =&lt;br /&gt;
&lt;br /&gt;
== OLD Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== OLD Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== OLD Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OLD  Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== OLD The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== OLD Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== OLD Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== OLD Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== OLD Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD  Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3163</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3163"/>
		<updated>2025-03-12T20:41:55Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* new documentation as of 2025, using MSYS2 for windows 10 or later */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, using MSYS2 for windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-enchant&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libxml2&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-autotools &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libtool &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-cc &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-gtk3&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-python-pip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Install nsis&lt;br /&gt;
&lt;br /&gt;
Now download the latest source tarball from the bluefish download server (b.t.w. right now, March 9 2025 there is no good tarball yet, the latest release in svn has many windows specific fixes), extract it in C:/bluefish/ and run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /c/bluefish&lt;br /&gt;
PATH=$PATH:.:/c/Program\ Files\ \(x86\)/NSIS/&lt;br /&gt;
export lt_cv_deplibs_check_method=&#039;pass_all&#039;&lt;br /&gt;
make -j6 -f Makefile.mingw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if you compile from svn&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
you might need to install some files that are missing:&lt;br /&gt;
cp remove-potcdate.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
cp  insert-header.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
change the line AM_GNU_GETTEXT_VERSION([0.24]) in configure.ac to the installed gettext version&lt;br /&gt;
the windows version cannot handle non-numeric versions, so remove any &#039;beta&#039; or something like that from configure.ac&lt;br /&gt;
./autogen.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in a working executable in c:\bluefish\win32\build\ (the dir is win32 but it actually is a 64bit executable)&lt;br /&gt;
It still has some quirks, but that is improving.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resources I&#039;m currently looking at:&lt;br /&gt;
* https://www.gtk.org/docs/installations/windows/#using-gtk-from-msys2-packages&lt;br /&gt;
* https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/&lt;br /&gt;
&lt;br /&gt;
= Old documentation =&lt;br /&gt;
&lt;br /&gt;
== OLD Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== OLD Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== OLD Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OLD  Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== OLD The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== OLD Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== OLD Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== OLD Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== OLD Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD  Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3162</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3162"/>
		<updated>2025-03-09T19:33:39Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, using MSYS2 for windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-enchant&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libxml2&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-autotools &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libtool &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-cc &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-gtk3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Install nsis&lt;br /&gt;
&lt;br /&gt;
Now download the latest source tarball from the bluefish download server (b.t.w. right now, March 9 2025 there is no good tarball yet, the latest release in svn has many windows specific fixes), extract it in C:/bluefish/ and run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /c/bluefish&lt;br /&gt;
PATH=$PATH:.:/c/Program\ Files\ \(x86\)/NSIS/&lt;br /&gt;
export lt_cv_deplibs_check_method=&#039;pass_all&#039;&lt;br /&gt;
make -j6 -f Makefile.mingw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if you compile from svn&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
you might need to install some files that are missing:&lt;br /&gt;
cp remove-potcdate.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
cp  insert-header.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
change the line AM_GNU_GETTEXT_VERSION([0.24]) in configure.ac to the installed gettext version&lt;br /&gt;
the windows version cannot handle non-numeric versions, so remove any &#039;beta&#039; or something like that from configure.ac&lt;br /&gt;
./autogen.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in a working executable in c:\bluefish\win32\build\ (the dir is win32 but it actually is a 64bit executable)&lt;br /&gt;
It still has some quirks, but that is improving.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resources I&#039;m currently looking at:&lt;br /&gt;
* https://www.gtk.org/docs/installations/windows/#using-gtk-from-msys2-packages&lt;br /&gt;
* https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/&lt;br /&gt;
&lt;br /&gt;
= Old documentation =&lt;br /&gt;
&lt;br /&gt;
== OLD Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== OLD Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== OLD Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OLD  Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== OLD The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== OLD Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== OLD Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== OLD Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== OLD Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD  Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3161</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3161"/>
		<updated>2025-03-09T19:28:44Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, using MSYS2 for windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-enchant&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libxml2&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-autotools &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libtool &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-cc &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-gtk3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Install nsis&lt;br /&gt;
&lt;br /&gt;
Now download the latest source tarball from the bluefish download server, extract it in C:/bluefish/ and run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /c/bluefish&lt;br /&gt;
PATH=$PATH:.:/c/Program\ Files\ \(x86\)/NSIS/&lt;br /&gt;
export lt_cv_deplibs_check_method=&#039;pass_all&#039;&lt;br /&gt;
make -j6 -f Makefile.mingw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if you compile from svn&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
you might need to install some files that are missing:&lt;br /&gt;
cp remove-potcdate.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
cp  insert-header.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
change the line AM_GNU_GETTEXT_VERSION([0.24]) in configure.ac to the installed gettext version&lt;br /&gt;
the windows version cannot handle non-numeric versions, so remove any &#039;beta&#039; or something like that from configure.ac&lt;br /&gt;
./autogen.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in a working executable but it still has some quirks&lt;br /&gt;
&lt;br /&gt;
Resources I&#039;m currently looking at:&lt;br /&gt;
* https://www.gtk.org/docs/installations/windows/#using-gtk-from-msys2-packages&lt;br /&gt;
* https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/&lt;br /&gt;
&lt;br /&gt;
= Old documentation =&lt;br /&gt;
&lt;br /&gt;
== OLD Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== OLD Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== OLD Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OLD  Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== OLD The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== OLD Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== OLD Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== OLD Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== OLD Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OLD  Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3160</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3160"/>
		<updated>2025-03-09T08:29:55Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, requires windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-enchant&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libxml2&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-autotools &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libtool &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-cc &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-gtk3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Install nsis&lt;br /&gt;
&lt;br /&gt;
Now download the latest source tarball from the bluefish download server, extract it in C:/bluefish/ and run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /c/bluefish&lt;br /&gt;
PATH=$PATH:.:/c/Program\ Files\ \(x86\)/NSIS/&lt;br /&gt;
export lt_cv_deplibs_check_method=&#039;pass_all&#039;&lt;br /&gt;
make -j6 -f Makefile.mingw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if you compile from svn&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
you might need to install some files that are missing:&lt;br /&gt;
cp remove-potcdate.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
cp  insert-header.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
change the line AM_GNU_GETTEXT_VERSION([0.24]) in configure.ac to the installed gettext version&lt;br /&gt;
the windows version cannot handle non-numeric versions, so remove any &#039;beta&#039; or something like that from configure.ac&lt;br /&gt;
./autogen.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in an executable but it doesn&#039;t start.. &lt;br /&gt;
&lt;br /&gt;
Resources I&#039;m currently looking at:&lt;br /&gt;
* https://www.gtk.org/docs/installations/windows/#using-gtk-from-msys2-packages&lt;br /&gt;
* https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/&lt;br /&gt;
&lt;br /&gt;
= Old documentation =&lt;br /&gt;
&lt;br /&gt;
== Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3159</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3159"/>
		<updated>2025-03-09T08:26:52Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, requires windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-enchant&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libxml2&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-autotools &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libtool &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-cc &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-gtk3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the latest source tarball from the bluefish download server, extract it in C:/bluefish/ and run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /c/bluefish&lt;br /&gt;
PATH=$PATH:.&lt;br /&gt;
export lt_cv_deplibs_check_method=&#039;pass_all&#039;&lt;br /&gt;
make -j6 -f Makefile.mingw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if you compile from svn&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
you might need to install some files that are missing:&lt;br /&gt;
cp remove-potcdate.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
cp  insert-header.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
change the line AM_GNU_GETTEXT_VERSION([0.24]) in configure.ac to the installed gettext version&lt;br /&gt;
the windows version cannot handle non-numeric versions, so remove any &#039;beta&#039; or something like that from configure.ac&lt;br /&gt;
./autogen.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in an executable but it doesn&#039;t start.. &lt;br /&gt;
&lt;br /&gt;
Resources I&#039;m currently looking at:&lt;br /&gt;
* https://www.gtk.org/docs/installations/windows/#using-gtk-from-msys2-packages&lt;br /&gt;
* https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/&lt;br /&gt;
&lt;br /&gt;
= Old documentation =&lt;br /&gt;
&lt;br /&gt;
== Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3158</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3158"/>
		<updated>2025-03-08T20:48:05Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* new documentation as of 2025, requires windows 10 or later */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, requires windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-enchant&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libxml2&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-autotools &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libtool &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-cc &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-gtk3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the latest source tarball from the bluefish download server, extract it in C:/bluefish/ and run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /c/bluefish&lt;br /&gt;
PATH=$PATH:.&lt;br /&gt;
export lt_cv_deplibs_check_method=${lt_cv_deplibs_check_method=&#039;pass_all&#039;}&lt;br /&gt;
make -j6 -f Makefile.mingw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if you compile from svn&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
you might need to install some files that are missing:&lt;br /&gt;
cp remove-potcdate.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
cp  insert-header.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
change the line AM_GNU_GETTEXT_VERSION([0.24]) in configure.ac to the installed gettext version&lt;br /&gt;
the windows version cannot handle non-numeric versions, so remove any &#039;beta&#039; or something like that from configure.ac&lt;br /&gt;
./autogen.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in an executable but it doesn&#039;t start.. &lt;br /&gt;
&lt;br /&gt;
Resources I&#039;m currently looking at:&lt;br /&gt;
* https://www.gtk.org/docs/installations/windows/#using-gtk-from-msys2-packages&lt;br /&gt;
* https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/&lt;br /&gt;
&lt;br /&gt;
= Old documentation =&lt;br /&gt;
&lt;br /&gt;
== Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3157</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3157"/>
		<updated>2025-03-08T19:28:34Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, requires windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-enchant&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libxml2&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-autotools &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libtool &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-cc &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-gtk3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the latest source tarball from the bluefish download server, extract it in C:/bluefish/ and run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /c/bluefish&lt;br /&gt;
PATH=$PATH:.&lt;br /&gt;
export lt_cv_deplibs_check_method=${lt_cv_deplibs_check_method=&#039;pass_all&#039;}&lt;br /&gt;
make -j6 -f Makefile.mingw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
if you compile from svn&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp remove-potcdate.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
cp  insert-header.sin  /ucrt64/share/gettext/po/&lt;br /&gt;
change the line AM_GNU_GETTEXT_VERSION([0.24]) in configure.ac to the installed gettext version&lt;br /&gt;
install the files &lt;br /&gt;
./autogen.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in an executable but it doesn&#039;t start.. &lt;br /&gt;
&lt;br /&gt;
Resources I&#039;m currently looking at:&lt;br /&gt;
* https://www.gtk.org/docs/installations/windows/#using-gtk-from-msys2-packages&lt;br /&gt;
* https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Old documentation =&lt;br /&gt;
&lt;br /&gt;
== Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3156</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3156"/>
		<updated>2025-03-08T19:15:35Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, requires windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-enchant&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libxml2&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-autotools &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libtool &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-cc &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-gtk3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the latest source tarball from the bluefish download server, extract it in C:/bluefish/ and run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /c/bluefish&lt;br /&gt;
PATH=$PATH:.&lt;br /&gt;
export lt_cv_deplibs_check_method=${lt_cv_deplibs_check_method=&#039;pass_all&#039;}&lt;br /&gt;
make -j6 -f Makefile.mingw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in an executable but it doesn&#039;t start.. &lt;br /&gt;
&lt;br /&gt;
Resources I&#039;m currently looking at:&lt;br /&gt;
* https://www.gtk.org/docs/installations/windows/#using-gtk-from-msys2-packages&lt;br /&gt;
* https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Old documentation =&lt;br /&gt;
&lt;br /&gt;
== Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3155</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3155"/>
		<updated>2025-03-01T15:13:44Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* new documentation as of 2025, requires windows 10 or later */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, requires windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-enchant&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libxml2&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-autotools &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libtool &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-cc &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-gtk3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the latest source tarball from the bluefish download server, extract it in C:/bluefish/ and run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /c/bluefish&lt;br /&gt;
./configure&lt;br /&gt;
make -j6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in an executable but it doesn&#039;t start.. &lt;br /&gt;
&lt;br /&gt;
Resources I&#039;m currently looking at:&lt;br /&gt;
* https://www.gtk.org/docs/installations/windows/#using-gtk-from-msys2-packages&lt;br /&gt;
* https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Old documentation =&lt;br /&gt;
&lt;br /&gt;
== Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3154</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3154"/>
		<updated>2025-03-01T15:13:18Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* new documentation as of 2025, requires windows 10 or later */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, requires windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-enchant&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libxml2&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-autotools &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libtool &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-cc &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-gtk3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the latest source tarball from the bluefish download server, extract it in C:/bluefish/ and run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /c/bluefish&lt;br /&gt;
./configure&lt;br /&gt;
make -j6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This results in an executable but it doesn&#039;t start.. &lt;br /&gt;
&lt;br /&gt;
Resources I&#039;m currently looking at:&lt;br /&gt;
 * https://www.gtk.org/docs/installations/windows/#using-gtk-from-msys2-packages&lt;br /&gt;
 * https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/&lt;br /&gt;
 * &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3153</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3153"/>
		<updated>2025-02-28T17:12:04Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* new documentation as of 2025, requires windows 10 or later */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, requires windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-enchant&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libxml2&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-autotools &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libtool &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-cc &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-gtk3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now download the latest source tarball from the bluefish download server, extract it in C:/bluefish/ and run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /c/bluefish&lt;br /&gt;
./configure&lt;br /&gt;
make -j6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3152</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3152"/>
		<updated>2025-02-28T17:09:47Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* new documentation as of 2025, requires windows 10 or later */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, requires windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-enchant&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libxml2&lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-autotools &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-libtool &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-cc &lt;br /&gt;
pacman -S mingw-w64-ucrt-x86_64-gtk3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3151</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3151"/>
		<updated>2025-02-28T17:01:22Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* new documentation as of 2025, requires windows 10 or later */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, requires windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S gcc mingw-w64-x86_64-gtk3 mingw-w64-ucrt-x86_64-enchant mingw-w64-ucrt-x86_64-libxml2  mingw-w64-ucrt-x86_64-autotools mingw-w64-ucrt-x86_64-libtool mingw-w64-ucrt-x86_64-cc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3150</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3150"/>
		<updated>2025-02-28T16:58:10Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* new documentation as of 2025, requires windows 10 or later */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, requires windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S gcc mingw-w64-x86_64-gtk3 mingw-w64-ucrt-x86_64-enchant mingw-w64-ucrt-x86_64-libxml2  mingw-w64-ucrt-x86_64-autotools mingw-w64-ucrt-x86_64-libtool&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3149</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3149"/>
		<updated>2025-02-28T16:39:45Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* new documentation as of 2025, requires windows 10 or later */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, requires windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Set windows into developer mode https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-x86_64-gtk3 mingw-w64-ucrt-x86_64-enchant mingw-w64-ucrt-x86_64-libxml2  mingw-w64-ucrt-x86_64-autotools mingw-w64-ucrt-x86_64-libtool&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3148</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3148"/>
		<updated>2025-02-28T16:33:44Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* new documentation as of 2025 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025, requires windows 10 or later =&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64. Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-x86_64-gtk3 mingw-w64-ucrt-x86_64-enchant mingw-w64-ucrt-x86_64-libxml2  mingw-w64-ucrt-x86_64-autotools mingw-w64-ucrt-x86_64-libtool&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3147</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3147"/>
		<updated>2025-02-28T16:31:29Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* new documentation as of 2025 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025 =&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Now start msys2-ucrt64&lt;br /&gt;
&lt;br /&gt;
Install all requirements (like gtk3) with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-x86_64-gtk3 mingw-w64-ucrt-x86_64-enchant mingw-w64-ucrt-x86_64-libxml2  mingw-w64-ucrt-x86_64-autotools mingw-w64-ucrt-x86_64-libtool&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3146</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3146"/>
		<updated>2025-02-28T16:09:30Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* new documentation as of 2025 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025 =&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Install gtk3 with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-x86_64-gtk3 mingw-w64-ucrt-x86_64-enchant mingw-w64-ucrt-x86_64-libxml2  mingw-w64-ucrt-x86_64-autotools mingw-w64-ucrt-x86_64-libtool&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3145</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3145"/>
		<updated>2025-02-28T16:05:35Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025 =&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Install gtk3 with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-x86_64-gtk3 mingw-w64-ucrt-x86_64-enchant mingw-w64-ucrt-x86_64-libxml2  mingw-w64-ucrt-x86_64-autotools&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3144</id>
		<title>Setting up a Windows Build Environment</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Setting_up_a_Windows_Build_Environment&amp;diff=3144"/>
		<updated>2025-02-28T15:59:56Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= new documentation as of 2025 =&lt;br /&gt;
&lt;br /&gt;
Install msys2 according to https://www.msys2.org/wiki/MSYS2-installation/&lt;br /&gt;
&lt;br /&gt;
Install gtk3 with &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pacman -S mingw-w64-x86_64-gtk3 mingw-w64-ucrt-x86_64-enchant mingw-w64-ucrt-x86_64-libxml2 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows Build Status ==&lt;br /&gt;
&lt;br /&gt;
Binary and plugins are running and should be fully functional. If you encounter unexpected behaviour or bugs, please report your problem to [https://bugzilla.gnome.org/enter_bug.cgi?product=bluefish our BTS].&lt;br /&gt;
&lt;br /&gt;
=== Current Known Issues ===&lt;br /&gt;
&lt;br /&gt;
* Socket code doesn&#039;t work so files can&#039;t be opened externally in a currently running copy of bluefish.&lt;br /&gt;
* Launching of external programs doesn&#039;t work.&lt;br /&gt;
* Editing of UTF files with a BOM headers is not currently supported.&lt;br /&gt;
&lt;br /&gt;
=== Recent Build Environment Changes ===&lt;br /&gt;
&lt;br /&gt;
If you are maintaining a build environment for Bluefish please check this subsection occasionally for important changes!&lt;br /&gt;
&lt;br /&gt;
;2011-02-07&lt;br /&gt;
:The MingW project has created a new installer, which makes things much easier but also changes the way to create the build environment.&lt;br /&gt;
&lt;br /&gt;
;2009-12-10&lt;br /&gt;
:If you build your own installers we now use a unicode version of NSIS, [http://www.scratchpaper.com/home Unicode NSIS], to support UTF-8 encoded translations.&lt;br /&gt;
&lt;br /&gt;
;2009-09-23:&lt;br /&gt;
:The GNOME packages have been updated to reflect those versions which are included with Pidgin&#039;s GTK+ installer.  This is currently being used as our target runtime environment for the Installer version of Bluefish.  If you&#039;re first setting up your build environment you can skip this section as the information provided below is always up to date.  If you already have a build environment setup you will need to update a few packages to the versions provided below.  These include atk (1.26.0-&amp;gt;1.24.0), glib (2.20.4-&amp;gt;2.18.4), gtk+ (2.16.5-&amp;gt;2.14.7), and pango (1.24.5-&amp;gt;1.22.4).&lt;br /&gt;
&lt;br /&gt;
:If you don&#039;t intend to run your builds of Bluefish outside of your MSYS environment this change is not required.  However if you do wish to do so and wish to remain with GTK+ 2.16 you can use the [http://gtk-win.sourceforge.net/ GTK-Win] installer.  This version is not officially supported by the windows development team as of yet because while it&#039;s fine for Bluefish it does break some features in Pidgin so keep this in mind if you use both programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setting up your Build Environment ==&lt;br /&gt;
&lt;br /&gt;
The first step is of course to install and setup the MingW and MSYS environments. Start with the [http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/mingw-get-inst-20101030/mingw-get-inst-20101030.exe/download automated MinGW installer]. When you are asked for the installation location you have to choose a path without spaces like &amp;lt;tt&amp;gt;C:\MinGW&amp;lt;/tt&amp;gt; (but not necessarily this one). From the optional components choose at least the C++ compiler and the MSYS base system.&lt;br /&gt;
&lt;br /&gt;
If you know what you are doing, you might alternatively download and unpack (unzip/untar/...) the packages manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Updating the Build Environment ===&lt;br /&gt;
&lt;br /&gt;
In a second step all further necessary software needs to be updated and/or installed. You can download and extract them manually or via the &amp;lt;tt&amp;gt;mingw-get&amp;lt;/tt&amp;gt; tool. To unzip things we need at least the &amp;lt;tt&amp;gt;unzip&amp;lt;/tt&amp;gt; too:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mingw-get update&lt;br /&gt;
mingw-get install msys-unzip msys-wget&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All MinGW and MSYS packages can be retrieved and installed using this way as long as some internet connection is available.&lt;br /&gt;
&lt;br /&gt;
We further need some software by third parties (GNOME packages and it&#039;s dependencies). Extract them to the location, where MSYS has been installed. This place is usually &amp;lt;tt&amp;gt;C:\MinGW\msys\1.0\&amp;lt;/tt&amp;gt;. Keep in mind, that this place is equal to the root directory &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; and to &amp;lt;tt&amp;gt;/usr/&amp;lt;/tt&amp;gt; (as both are the same) in MSYS. And also &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt; are equal too. &#039;&#039;We install all third party software into &amp;lt;tt&amp;gt;/usr/local&amp;lt;/tt&amp;gt;!&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;GNOME Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-bundle_2.14.7-20090119_win32.zip gtk+-bundle_2.14.7-20090119_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip libxml2-dev_2.7.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-3_win32.zip GConf_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-3_win32.zip GConf-dev_2.22.0-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
&amp;lt;!--:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk_1.24.0-1_win32.zip atk_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.24/atk-dev_1.24.0-1_win32.zip atk-dev_1.24.0-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.8-1_win32.zip cairo_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.8-1_win32.zip cairo-dev_1.8.8-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat-dev_2.0.1-1_win32.zip expat-dev_2.0.1-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf_2.22.0-2_win32.zip GConf_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/GConf/2.22/GConf-dev_2.22.0-2_win32.zip GConf-dev_2.22.0-2_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-0.17.zip gettext-runtime-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev-0.17.zip gettext-runtime-dev-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-0.17.zip gettext-tools-0.17.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip glib_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib-dev_2.18.4-1_win32.zip glib-dev_2.18.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gnome-common/2.11/gnome-common-2.11.0.zip gnome-common-2.11.0.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+_2.14.7-1_win32.zip gtk+_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.14/gtk+-dev_2.14.7-1_win32.zip gtk+-dev_2.14.7-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip intltool_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/intltool/0.40/intltool-dev_0.40.4-1_win32.zip intltool-dev_0.40.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-2.5.zip libgnurx-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libgnurx-dev-2.5.zip libgnurx-dev-2.5.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libiconv-1.9.1.bin.woe32.zip libiconv-1.9.1.bin.woe32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.2.38-1_win32.zip libpng_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.2.38-1_win32.zip libpng-dev_1.2.38-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.3-1_win32.zip libxml2_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.3-1_win32.zip libxml2-dev_2.7.3-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2-dev_2.14.16-1_win32.zip ORBit2-dev_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/ORBit2/2.14/ORBit2_2.14.16-1_win32.zip ORBit2_2.14.16-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango_1.22.4-1_win32.zip pango_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.22/pango-dev_1.22.4-1_win32.zip pango-dev_1.22.4-1_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip pkg-config_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip pkg-config-dev_0.23-3_win32.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-1.2.3.zip zlib-1.2.3.zip]&lt;br /&gt;
:[http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev-1.2.3.zip zlib-dev-1.2.3.zip]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;External Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
:[http://sourceforge.net/projects/win32svn/files/1.6.15/svn-win32-1.6.15.zip/download svn-win32-1.6.15.zip]&lt;br /&gt;
&lt;br /&gt;
=== The Perl Issue ===&lt;br /&gt;
&lt;br /&gt;
The last thing you need is Perl.  The MSYS version is 5.6.1 which is not new enough to pass the configure script for a lot of programs including Bluefish.  I use the MSYS 5.6.1 version for autoconf/automake/autogen.sh and an external version such as [http://www.activestate.com/activeperl/ ActiveState&#039;s] for anything that needs a newer version. Install the ActivePerl Perl version. Then edit &amp;lt;tt&amp;gt;/etc/fstab&amp;lt;/tt&amp;gt; in your MSYS enviroment (usually &amp;lt;tt&amp;gt;&amp;lt;/tt&amp;gt;) and add the following line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;c:/programs/perl /opt/perl&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Perl is mounted to the MSYS environment.&lt;br /&gt;
&lt;br /&gt;
== Configuring your Build Environment == &lt;br /&gt;
&lt;br /&gt;
You might set a few environment variables as follows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;PATH=&amp;quot;/bin:/local/bin:/opt/perl/bin&amp;quot;&lt;br /&gt;
C_INCLUDE_PATH=&amp;quot;/include:/local/include&amp;quot;&lt;br /&gt;
LIBRARY_PATH=&amp;quot;/lib:/local/lib&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Alternatively pass [http://bluefish.svn.sf.net/viewvc/bluefish/trunk/bluefish/config.site/config.msys our config.site script] for MSYS to configure to adjust PATH/CFLAGS/LDFLAGS easily.&lt;br /&gt;
&lt;br /&gt;
Further we need to adjust the macro search path for aclocal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo /local/share/aclocal &amp;gt; /mingw/share/aclocal/dirlist&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of a linker bug in the &amp;lt;tt&amp;gt;gconftool-2&amp;lt;/tt&amp;gt; binary add this symbolic link:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ln -s /local/bin/libxml2-2.dll /local/bin/libxml2.dll&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Building External Packages ==&lt;br /&gt;
&lt;br /&gt;
To build bluefish we need some libraries not available from the MinGW/MSYS project.&lt;br /&gt;
&lt;br /&gt;
=== Installing Pre-Compiled Packages ===&lt;br /&gt;
&lt;br /&gt;
Shawn Novak provides pre-compiled tarballs, which you just need to extract to &amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
;&#039;&#039;Custom Packages&#039;&#039; install into MSYS local directory &amp;quot;&amp;lt;tt&amp;gt;/local&amp;lt;/tt&amp;gt;&amp;quot; (&amp;lt;tt&amp;gt;C:\MinGW\local\&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;C:\Programs\msys\1.0\local\&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&amp;lt;!--:[http://www.muleslow.net/files/mingw/pcre-7.9-bin-MinGW-20090902.tbz2 pcre-7.9-bin-MinGW-20090902.tbz2]--&amp;gt;&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/aspell-0.60.6-bin-MinGW-20090901.tbz2 aspell-0.60.6-bin-MinGW-20090901.tbz2]&lt;br /&gt;
:[http://www.muleslow.net/files/mingw/enchant-1.5.0-bin-MinGW-20090901.tbz2 enchant-1.5.0-bin-MinGW-20090901.tbz2]&lt;br /&gt;
&lt;br /&gt;
A full set of dictionaries for Aspell 0.60.6 can be found here: [http://www.muleslow.net/files/aspell/lang/ http://www.muleslow.net/files/aspell/lang/]&lt;br /&gt;
&lt;br /&gt;
=== Building and Installing from the Source ===&lt;br /&gt;
&lt;br /&gt;
If you wish to build your own version of these custom packages, these are the configure parameters used for the ones provided.&lt;br /&gt;
&amp;lt;ref&amp;gt;Note by Daniel Leidert: I further pass a short &amp;lt;tt&amp;gt;msys.site&amp;lt;/tt&amp;gt; script with the following content to &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
PATH=&amp;quot;/opt/perl/bin:$PATH&amp;quot;&lt;br /&gt;
prefix=/local&lt;br /&gt;
exec_prefix=&#039;${prefix}&#039;&lt;br /&gt;
enable_shared=yes&lt;br /&gt;
enable_static=no&lt;br /&gt;
enable_maintainer_mode=yes&lt;br /&gt;
LDFLAGS=&amp;quot;-L/local/lib -L/lib&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include -mwindows&amp;quot;&lt;br /&gt;
CPPFLAGS=&amp;quot;-g -Wall -O2 -I/local/include -I/include&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The configure script is then called as follows together with the switches as shown above:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./configure CONFIG_SITE=msys.site ...configure options see above...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;[ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz Aspell 0.60.6]&lt;br /&gt;
&lt;br /&gt;
In the aspell source add &lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;asc_ctype.hpp&amp;quot;&lt;br /&gt;
&lt;br /&gt;
to the includes at &#039;&#039;&#039;common/file_util.cpp&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --disable-rpath --enable-win32-relocatable&lt;br /&gt;
&lt;br /&gt;
;[http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz Enchant 1.6.0]&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-aspell --disable-ispell --disable-myspell&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--;[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.9.tar.bz2 PCRE 7.9] (UTF-8 support is a &#039;&#039;&#039;must&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
 ./configure --prefix=/local --enable-utf8 --enable-unicode-properties&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
;[http://ftp.gnome.org/pub/GNOME/sources/gucharmap/2.32/gucharmap-2.32.1.tar.bz2 gucharmap 2.32]&lt;br /&gt;
&lt;br /&gt;
Unfortunately gucharmap does not build out-of-the-box. The following instructions were taken from the [http://article.gmane.org/gmane.comp.web.bluefish.devel/2197 mailing list]. First apply the following patch by Daniel Leidert [http://www.muleslow.net/files/mingw/patches/gucharmap26.diff gucharmap26.diff] and then configure with the following commands.&lt;br /&gt;
&lt;br /&gt;
 patch -p0 &amp;lt;gucharmap26.diff&lt;br /&gt;
 intltoolize -f&lt;br /&gt;
 libtoolize -f&lt;br /&gt;
 aclocal -I m4/ --force&lt;br /&gt;
 autoheader -f&lt;br /&gt;
 automake -f&lt;br /&gt;
 autoconf -f&lt;br /&gt;
 ./configure --disable-gconf --disable-schemas-install --disable-scrollkeeper&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish ==&lt;br /&gt;
&lt;br /&gt;
Check out the latest code from trunk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;svn checkout https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;tt&amp;gt;autogen.sh&amp;lt;/tt&amp;gt; (uses perl 5.6.1). Then run &amp;lt;tt&amp;gt;configure&amp;lt;/tt&amp;gt; (make sure, Perl from &amp;lt;tt&amp;gt;/opt/perl/bin&amp;lt;/tt&amp;gt; is used; e.g. adjust PATH) and make:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;./autogen.sh&lt;br /&gt;
./configure CONFIG_SITE=config.site/config.msys&lt;br /&gt;
make&lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Debugging Bluefish ==&lt;br /&gt;
&lt;br /&gt;
For console debugging output, configure bluefish by passing &#039;--enable-debugging-output&#039; to &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;. Further CFLAGS should contain &#039;-g&#039; (default, also explicitly set by &amp;lt;tt&amp;gt;config.msys&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
For debugging crashes install the [https://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/Current%20Release_%20gdb-5.2.1/gdb-5.2.1-1.exe/download GNU Debugger (GDB)].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create the Installer ==&lt;br /&gt;
To compile the installer you&#039;ll need to have [http://www.scratchpaper.com/home Unicode NSIS] with the [http://nsis.sourceforge.net/UnTGZ_plug-in UnTGZ] plugin installed.  You should also have makensis.exe in your path (such as in /opt/nsis).&lt;br /&gt;
&lt;br /&gt;
To build the installer configure and build Bluefish with the following commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure CONFIG_SITE=win32/config.nsis&lt;br /&gt;
cd win32&lt;br /&gt;
make -f Makefile.mingw installer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
References: &amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[Installing_Bluefish#Installing_Bluefish_on_Windows_XP.2FVista.2F7_.2832_bit.29|Existing win32 builds]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Translations&amp;diff=3143</id>
		<title>Translations</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Translations&amp;diff=3143"/>
		<updated>2024-09-13T15:07:43Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* Current development translation status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Translations ==&lt;br /&gt;
&lt;br /&gt;
Please send a message to the developer&#039;s list if you have questions, suggestions or would like to help with translations. By all means, don&#039;t wait for someone to give you the OK to start translating.  Here are some instructions on [[How To Translate]].&lt;br /&gt;
&lt;br /&gt;
== Current translation teams ==&lt;br /&gt;
&lt;br /&gt;
It is good if there are multiple people for every language, so if anybody is on holidays or something and we want to do a Bluefish release we can have all languages updated, so please work in teams.&lt;br /&gt;
&lt;br /&gt;
=== Active translators / teams ===&lt;br /&gt;
These translations are kept up to date (last updated Feb 13 2014):&lt;br /&gt;
&lt;br /&gt;
  Basque (EU)                   dooteo (at) euskalgnu org / Language-Team: itzulpena (at) euskalgnu org&lt;br /&gt;
  Brazilian Portuguese (PT_BR)  esfingemetal (at) gmail com&lt;br /&gt;
  Catalan (CA)                  monica (at) probeta.net &lt;br /&gt;
  Chinese (ZH_CN)               mzf9527 (at) gmail com&lt;br /&gt;
  Czech (CS)                    marek (at) manet cz / Language-Team: gnome-cs-list (at) gnome org&lt;br /&gt;
  Danish (DA)                   fc (at) stilheden net / Language Team: dansk (at) dansk-gruppen dk&lt;br /&gt;
  Dutch (NL)                    olivier (at) bluefish openoffice nl&lt;br /&gt;
  Farsi (FA)                    Paymon Menhadji&lt;br /&gt;
  French (FR)                   falsetti (at) clansco org&lt;br /&gt;
  Galician (GL)                 correo.xmgz (at) gmail com&lt;br /&gt;
  German (DE)                   Ralf.Kestler (at) gmx net, linux (at) drmartinus de&lt;br /&gt;
  Hungarian (HU)                urbalazs (at) gmail com / Language-Team: hu (at) li org&lt;br /&gt;
  Italian (IT)                  bellingeri (at) netguru it&lt;br /&gt;
  Japanese (JA)                 hmatrjp (at) users sourceforge jp&lt;br /&gt;
  Norwegian (NB)                chris (at) tellefsen net&lt;br /&gt;
  Nynorsk (NN)                  l10n (at) landro net&lt;br /&gt;
  Polish (PL)                   dawajpoczte (at) gmail com&lt;br /&gt;
  Russian (RU)                  george (at) altlinux org / Language-Team: gnome-cyr (at) lists gnome org&lt;br /&gt;
  Spanish (ES)                  daniel.mustieles (at) gmail com / Language-Team: gnome-es (at) gnome org&lt;br /&gt;
  Ukrainian (UK)                yurchor (at) ukr net&lt;br /&gt;
&lt;br /&gt;
=== Current development translation status ===&lt;br /&gt;
&lt;br /&gt;
In the bluefish source directory run the following command:&lt;br /&gt;
&lt;br /&gt;
 $ for LANG in bg cs da de el es eu fi fr gl hu it ja ko nb nl pl pt pt_BR ro ru sk sr sv ta tr uk zh_CN zh_TW ; do echo &amp;quot;Statistics for ${LANG}&amp;quot; ;for FILE in po/${LANG}.po src/plugin*/po/*${LANG}.po; do echo -n &amp;quot; ${FILE} &amp;quot; ;msgfmt --statistics ${FILE};done;done&lt;br /&gt;
&lt;br /&gt;
Statistics for bg&lt;br /&gt;
 po/bg.po 103 translated messages, 516 fuzzy translations, 297 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/bg.po 1 translated message, 4 fuzzy translations, 12 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/bg.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/bg.po 0 translated messages, 24 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/bg.po 224 translated messages, 214 fuzzy translations, 99 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/bg.po 0 translated messages, 27 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/bg.po 0 translated messages, 60 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/bg.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/bg.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for cs&lt;br /&gt;
 po/cs.po 881 translated messages, 25 fuzzy translations, 10 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/cs.po 16 translated messages, 1 fuzzy translation.&lt;br /&gt;
 src/plugin_charmap/po/cs.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/cs.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/cs.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/cs.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/cs.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/cs.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/cs.po 14 translated messages.&lt;br /&gt;
Statistics for da&lt;br /&gt;
 po/da.po 888 translated messages, 18 fuzzy translations, 10 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/da.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/da.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/da.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/da.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/da.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/da.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/da.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/da.po 14 translated messages.&lt;br /&gt;
Statistics for de&lt;br /&gt;
 po/de.po 898 translated messages, 12 fuzzy translations, 6 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/de.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/de.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/de.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/de.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/de.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/de.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/de.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/de.po 14 translated messages.&lt;br /&gt;
Statistics for el&lt;br /&gt;
 po/el.po 59 translated messages, 488 fuzzy translations, 369 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/el.po 1 translated message, 1 fuzzy translation, 15 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/el.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/el.po 0 translated messages, 24 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/el.po 153 translated messages, 242 fuzzy translations, 142 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/el.po 0 translated messages, 27 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/el.po 0 translated messages, 60 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/el.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/el.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for es&lt;br /&gt;
 po/es.po 888 translated messages, 18 fuzzy translations, 10 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/es.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/es.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/es.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/es.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/es.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/es.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/es.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/es.po 14 translated messages.&lt;br /&gt;
Statistics for eu&lt;br /&gt;
 po/eu.po 745 translated messages, 75 fuzzy translations, 96 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/eu.po 13 translated messages, 3 fuzzy translations, 1 untranslated message.&lt;br /&gt;
 src/plugin_charmap/po/eu.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/eu.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/eu.po 535 translated messages, 2 fuzzy translations.&lt;br /&gt;
 src/plugin_infbrowser/po/eu.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/eu.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/eu.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/eu.po 14 translated messages.&lt;br /&gt;
Statistics for fi&lt;br /&gt;
 po/fi.po 123 translated messages, 463 fuzzy translations, 330 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/fi.po 1 translated message, 4 fuzzy translations, 12 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/fi.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/fi.po 0 translated messages, 24 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/fi.po 224 translated messages, 215 fuzzy translations, 98 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/fi.po 0 translated messages, 27 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/fi.po 0 translated messages, 60 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/fi.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/fi.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for fr&lt;br /&gt;
 po/fr.po 890 translated messages, 17 fuzzy translations, 9 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/fr.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/fr.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/fr.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/fr.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/fr.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/fr.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/fr.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/fr.po 14 translated messages.&lt;br /&gt;
Statistics for gl&lt;br /&gt;
 po/gl.po 785 translated messages, 60 fuzzy translations, 71 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/gl.po 16 translated messages, 1 fuzzy translation.&lt;br /&gt;
 src/plugin_charmap/po/gl.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/gl.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/gl.po 536 translated messages, 1 fuzzy translation.&lt;br /&gt;
 src/plugin_infbrowser/po/gl.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/gl.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/gl.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/gl.po 14 translated messages.&lt;br /&gt;
Statistics for hu&lt;br /&gt;
 po/hu.po 888 translated messages, 18 fuzzy translations, 10 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/hu.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/hu.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/hu.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/hu.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/hu.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/hu.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/hu.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/hu.po 14 translated messages.&lt;br /&gt;
Statistics for it&lt;br /&gt;
 po/it.po 893 translated messages, 17 fuzzy translations, 6 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/it.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/it.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/it.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/it.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/it.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/it.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/it.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/it.po 14 translated messages.&lt;br /&gt;
Statistics for ja&lt;br /&gt;
 po/ja.po 901 translated messages, 10 fuzzy translations, 5 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/ja.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/ja.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/ja.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/ja.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/ja.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/ja.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/ja.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/ja.po 14 translated messages.&lt;br /&gt;
Statistics for ko&lt;br /&gt;
 po/ko.po 550 translated messages, 206 fuzzy translations, 160 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/ko.po 12 translated messages, 4 fuzzy translations, 1 untranslated message.&lt;br /&gt;
 src/plugin_charmap/po/ko.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/ko.po 17 translated messages, 6 fuzzy translations, 1 untranslated message.&lt;br /&gt;
 src/plugin_htmlbar/po/ko.po 382 translated messages, 62 fuzzy translations, 93 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/ko.po 25 translated messages, 2 fuzzy translations.&lt;br /&gt;
 src/plugin_snippets/po/ko.po 54 translated messages, 3 fuzzy translations, 3 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/ko.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/ko.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for nb&lt;br /&gt;
 po/nb.po 898 translated messages, 12 fuzzy translations, 6 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/nb.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/nb.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/nb.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/nb.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/nb.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/nb.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/nb.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/nb.po 14 translated messages.&lt;br /&gt;
Statistics for nl&lt;br /&gt;
 po/nl.po 893 translated messages, 17 fuzzy translations, 6 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/nl.po 16 translated messages, 1 fuzzy translation.&lt;br /&gt;
 src/plugin_charmap/po/nl.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/nl.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/nl.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/nl.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/nl.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/nl.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/nl.po 14 translated messages.&lt;br /&gt;
Statistics for pl&lt;br /&gt;
 po/pl.po 888 translated messages, 18 fuzzy translations, 10 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/pl.po 16 translated messages, 1 fuzzy translation.&lt;br /&gt;
 src/plugin_charmap/po/pl.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/pl.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/pl.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/pl.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/pl.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/pl.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/pl.po 14 translated messages.&lt;br /&gt;
Statistics for pt&lt;br /&gt;
 po/pt.po 898 translated messages, 12 fuzzy translations, 6 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/pt.po 13 translated messages, 3 fuzzy translations, 1 untranslated message.&lt;br /&gt;
 src/plugin_charmap/po/pt.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/pt.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/pt.po 535 translated messages, 2 fuzzy translations.&lt;br /&gt;
 src/plugin_infbrowser/po/pt.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/pt.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/pt.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/pt.po 14 translated messages.&lt;br /&gt;
Statistics for pt_BR&lt;br /&gt;
 po/pt_BR.po 898 translated messages, 12 fuzzy translations, 6 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/pt_BR.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/pt_BR.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/pt_BR.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/pt_BR.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/pt_BR.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/pt_BR.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/pt_BR.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/pt_BR.po 14 translated messages.&lt;br /&gt;
Statistics for ro&lt;br /&gt;
 po/ro.po 88 translated messages, 489 fuzzy translations, 339 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/ro.po 1 translated message, 16 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/ro.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/ro.po 0 translated messages, 24 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/ro.po 71 translated messages, 293 fuzzy translations, 173 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/ro.po 0 translated messages, 27 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/ro.po 0 translated messages, 60 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/ro.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/ro.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for ru&lt;br /&gt;
 po/ru.po 916 translated messages.&lt;br /&gt;
 src/plugin_about/po/ru.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/ru.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/ru.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/ru.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/ru.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/ru.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/ru.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/ru.po 14 translated messages.&lt;br /&gt;
Statistics for sk&lt;br /&gt;
 po/sk.po 189 translated messages, 474 fuzzy translations, 253 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/sk.po 0 translated messages, 4 fuzzy translations, 13 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/sk.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/sk.po 0 translated messages, 17 fuzzy translations, 7 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/sk.po 248 translated messages, 173 fuzzy translations, 116 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/sk.po 0 translated messages, 1 fuzzy translation, 26 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/sk.po 2 translated messages, 29 fuzzy translations, 29 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/sk.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/sk.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for sr&lt;br /&gt;
 po/sr.po 115 translated messages, 510 fuzzy translations, 291 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/sr.po 1 translated message, 4 fuzzy translations, 12 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/sr.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/sr.po 0 translated messages, 24 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/sr.po 224 translated messages, 215 fuzzy translations, 98 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/sr.po 0 translated messages, 27 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/sr.po 0 translated messages, 60 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/sr.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/sr.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for sv&lt;br /&gt;
 po/sv.po 115 translated messages, 513 fuzzy translations, 288 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/sv.po 1 translated message, 4 fuzzy translations, 12 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/sv.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/sv.po 0 translated messages, 24 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/sv.po 224 translated messages, 215 fuzzy translations, 98 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/sv.po 0 translated messages, 27 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/sv.po 0 translated messages, 60 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/sv.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/sv.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for ta&lt;br /&gt;
 po/ta.po 116 translated messages, 513 fuzzy translations, 287 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/ta.po 0 translated messages, 4 fuzzy translations, 13 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/ta.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/ta.po 0 translated messages, 17 fuzzy translations, 7 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/ta.po 245 translated messages, 174 fuzzy translations, 118 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/ta.po 0 translated messages, 1 fuzzy translation, 26 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/ta.po 2 translated messages, 29 fuzzy translations, 29 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/ta.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/ta.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for tr&lt;br /&gt;
 po/tr.po 893 translated messages, 17 fuzzy translations, 6 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/tr.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/tr.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/tr.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/tr.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/tr.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/tr.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/tr.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/tr.po 14 translated messages.&lt;br /&gt;
Statistics for uk&lt;br /&gt;
 po/uk.po 888 translated messages, 18 fuzzy translations, 10 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/uk.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/uk.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/uk.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/uk.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/uk.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/uk.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/uk.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/uk.po 14 translated messages.&lt;br /&gt;
Statistics for zh_CN&lt;br /&gt;
 po/zh_CN.po 772 translated messages, 68 fuzzy translations, 76 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/zh_CN.po 16 translated messages, 1 fuzzy translation.&lt;br /&gt;
 src/plugin_charmap/po/zh_CN.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/zh_CN.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/zh_CN.po 536 translated messages, 1 fuzzy translation.&lt;br /&gt;
 src/plugin_infbrowser/po/zh_CN.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/zh_CN.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/zh_CN.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/zh_CN.po 14 translated messages.&lt;br /&gt;
Statistics for zh_TW&lt;br /&gt;
 po/zh_TW.po 115 translated messages, 510 fuzzy translations, 291 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/zh_TW.po 1 translated message, 4 fuzzy translations, 12 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/zh_TW.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/zh_TW.po 0 translated messages, 24 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/zh_TW.po 224 translated messages, 215 fuzzy translations, 98 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/zh_TW.po 0 translated messages, 27 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/zh_TW.po 0 translated messages, 60 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/zh_TW.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/zh_TW.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
== Notes and references ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:i18n]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Translations&amp;diff=3142</id>
		<title>Translations</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Translations&amp;diff=3142"/>
		<updated>2024-09-13T15:05:07Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Translations ==&lt;br /&gt;
&lt;br /&gt;
Please send a message to the developer&#039;s list if you have questions, suggestions or would like to help with translations. By all means, don&#039;t wait for someone to give you the OK to start translating.  Here are some instructions on [[How To Translate]].&lt;br /&gt;
&lt;br /&gt;
== Current translation teams ==&lt;br /&gt;
&lt;br /&gt;
It is good if there are multiple people for every language, so if anybody is on holidays or something and we want to do a Bluefish release we can have all languages updated, so please work in teams.&lt;br /&gt;
&lt;br /&gt;
=== Active translators / teams ===&lt;br /&gt;
These translations are kept up to date (last updated Feb 13 2014):&lt;br /&gt;
&lt;br /&gt;
  Basque (EU)                   dooteo (at) euskalgnu org / Language-Team: itzulpena (at) euskalgnu org&lt;br /&gt;
  Brazilian Portuguese (PT_BR)  esfingemetal (at) gmail com&lt;br /&gt;
  Catalan (CA)                  monica (at) probeta.net &lt;br /&gt;
  Chinese (ZH_CN)               mzf9527 (at) gmail com&lt;br /&gt;
  Czech (CS)                    marek (at) manet cz / Language-Team: gnome-cs-list (at) gnome org&lt;br /&gt;
  Danish (DA)                   fc (at) stilheden net / Language Team: dansk (at) dansk-gruppen dk&lt;br /&gt;
  Dutch (NL)                    olivier (at) bluefish openoffice nl&lt;br /&gt;
  Farsi (FA)                    Paymon Menhadji&lt;br /&gt;
  French (FR)                   falsetti (at) clansco org&lt;br /&gt;
  Galician (GL)                 correo.xmgz (at) gmail com&lt;br /&gt;
  German (DE)                   Ralf.Kestler (at) gmx net, linux (at) drmartinus de&lt;br /&gt;
  Hungarian (HU)                urbalazs (at) gmail com / Language-Team: hu (at) li org&lt;br /&gt;
  Italian (IT)                  bellingeri (at) netguru it&lt;br /&gt;
  Japanese (JA)                 hmatrjp (at) users sourceforge jp&lt;br /&gt;
  Norwegian (NB)                chris (at) tellefsen net&lt;br /&gt;
  Nynorsk (NN)                  l10n (at) landro net&lt;br /&gt;
  Polish (PL)                   dawajpoczte (at) gmail com&lt;br /&gt;
  Russian (RU)                  george (at) altlinux org / Language-Team: gnome-cyr (at) lists gnome org&lt;br /&gt;
  Spanish (ES)                  daniel.mustieles (at) gmail com / Language-Team: gnome-es (at) gnome org&lt;br /&gt;
  Ukrainian (UK)                yurchor (at) ukr net&lt;br /&gt;
&lt;br /&gt;
=== Current development translation status ===&lt;br /&gt;
&lt;br /&gt;
In the bluefish source directory run the following command:&lt;br /&gt;
&lt;br /&gt;
 $ for LANG in bg cs da de el es eu fi fr gl hu it ja ko nb nl pl pt pt_BR ro ru sk sr sv ta tr uk zh_CN zh_TW ; do echo &amp;quot;Statistics for ${LANG}&amp;quot; ;for FILE in po/${LANG}.po src/plugin*/po/*${LANG}.po; do echo -n &amp;quot; ${FILE} &amp;quot; ;msgfmt --statistics ${FILE};done;done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Statistics for bg&lt;br /&gt;
 po/bg.po 102 translated messages, 505 fuzzy translations, 289 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/bg.po 1 translated message, 4 fuzzy translations, 12 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/bg.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/bg.po 0 translated messages, 24 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/bg.po 224 translated messages, 214 fuzzy translations, 99 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/bg.po 0 translated messages, 27 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/bg.po 0 translated messages, 60 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/bg.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/bg.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for cs&lt;br /&gt;
 po/cs.po 883 translated messages, 10 fuzzy translations, 3 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/cs.po 16 translated messages, 1 fuzzy translation.&lt;br /&gt;
 src/plugin_charmap/po/cs.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/cs.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/cs.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/cs.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/cs.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/cs.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/cs.po 14 translated messages.&lt;br /&gt;
Statistics for da&lt;br /&gt;
 po/da.po 890 translated messages, 3 fuzzy translations, 3 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/da.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/da.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/da.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/da.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/da.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/da.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/da.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/da.po 14 translated messages.&lt;br /&gt;
Statistics for de&lt;br /&gt;
 po/de.po 904 translated messages.&lt;br /&gt;
 src/plugin_about/po/de.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/de.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/de.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/de.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/de.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/de.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/de.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/de.po 14 translated messages.&lt;br /&gt;
Statistics for el&lt;br /&gt;
 po/el.po 58 translated messages, 478 fuzzy translations, 360 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/el.po 1 translated message, 1 fuzzy translation, 15 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/el.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/el.po 0 translated messages, 24 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/el.po 153 translated messages, 242 fuzzy translations, 142 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/el.po 0 translated messages, 27 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/el.po 0 translated messages, 60 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/el.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/el.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for es&lt;br /&gt;
 po/es.po 890 translated messages, 3 fuzzy translations, 3 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/es.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/es.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/es.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/es.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/es.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/es.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/es.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/es.po 14 translated messages.&lt;br /&gt;
Statistics for eu&lt;br /&gt;
 po/eu.po 743 translated messages, 64 fuzzy translations, 89 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/eu.po 13 translated messages, 3 fuzzy translations, 1 untranslated message.&lt;br /&gt;
 src/plugin_charmap/po/eu.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/eu.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/eu.po 535 translated messages, 2 fuzzy translations.&lt;br /&gt;
 src/plugin_infbrowser/po/eu.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/eu.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/eu.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/eu.po 14 translated messages.&lt;br /&gt;
Statistics for fi&lt;br /&gt;
 po/fi.po 123 translated messages, 454 fuzzy translations, 319 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/fi.po 1 translated message, 4 fuzzy translations, 12 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/fi.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/fi.po 0 translated messages, 24 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/fi.po 224 translated messages, 215 fuzzy translations, 98 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/fi.po 0 translated messages, 27 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/fi.po 0 translated messages, 60 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/fi.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/fi.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for fr&lt;br /&gt;
 po/fr.po 894 translated messages, 6 fuzzy translations, 4 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/fr.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/fr.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/fr.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/fr.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/fr.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/fr.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/fr.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/fr.po 14 translated messages.&lt;br /&gt;
Statistics for gl&lt;br /&gt;
 po/gl.po 787 translated messages, 45 fuzzy translations, 64 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/gl.po 16 translated messages, 1 fuzzy translation.&lt;br /&gt;
 src/plugin_charmap/po/gl.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/gl.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/gl.po 536 translated messages, 1 fuzzy translation.&lt;br /&gt;
 src/plugin_infbrowser/po/gl.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/gl.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/gl.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/gl.po 14 translated messages.&lt;br /&gt;
Statistics for hu&lt;br /&gt;
 po/hu.po 890 translated messages, 3 fuzzy translations, 3 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/hu.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/hu.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/hu.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/hu.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/hu.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/hu.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/hu.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/hu.po 14 translated messages.&lt;br /&gt;
Statistics for it&lt;br /&gt;
 po/it.po 898 translated messages.&lt;br /&gt;
 src/plugin_about/po/it.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/it.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/it.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/it.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/it.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/it.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/it.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/it.po 14 translated messages.&lt;br /&gt;
Statistics for ja&lt;br /&gt;
 po/ja.po 886 translated messages.&lt;br /&gt;
 src/plugin_about/po/ja.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/ja.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/ja.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/ja.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/ja.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/ja.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/ja.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/ja.po 14 translated messages.&lt;br /&gt;
Statistics for ko&lt;br /&gt;
 po/ko.po 548 translated messages, 197 fuzzy translations, 151 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/ko.po 12 translated messages, 4 fuzzy translations, 1 untranslated message.&lt;br /&gt;
 src/plugin_charmap/po/ko.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/ko.po 17 translated messages, 6 fuzzy translations, 1 untranslated message.&lt;br /&gt;
 src/plugin_htmlbar/po/ko.po 382 translated messages, 62 fuzzy translations, 93 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/ko.po 25 translated messages, 2 fuzzy translations.&lt;br /&gt;
 src/plugin_snippets/po/ko.po 54 translated messages, 3 fuzzy translations, 3 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/ko.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/ko.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for nb&lt;br /&gt;
 po/nb.po 904 translated messages.&lt;br /&gt;
 src/plugin_about/po/nb.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/nb.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/nb.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/nb.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/nb.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/nb.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/nb.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/nb.po 14 translated messages.&lt;br /&gt;
Statistics for nl&lt;br /&gt;
 po/nl.po 899 translated messages.&lt;br /&gt;
 src/plugin_about/po/nl.po 16 translated messages, 1 fuzzy translation.&lt;br /&gt;
 src/plugin_charmap/po/nl.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/nl.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/nl.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/nl.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/nl.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/nl.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/nl.po 14 translated messages.&lt;br /&gt;
Statistics for pl&lt;br /&gt;
 po/pl.po 890 translated messages, 3 fuzzy translations, 3 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/pl.po 16 translated messages, 1 fuzzy translation.&lt;br /&gt;
 src/plugin_charmap/po/pl.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/pl.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/pl.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/pl.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/pl.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/pl.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/pl.po 14 translated messages.&lt;br /&gt;
Statistics for pt&lt;br /&gt;
 po/pt.po 904 translated messages.&lt;br /&gt;
 src/plugin_about/po/pt.po 13 translated messages, 3 fuzzy translations, 1 untranslated message.&lt;br /&gt;
 src/plugin_charmap/po/pt.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/pt.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/pt.po 535 translated messages, 2 fuzzy translations.&lt;br /&gt;
 src/plugin_infbrowser/po/pt.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/pt.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/pt.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/pt.po 14 translated messages.&lt;br /&gt;
Statistics for pt_BR&lt;br /&gt;
 po/pt_BR.po 904 translated messages.&lt;br /&gt;
 src/plugin_about/po/pt_BR.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/pt_BR.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/pt_BR.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/pt_BR.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/pt_BR.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/pt_BR.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/pt_BR.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/pt_BR.po 14 translated messages.&lt;br /&gt;
Statistics for ro&lt;br /&gt;
 po/ro.po 85 translated messages, 480 fuzzy translations, 331 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/ro.po 1 translated message, 16 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/ro.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/ro.po 0 translated messages, 24 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/ro.po 71 translated messages, 293 fuzzy translations, 173 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/ro.po 0 translated messages, 27 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/ro.po 0 translated messages, 60 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/ro.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/ro.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for ru&lt;br /&gt;
 po/ru.po 916 translated messages.&lt;br /&gt;
 src/plugin_about/po/ru.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/ru.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/ru.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/ru.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/ru.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/ru.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/ru.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/ru.po 14 translated messages.&lt;br /&gt;
Statistics for sk&lt;br /&gt;
 po/sk.po 187 translated messages, 463 fuzzy translations, 246 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/sk.po 0 translated messages, 4 fuzzy translations, 13 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/sk.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/sk.po 0 translated messages, 17 fuzzy translations, 7 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/sk.po 248 translated messages, 173 fuzzy translations, 116 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/sk.po 0 translated messages, 1 fuzzy translation, 26 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/sk.po 2 translated messages, 29 fuzzy translations, 29 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/sk.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/sk.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for sr&lt;br /&gt;
 po/sr.po 114 translated messages, 499 fuzzy translations, 283 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/sr.po 1 translated message, 4 fuzzy translations, 12 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/sr.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/sr.po 0 translated messages, 24 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/sr.po 224 translated messages, 215 fuzzy translations, 98 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/sr.po 0 translated messages, 27 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/sr.po 0 translated messages, 60 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/sr.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/sr.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for sv&lt;br /&gt;
 po/sv.po 114 translated messages, 502 fuzzy translations, 280 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/sv.po 1 translated message, 4 fuzzy translations, 12 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/sv.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/sv.po 0 translated messages, 24 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/sv.po 224 translated messages, 215 fuzzy translations, 98 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/sv.po 0 translated messages, 27 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/sv.po 0 translated messages, 60 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/sv.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/sv.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for ta&lt;br /&gt;
 po/ta.po 115 translated messages, 502 fuzzy translations, 279 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/ta.po 0 translated messages, 4 fuzzy translations, 13 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/ta.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/ta.po 0 translated messages, 17 fuzzy translations, 7 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/ta.po 245 translated messages, 174 fuzzy translations, 118 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/ta.po 0 translated messages, 1 fuzzy translation, 26 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/ta.po 2 translated messages, 29 fuzzy translations, 29 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/ta.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/ta.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
Statistics for tr&lt;br /&gt;
 po/tr.po 898 translated messages.&lt;br /&gt;
 src/plugin_about/po/tr.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/tr.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/tr.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/tr.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/tr.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/tr.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/tr.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/tr.po 14 translated messages.&lt;br /&gt;
Statistics for uk&lt;br /&gt;
 po/uk.po 890 translated messages, 3 fuzzy translations, 3 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/uk.po 17 translated messages.&lt;br /&gt;
 src/plugin_charmap/po/uk.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/uk.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/uk.po 537 translated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/uk.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/uk.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/uk.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/uk.po 14 translated messages.&lt;br /&gt;
Statistics for zh_CN&lt;br /&gt;
 po/zh_CN.po 774 translated messages, 53 fuzzy translations, 69 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/zh_CN.po 16 translated messages, 1 fuzzy translation.&lt;br /&gt;
 src/plugin_charmap/po/zh_CN.po 2 translated messages.&lt;br /&gt;
 src/plugin_entities/po/zh_CN.po 24 translated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/zh_CN.po 536 translated messages, 1 fuzzy translation.&lt;br /&gt;
 src/plugin_infbrowser/po/zh_CN.po 27 translated messages.&lt;br /&gt;
 src/plugin_snippets/po/zh_CN.po 60 translated messages.&lt;br /&gt;
 src/plugin_xmltools/po/zh_CN.po 2 translated messages.&lt;br /&gt;
 src/plugin_zencoding/po/zh_CN.po 14 translated messages.&lt;br /&gt;
Statistics for zh_TW&lt;br /&gt;
 po/zh_TW.po 114 translated messages, 499 fuzzy translations, 283 untranslated messages.&lt;br /&gt;
 src/plugin_about/po/zh_TW.po 1 translated message, 4 fuzzy translations, 12 untranslated messages.&lt;br /&gt;
 src/plugin_charmap/po/zh_TW.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_entities/po/zh_TW.po 0 translated messages, 24 untranslated messages.&lt;br /&gt;
 src/plugin_htmlbar/po/zh_TW.po 224 translated messages, 215 fuzzy translations, 98 untranslated messages.&lt;br /&gt;
 src/plugin_infbrowser/po/zh_TW.po 0 translated messages, 27 untranslated messages.&lt;br /&gt;
 src/plugin_snippets/po/zh_TW.po 0 translated messages, 60 untranslated messages.&lt;br /&gt;
 src/plugin_xmltools/po/zh_TW.po 0 translated messages, 2 untranslated messages.&lt;br /&gt;
 src/plugin_zencoding/po/zh_TW.po 0 translated messages, 14 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
== Notes and references ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:i18n]]&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=How_To_Translate&amp;diff=3141</id>
		<title>How To Translate</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=How_To_Translate&amp;diff=3141"/>
		<updated>2024-09-13T14:59:53Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==  Translations ==&lt;br /&gt;
(this How To is based on Bluefish Manual page : [[Man 1 ch12s08]])&lt;br /&gt;
=== 1. Introduction ===&lt;br /&gt;
Bluefish has been translated into more than 15 different languages and this is only the beginning.&lt;br /&gt;
&lt;br /&gt;
Translation process is not a difficult task but you will need some time because there are more than one thousand strings to be translated. &amp;lt;br /&amp;gt;&lt;br /&gt;
There are seven translation directories in Bluefish development branch, one for main program and one for each plugin:&lt;br /&gt;
* po/&lt;br /&gt;
* src/plugin_about/po/&lt;br /&gt;
* src/plugin_charmap/po/&lt;br /&gt;
* src/plugin_entities/po/&lt;br /&gt;
* src/plugin_htmlbar/po/&lt;br /&gt;
* src/plugin_infbrowser/po/&lt;br /&gt;
* src/plugin_snippets/po/&lt;br /&gt;
* src/plugin_zencoding/po/&lt;br /&gt;
The good news are you don&#039;t need to be a programmer to make Bluefish speak your language and the only tool you need is a text editor (bluefish for example) or Poedit or the gnome translation editor. Bluefish uses po (Portable Object) files. A po file is just a plain text file that you can edit with your favorite text editor.&lt;br /&gt;
&lt;br /&gt;
=== 2. PO files basics ===&lt;br /&gt;
In a typical po file there are five major types of entries:&lt;br /&gt;
&lt;br /&gt;
# Those which begin with &amp;quot;#:&amp;quot; showing the places in the source code that contains the string being translated (there may be one or more) as: &#039;&amp;lt;nowiki&amp;gt;#: ../src/about.c:123&amp;lt;/nowiki&amp;gt;&#039;&lt;br /&gt;
# Those which begin with &amp;quot;#,&amp;quot; containing some flags (not always present) as: &#039;&amp;lt;nowiki&amp;gt;#, c-format&amp;lt;/nowiki&amp;gt;&#039;&lt;br /&gt;
# Those which begin with &amp;quot;msgid&amp;quot; containing the English string being translated (it may be spanned in several lines) as: &#039;msgid &amp;quot;Authentication is required for %s.&amp;quot;&#039;&lt;br /&gt;
# Those which begin with &amp;quot;msgstr&amp;quot; containing the translated string as: &#039;msgstr &amp;quot;Une autorisation est requise pour accéder à %s.&amp;quot;&#039;&lt;br /&gt;
# Those which begin with &amp;quot;#~ &amp;quot; containing obsolete strings as: &#039;&amp;lt;nowiki&amp;gt;#~ msgid &amp;quot;Save document as&amp;quot;&amp;lt;/nowiki&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Man1_warning.png]] When an entry is tagged as fuzzy (i.e. when the line begins with &amp;quot;&amp;lt;nowiki&amp;gt;#, fuzzy&amp;lt;/nowiki&amp;gt;&amp;quot;), that means it is probably incorrect.&lt;br /&gt;
&lt;br /&gt;
[[Image:Man1_warning.png]] You have to make sure the translation is correct and then delete either the &amp;quot;&amp;lt;nowiki&amp;gt;#, fuzzy&amp;lt;/nowiki&amp;gt;&amp;quot; line if this is the only flag on the line, or the &amp;quot;, fuzzy&amp;quot; part of the line if there are some other flags on the same line, like in &amp;quot;&amp;lt;nowiki&amp;gt;#, fuzzy, c-format&amp;lt;/nowiki&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Man1_warning.png]] Remember that as long as a translation is marked &amp;quot;fuzzy&amp;quot;, it will NOT actually be used!&lt;br /&gt;
&lt;br /&gt;
[[Image:Man1_warning.png]] As far as obsolete strings are concerned, it is up to you to decide if you want to remove them. On one hand they can be reused in a latter version of the po file, on the other hand they make the po file bigger.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hence, your task as a translator is to:&lt;br /&gt;
&lt;br /&gt;
# Translate all empty msgstr entries&lt;br /&gt;
# Check all fuzzy entries, correct them if they are wrong and remove all fuzzy tags&lt;br /&gt;
# Optionally, remove obsolete strings&lt;br /&gt;
# Check that the po file ends with a blank line&lt;br /&gt;
&lt;br /&gt;
=== 3. Shortcut keys ===&lt;br /&gt;
Shortcut keys, known as hotkeys or even accelerator keys, are defined as follows (look at the underscore, please):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# src/toolbars.c:482&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#: ../src/filebrowser.c:1453&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 msgid &amp;quot;/_Refresh&amp;quot;&lt;br /&gt;
 msgstr &amp;quot;/_Actualizar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
It means that in the English locale the user have to press &#039;&#039;&#039;Alt&#039;&#039;&#039;+&#039;&#039;&#039;R&#039;&#039;&#039; to activate this particular GUI element. On the other hand if your locale is Spanish your shortcut key will be &#039;&#039;&#039;Alt&#039;&#039;&#039;+&#039;&#039;&#039;A&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Man1_warning.png]] You have to keep in mind that two GUI elements must not have the same shortcut key at the same level.&lt;br /&gt;
&lt;br /&gt;
=== 4. Retriving last Bluefish version===&lt;br /&gt;
* 1. In your working space directory (eg ~/tranlations) run: &amp;lt;br /&amp;gt;&lt;br /&gt;
 svn co https://bluefish.svn.sourceforge.net/svnroot/bluefish/trunk/bluefish/&lt;br /&gt;
that create the Bluefish SVN directory&lt;br /&gt;
* 2. &#039;&#039;&#039;cd bluefish/&#039;&#039;&#039; and for first installation run &#039;&#039;&#039;./autogen.sh&#039;&#039;&#039;&lt;br /&gt;
* 3. run &#039;&#039;&#039;./configure&#039;&#039;&#039; and &#039;&#039;&#039;make&#039;&#039;&#039;&lt;br /&gt;
* 4. you can now update all files.&lt;br /&gt;
see also [[Sending_Patches#Notes_for_translators]]&lt;br /&gt;
=== 5. Sending your translation ===&lt;br /&gt;
see also [[Sending_Patches#Special_notes_for_translators]]&lt;br /&gt;
* 1. update your SVN copy. In Bluefish/ dirctory run:&lt;br /&gt;
 svn update&lt;br /&gt;
* 2. The following step is not necessary but it will help you finding issues, which must be fixed, before your changes can be committed to the subversion tree. It requires an installation of the gettext tools. Please change `your_lang` with your language code ;) &lt;br /&gt;
 find . -name your_lang.po | xargs msgcat --use-first -o - | msgfmt -o /dev/null --statistics - &lt;br /&gt;
* 3. create the tarball:&lt;br /&gt;
 find . -name your_lang.po | xargs tar -cjf your_lang.tar.bz2&lt;br /&gt;
* 4. send the tarball&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3140</id>
		<title>Building a native (no X11) MacOSX binary</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3140"/>
		<updated>2024-08-11T18:26:42Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is work in progress. &lt;br /&gt;
&lt;br /&gt;
== Getting a native gtk ==&lt;br /&gt;
A lot of information can be found here: https://www.gtk.org/docs/installations/macos/&lt;br /&gt;
&lt;br /&gt;
First follow the Quick start as described here:&lt;br /&gt;
https://gitlab.gnome.org/GNOME/gtk-osx/-/wikis/home#quick-start&lt;br /&gt;
follow the instructions to get the gtk core up and running&lt;br /&gt;
 $ ./gtk-osx-setup.sh &lt;br /&gt;
 $ PATH=~/.new_local/bin/:$PATH&lt;br /&gt;
 $ jhbuild bootstrap-gtk-osx&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-bootstrap meta-gtk-osx-python meta-gtk-osx-gtk3  shared-mime-info enchant&lt;br /&gt;
&lt;br /&gt;
find help on https://gitlab.gnome.org/GNOME/gtk-mac-integration/&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish with Makefile.osxapp ==&lt;br /&gt;
&lt;br /&gt;
for bundling you need https://gitlab.gnome.org/GNOME/gtk-mac-bundler as well. Download it and run &#039;&#039;make install&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 jhbuild shell&lt;br /&gt;
 cd /to/your/bluefish/source/path&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make -j6 -f Makefile.osxapp&lt;br /&gt;
&lt;br /&gt;
(the -j6 is for a 6core computer)&lt;br /&gt;
&lt;br /&gt;
this creates a Bluefish.app on your Desktop&lt;br /&gt;
&lt;br /&gt;
== Creating a working bundle Bluefish.app ==&lt;br /&gt;
&lt;br /&gt;
The gtk-mac-bundler project is used to create a bundle with all libraries, it is called during the above mentioned make command. The config file macosx/bluefish.bundle and macosx/Info.plist should be updated for every version of Bluefish.&lt;br /&gt;
&lt;br /&gt;
== Build with jhbuild (work in progress, THIS IS NOT YET WORKING) ==&lt;br /&gt;
&lt;br /&gt;
==== Building with a jhbuild configuration ====&lt;br /&gt;
&lt;br /&gt;
a jhbuild section for bluefish looks like this:&lt;br /&gt;
--------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;tarball&amp;quot; name=&amp;quot;bluefish&amp;quot; href=&amp;quot;http://www.bennewitz.com/bluefish/stable/source/&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;branch module=&amp;quot;bluefish-2.0.0.tar.bz2&amp;quot; version=&amp;quot;2.0.0&amp;quot; repo=&amp;quot;bluefish&amp;quot; md5=&amp;quot;ac9b1e8ef6d5691718a0daa6c78d5618&amp;quot; size=&amp;quot;3287346&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
or a section for SVN:&lt;br /&gt;
----------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;svn&amp;quot; name=&amp;quot;bluefish-svn&amp;quot; default=&amp;quot;yes&amp;quot; href=&amp;quot;https://bluefish.svn.sourceforge.net/svnroot/&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish-svn&amp;quot; autogen-sh=&amp;quot;./configure&amp;quot; autogenargs=&amp;quot;--disable-nls&amp;quot; &amp;gt;&lt;br /&gt;
 &amp;lt;branch repo=&amp;quot;bluefish-svn&amp;quot; module=&amp;quot;bluefish/trunk/bluefish&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;ige-mac-integration&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
this section will fail the first time, choose 4 (enter shell), run&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
exit and choose 1 (rerun configure)&lt;br /&gt;
&lt;br /&gt;
== Creating a package ==&lt;br /&gt;
&lt;br /&gt;
The quick and dirty way: open an existing Bluefish.dmg, convert it to writable dmg, copy the contents of the newly built Bluefish.app into the dmg, convert it back to compressed.&lt;br /&gt;
&lt;br /&gt;
Some packages that should be installed (with jhbuild) as well:&lt;br /&gt;
&lt;br /&gt;
 shared-mime-info&lt;br /&gt;
 meta-gtk-osx-themes &lt;br /&gt;
 gnome-mime-data&lt;br /&gt;
 gnome-icon-theme&lt;br /&gt;
 gtk-engines&lt;br /&gt;
 tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
run the bluefish bundle&lt;br /&gt;
&lt;br /&gt;
create a read-write image, copy Bluefish.app in there&lt;br /&gt;
create a symlink in the root to Applications&lt;br /&gt;
&lt;br /&gt;
=== Things To do ===&lt;br /&gt;
* add a mime type for clojure&lt;br /&gt;
* remove unneeded translations&lt;br /&gt;
&lt;br /&gt;
== Better MacOSX integration ==&lt;br /&gt;
&lt;br /&gt;
in SVN is an initial start. The menubar is now properly integrated in the OSX menu.&lt;br /&gt;
&lt;br /&gt;
what needs to be done:&lt;br /&gt;
* open from the Finder&lt;br /&gt;
* proper icon&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3139</id>
		<title>Building a native (no X11) MacOSX binary</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3139"/>
		<updated>2024-08-11T18:24:51Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* Getting a native gtk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is work in progress. &lt;br /&gt;
&lt;br /&gt;
== Getting a native gtk ==&lt;br /&gt;
A lot of information can be found here: https://www.gtk.org/docs/installations/macos/&lt;br /&gt;
&lt;br /&gt;
First follow the Quick start as described here:&lt;br /&gt;
https://gitlab.gnome.org/GNOME/gtk-osx/-/wikis/home#quick-start&lt;br /&gt;
follow the instructions to get the gtk core up and running&lt;br /&gt;
 $ ./gtk-osx-setup.sh &lt;br /&gt;
 $ PATH=~/.new_local/bin/:$PATH&lt;br /&gt;
 $ jhbuild bootstrap-gtk-osx&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-bootstrap meta-gtk-osx-python meta-gtk-osx-gtk3  shared-mime-info &lt;br /&gt;
&lt;br /&gt;
find help on https://gitlab.gnome.org/GNOME/gtk-mac-integration/&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish with Makefile.osxapp ==&lt;br /&gt;
&lt;br /&gt;
for bundling you need https://gitlab.gnome.org/GNOME/gtk-mac-bundler as well. Download it and run &#039;&#039;make install&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 jhbuild shell&lt;br /&gt;
 cd /to/your/bluefish/source/path&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make -j6 -f Makefile.osxapp&lt;br /&gt;
&lt;br /&gt;
(the -j6 is for a 6core computer)&lt;br /&gt;
&lt;br /&gt;
this creates a Bluefish.app on your Desktop&lt;br /&gt;
&lt;br /&gt;
== Additional modules for more functionality ==&lt;br /&gt;
&lt;br /&gt;
it&#039;s not clear why certain modules defined in ~/Source/jhbuild/modulesets are accepted by jhbuild and others are not?&lt;br /&gt;
&lt;br /&gt;
 $ jhbuild enchant&lt;br /&gt;
&lt;br /&gt;
== Creating a working bundle Bluefish.app ==&lt;br /&gt;
&lt;br /&gt;
The gtk-mac-bundler project can be used to create a bundle with all libraries. The config file macosx/bluefish.bundle should be updated for the latest version of gtk-mac-bundler.&lt;br /&gt;
&lt;br /&gt;
== Build with jhbuild (work in progress, THIS IS NOT YET WORKING) ==&lt;br /&gt;
&lt;br /&gt;
==== Building with a jhbuild configuration ====&lt;br /&gt;
&lt;br /&gt;
a jhbuild section for bluefish looks like this:&lt;br /&gt;
--------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;tarball&amp;quot; name=&amp;quot;bluefish&amp;quot; href=&amp;quot;http://www.bennewitz.com/bluefish/stable/source/&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;branch module=&amp;quot;bluefish-2.0.0.tar.bz2&amp;quot; version=&amp;quot;2.0.0&amp;quot; repo=&amp;quot;bluefish&amp;quot; md5=&amp;quot;ac9b1e8ef6d5691718a0daa6c78d5618&amp;quot; size=&amp;quot;3287346&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
or a section for SVN:&lt;br /&gt;
----------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;svn&amp;quot; name=&amp;quot;bluefish-svn&amp;quot; default=&amp;quot;yes&amp;quot; href=&amp;quot;https://bluefish.svn.sourceforge.net/svnroot/&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish-svn&amp;quot; autogen-sh=&amp;quot;./configure&amp;quot; autogenargs=&amp;quot;--disable-nls&amp;quot; &amp;gt;&lt;br /&gt;
 &amp;lt;branch repo=&amp;quot;bluefish-svn&amp;quot; module=&amp;quot;bluefish/trunk/bluefish&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;ige-mac-integration&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
this section will fail the first time, choose 4 (enter shell), run&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
exit and choose 1 (rerun configure)&lt;br /&gt;
&lt;br /&gt;
== Creating a package ==&lt;br /&gt;
&lt;br /&gt;
The quick and dirty way: open an existing Bluefish.dmg, convert it to writable dmg, copy the contents of the newly built Bluefish.app into the dmg, convert it back to compressed.&lt;br /&gt;
&lt;br /&gt;
Some packages that should be installed (with jhbuild) as well:&lt;br /&gt;
&lt;br /&gt;
 shared-mime-info&lt;br /&gt;
 meta-gtk-osx-themes &lt;br /&gt;
 gnome-mime-data&lt;br /&gt;
 gnome-icon-theme&lt;br /&gt;
 gtk-engines&lt;br /&gt;
 tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
run the bluefish bundle&lt;br /&gt;
&lt;br /&gt;
create a read-write image, copy Bluefish.app in there&lt;br /&gt;
create a symlink in the root to Applications&lt;br /&gt;
&lt;br /&gt;
=== Things To do ===&lt;br /&gt;
* add a mime type for clojure&lt;br /&gt;
* remove unneeded translations&lt;br /&gt;
&lt;br /&gt;
== Better MacOSX integration ==&lt;br /&gt;
&lt;br /&gt;
in SVN is an initial start. The menubar is now properly integrated in the OSX menu.&lt;br /&gt;
&lt;br /&gt;
what needs to be done:&lt;br /&gt;
* open from the Finder&lt;br /&gt;
* proper icon&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3138</id>
		<title>Building a native (no X11) MacOSX binary</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3138"/>
		<updated>2024-08-11T14:52:52Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is work in progress. &lt;br /&gt;
&lt;br /&gt;
== Getting a native gtk ==&lt;br /&gt;
A lot of information can be found here: https://www.gtk.org/docs/installations/macos/&lt;br /&gt;
&lt;br /&gt;
First follow the Quick start as described here:&lt;br /&gt;
https://gitlab.gnome.org/GNOME/gtk-osx/-/wikis/home#quick-start&lt;br /&gt;
follow the instructions to get the gtk core up and running&lt;br /&gt;
 $ ./gtk-osx-setup.sh &lt;br /&gt;
 $ jhbuild bootstrap-gtk-osx&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-bootstrap meta-gtk-osx-python meta-gtk-osx-gtk3  shared-mime-info &lt;br /&gt;
&lt;br /&gt;
find help on https://gitlab.gnome.org/GNOME/gtk-mac-integration/&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish with Makefile.osxapp ==&lt;br /&gt;
&lt;br /&gt;
for bundling you need https://gitlab.gnome.org/GNOME/gtk-mac-bundler as well. Download it and run &#039;&#039;make install&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 jhbuild shell&lt;br /&gt;
 cd /to/your/bluefish/source/path&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make -j6 -f Makefile.osxapp&lt;br /&gt;
&lt;br /&gt;
(the -j6 is for a 6core computer)&lt;br /&gt;
&lt;br /&gt;
this creates a Bluefish.app on your Desktop&lt;br /&gt;
&lt;br /&gt;
== Additional modules for more functionality ==&lt;br /&gt;
&lt;br /&gt;
it&#039;s not clear why certain modules defined in ~/Source/jhbuild/modulesets are accepted by jhbuild and others are not?&lt;br /&gt;
&lt;br /&gt;
 $ jhbuild enchant&lt;br /&gt;
&lt;br /&gt;
== Creating a working bundle Bluefish.app ==&lt;br /&gt;
&lt;br /&gt;
The gtk-mac-bundler project can be used to create a bundle with all libraries. The config file macosx/bluefish.bundle should be updated for the latest version of gtk-mac-bundler.&lt;br /&gt;
&lt;br /&gt;
== Build with jhbuild (work in progress, THIS IS NOT YET WORKING) ==&lt;br /&gt;
&lt;br /&gt;
==== Building with a jhbuild configuration ====&lt;br /&gt;
&lt;br /&gt;
a jhbuild section for bluefish looks like this:&lt;br /&gt;
--------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;tarball&amp;quot; name=&amp;quot;bluefish&amp;quot; href=&amp;quot;http://www.bennewitz.com/bluefish/stable/source/&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;branch module=&amp;quot;bluefish-2.0.0.tar.bz2&amp;quot; version=&amp;quot;2.0.0&amp;quot; repo=&amp;quot;bluefish&amp;quot; md5=&amp;quot;ac9b1e8ef6d5691718a0daa6c78d5618&amp;quot; size=&amp;quot;3287346&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
or a section for SVN:&lt;br /&gt;
----------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;svn&amp;quot; name=&amp;quot;bluefish-svn&amp;quot; default=&amp;quot;yes&amp;quot; href=&amp;quot;https://bluefish.svn.sourceforge.net/svnroot/&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish-svn&amp;quot; autogen-sh=&amp;quot;./configure&amp;quot; autogenargs=&amp;quot;--disable-nls&amp;quot; &amp;gt;&lt;br /&gt;
 &amp;lt;branch repo=&amp;quot;bluefish-svn&amp;quot; module=&amp;quot;bluefish/trunk/bluefish&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;ige-mac-integration&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
this section will fail the first time, choose 4 (enter shell), run&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
exit and choose 1 (rerun configure)&lt;br /&gt;
&lt;br /&gt;
== Creating a package ==&lt;br /&gt;
&lt;br /&gt;
The quick and dirty way: open an existing Bluefish.dmg, convert it to writable dmg, copy the contents of the newly built Bluefish.app into the dmg, convert it back to compressed.&lt;br /&gt;
&lt;br /&gt;
Some packages that should be installed (with jhbuild) as well:&lt;br /&gt;
&lt;br /&gt;
 shared-mime-info&lt;br /&gt;
 meta-gtk-osx-themes &lt;br /&gt;
 gnome-mime-data&lt;br /&gt;
 gnome-icon-theme&lt;br /&gt;
 gtk-engines&lt;br /&gt;
 tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
run the bluefish bundle&lt;br /&gt;
&lt;br /&gt;
create a read-write image, copy Bluefish.app in there&lt;br /&gt;
create a symlink in the root to Applications&lt;br /&gt;
&lt;br /&gt;
=== Things To do ===&lt;br /&gt;
* add a mime type for clojure&lt;br /&gt;
* remove unneeded translations&lt;br /&gt;
&lt;br /&gt;
== Better MacOSX integration ==&lt;br /&gt;
&lt;br /&gt;
in SVN is an initial start. The menubar is now properly integrated in the OSX menu.&lt;br /&gt;
&lt;br /&gt;
what needs to be done:&lt;br /&gt;
* open from the Finder&lt;br /&gt;
* proper icon&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3137</id>
		<title>Building a native (no X11) MacOSX binary</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3137"/>
		<updated>2024-08-10T17:52:05Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* Building Bluefish with Makefile.osxapp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is work in progress. &lt;br /&gt;
&lt;br /&gt;
== Getting a native gtk ==&lt;br /&gt;
A lot of information can be found here: https://www.gtk.org/docs/installations/macos/&lt;br /&gt;
&lt;br /&gt;
First follow the Quick start as described here:&lt;br /&gt;
https://gitlab.gnome.org/GNOME/gtk-osx/-/wikis/home#quick-start&lt;br /&gt;
follow the instructions to get the gtk core up and running&lt;br /&gt;
 $ ./gtk-osx-setup.sh &lt;br /&gt;
 $ jhbuild bootstrap-gtk-osx&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-bootstrap meta-gtk-osx-python meta-gtk-osx-gtk3  shared-mime-info &lt;br /&gt;
&lt;br /&gt;
find help on https://gitlab.gnome.org/GNOME/gtk-mac-integration/&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish with Makefile.osxapp ==&lt;br /&gt;
&lt;br /&gt;
 jhbuild shell&lt;br /&gt;
 cd /to/your/bluefish/source/path&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make -j6 -f Makefile.osxapp&lt;br /&gt;
&lt;br /&gt;
(the -j6 is for a 6core computer)&lt;br /&gt;
&lt;br /&gt;
this creates a Bluefish.app on your Desktop&lt;br /&gt;
&lt;br /&gt;
== Additional modules for more functionality ==&lt;br /&gt;
&lt;br /&gt;
it&#039;s not clear why certain modules defined in ~/Source/jhbuild/modulesets are accepted by jhbuild and others are not?&lt;br /&gt;
&lt;br /&gt;
 $ jhbuild enchant&lt;br /&gt;
&lt;br /&gt;
== Creating a working bundle Bluefish.app ==&lt;br /&gt;
&lt;br /&gt;
The gtk-mac-bundler project can be used to create a bundle with all libraries. The config file macosx/bluefish.bundle should be updated for the latest version of gtk-mac-bundler.&lt;br /&gt;
&lt;br /&gt;
== Build with jhbuild (work in progress, THIS IS NOT YET WORKING) ==&lt;br /&gt;
&lt;br /&gt;
==== Building with a jhbuild configuration ====&lt;br /&gt;
&lt;br /&gt;
a jhbuild section for bluefish looks like this:&lt;br /&gt;
--------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;tarball&amp;quot; name=&amp;quot;bluefish&amp;quot; href=&amp;quot;http://www.bennewitz.com/bluefish/stable/source/&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;branch module=&amp;quot;bluefish-2.0.0.tar.bz2&amp;quot; version=&amp;quot;2.0.0&amp;quot; repo=&amp;quot;bluefish&amp;quot; md5=&amp;quot;ac9b1e8ef6d5691718a0daa6c78d5618&amp;quot; size=&amp;quot;3287346&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
or a section for SVN:&lt;br /&gt;
----------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;svn&amp;quot; name=&amp;quot;bluefish-svn&amp;quot; default=&amp;quot;yes&amp;quot; href=&amp;quot;https://bluefish.svn.sourceforge.net/svnroot/&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish-svn&amp;quot; autogen-sh=&amp;quot;./configure&amp;quot; autogenargs=&amp;quot;--disable-nls&amp;quot; &amp;gt;&lt;br /&gt;
 &amp;lt;branch repo=&amp;quot;bluefish-svn&amp;quot; module=&amp;quot;bluefish/trunk/bluefish&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;ige-mac-integration&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
this section will fail the first time, choose 4 (enter shell), run&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
exit and choose 1 (rerun configure)&lt;br /&gt;
&lt;br /&gt;
== Creating a package ==&lt;br /&gt;
&lt;br /&gt;
The quick and dirty way: open an existing Bluefish.dmg, convert it to writable dmg, copy the contents of the newly built Bluefish.app into the dmg, convert it back to compressed.&lt;br /&gt;
&lt;br /&gt;
Some packages that should be installed (with jhbuild) as well:&lt;br /&gt;
&lt;br /&gt;
 shared-mime-info&lt;br /&gt;
 meta-gtk-osx-themes &lt;br /&gt;
 gnome-mime-data&lt;br /&gt;
 gnome-icon-theme&lt;br /&gt;
 gtk-engines&lt;br /&gt;
 tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
run the bluefish bundle&lt;br /&gt;
&lt;br /&gt;
create a read-write image, copy Bluefish.app in there&lt;br /&gt;
create a symlink in the root to Applications&lt;br /&gt;
&lt;br /&gt;
=== Things To do ===&lt;br /&gt;
* add a mime type for clojure&lt;br /&gt;
* remove unneeded translations&lt;br /&gt;
&lt;br /&gt;
== Better MacOSX integration ==&lt;br /&gt;
&lt;br /&gt;
in SVN is an initial start. The menubar is now properly integrated in the OSX menu.&lt;br /&gt;
&lt;br /&gt;
what needs to be done:&lt;br /&gt;
* open from the Finder&lt;br /&gt;
* proper icon&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3136</id>
		<title>Building a native (no X11) MacOSX binary</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3136"/>
		<updated>2024-08-10T17:27:13Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* Building Bluefish with Makefile.osxapp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is work in progress. &lt;br /&gt;
&lt;br /&gt;
== Getting a native gtk ==&lt;br /&gt;
A lot of information can be found here: https://www.gtk.org/docs/installations/macos/&lt;br /&gt;
&lt;br /&gt;
First follow the Quick start as described here:&lt;br /&gt;
https://gitlab.gnome.org/GNOME/gtk-osx/-/wikis/home#quick-start&lt;br /&gt;
follow the instructions to get the gtk core up and running&lt;br /&gt;
 $ ./gtk-osx-setup.sh &lt;br /&gt;
 $ jhbuild bootstrap-gtk-osx&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-bootstrap meta-gtk-osx-python meta-gtk-osx-gtk3  shared-mime-info &lt;br /&gt;
&lt;br /&gt;
find help on https://gitlab.gnome.org/GNOME/gtk-mac-integration/&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish with Makefile.osxapp ==&lt;br /&gt;
&lt;br /&gt;
 jhbuild shell&lt;br /&gt;
 cd /to/your/bluefish/source/path&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make -j6 -f Makefile.osxapp&lt;br /&gt;
&lt;br /&gt;
(the -j6 is for a 6core computer)&lt;br /&gt;
&lt;br /&gt;
this creates a Bluefish.app on your Desktop&lt;br /&gt;
&lt;br /&gt;
== Creating a working bundle Bluefish.app ==&lt;br /&gt;
&lt;br /&gt;
The gtk-mac-bundler project can be used to create a bundle with all libraries. The config file macosx/bluefish.bundle should be updated for the latest version of gtk-mac-bundler.&lt;br /&gt;
&lt;br /&gt;
== Build with jhbuild (work in progress, THIS IS NOT YET WORKING) ==&lt;br /&gt;
&lt;br /&gt;
==== Building with a jhbuild configuration ====&lt;br /&gt;
&lt;br /&gt;
a jhbuild section for bluefish looks like this:&lt;br /&gt;
--------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;tarball&amp;quot; name=&amp;quot;bluefish&amp;quot; href=&amp;quot;http://www.bennewitz.com/bluefish/stable/source/&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;branch module=&amp;quot;bluefish-2.0.0.tar.bz2&amp;quot; version=&amp;quot;2.0.0&amp;quot; repo=&amp;quot;bluefish&amp;quot; md5=&amp;quot;ac9b1e8ef6d5691718a0daa6c78d5618&amp;quot; size=&amp;quot;3287346&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
or a section for SVN:&lt;br /&gt;
----------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;svn&amp;quot; name=&amp;quot;bluefish-svn&amp;quot; default=&amp;quot;yes&amp;quot; href=&amp;quot;https://bluefish.svn.sourceforge.net/svnroot/&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish-svn&amp;quot; autogen-sh=&amp;quot;./configure&amp;quot; autogenargs=&amp;quot;--disable-nls&amp;quot; &amp;gt;&lt;br /&gt;
 &amp;lt;branch repo=&amp;quot;bluefish-svn&amp;quot; module=&amp;quot;bluefish/trunk/bluefish&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;ige-mac-integration&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
this section will fail the first time, choose 4 (enter shell), run&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
exit and choose 1 (rerun configure)&lt;br /&gt;
&lt;br /&gt;
== Creating a package ==&lt;br /&gt;
&lt;br /&gt;
The quick and dirty way: open an existing Bluefish.dmg, convert it to writable dmg, copy the contents of the newly built Bluefish.app into the dmg, convert it back to compressed.&lt;br /&gt;
&lt;br /&gt;
Some packages that should be installed (with jhbuild) as well:&lt;br /&gt;
&lt;br /&gt;
 shared-mime-info&lt;br /&gt;
 meta-gtk-osx-themes &lt;br /&gt;
 gnome-mime-data&lt;br /&gt;
 gnome-icon-theme&lt;br /&gt;
 gtk-engines&lt;br /&gt;
 tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
run the bluefish bundle&lt;br /&gt;
&lt;br /&gt;
create a read-write image, copy Bluefish.app in there&lt;br /&gt;
create a symlink in the root to Applications&lt;br /&gt;
&lt;br /&gt;
=== Things To do ===&lt;br /&gt;
* add a mime type for clojure&lt;br /&gt;
* remove unneeded translations&lt;br /&gt;
&lt;br /&gt;
== Better MacOSX integration ==&lt;br /&gt;
&lt;br /&gt;
in SVN is an initial start. The menubar is now properly integrated in the OSX menu.&lt;br /&gt;
&lt;br /&gt;
what needs to be done:&lt;br /&gt;
* open from the Finder&lt;br /&gt;
* proper icon&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3135</id>
		<title>Building a native (no X11) MacOSX binary</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3135"/>
		<updated>2024-08-10T15:02:41Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* Getting a native gtk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is work in progress. &lt;br /&gt;
&lt;br /&gt;
== Getting a native gtk ==&lt;br /&gt;
A lot of information can be found here: https://www.gtk.org/docs/installations/macos/&lt;br /&gt;
&lt;br /&gt;
First follow the Quick start as described here:&lt;br /&gt;
https://gitlab.gnome.org/GNOME/gtk-osx/-/wikis/home#quick-start&lt;br /&gt;
follow the instructions to get the gtk core up and running&lt;br /&gt;
 $ ./gtk-osx-setup.sh &lt;br /&gt;
 $ jhbuild bootstrap-gtk-osx&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-bootstrap meta-gtk-osx-python meta-gtk-osx-gtk3  shared-mime-info &lt;br /&gt;
&lt;br /&gt;
find help on https://gitlab.gnome.org/GNOME/gtk-mac-integration/&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish with Makefile.osxapp ==&lt;br /&gt;
&lt;br /&gt;
 jhbuild shell&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make -j6 -f Makefile.osxapp&lt;br /&gt;
 make -j6 -f Makefile.osxapp install&lt;br /&gt;
(the -j6 is for a 6core computer)&lt;br /&gt;
&lt;br /&gt;
this creates a Bluefish.app without any libraries, so this will crash on systems that do not have a gtk library installed on the system. &lt;br /&gt;
&lt;br /&gt;
== Creating a working bundle Bluefish.app ==&lt;br /&gt;
&lt;br /&gt;
The gtk-mac-bundler project can be used to create a bundle with all libraries. The config file macosx/bluefish.bundle should be updated for the latest version of gtk-mac-bundler.&lt;br /&gt;
&lt;br /&gt;
== Build with jhbuild (work in progress, THIS IS NOT YET WORKING) ==&lt;br /&gt;
&lt;br /&gt;
==== Building with a jhbuild configuration ====&lt;br /&gt;
&lt;br /&gt;
a jhbuild section for bluefish looks like this:&lt;br /&gt;
--------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;tarball&amp;quot; name=&amp;quot;bluefish&amp;quot; href=&amp;quot;http://www.bennewitz.com/bluefish/stable/source/&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;branch module=&amp;quot;bluefish-2.0.0.tar.bz2&amp;quot; version=&amp;quot;2.0.0&amp;quot; repo=&amp;quot;bluefish&amp;quot; md5=&amp;quot;ac9b1e8ef6d5691718a0daa6c78d5618&amp;quot; size=&amp;quot;3287346&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
or a section for SVN:&lt;br /&gt;
----------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;svn&amp;quot; name=&amp;quot;bluefish-svn&amp;quot; default=&amp;quot;yes&amp;quot; href=&amp;quot;https://bluefish.svn.sourceforge.net/svnroot/&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish-svn&amp;quot; autogen-sh=&amp;quot;./configure&amp;quot; autogenargs=&amp;quot;--disable-nls&amp;quot; &amp;gt;&lt;br /&gt;
 &amp;lt;branch repo=&amp;quot;bluefish-svn&amp;quot; module=&amp;quot;bluefish/trunk/bluefish&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;ige-mac-integration&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
this section will fail the first time, choose 4 (enter shell), run&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
exit and choose 1 (rerun configure)&lt;br /&gt;
&lt;br /&gt;
== Creating a package ==&lt;br /&gt;
&lt;br /&gt;
The quick and dirty way: open an existing Bluefish.dmg, convert it to writable dmg, copy the contents of the newly built Bluefish.app into the dmg, convert it back to compressed.&lt;br /&gt;
&lt;br /&gt;
Some packages that should be installed (with jhbuild) as well:&lt;br /&gt;
&lt;br /&gt;
 shared-mime-info&lt;br /&gt;
 meta-gtk-osx-themes &lt;br /&gt;
 gnome-mime-data&lt;br /&gt;
 gnome-icon-theme&lt;br /&gt;
 gtk-engines&lt;br /&gt;
 tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
run the bluefish bundle&lt;br /&gt;
&lt;br /&gt;
create a read-write image, copy Bluefish.app in there&lt;br /&gt;
create a symlink in the root to Applications&lt;br /&gt;
&lt;br /&gt;
=== Things To do ===&lt;br /&gt;
* add a mime type for clojure&lt;br /&gt;
* remove unneeded translations&lt;br /&gt;
&lt;br /&gt;
== Better MacOSX integration ==&lt;br /&gt;
&lt;br /&gt;
in SVN is an initial start. The menubar is now properly integrated in the OSX menu.&lt;br /&gt;
&lt;br /&gt;
what needs to be done:&lt;br /&gt;
* open from the Finder&lt;br /&gt;
* proper icon&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3134</id>
		<title>Building a native (no X11) MacOSX binary</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3134"/>
		<updated>2024-08-10T15:00:43Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* Getting a native gtk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is work in progress. &lt;br /&gt;
&lt;br /&gt;
== Getting a native gtk ==&lt;br /&gt;
A lot of information can be found here: https://www.gtk.org/docs/installations/macos/&lt;br /&gt;
&lt;br /&gt;
First follow the Quick start as described here:&lt;br /&gt;
https://gitlab.gnome.org/GNOME/gtk-osx/-/wikis/home#quick-start&lt;br /&gt;
follow the instructions to get the gtk core up and running&lt;br /&gt;
 $ ./gtk-osx-setup.sh &lt;br /&gt;
 $ jhbuild bootstrap-gtk-osx&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-bootstrap meta-gtk-osx-python meta-gtk-osx-gtk3&lt;br /&gt;
&lt;br /&gt;
find help on https://gitlab.gnome.org/GNOME/gtk-mac-integration/&lt;br /&gt;
&lt;br /&gt;
For full functionality also install some other related packages:&lt;br /&gt;
&lt;br /&gt;
 $ jhbuild build  shared-mime-info gnome-icon-theme gtk-engines tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish with Makefile.osxapp ==&lt;br /&gt;
&lt;br /&gt;
 jhbuild shell&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make -j6 -f Makefile.osxapp&lt;br /&gt;
 make -j6 -f Makefile.osxapp install&lt;br /&gt;
(the -j6 is for a 6core computer)&lt;br /&gt;
&lt;br /&gt;
this creates a Bluefish.app without any libraries, so this will crash on systems that do not have a gtk library installed on the system. &lt;br /&gt;
&lt;br /&gt;
== Creating a working bundle Bluefish.app ==&lt;br /&gt;
&lt;br /&gt;
The gtk-mac-bundler project can be used to create a bundle with all libraries. The config file macosx/bluefish.bundle should be updated for the latest version of gtk-mac-bundler.&lt;br /&gt;
&lt;br /&gt;
== Build with jhbuild (work in progress, THIS IS NOT YET WORKING) ==&lt;br /&gt;
&lt;br /&gt;
==== Building with a jhbuild configuration ====&lt;br /&gt;
&lt;br /&gt;
a jhbuild section for bluefish looks like this:&lt;br /&gt;
--------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;tarball&amp;quot; name=&amp;quot;bluefish&amp;quot; href=&amp;quot;http://www.bennewitz.com/bluefish/stable/source/&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;branch module=&amp;quot;bluefish-2.0.0.tar.bz2&amp;quot; version=&amp;quot;2.0.0&amp;quot; repo=&amp;quot;bluefish&amp;quot; md5=&amp;quot;ac9b1e8ef6d5691718a0daa6c78d5618&amp;quot; size=&amp;quot;3287346&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
or a section for SVN:&lt;br /&gt;
----------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;svn&amp;quot; name=&amp;quot;bluefish-svn&amp;quot; default=&amp;quot;yes&amp;quot; href=&amp;quot;https://bluefish.svn.sourceforge.net/svnroot/&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish-svn&amp;quot; autogen-sh=&amp;quot;./configure&amp;quot; autogenargs=&amp;quot;--disable-nls&amp;quot; &amp;gt;&lt;br /&gt;
 &amp;lt;branch repo=&amp;quot;bluefish-svn&amp;quot; module=&amp;quot;bluefish/trunk/bluefish&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;ige-mac-integration&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
this section will fail the first time, choose 4 (enter shell), run&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
exit and choose 1 (rerun configure)&lt;br /&gt;
&lt;br /&gt;
== Creating a package ==&lt;br /&gt;
&lt;br /&gt;
The quick and dirty way: open an existing Bluefish.dmg, convert it to writable dmg, copy the contents of the newly built Bluefish.app into the dmg, convert it back to compressed.&lt;br /&gt;
&lt;br /&gt;
Some packages that should be installed (with jhbuild) as well:&lt;br /&gt;
&lt;br /&gt;
 shared-mime-info&lt;br /&gt;
 meta-gtk-osx-themes &lt;br /&gt;
 gnome-mime-data&lt;br /&gt;
 gnome-icon-theme&lt;br /&gt;
 gtk-engines&lt;br /&gt;
 tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
run the bluefish bundle&lt;br /&gt;
&lt;br /&gt;
create a read-write image, copy Bluefish.app in there&lt;br /&gt;
create a symlink in the root to Applications&lt;br /&gt;
&lt;br /&gt;
=== Things To do ===&lt;br /&gt;
* add a mime type for clojure&lt;br /&gt;
* remove unneeded translations&lt;br /&gt;
&lt;br /&gt;
== Better MacOSX integration ==&lt;br /&gt;
&lt;br /&gt;
in SVN is an initial start. The menubar is now properly integrated in the OSX menu.&lt;br /&gt;
&lt;br /&gt;
what needs to be done:&lt;br /&gt;
* open from the Finder&lt;br /&gt;
* proper icon&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3133</id>
		<title>Building a native (no X11) MacOSX binary</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3133"/>
		<updated>2024-08-10T14:59:32Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is work in progress. &lt;br /&gt;
&lt;br /&gt;
== Getting a native gtk ==&lt;br /&gt;
A lot of information can be found here: https://www.gtk.org/docs/installations/macos/&lt;br /&gt;
&lt;br /&gt;
First follow the Quick start as described here:&lt;br /&gt;
https://gitlab.gnome.org/GNOME/gtk-osx/-/wikis/home#quick-start&lt;br /&gt;
follow the instructions to get the gtk core up and running&lt;br /&gt;
 $ ./gtk-osx-setup.sh &lt;br /&gt;
 $ jhbuild bootstrap-gtk-osx&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-bootstrap meta-gtk-osx-python meta-gtk-osx-gtk3&lt;br /&gt;
&lt;br /&gt;
find help on https://gitlab.gnome.org/GNOME/gtk-mac-integration/&lt;br /&gt;
&lt;br /&gt;
For full functionality also install some other related packages:&lt;br /&gt;
&lt;br /&gt;
 $ jhbuild build  shared-mime-info gnome-mime-data gnome-icon-theme gtk-engines tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish with Makefile.osxapp ==&lt;br /&gt;
&lt;br /&gt;
 jhbuild shell&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make -j6 -f Makefile.osxapp&lt;br /&gt;
 make -j6 -f Makefile.osxapp install&lt;br /&gt;
(the -j6 is for a 6core computer)&lt;br /&gt;
&lt;br /&gt;
this creates a Bluefish.app without any libraries, so this will crash on systems that do not have a gtk library installed on the system. &lt;br /&gt;
&lt;br /&gt;
== Creating a working bundle Bluefish.app ==&lt;br /&gt;
&lt;br /&gt;
The gtk-mac-bundler project can be used to create a bundle with all libraries. The config file macosx/bluefish.bundle should be updated for the latest version of gtk-mac-bundler.&lt;br /&gt;
&lt;br /&gt;
== Build with jhbuild (work in progress, THIS IS NOT YET WORKING) ==&lt;br /&gt;
&lt;br /&gt;
==== Building with a jhbuild configuration ====&lt;br /&gt;
&lt;br /&gt;
a jhbuild section for bluefish looks like this:&lt;br /&gt;
--------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;tarball&amp;quot; name=&amp;quot;bluefish&amp;quot; href=&amp;quot;http://www.bennewitz.com/bluefish/stable/source/&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;branch module=&amp;quot;bluefish-2.0.0.tar.bz2&amp;quot; version=&amp;quot;2.0.0&amp;quot; repo=&amp;quot;bluefish&amp;quot; md5=&amp;quot;ac9b1e8ef6d5691718a0daa6c78d5618&amp;quot; size=&amp;quot;3287346&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
or a section for SVN:&lt;br /&gt;
----------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;svn&amp;quot; name=&amp;quot;bluefish-svn&amp;quot; default=&amp;quot;yes&amp;quot; href=&amp;quot;https://bluefish.svn.sourceforge.net/svnroot/&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish-svn&amp;quot; autogen-sh=&amp;quot;./configure&amp;quot; autogenargs=&amp;quot;--disable-nls&amp;quot; &amp;gt;&lt;br /&gt;
 &amp;lt;branch repo=&amp;quot;bluefish-svn&amp;quot; module=&amp;quot;bluefish/trunk/bluefish&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;ige-mac-integration&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
this section will fail the first time, choose 4 (enter shell), run&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
exit and choose 1 (rerun configure)&lt;br /&gt;
&lt;br /&gt;
== Creating a package ==&lt;br /&gt;
&lt;br /&gt;
The quick and dirty way: open an existing Bluefish.dmg, convert it to writable dmg, copy the contents of the newly built Bluefish.app into the dmg, convert it back to compressed.&lt;br /&gt;
&lt;br /&gt;
Some packages that should be installed (with jhbuild) as well:&lt;br /&gt;
&lt;br /&gt;
 shared-mime-info&lt;br /&gt;
 meta-gtk-osx-themes &lt;br /&gt;
 gnome-mime-data&lt;br /&gt;
 gnome-icon-theme&lt;br /&gt;
 gtk-engines&lt;br /&gt;
 tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
run the bluefish bundle&lt;br /&gt;
&lt;br /&gt;
create a read-write image, copy Bluefish.app in there&lt;br /&gt;
create a symlink in the root to Applications&lt;br /&gt;
&lt;br /&gt;
=== Things To do ===&lt;br /&gt;
* add a mime type for clojure&lt;br /&gt;
* remove unneeded translations&lt;br /&gt;
&lt;br /&gt;
== Better MacOSX integration ==&lt;br /&gt;
&lt;br /&gt;
in SVN is an initial start. The menubar is now properly integrated in the OSX menu.&lt;br /&gt;
&lt;br /&gt;
what needs to be done:&lt;br /&gt;
* open from the Finder&lt;br /&gt;
* proper icon&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3132</id>
		<title>Building a native (no X11) MacOSX binary</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3132"/>
		<updated>2024-08-10T14:58:42Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* Getting a native gtk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is work in progress. &lt;br /&gt;
&lt;br /&gt;
== Getting a native gtk ==&lt;br /&gt;
A lot of information can be found here: https://www.gtk.org/docs/installations/macos/&lt;br /&gt;
&lt;br /&gt;
First follow the Quick start as described here:&lt;br /&gt;
https://gitlab.gnome.org/GNOME/gtk-osx/-/wikis/home#quick-start&lt;br /&gt;
follow the instructions to get the gtk core up and running&lt;br /&gt;
 $ ./gtk-osx-setup.sh &lt;br /&gt;
 $ jhbuild bootstrap-gtk-osx&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-bootstrap meta-gtk-osx-python meta-gtk-osx-gtk3&lt;br /&gt;
&lt;br /&gt;
find help on https://gitlab.gnome.org/GNOME/gtk-mac-integration/&lt;br /&gt;
&lt;br /&gt;
For full functionality also install some other related packages:&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish with Makefile.osxapp ==&lt;br /&gt;
&lt;br /&gt;
 jhbuild shell&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make -j6 -f Makefile.osxapp&lt;br /&gt;
 make -j6 -f Makefile.osxapp install&lt;br /&gt;
(the -j6 is for a 6core computer)&lt;br /&gt;
&lt;br /&gt;
this creates a Bluefish.app without any libraries, so this will crash on systems that do not have a gtk library installed on the system. &lt;br /&gt;
&lt;br /&gt;
== Creating a working bundle Bluefish.app ==&lt;br /&gt;
&lt;br /&gt;
The gtk-mac-bundler project can be used to create a bundle with all libraries. The config file macosx/bluefish.bundle should be updated for the latest version of gtk-mac-bundler.&lt;br /&gt;
&lt;br /&gt;
== Build with jhbuild (work in progress, THIS IS NOT YET WORKING) ==&lt;br /&gt;
&lt;br /&gt;
==== Building with a jhbuild configuration ====&lt;br /&gt;
&lt;br /&gt;
a jhbuild section for bluefish looks like this:&lt;br /&gt;
--------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;tarball&amp;quot; name=&amp;quot;bluefish&amp;quot; href=&amp;quot;http://www.bennewitz.com/bluefish/stable/source/&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;branch module=&amp;quot;bluefish-2.0.0.tar.bz2&amp;quot; version=&amp;quot;2.0.0&amp;quot; repo=&amp;quot;bluefish&amp;quot; md5=&amp;quot;ac9b1e8ef6d5691718a0daa6c78d5618&amp;quot; size=&amp;quot;3287346&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
or a section for SVN:&lt;br /&gt;
----------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;svn&amp;quot; name=&amp;quot;bluefish-svn&amp;quot; default=&amp;quot;yes&amp;quot; href=&amp;quot;https://bluefish.svn.sourceforge.net/svnroot/&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish-svn&amp;quot; autogen-sh=&amp;quot;./configure&amp;quot; autogenargs=&amp;quot;--disable-nls&amp;quot; &amp;gt;&lt;br /&gt;
 &amp;lt;branch repo=&amp;quot;bluefish-svn&amp;quot; module=&amp;quot;bluefish/trunk/bluefish&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;ige-mac-integration&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
this section will fail the first time, choose 4 (enter shell), run&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
exit and choose 1 (rerun configure)&lt;br /&gt;
&lt;br /&gt;
== Creating a package ==&lt;br /&gt;
&lt;br /&gt;
The quick and dirty way: open an existing Bluefish.dmg, convert it to writable dmg, copy the contents of the newly built Bluefish.app into the dmg, convert it back to compressed.&lt;br /&gt;
&lt;br /&gt;
Some packages that should be installed (with jhbuild) as well:&lt;br /&gt;
&lt;br /&gt;
 shared-mime-info&lt;br /&gt;
 meta-gtk-osx-themes &lt;br /&gt;
 gnome-mime-data&lt;br /&gt;
 gnome-icon-theme&lt;br /&gt;
 gtk-engines&lt;br /&gt;
 tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
run the bluefish bundle&lt;br /&gt;
&lt;br /&gt;
create a read-write image, copy Bluefish.app in there&lt;br /&gt;
create a symlink in the root to Applications&lt;br /&gt;
&lt;br /&gt;
=== Things To do ===&lt;br /&gt;
* add a mime type for clojure&lt;br /&gt;
* remove unneeded translations&lt;br /&gt;
&lt;br /&gt;
== Better MacOSX integration ==&lt;br /&gt;
&lt;br /&gt;
in SVN is an initial start. The menubar is now properly integrated in the OSX menu.&lt;br /&gt;
&lt;br /&gt;
what needs to be done:&lt;br /&gt;
* open from the Finder&lt;br /&gt;
* proper icon&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3131</id>
		<title>Building a native (no X11) MacOSX binary</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3131"/>
		<updated>2024-08-08T21:00:27Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* Creating a working bundle Bluefish.app */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is work in progress. &lt;br /&gt;
&lt;br /&gt;
== Getting a native gtk ==&lt;br /&gt;
A lot of information can be found here: https://www.gtk.org/docs/installations/macos/&lt;br /&gt;
&lt;br /&gt;
First follow the Quick start as described here:&lt;br /&gt;
https://gitlab.gnome.org/GNOME/gtk-osx/-/wikis/home#quick-start&lt;br /&gt;
follow the instructions to get the gtk core up and running&lt;br /&gt;
 $ ./gtk-osx-setup.sh &lt;br /&gt;
 $ jhbuild bootstrap-gtk-osx&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-bootstrap&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-python&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-gtk3&lt;br /&gt;
&lt;br /&gt;
find help on https://gitlab.gnome.org/GNOME/gtk-mac-integration/&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish with Makefile.osxapp ==&lt;br /&gt;
&lt;br /&gt;
 jhbuild shell&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make -j6 -f Makefile.osxapp&lt;br /&gt;
 make -j6 -f Makefile.osxapp install&lt;br /&gt;
(the -j6 is for a 6core computer)&lt;br /&gt;
&lt;br /&gt;
this creates a Bluefish.app without any libraries, so this will crash on systems that do not have a gtk library installed on the system. &lt;br /&gt;
&lt;br /&gt;
== Creating a working bundle Bluefish.app ==&lt;br /&gt;
&lt;br /&gt;
The gtk-mac-bundler project can be used to create a bundle with all libraries. The config file macosx/bluefish.bundle should be updated for the latest version of gtk-mac-bundler.&lt;br /&gt;
&lt;br /&gt;
== Build with jhbuild (work in progress, THIS IS NOT YET WORKING) ==&lt;br /&gt;
&lt;br /&gt;
==== Building with a jhbuild configuration ====&lt;br /&gt;
&lt;br /&gt;
a jhbuild section for bluefish looks like this:&lt;br /&gt;
--------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;tarball&amp;quot; name=&amp;quot;bluefish&amp;quot; href=&amp;quot;http://www.bennewitz.com/bluefish/stable/source/&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;branch module=&amp;quot;bluefish-2.0.0.tar.bz2&amp;quot; version=&amp;quot;2.0.0&amp;quot; repo=&amp;quot;bluefish&amp;quot; md5=&amp;quot;ac9b1e8ef6d5691718a0daa6c78d5618&amp;quot; size=&amp;quot;3287346&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
or a section for SVN:&lt;br /&gt;
----------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;svn&amp;quot; name=&amp;quot;bluefish-svn&amp;quot; default=&amp;quot;yes&amp;quot; href=&amp;quot;https://bluefish.svn.sourceforge.net/svnroot/&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish-svn&amp;quot; autogen-sh=&amp;quot;./configure&amp;quot; autogenargs=&amp;quot;--disable-nls&amp;quot; &amp;gt;&lt;br /&gt;
 &amp;lt;branch repo=&amp;quot;bluefish-svn&amp;quot; module=&amp;quot;bluefish/trunk/bluefish&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;ige-mac-integration&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
this section will fail the first time, choose 4 (enter shell), run&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
exit and choose 1 (rerun configure)&lt;br /&gt;
&lt;br /&gt;
== Creating a package ==&lt;br /&gt;
&lt;br /&gt;
The quick and dirty way: open an existing Bluefish.dmg, convert it to writable dmg, copy the contents of the newly built Bluefish.app into the dmg, convert it back to compressed.&lt;br /&gt;
&lt;br /&gt;
Some packages that should be installed (with jhbuild) as well:&lt;br /&gt;
&lt;br /&gt;
 shared-mime-info&lt;br /&gt;
 meta-gtk-osx-themes &lt;br /&gt;
 gnome-mime-data&lt;br /&gt;
 gnome-icon-theme&lt;br /&gt;
 gtk-engines&lt;br /&gt;
 tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
run the bluefish bundle&lt;br /&gt;
&lt;br /&gt;
create a read-write image, copy Bluefish.app in there&lt;br /&gt;
create a symlink in the root to Applications&lt;br /&gt;
&lt;br /&gt;
=== Things To do ===&lt;br /&gt;
* add a mime type for clojure&lt;br /&gt;
* remove unneeded translations&lt;br /&gt;
&lt;br /&gt;
== Better MacOSX integration ==&lt;br /&gt;
&lt;br /&gt;
in SVN is an initial start. The menubar is now properly integrated in the OSX menu.&lt;br /&gt;
&lt;br /&gt;
what needs to be done:&lt;br /&gt;
* open from the Finder&lt;br /&gt;
* proper icon&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3130</id>
		<title>Building a native (no X11) MacOSX binary</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3130"/>
		<updated>2024-08-08T20:45:52Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is work in progress. &lt;br /&gt;
&lt;br /&gt;
== Getting a native gtk ==&lt;br /&gt;
A lot of information can be found here: https://www.gtk.org/docs/installations/macos/&lt;br /&gt;
&lt;br /&gt;
First follow the Quick start as described here:&lt;br /&gt;
https://gitlab.gnome.org/GNOME/gtk-osx/-/wikis/home#quick-start&lt;br /&gt;
follow the instructions to get the gtk core up and running&lt;br /&gt;
 $ ./gtk-osx-setup.sh &lt;br /&gt;
 $ jhbuild bootstrap-gtk-osx&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-bootstrap&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-python&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-gtk3&lt;br /&gt;
&lt;br /&gt;
find help on https://gitlab.gnome.org/GNOME/gtk-mac-integration/&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish with Makefile.osxapp ==&lt;br /&gt;
&lt;br /&gt;
 jhbuild shell&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make -j6 -f Makefile.osxapp&lt;br /&gt;
 make -j6 -f Makefile.osxapp install&lt;br /&gt;
(the -j6 is for a 6core computer)&lt;br /&gt;
&lt;br /&gt;
this creates a Bluefish.app without any libraries, so this will crash on systems that do not have a gtk library installed on the system. &lt;br /&gt;
&lt;br /&gt;
== Creating a working bundle Bluefish.app ==&lt;br /&gt;
&lt;br /&gt;
The gtk-mac-bundler project can be used to create a bundle with all libraries. The config file macosx/bluefish.bundle should be updated for the latest version of gtk-mac-bundler. &lt;br /&gt;
&lt;br /&gt;
== Build with jhbuild (work in progress, THIS IS NOT YET WORKING) ==&lt;br /&gt;
&lt;br /&gt;
==== Building with a jhbuild configuration ====&lt;br /&gt;
&lt;br /&gt;
a jhbuild section for bluefish looks like this:&lt;br /&gt;
--------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;tarball&amp;quot; name=&amp;quot;bluefish&amp;quot; href=&amp;quot;http://www.bennewitz.com/bluefish/stable/source/&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;branch module=&amp;quot;bluefish-2.0.0.tar.bz2&amp;quot; version=&amp;quot;2.0.0&amp;quot; repo=&amp;quot;bluefish&amp;quot; md5=&amp;quot;ac9b1e8ef6d5691718a0daa6c78d5618&amp;quot; size=&amp;quot;3287346&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
or a section for SVN:&lt;br /&gt;
----------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;svn&amp;quot; name=&amp;quot;bluefish-svn&amp;quot; default=&amp;quot;yes&amp;quot; href=&amp;quot;https://bluefish.svn.sourceforge.net/svnroot/&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish-svn&amp;quot; autogen-sh=&amp;quot;./configure&amp;quot; autogenargs=&amp;quot;--disable-nls&amp;quot; &amp;gt;&lt;br /&gt;
 &amp;lt;branch repo=&amp;quot;bluefish-svn&amp;quot; module=&amp;quot;bluefish/trunk/bluefish&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;ige-mac-integration&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
this section will fail the first time, choose 4 (enter shell), run&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
exit and choose 1 (rerun configure)&lt;br /&gt;
&lt;br /&gt;
== Creating a package ==&lt;br /&gt;
&lt;br /&gt;
The quick and dirty way: open an existing Bluefish.dmg, convert it to writable dmg, copy the contents of the newly built Bluefish.app into the dmg, convert it back to compressed.&lt;br /&gt;
&lt;br /&gt;
Some packages that should be installed (with jhbuild) as well:&lt;br /&gt;
&lt;br /&gt;
 shared-mime-info&lt;br /&gt;
 meta-gtk-osx-themes &lt;br /&gt;
 gnome-mime-data&lt;br /&gt;
 gnome-icon-theme&lt;br /&gt;
 gtk-engines&lt;br /&gt;
 tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
run the bluefish bundle&lt;br /&gt;
&lt;br /&gt;
create a read-write image, copy Bluefish.app in there&lt;br /&gt;
create a symlink in the root to Applications&lt;br /&gt;
&lt;br /&gt;
=== Things To do ===&lt;br /&gt;
* add a mime type for clojure&lt;br /&gt;
* remove unneeded translations&lt;br /&gt;
&lt;br /&gt;
== Better MacOSX integration ==&lt;br /&gt;
&lt;br /&gt;
in SVN is an initial start. The menubar is now properly integrated in the OSX menu.&lt;br /&gt;
&lt;br /&gt;
what needs to be done:&lt;br /&gt;
* open from the Finder&lt;br /&gt;
* proper icon&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3129</id>
		<title>Building a native (no X11) MacOSX binary</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3129"/>
		<updated>2024-08-08T20:44:30Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* Build with jhbuild (work in progress) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is work in progress. &lt;br /&gt;
&lt;br /&gt;
== Getting a native gtk ==&lt;br /&gt;
A lot of information can be found here: https://www.gtk.org/docs/installations/macos/&lt;br /&gt;
&lt;br /&gt;
First follow the Quick start as described here:&lt;br /&gt;
https://gitlab.gnome.org/GNOME/gtk-osx/-/wikis/home#quick-start&lt;br /&gt;
follow the instructions to get the gtk core up and running&lt;br /&gt;
 $ ./gtk-osx-setup.sh &lt;br /&gt;
 $ jhbuild bootstrap-gtk-osx&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-bootstrap&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-python&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-gtk3&lt;br /&gt;
&lt;br /&gt;
find help on https://gitlab.gnome.org/GNOME/gtk-mac-integration/&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish with Makefile.osxapp ==&lt;br /&gt;
&lt;br /&gt;
 jhbuild shell&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make -j6 -f Makefile.osxapp&lt;br /&gt;
 make -j6 -f Makefile.osxapp install&lt;br /&gt;
(the -j6 is for a 6core computer)&lt;br /&gt;
&lt;br /&gt;
this creates a Bluefish.app without any libraries. The gtk-mac-bundler project can be used to create a bundle with all libraries. The config file macosx/bluefish.bundle should be updated for the latest version of gtk-mac-bundler&lt;br /&gt;
&lt;br /&gt;
== Build with jhbuild (work in progress, THIS IS NOT YET WORKING) ==&lt;br /&gt;
&lt;br /&gt;
==== Building with a jhbuild configuration ====&lt;br /&gt;
&lt;br /&gt;
a jhbuild section for bluefish looks like this:&lt;br /&gt;
--------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;tarball&amp;quot; name=&amp;quot;bluefish&amp;quot; href=&amp;quot;http://www.bennewitz.com/bluefish/stable/source/&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;branch module=&amp;quot;bluefish-2.0.0.tar.bz2&amp;quot; version=&amp;quot;2.0.0&amp;quot; repo=&amp;quot;bluefish&amp;quot; md5=&amp;quot;ac9b1e8ef6d5691718a0daa6c78d5618&amp;quot; size=&amp;quot;3287346&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
or a section for SVN:&lt;br /&gt;
----------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;svn&amp;quot; name=&amp;quot;bluefish-svn&amp;quot; default=&amp;quot;yes&amp;quot; href=&amp;quot;https://bluefish.svn.sourceforge.net/svnroot/&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish-svn&amp;quot; autogen-sh=&amp;quot;./configure&amp;quot; autogenargs=&amp;quot;--disable-nls&amp;quot; &amp;gt;&lt;br /&gt;
 &amp;lt;branch repo=&amp;quot;bluefish-svn&amp;quot; module=&amp;quot;bluefish/trunk/bluefish&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;ige-mac-integration&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
this section will fail the first time, choose 4 (enter shell), run&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
exit and choose 1 (rerun configure)&lt;br /&gt;
&lt;br /&gt;
== Creating a package ==&lt;br /&gt;
&lt;br /&gt;
The quick and dirty way: open an existing Bluefish.dmg, convert it to writable dmg, copy the contents of the newly built Bluefish.app into the dmg, convert it back to compressed.&lt;br /&gt;
&lt;br /&gt;
Some packages that should be installed (with jhbuild) as well:&lt;br /&gt;
&lt;br /&gt;
 shared-mime-info&lt;br /&gt;
 meta-gtk-osx-themes &lt;br /&gt;
 gnome-mime-data&lt;br /&gt;
 gnome-icon-theme&lt;br /&gt;
 gtk-engines&lt;br /&gt;
 tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
run the bluefish bundle&lt;br /&gt;
&lt;br /&gt;
create a read-write image, copy Bluefish.app in there&lt;br /&gt;
create a symlink in the root to Applications&lt;br /&gt;
&lt;br /&gt;
=== Things To do ===&lt;br /&gt;
* add a mime type for clojure&lt;br /&gt;
* remove unneeded translations&lt;br /&gt;
&lt;br /&gt;
== Better MacOSX integration ==&lt;br /&gt;
&lt;br /&gt;
in SVN is an initial start. The menubar is now properly integrated in the OSX menu.&lt;br /&gt;
&lt;br /&gt;
what needs to be done:&lt;br /&gt;
* open from the Finder&lt;br /&gt;
* proper icon&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3128</id>
		<title>Building a native (no X11) MacOSX binary</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3128"/>
		<updated>2024-08-08T20:44:05Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* Building Bluefish with Makefile.osxapp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is work in progress. &lt;br /&gt;
&lt;br /&gt;
== Getting a native gtk ==&lt;br /&gt;
A lot of information can be found here: https://www.gtk.org/docs/installations/macos/&lt;br /&gt;
&lt;br /&gt;
First follow the Quick start as described here:&lt;br /&gt;
https://gitlab.gnome.org/GNOME/gtk-osx/-/wikis/home#quick-start&lt;br /&gt;
follow the instructions to get the gtk core up and running&lt;br /&gt;
 $ ./gtk-osx-setup.sh &lt;br /&gt;
 $ jhbuild bootstrap-gtk-osx&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-bootstrap&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-python&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-gtk3&lt;br /&gt;
&lt;br /&gt;
find help on https://gitlab.gnome.org/GNOME/gtk-mac-integration/&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish with Makefile.osxapp ==&lt;br /&gt;
&lt;br /&gt;
 jhbuild shell&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make -j6 -f Makefile.osxapp&lt;br /&gt;
 make -j6 -f Makefile.osxapp install&lt;br /&gt;
(the -j6 is for a 6core computer)&lt;br /&gt;
&lt;br /&gt;
this creates a Bluefish.app without any libraries. The gtk-mac-bundler project can be used to create a bundle with all libraries. The config file macosx/bluefish.bundle should be updated for the latest version of gtk-mac-bundler&lt;br /&gt;
&lt;br /&gt;
== Build with jhbuild (work in progress) ==&lt;br /&gt;
&lt;br /&gt;
=== Building with a jhbuild configuration ===&lt;br /&gt;
&lt;br /&gt;
a jhbuild section for bluefish looks like this:&lt;br /&gt;
--------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;tarball&amp;quot; name=&amp;quot;bluefish&amp;quot; href=&amp;quot;http://www.bennewitz.com/bluefish/stable/source/&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;branch module=&amp;quot;bluefish-2.0.0.tar.bz2&amp;quot; version=&amp;quot;2.0.0&amp;quot; repo=&amp;quot;bluefish&amp;quot; md5=&amp;quot;ac9b1e8ef6d5691718a0daa6c78d5618&amp;quot; size=&amp;quot;3287346&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
or a section for SVN:&lt;br /&gt;
----------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;svn&amp;quot; name=&amp;quot;bluefish-svn&amp;quot; default=&amp;quot;yes&amp;quot; href=&amp;quot;https://bluefish.svn.sourceforge.net/svnroot/&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish-svn&amp;quot; autogen-sh=&amp;quot;./configure&amp;quot; autogenargs=&amp;quot;--disable-nls&amp;quot; &amp;gt;&lt;br /&gt;
 &amp;lt;branch repo=&amp;quot;bluefish-svn&amp;quot; module=&amp;quot;bluefish/trunk/bluefish&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;ige-mac-integration&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
this section will fail the first time, choose 4 (enter shell), run&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
exit and choose 1 (rerun configure)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a package ==&lt;br /&gt;
&lt;br /&gt;
The quick and dirty way: open an existing Bluefish.dmg, convert it to writable dmg, copy the contents of the newly built Bluefish.app into the dmg, convert it back to compressed.&lt;br /&gt;
&lt;br /&gt;
Some packages that should be installed (with jhbuild) as well:&lt;br /&gt;
&lt;br /&gt;
 shared-mime-info&lt;br /&gt;
 meta-gtk-osx-themes &lt;br /&gt;
 gnome-mime-data&lt;br /&gt;
 gnome-icon-theme&lt;br /&gt;
 gtk-engines&lt;br /&gt;
 tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
run the bluefish bundle&lt;br /&gt;
&lt;br /&gt;
create a read-write image, copy Bluefish.app in there&lt;br /&gt;
create a symlink in the root to Applications&lt;br /&gt;
&lt;br /&gt;
=== Things To do ===&lt;br /&gt;
* add a mime type for clojure&lt;br /&gt;
* remove unneeded translations&lt;br /&gt;
&lt;br /&gt;
== Better MacOSX integration ==&lt;br /&gt;
&lt;br /&gt;
in SVN is an initial start. The menubar is now properly integrated in the OSX menu.&lt;br /&gt;
&lt;br /&gt;
what needs to be done:&lt;br /&gt;
* open from the Finder&lt;br /&gt;
* proper icon&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3127</id>
		<title>Building a native (no X11) MacOSX binary</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3127"/>
		<updated>2024-08-06T13:01:20Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* Getting a native gtk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is work in progress. &lt;br /&gt;
&lt;br /&gt;
== Getting a native gtk ==&lt;br /&gt;
A lot of information can be found here: https://www.gtk.org/docs/installations/macos/&lt;br /&gt;
&lt;br /&gt;
First follow the Quick start as described here:&lt;br /&gt;
https://gitlab.gnome.org/GNOME/gtk-osx/-/wikis/home#quick-start&lt;br /&gt;
follow the instructions to get the gtk core up and running&lt;br /&gt;
 $ ./gtk-osx-setup.sh &lt;br /&gt;
 $ jhbuild bootstrap-gtk-osx&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-bootstrap&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-python&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-gtk3&lt;br /&gt;
&lt;br /&gt;
find help on https://gitlab.gnome.org/GNOME/gtk-mac-integration/&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish with Makefile.osxapp ==&lt;br /&gt;
&lt;br /&gt;
 jhbuild shell&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make -j6 -f Makefile.osxapp&lt;br /&gt;
 make -j6 -f Makefile.osxapp install&lt;br /&gt;
(the -j6 is for a 6core computer)&lt;br /&gt;
&lt;br /&gt;
== Build with jhbuild (work in progress) ==&lt;br /&gt;
&lt;br /&gt;
=== Building with a jhbuild configuration ===&lt;br /&gt;
&lt;br /&gt;
a jhbuild section for bluefish looks like this:&lt;br /&gt;
--------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;tarball&amp;quot; name=&amp;quot;bluefish&amp;quot; href=&amp;quot;http://www.bennewitz.com/bluefish/stable/source/&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;branch module=&amp;quot;bluefish-2.0.0.tar.bz2&amp;quot; version=&amp;quot;2.0.0&amp;quot; repo=&amp;quot;bluefish&amp;quot; md5=&amp;quot;ac9b1e8ef6d5691718a0daa6c78d5618&amp;quot; size=&amp;quot;3287346&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
or a section for SVN:&lt;br /&gt;
----------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;svn&amp;quot; name=&amp;quot;bluefish-svn&amp;quot; default=&amp;quot;yes&amp;quot; href=&amp;quot;https://bluefish.svn.sourceforge.net/svnroot/&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish-svn&amp;quot; autogen-sh=&amp;quot;./configure&amp;quot; autogenargs=&amp;quot;--disable-nls&amp;quot; &amp;gt;&lt;br /&gt;
 &amp;lt;branch repo=&amp;quot;bluefish-svn&amp;quot; module=&amp;quot;bluefish/trunk/bluefish&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;ige-mac-integration&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
this section will fail the first time, choose 4 (enter shell), run&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
exit and choose 1 (rerun configure)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a package ==&lt;br /&gt;
&lt;br /&gt;
The quick and dirty way: open an existing Bluefish.dmg, convert it to writable dmg, copy the contents of the newly built Bluefish.app into the dmg, convert it back to compressed.&lt;br /&gt;
&lt;br /&gt;
Some packages that should be installed (with jhbuild) as well:&lt;br /&gt;
&lt;br /&gt;
 shared-mime-info&lt;br /&gt;
 meta-gtk-osx-themes &lt;br /&gt;
 gnome-mime-data&lt;br /&gt;
 gnome-icon-theme&lt;br /&gt;
 gtk-engines&lt;br /&gt;
 tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
run the bluefish bundle&lt;br /&gt;
&lt;br /&gt;
create a read-write image, copy Bluefish.app in there&lt;br /&gt;
create a symlink in the root to Applications&lt;br /&gt;
&lt;br /&gt;
=== Things To do ===&lt;br /&gt;
* add a mime type for clojure&lt;br /&gt;
* remove unneeded translations&lt;br /&gt;
&lt;br /&gt;
== Better MacOSX integration ==&lt;br /&gt;
&lt;br /&gt;
in SVN is an initial start. The menubar is now properly integrated in the OSX menu.&lt;br /&gt;
&lt;br /&gt;
what needs to be done:&lt;br /&gt;
* open from the Finder&lt;br /&gt;
* proper icon&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3126</id>
		<title>Building a native (no X11) MacOSX binary</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3126"/>
		<updated>2024-08-05T15:44:29Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* Getting a native gtk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is work in progress. &lt;br /&gt;
&lt;br /&gt;
== Getting a native gtk ==&lt;br /&gt;
A lot of information can be found here: https://www.gtk.org/docs/installations/macos/&lt;br /&gt;
&lt;br /&gt;
first use the provided script: https://gitlab.gnome.org/GNOME/gtk-osx/-/blob/master/gtk-osx-setup.sh&lt;br /&gt;
&lt;br /&gt;
follow the instructions to get the gtk core up and running&lt;br /&gt;
 $ jhbuild bootstrap&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-bootstrap&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-python&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-gtk3&lt;br /&gt;
&lt;br /&gt;
find help on https://gitlab.gnome.org/GNOME/gtk-mac-integration/&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish with Makefile.osxapp ==&lt;br /&gt;
&lt;br /&gt;
 jhbuild shell&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make -j6 -f Makefile.osxapp&lt;br /&gt;
 make -j6 -f Makefile.osxapp install&lt;br /&gt;
(the -j6 is for a 6core computer)&lt;br /&gt;
&lt;br /&gt;
== Build with jhbuild (work in progress) ==&lt;br /&gt;
&lt;br /&gt;
=== Building with a jhbuild configuration ===&lt;br /&gt;
&lt;br /&gt;
a jhbuild section for bluefish looks like this:&lt;br /&gt;
--------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;tarball&amp;quot; name=&amp;quot;bluefish&amp;quot; href=&amp;quot;http://www.bennewitz.com/bluefish/stable/source/&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;branch module=&amp;quot;bluefish-2.0.0.tar.bz2&amp;quot; version=&amp;quot;2.0.0&amp;quot; repo=&amp;quot;bluefish&amp;quot; md5=&amp;quot;ac9b1e8ef6d5691718a0daa6c78d5618&amp;quot; size=&amp;quot;3287346&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
or a section for SVN:&lt;br /&gt;
----------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;svn&amp;quot; name=&amp;quot;bluefish-svn&amp;quot; default=&amp;quot;yes&amp;quot; href=&amp;quot;https://bluefish.svn.sourceforge.net/svnroot/&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish-svn&amp;quot; autogen-sh=&amp;quot;./configure&amp;quot; autogenargs=&amp;quot;--disable-nls&amp;quot; &amp;gt;&lt;br /&gt;
 &amp;lt;branch repo=&amp;quot;bluefish-svn&amp;quot; module=&amp;quot;bluefish/trunk/bluefish&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;ige-mac-integration&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
this section will fail the first time, choose 4 (enter shell), run&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
exit and choose 1 (rerun configure)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a package ==&lt;br /&gt;
&lt;br /&gt;
The quick and dirty way: open an existing Bluefish.dmg, convert it to writable dmg, copy the contents of the newly built Bluefish.app into the dmg, convert it back to compressed.&lt;br /&gt;
&lt;br /&gt;
Some packages that should be installed (with jhbuild) as well:&lt;br /&gt;
&lt;br /&gt;
 shared-mime-info&lt;br /&gt;
 meta-gtk-osx-themes &lt;br /&gt;
 gnome-mime-data&lt;br /&gt;
 gnome-icon-theme&lt;br /&gt;
 gtk-engines&lt;br /&gt;
 tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
run the bluefish bundle&lt;br /&gt;
&lt;br /&gt;
create a read-write image, copy Bluefish.app in there&lt;br /&gt;
create a symlink in the root to Applications&lt;br /&gt;
&lt;br /&gt;
=== Things To do ===&lt;br /&gt;
* add a mime type for clojure&lt;br /&gt;
* remove unneeded translations&lt;br /&gt;
&lt;br /&gt;
== Better MacOSX integration ==&lt;br /&gt;
&lt;br /&gt;
in SVN is an initial start. The menubar is now properly integrated in the OSX menu.&lt;br /&gt;
&lt;br /&gt;
what needs to be done:&lt;br /&gt;
* open from the Finder&lt;br /&gt;
* proper icon&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3125</id>
		<title>Building a native (no X11) MacOSX binary</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3125"/>
		<updated>2024-08-05T15:38:17Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* Building Bluefish with Makefile.osxapp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is work in progress. &lt;br /&gt;
&lt;br /&gt;
== Getting a native gtk ==&lt;br /&gt;
A lot of information can be found here:&lt;br /&gt;
http://gtk-osx.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
follow the instructions to get the gtk core up and running&lt;br /&gt;
 $ jhbuild bootstrap&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-bootstrap&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-python&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-gtk3&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish with Makefile.osxapp ==&lt;br /&gt;
&lt;br /&gt;
 jhbuild shell&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make -j6 -f Makefile.osxapp&lt;br /&gt;
 make -j6 -f Makefile.osxapp install&lt;br /&gt;
(the -j6 is for a 6core computer)&lt;br /&gt;
&lt;br /&gt;
== Build with jhbuild (work in progress) ==&lt;br /&gt;
&lt;br /&gt;
=== Building with a jhbuild configuration ===&lt;br /&gt;
&lt;br /&gt;
a jhbuild section for bluefish looks like this:&lt;br /&gt;
--------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;tarball&amp;quot; name=&amp;quot;bluefish&amp;quot; href=&amp;quot;http://www.bennewitz.com/bluefish/stable/source/&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;branch module=&amp;quot;bluefish-2.0.0.tar.bz2&amp;quot; version=&amp;quot;2.0.0&amp;quot; repo=&amp;quot;bluefish&amp;quot; md5=&amp;quot;ac9b1e8ef6d5691718a0daa6c78d5618&amp;quot; size=&amp;quot;3287346&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
or a section for SVN:&lt;br /&gt;
----------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;svn&amp;quot; name=&amp;quot;bluefish-svn&amp;quot; default=&amp;quot;yes&amp;quot; href=&amp;quot;https://bluefish.svn.sourceforge.net/svnroot/&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish-svn&amp;quot; autogen-sh=&amp;quot;./configure&amp;quot; autogenargs=&amp;quot;--disable-nls&amp;quot; &amp;gt;&lt;br /&gt;
 &amp;lt;branch repo=&amp;quot;bluefish-svn&amp;quot; module=&amp;quot;bluefish/trunk/bluefish&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;ige-mac-integration&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
this section will fail the first time, choose 4 (enter shell), run&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
exit and choose 1 (rerun configure)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a package ==&lt;br /&gt;
&lt;br /&gt;
The quick and dirty way: open an existing Bluefish.dmg, convert it to writable dmg, copy the contents of the newly built Bluefish.app into the dmg, convert it back to compressed.&lt;br /&gt;
&lt;br /&gt;
Some packages that should be installed (with jhbuild) as well:&lt;br /&gt;
&lt;br /&gt;
 shared-mime-info&lt;br /&gt;
 meta-gtk-osx-themes &lt;br /&gt;
 gnome-mime-data&lt;br /&gt;
 gnome-icon-theme&lt;br /&gt;
 gtk-engines&lt;br /&gt;
 tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
run the bluefish bundle&lt;br /&gt;
&lt;br /&gt;
create a read-write image, copy Bluefish.app in there&lt;br /&gt;
create a symlink in the root to Applications&lt;br /&gt;
&lt;br /&gt;
=== Things To do ===&lt;br /&gt;
* add a mime type for clojure&lt;br /&gt;
* remove unneeded translations&lt;br /&gt;
&lt;br /&gt;
== Better MacOSX integration ==&lt;br /&gt;
&lt;br /&gt;
in SVN is an initial start. The menubar is now properly integrated in the OSX menu.&lt;br /&gt;
&lt;br /&gt;
what needs to be done:&lt;br /&gt;
* open from the Finder&lt;br /&gt;
* proper icon&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3124</id>
		<title>Building a native (no X11) MacOSX binary</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Building_a_native_(no_X11)_MacOSX_binary&amp;diff=3124"/>
		<updated>2024-08-05T15:35:33Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: update for gtk3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is work in progress. &lt;br /&gt;
&lt;br /&gt;
== Getting a native gtk ==&lt;br /&gt;
A lot of information can be found here:&lt;br /&gt;
http://gtk-osx.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
follow the instructions to get the gtk core up and running&lt;br /&gt;
 $ jhbuild bootstrap&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-bootstrap&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-python&lt;br /&gt;
 $ jhbuild build meta-gtk-osx-gtk3&lt;br /&gt;
&lt;br /&gt;
== Building Bluefish with Makefile.osxapp ==&lt;br /&gt;
&lt;br /&gt;
 jhbuild shell&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 make -f Makefile.osxapp&lt;br /&gt;
 make -f Makefile.osxapp install&lt;br /&gt;
&lt;br /&gt;
== Build with jhbuild (work in progress) ==&lt;br /&gt;
&lt;br /&gt;
=== Building with a jhbuild configuration ===&lt;br /&gt;
&lt;br /&gt;
a jhbuild section for bluefish looks like this:&lt;br /&gt;
--------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;tarball&amp;quot; name=&amp;quot;bluefish&amp;quot; href=&amp;quot;http://www.bennewitz.com/bluefish/stable/source/&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;branch module=&amp;quot;bluefish-2.0.0.tar.bz2&amp;quot; version=&amp;quot;2.0.0&amp;quot; repo=&amp;quot;bluefish&amp;quot; md5=&amp;quot;ac9b1e8ef6d5691718a0daa6c78d5618&amp;quot; size=&amp;quot;3287346&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
or a section for SVN:&lt;br /&gt;
----------------------------------&lt;br /&gt;
 &amp;lt;repository type=&amp;quot;svn&amp;quot; name=&amp;quot;bluefish-svn&amp;quot; default=&amp;quot;yes&amp;quot; href=&amp;quot;https://bluefish.svn.sourceforge.net/svnroot/&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;autotools id=&amp;quot;bluefish-svn&amp;quot; autogen-sh=&amp;quot;./configure&amp;quot; autogenargs=&amp;quot;--disable-nls&amp;quot; &amp;gt;&lt;br /&gt;
 &amp;lt;branch repo=&amp;quot;bluefish-svn&amp;quot; module=&amp;quot;bluefish/trunk/bluefish&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;intltool&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gtk+&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;glib&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;libxml2&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;ige-mac-integration&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/dependencies&amp;gt;&lt;br /&gt;
 &amp;lt;suggests&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;enchant&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;dep package=&amp;quot;gucharmap&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/suggests&amp;gt;&lt;br /&gt;
 &amp;lt;/autotools&amp;gt;&lt;br /&gt;
--------------------------------------&lt;br /&gt;
this section will fail the first time, choose 4 (enter shell), run&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
exit and choose 1 (rerun configure)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Creating a package ==&lt;br /&gt;
&lt;br /&gt;
The quick and dirty way: open an existing Bluefish.dmg, convert it to writable dmg, copy the contents of the newly built Bluefish.app into the dmg, convert it back to compressed.&lt;br /&gt;
&lt;br /&gt;
Some packages that should be installed (with jhbuild) as well:&lt;br /&gt;
&lt;br /&gt;
 shared-mime-info&lt;br /&gt;
 meta-gtk-osx-themes &lt;br /&gt;
 gnome-mime-data&lt;br /&gt;
 gnome-icon-theme&lt;br /&gt;
 gtk-engines&lt;br /&gt;
 tango-icon-theme&lt;br /&gt;
&lt;br /&gt;
run the bluefish bundle&lt;br /&gt;
&lt;br /&gt;
create a read-write image, copy Bluefish.app in there&lt;br /&gt;
create a symlink in the root to Applications&lt;br /&gt;
&lt;br /&gt;
=== Things To do ===&lt;br /&gt;
* add a mime type for clojure&lt;br /&gt;
* remove unneeded translations&lt;br /&gt;
&lt;br /&gt;
== Better MacOSX integration ==&lt;br /&gt;
&lt;br /&gt;
in SVN is an initial start. The menubar is now properly integrated in the OSX menu.&lt;br /&gt;
&lt;br /&gt;
what needs to be done:&lt;br /&gt;
* open from the Finder&lt;br /&gt;
* proper icon&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Compiling_Bluefish_from_source&amp;diff=2909</id>
		<title>Compiling Bluefish from source</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Compiling_Bluefish_from_source&amp;diff=2909"/>
		<updated>2023-05-05T11:57:41Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* Fedora packages required */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling bluefish from source tarballs =&lt;br /&gt;
&lt;br /&gt;
== installing the requirements ==&lt;br /&gt;
&lt;br /&gt;
Build requirements:&lt;br /&gt;
* a C compiler (for example gcc or clang-gcc)&lt;br /&gt;
* gnu make&lt;br /&gt;
&lt;br /&gt;
Library / header file requirements:&lt;br /&gt;
* gtk+ 2 or 3 development files (sometimes called libgtk2.0-dev or libgtk2-devel, or libgtk-3-dev)&lt;br /&gt;
* libxml2 development files (sometimes called libxml2-dev or libxml2-devel)&lt;br /&gt;
&lt;br /&gt;
Optional libraries / header files:&lt;br /&gt;
* libenchant + development files (for spell checking, libenchant-dev)&lt;br /&gt;
* libgucharmap + development files (for the character map side pane plugin, libgucharmap-dev)&lt;br /&gt;
* python development files (python-dev or python-devel)&lt;br /&gt;
&lt;br /&gt;
=== Debian and Ubuntu packages required ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt install  automake autoconf make libtool intltool libgtk-3-dev libxml2-dev libenchant-2-dev libgucharmap-2-90-dev python3-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Debian / Ubuntu packages for the upcoming 2.2.14 release  ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt install automake autoconf make libtool autopoint libgtk-3-dev libxml2-dev libenchant-2-dev libgucharmap-2-90-dev python3-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Fedora packages required ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dnf install automake autoconf libtool gtk3-devel enchant2-devel libxml2-devel gucharmap-devel python3-devel gettext-devel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getting and compiling ==&lt;br /&gt;
* get the latest source from http://www.bennewitz.com/bluefish/stable/source/&lt;br /&gt;
* unpack &lt;br /&gt;
** for a gzipped file &#039;&#039;&#039;tar -xzf bluefish-2.2.xxxx.tar.gz&#039;&#039;&#039;&lt;br /&gt;
** for a bzipped file &#039;&#039;&#039;tar -xjf bluefish-2.2.xxxx.tar.bz2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;cd bluefish-2.2.xxxx&#039;&#039;&#039;&lt;br /&gt;
* run &#039;&#039;&#039;./configure&#039;&#039;&#039;&lt;br /&gt;
* run &#039;&#039;&#039;make&#039;&#039;&#039;&lt;br /&gt;
* switch to root and run &#039;&#039;&#039;make install&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Compiling bluefish straight from subversion =&lt;br /&gt;
=== Building (assumes required packages have been installed) ===&lt;br /&gt;
 {{SVN|checkout}}&lt;br /&gt;
 cd bluefish-code/bluefish&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Debian and Ubuntu packages required to build from subversion ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt install libtool autopoint automake autoconf make libgtk-3-dev libenchant-2-dev libgucharmap-2-90-dev libxml2-dev subversion python3-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Compiling_Bluefish_from_source&amp;diff=2908</id>
		<title>Compiling Bluefish from source</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Compiling_Bluefish_from_source&amp;diff=2908"/>
		<updated>2023-05-05T11:56:09Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* Fedora packages required */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling bluefish from source tarballs =&lt;br /&gt;
&lt;br /&gt;
== installing the requirements ==&lt;br /&gt;
&lt;br /&gt;
Build requirements:&lt;br /&gt;
* a C compiler (for example gcc or clang-gcc)&lt;br /&gt;
* gnu make&lt;br /&gt;
&lt;br /&gt;
Library / header file requirements:&lt;br /&gt;
* gtk+ 2 or 3 development files (sometimes called libgtk2.0-dev or libgtk2-devel, or libgtk-3-dev)&lt;br /&gt;
* libxml2 development files (sometimes called libxml2-dev or libxml2-devel)&lt;br /&gt;
&lt;br /&gt;
Optional libraries / header files:&lt;br /&gt;
* libenchant + development files (for spell checking, libenchant-dev)&lt;br /&gt;
* libgucharmap + development files (for the character map side pane plugin, libgucharmap-dev)&lt;br /&gt;
* python development files (python-dev or python-devel)&lt;br /&gt;
&lt;br /&gt;
=== Debian and Ubuntu packages required ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt install  automake autoconf make libtool intltool libgtk-3-dev libxml2-dev libenchant-2-dev libgucharmap-2-90-dev python3-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Debian / Ubuntu packages for the upcoming 2.2.14 release  ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt install automake autoconf make libtool autopoint libgtk-3-dev libxml2-dev libenchant-2-dev libgucharmap-2-90-dev python3-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Fedora packages required ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dnf install automake autoconf gtk3-devel enchant2-devel libxml2-devel gucharmap-devel python3-devel gettext-devel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getting and compiling ==&lt;br /&gt;
* get the latest source from http://www.bennewitz.com/bluefish/stable/source/&lt;br /&gt;
* unpack &lt;br /&gt;
** for a gzipped file &#039;&#039;&#039;tar -xzf bluefish-2.2.xxxx.tar.gz&#039;&#039;&#039;&lt;br /&gt;
** for a bzipped file &#039;&#039;&#039;tar -xjf bluefish-2.2.xxxx.tar.bz2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;cd bluefish-2.2.xxxx&#039;&#039;&#039;&lt;br /&gt;
* run &#039;&#039;&#039;./configure&#039;&#039;&#039;&lt;br /&gt;
* run &#039;&#039;&#039;make&#039;&#039;&#039;&lt;br /&gt;
* switch to root and run &#039;&#039;&#039;make install&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Compiling bluefish straight from subversion =&lt;br /&gt;
=== Building (assumes required packages have been installed) ===&lt;br /&gt;
 {{SVN|checkout}}&lt;br /&gt;
 cd bluefish-code/bluefish&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Debian and Ubuntu packages required to build from subversion ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt install libtool autopoint automake autoconf make libgtk-3-dev libenchant-2-dev libgucharmap-2-90-dev libxml2-dev subversion python3-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Compiling_Bluefish_from_source&amp;diff=2907</id>
		<title>Compiling Bluefish from source</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Compiling_Bluefish_from_source&amp;diff=2907"/>
		<updated>2023-05-05T11:55:55Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* installing the requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling bluefish from source tarballs =&lt;br /&gt;
&lt;br /&gt;
== installing the requirements ==&lt;br /&gt;
&lt;br /&gt;
Build requirements:&lt;br /&gt;
* a C compiler (for example gcc or clang-gcc)&lt;br /&gt;
* gnu make&lt;br /&gt;
&lt;br /&gt;
Library / header file requirements:&lt;br /&gt;
* gtk+ 2 or 3 development files (sometimes called libgtk2.0-dev or libgtk2-devel, or libgtk-3-dev)&lt;br /&gt;
* libxml2 development files (sometimes called libxml2-dev or libxml2-devel)&lt;br /&gt;
&lt;br /&gt;
Optional libraries / header files:&lt;br /&gt;
* libenchant + development files (for spell checking, libenchant-dev)&lt;br /&gt;
* libgucharmap + development files (for the character map side pane plugin, libgucharmap-dev)&lt;br /&gt;
* python development files (python-dev or python-devel)&lt;br /&gt;
&lt;br /&gt;
=== Debian and Ubuntu packages required ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt install  automake autoconf make libtool intltool libgtk-3-dev libxml2-dev libenchant-2-dev libgucharmap-2-90-dev python3-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==== Debian / Ubuntu packages for the upcoming 2.2.14 release  ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt install automake autoconf make libtool autopoint libgtk-3-dev libxml2-dev libenchant-2-dev libgucharmap-2-90-dev python3-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Fedora packages required ===&lt;br /&gt;
dnf install automake autoconf gtk3-devel enchant2-devel libxml2-devel gucharmap-devel python3-devel gettext-devel&lt;br /&gt;
&lt;br /&gt;
== Getting and compiling ==&lt;br /&gt;
* get the latest source from http://www.bennewitz.com/bluefish/stable/source/&lt;br /&gt;
* unpack &lt;br /&gt;
** for a gzipped file &#039;&#039;&#039;tar -xzf bluefish-2.2.xxxx.tar.gz&#039;&#039;&#039;&lt;br /&gt;
** for a bzipped file &#039;&#039;&#039;tar -xjf bluefish-2.2.xxxx.tar.bz2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;cd bluefish-2.2.xxxx&#039;&#039;&#039;&lt;br /&gt;
* run &#039;&#039;&#039;./configure&#039;&#039;&#039;&lt;br /&gt;
* run &#039;&#039;&#039;make&#039;&#039;&#039;&lt;br /&gt;
* switch to root and run &#039;&#039;&#039;make install&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Compiling bluefish straight from subversion =&lt;br /&gt;
=== Building (assumes required packages have been installed) ===&lt;br /&gt;
 {{SVN|checkout}}&lt;br /&gt;
 cd bluefish-code/bluefish&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Debian and Ubuntu packages required to build from subversion ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt install libtool autopoint automake autoconf make libgtk-3-dev libenchant-2-dev libgucharmap-2-90-dev libxml2-dev subversion python3-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Compiling_Bluefish_from_source&amp;diff=2906</id>
		<title>Compiling Bluefish from source</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Compiling_Bluefish_from_source&amp;diff=2906"/>
		<updated>2023-05-05T11:50:04Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* Debian and Ubuntu packages required */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling bluefish from source tarballs =&lt;br /&gt;
&lt;br /&gt;
== installing the requirements ==&lt;br /&gt;
&lt;br /&gt;
Build requirements:&lt;br /&gt;
* a C compiler (for example gcc or clang-gcc)&lt;br /&gt;
* gnu make&lt;br /&gt;
&lt;br /&gt;
Library / header file requirements:&lt;br /&gt;
* gtk+ 2 or 3 development files (sometimes called libgtk2.0-dev or libgtk2-devel, or libgtk-3-dev)&lt;br /&gt;
* libxml2 development files (sometimes called libxml2-dev or libxml2-devel)&lt;br /&gt;
&lt;br /&gt;
Optional libraries / header files:&lt;br /&gt;
* libenchant + development files (for spell checking, libenchant-dev)&lt;br /&gt;
* libgucharmap + development files (for the character map side pane plugin, libgucharmap-dev)&lt;br /&gt;
* python development files (python-dev or python-devel)&lt;br /&gt;
&lt;br /&gt;
=== Debian and Ubuntu packages required ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt install  automake autoconf make libtool intltool libgtk-3-dev libxml2-dev libenchant-2-dev libgucharmap-2-90-dev python3-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== for the upcoming 2.2.14 release the following packages are required ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt install automake autoconf make libtool autopoint libgtk-3-dev libxml2-dev libenchant-2-dev libgucharmap-2-90-dev python3-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getting and compiling ==&lt;br /&gt;
* get the latest source from http://www.bennewitz.com/bluefish/stable/source/&lt;br /&gt;
* unpack &lt;br /&gt;
** for a gzipped file &#039;&#039;&#039;tar -xzf bluefish-2.2.xxxx.tar.gz&#039;&#039;&#039;&lt;br /&gt;
** for a bzipped file &#039;&#039;&#039;tar -xjf bluefish-2.2.xxxx.tar.bz2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;cd bluefish-2.2.xxxx&#039;&#039;&#039;&lt;br /&gt;
* run &#039;&#039;&#039;./configure&#039;&#039;&#039;&lt;br /&gt;
* run &#039;&#039;&#039;make&#039;&#039;&#039;&lt;br /&gt;
* switch to root and run &#039;&#039;&#039;make install&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Compiling bluefish straight from subversion =&lt;br /&gt;
=== Building (assumes required packages have been installed) ===&lt;br /&gt;
 {{SVN|checkout}}&lt;br /&gt;
 cd bluefish-code/bluefish&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Debian and Ubuntu packages required to build from subversion ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt install libtool autopoint automake autoconf make libgtk-3-dev libenchant-2-dev libgucharmap-2-90-dev libxml2-dev subversion python3-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Compiling_Bluefish_from_source&amp;diff=2905</id>
		<title>Compiling Bluefish from source</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Compiling_Bluefish_from_source&amp;diff=2905"/>
		<updated>2023-05-05T11:49:21Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* Debian and Ubuntu packages required to build from subversion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling bluefish from source tarballs =&lt;br /&gt;
&lt;br /&gt;
== installing the requirements ==&lt;br /&gt;
&lt;br /&gt;
Build requirements:&lt;br /&gt;
* a C compiler (for example gcc or clang-gcc)&lt;br /&gt;
* gnu make&lt;br /&gt;
&lt;br /&gt;
Library / header file requirements:&lt;br /&gt;
* gtk+ 2 or 3 development files (sometimes called libgtk2.0-dev or libgtk2-devel, or libgtk-3-dev)&lt;br /&gt;
* libxml2 development files (sometimes called libxml2-dev or libxml2-devel)&lt;br /&gt;
&lt;br /&gt;
Optional libraries / header files:&lt;br /&gt;
* libenchant + development files (for spell checking, libenchant-dev)&lt;br /&gt;
* libgucharmap + development files (for the character map side pane plugin, libgucharmap-dev)&lt;br /&gt;
* python development files (python-dev or python-devel)&lt;br /&gt;
&lt;br /&gt;
=== Debian and Ubuntu packages required ===&lt;br /&gt;
* automake&lt;br /&gt;
* autoconf&lt;br /&gt;
* make&lt;br /&gt;
* libtool&lt;br /&gt;
* intltool&lt;br /&gt;
* libgtk-3-dev&lt;br /&gt;
* libxml2-dev&lt;br /&gt;
and optional&lt;br /&gt;
* libenchant-dev&lt;br /&gt;
* libgucharmap-2-90-dev&lt;br /&gt;
* python-dev&lt;br /&gt;
=== for the upcoming 2.2.14 release the following packages are required ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt install automake autoconf make libtool autopoint libgtk-3-dev libxml2-dev libenchant-2-dev libgucharmap-2-90-dev python3-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getting and compiling ==&lt;br /&gt;
* get the latest source from http://www.bennewitz.com/bluefish/stable/source/&lt;br /&gt;
* unpack &lt;br /&gt;
** for a gzipped file &#039;&#039;&#039;tar -xzf bluefish-2.2.xxxx.tar.gz&#039;&#039;&#039;&lt;br /&gt;
** for a bzipped file &#039;&#039;&#039;tar -xjf bluefish-2.2.xxxx.tar.bz2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;cd bluefish-2.2.xxxx&#039;&#039;&#039;&lt;br /&gt;
* run &#039;&#039;&#039;./configure&#039;&#039;&#039;&lt;br /&gt;
* run &#039;&#039;&#039;make&#039;&#039;&#039;&lt;br /&gt;
* switch to root and run &#039;&#039;&#039;make install&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Compiling bluefish straight from subversion =&lt;br /&gt;
=== Building (assumes required packages have been installed) ===&lt;br /&gt;
 {{SVN|checkout}}&lt;br /&gt;
 cd bluefish-code/bluefish&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Debian and Ubuntu packages required to build from subversion ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt install libtool autopoint automake autoconf make libgtk-3-dev libenchant-2-dev libgucharmap-2-90-dev libxml2-dev subversion python3-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
	<entry>
		<id>https://bfwiki.tellefsen.net//index.php?title=Compiling_Bluefish_from_source&amp;diff=2904</id>
		<title>Compiling Bluefish from source</title>
		<link rel="alternate" type="text/html" href="https://bfwiki.tellefsen.net//index.php?title=Compiling_Bluefish_from_source&amp;diff=2904"/>
		<updated>2023-05-05T11:48:29Z</updated>

		<summary type="html">&lt;p&gt;OlivierSessink: /* for the upcoming 2.2.14 release the following packages are required */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Compiling bluefish from source tarballs =&lt;br /&gt;
&lt;br /&gt;
== installing the requirements ==&lt;br /&gt;
&lt;br /&gt;
Build requirements:&lt;br /&gt;
* a C compiler (for example gcc or clang-gcc)&lt;br /&gt;
* gnu make&lt;br /&gt;
&lt;br /&gt;
Library / header file requirements:&lt;br /&gt;
* gtk+ 2 or 3 development files (sometimes called libgtk2.0-dev or libgtk2-devel, or libgtk-3-dev)&lt;br /&gt;
* libxml2 development files (sometimes called libxml2-dev or libxml2-devel)&lt;br /&gt;
&lt;br /&gt;
Optional libraries / header files:&lt;br /&gt;
* libenchant + development files (for spell checking, libenchant-dev)&lt;br /&gt;
* libgucharmap + development files (for the character map side pane plugin, libgucharmap-dev)&lt;br /&gt;
* python development files (python-dev or python-devel)&lt;br /&gt;
&lt;br /&gt;
=== Debian and Ubuntu packages required ===&lt;br /&gt;
* automake&lt;br /&gt;
* autoconf&lt;br /&gt;
* make&lt;br /&gt;
* libtool&lt;br /&gt;
* intltool&lt;br /&gt;
* libgtk-3-dev&lt;br /&gt;
* libxml2-dev&lt;br /&gt;
and optional&lt;br /&gt;
* libenchant-dev&lt;br /&gt;
* libgucharmap-2-90-dev&lt;br /&gt;
* python-dev&lt;br /&gt;
=== for the upcoming 2.2.14 release the following packages are required ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt install automake autoconf make libtool autopoint libgtk-3-dev libxml2-dev libenchant-2-dev libgucharmap-2-90-dev python3-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getting and compiling ==&lt;br /&gt;
* get the latest source from http://www.bennewitz.com/bluefish/stable/source/&lt;br /&gt;
* unpack &lt;br /&gt;
** for a gzipped file &#039;&#039;&#039;tar -xzf bluefish-2.2.xxxx.tar.gz&#039;&#039;&#039;&lt;br /&gt;
** for a bzipped file &#039;&#039;&#039;tar -xjf bluefish-2.2.xxxx.tar.bz2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;cd bluefish-2.2.xxxx&#039;&#039;&#039;&lt;br /&gt;
* run &#039;&#039;&#039;./configure&#039;&#039;&#039;&lt;br /&gt;
* run &#039;&#039;&#039;make&#039;&#039;&#039;&lt;br /&gt;
* switch to root and run &#039;&#039;&#039;make install&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Compiling bluefish straight from subversion =&lt;br /&gt;
=== Building (assumes required packages have been installed) ===&lt;br /&gt;
 {{SVN|checkout}}&lt;br /&gt;
 cd bluefish-code/bluefish&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Debian and Ubuntu packages required to build from subversion ===&lt;br /&gt;
* libtool&lt;br /&gt;
* intltool&lt;br /&gt;
* automake&lt;br /&gt;
* autoconf&lt;br /&gt;
* make&lt;br /&gt;
* libgtk-3-dev&lt;br /&gt;
* libenchant-dev&lt;br /&gt;
* libgucharmap-2-90-dev&lt;br /&gt;
* libxml2-dev&lt;br /&gt;
* subversion&lt;br /&gt;
* python-dev&lt;/div&gt;</summary>
		<author><name>OlivierSessink</name></author>
	</entry>
</feed>