Trying to sync INSTALL w/ Shin-Ichi's page

This commit is contained in:
Bill Kendrick 2022-07-08 23:42:25 -07:00
parent fccea4edb4
commit 148d26af7f
5 changed files with 820 additions and 630 deletions

View file

@ -62,7 +62,7 @@
section.indent dl p {
margin-left: 0;
}
p + ul {
p + ul, p + ol {
margin-left: 2em;
}
@ -96,7 +96,7 @@
</p>
<p>
junio 4, 2022 </p>
julio 8, 2022 </p>
</center>
</header>
@ -301,7 +301,7 @@
<p style="font-size: small;">
<em>
mayo 16, 2022 Shin-ichi TOYAMA dolphin6k@wmail.plala.or.jp &lt;<a href="mailto:dolphin6k@wmail.plala.or.jp">dolphin6k@wmail.plala.or.jp</a>&gt;
julio 8, 2022 Shin-ichi TOYAMA &lt;<a href="mailto:dolphin6k@wmail.plala.or.jp">dolphin6k@wmail.plala.or.jp</a>&gt;
</em>
</p>
</header>
@ -314,35 +314,48 @@
<p>
As of February 2005 (starting with Tux Paint 0.9.15), the "<code>Makefile</code>" includes support for building on a Windows system using MinGW/MSYS (<a href="https://sourceforge.net/projects/msys2/">https://sourceforge.net/projects/msys2/</a>). </p>
<p class="note">
<span title="Information">&#128161;</span> <strong>Note:</strong> This documentation relates to the SDL2.0 version of Tux Paint, which became available starting with version 0.9.28 in June 2022. </p>
<p>
Many tools and libraries are required to build Tux Paint. The package management system "<code>pacman</code>" helps you install them automatically solving complicated dependencies. </p>
<p>
Download the latest MSYS2 environment from <a href="https://sourceforge.net/projects/msys2/files/Base/">https://sourceforge.net/projects/msys2/files/Base/</a> and install it where you'd like (the default is "<code>C:\msys64</code>") </p>
<p>
Open the MSYS2 shell from the "Start Menu" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MSYS" and execute following command (press <b><code>[Enter]</code></b> or <b><code>[Return]</code></b> to accept the defaults for all questions):
<blockquote>
<code>
pacman -Syu
</code>
</blockquote>
</p>
<section class="indent"><!-- H4: MSYS2 -->
<header>
<h4>MYSYS2</h4>
</header>
<p>
This will update core system and the window will close automatically. Repeat the steps above one more time to finish the remaining update process. </p>
<p>
Within the MSYS2 shell, run the following command to install basic development tools: <blockquote>
<code>
pacman -S make automake-wrapper autoconf-wrapper libtool git zip patch gperf
</code>
</blockquote>
</p>
<p>
<i>
Proceed to the next "<a href="#64bit">MinGW 64bit (x86_64) toolchains</a>" section, or skip to the "<a href="#32bit">MinGW 32bit (i686) toolchains</a>" section if you need only a 32bit build environment. </i>
</p>
<p>
Download the latest MSYS2 environment from <a href="https://www.msys2.org/">https://www.msys2.org/</a> and install it where you'd like (the default is "<code>C:\msys64</code>") </p>
<p>
Open the MSYS2 shell from the "Start Menu" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MSYS" and execute following command: <blockquote>
<code>
$ yes "" | pacman -Syu
</code>
</blockquote>
</p>
<p>
This will update core system and the window will close automatically. Open the msys2 shell again and execute following command to finish remaining updating process. <blockquote>
<code>
$ yes "" | pacman -Syu
</code>
</blockquote>
</p>
<p>
Within the MSYS2 shell, run the following command to install basic development tools: <blockquote>
<code>
$ yes "" | pacman -S make automake-wrapper autoconf-wrapper libtool git zip patch gperf dos2unix
</code>
</blockquote>
</p>
<p>
<i>
Proceed to the next "<a href="#64bit">MinGW 64bit (x86_64) toolchains</a>" section, or skip to the "<a href="#32bit">MinGW 32bit (i686) toolchains</a>" section if you need only a 32bit build environment. </i>
</p>
</section>
<hr size="1" noshade width="75%" />
<section class="indent"><!-- H4: MinGW...compiler and tools -->
@ -356,7 +369,7 @@
<p>
Within the MSYS2 shell, run the following command to install 64bit compiler and basic development tools: <blockquote>
<code>
pacman -S mingw-w64-x86_64-{gcc,pkgconf,ntldd-git}
$ yes "" | pacman -S mingw-w64-x86_64-{gcc,pkgconf,ntldd-git}
</code>
</blockquote>
</p>
@ -371,18 +384,14 @@
</header>
<p>
You can install tools and libraries required for compiling Tux Paint and Tux Paint Config on MSYS2/MINGW using "<code>pacman</code>" except for SDL_mixer, SDL_Pango and libunibreak. </p>
You can install tools and libraries required for compiling Tux Paint and Tux Paint Config on MSYS2/MINGW using "<code>pacman</code>" except for SDL2_Pango and libunibreak. </p>
<p>
FLTK is a cross-platform GUI toolkit used by "Tux Paint Config". You can skip installing it if you are <em>only</em> building "Tux Paint". </p>
<p>
<blockquote>
<code>
$ pacman -S mingw-w64-x86_64-SDL_{image,ttf,gfx}<br/>
$ pacman -S mingw-w64-x86_64-libvorbis<br/>
$ pacman -S mingw-w64-x86_64-librsvg<br/>
$ pacman -S mingw-w64-x86_64-fribidi<br/>
$ pacman -S mingw-w64-x86_64-libimagequant<br/>
$ pacman -S mingw-w64-x86_64-fltk<br/>
$ pacman -S mingw-w64-x86_64-{librsvg,fribidi,libimagequant,fltk}<br/>
</code>
</blockquote>
</p>
@ -393,52 +402,27 @@
<section class="indent"><!-- H4: Install SDL_Pango... -->
<header>
<h4>
Install SDL_mixer, SDL_Pango and libunibreak on the 64bit environment </h4>
Install SDL2_Pango and libunibreak on the 64bit environment </h4>
</header>
<p>
SDL_mixer, SDL_Pango and libunibreak should be installed manually. </p>
SDL2_Pango and libunibreak should be installed manually. </p>
<p>
This time, use the MinGW "64bit" shell. Open the shell from the "Start Menu" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MinGW 64-bit" </p>
<section class="indent"><!-- H5: SDL_mixer -->
<header>
<h5>SDL_mixer</h5>
</header>
<p>
Download <a href="https://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.12.tar.gz">source tar-ball of SDL_mixer-1.2.12</a> from <a href="https://www.libsdl.org/projects/SDL_mixer/">SDL_mixer's page</a>. </p>
<p>
Build and install SDL_mixer as follows. <blockquote>
<code>
$ tar zxvf SDL_mixer-1.2.12.tar.gz<br/>
$ cd SDL_mixer-1.2.12/<br/>
$ ./configure --prefix=/mingw64 &amp;&amp; make &amp;&amp; make install
</code>
</blockquote>
</p>
</section><!-- H5: SDL_mixer -->
<section class="indent"><!-- H5: SDL_Pango -->
<section class="indent"><!-- H5: SDL2_Pango -->
<header>
<h5>SDL_Pango</h5>
</header>
<p>
At first, you have to prepare source tar-ball and a required patch in the same directory. <ul>
<li>
Download <a href="https://sourceforge.net/projects/sdlpango/files/SDL_Pango/0.1.2/SDL_Pango-0.1.2.tar.gz/download">source tar-ball of SDL_Pango-0.1.2</a> from <a href="https://sourceforge.net/projects/sdlpango/">SDL_Pango's page on Sourceforge.net</a>. </li>
<li>
Download <a href="http://johnnypops.co.uk/tuxpaint/SDL_Pango-configure-extra-api.patch">a patch file</a> from <a href="http://www.johnnypops.co.uk/tuxpaint/">John Popplewell's "Tux Paint - MinGW/MSYS build instructions" webpage</a>. (This adds some extra (required) functionality to SDL_Pango.) </li>
</ul>
</p>
<p>
Build and install SDL_Pango as follows. <blockquote>
Download <a href="https://z1.plala.jp/tuxpaint/SDL2_Pango-dll.patch">a patch</a> from <a href="https://z1.plala.jp/tuxpaint/buildwin.html">z1.plala.jp</a>, which enable SDL2_Pango to create dlls, then build and install SDL2_Pango as follows. <blockquote>
<code>
$ tar zxvf SDL_Pango-0.1.2.tar.gz<br/>
$ cd SDL_Pango-0.1.2/<br/>
$ patch -p0 &lt; ../SDL_Pango-configure-extra-api.patch<br/>
$ ./configure --prefix=/mingw64 &amp;&amp; make &amp;&amp; make install
$ wget https://z1.plala.jp/tuxpaint/SDL2_Pango-dll.patch<br/>
$ git clone https://github.com/markuskimius/SDL2_Pango<br/>
$ cd SDL2_Pango<br/>
$ patch -p0 &lt; ../SDL2_Pango-dll.patch<br/>
$ ./configure --prefix=/mingw64 &amp;&amp; make &amp;&amp; make install<br/>
</code>
</blockquote>
</p>
@ -481,7 +465,7 @@
<p>
Within the MSYS2 shell, run the following command to install 32bit compiler and basic development tools: <blockquote>
<code>
pacman -S mingw-w64-i686-{gcc,pkgconf,ntldd-git}
$ yes "" | pacman -S mingw-w64-i686-{gcc,pkgconf,ntldd-git}
</code>
</blockquote>
</p>
@ -496,18 +480,14 @@
</header>
<p>
You can install tools and libraries required for compiling Tux Paint and Tux Paint Config on MSYS2/MINGW using "<code>pacman</code>" except for SDL_mixer, SDL_Pango and libunibreak. </p>
You can install tools and libraries required for compiling Tux Paint and Tux Paint Config on MSYS2/MINGW using "<code>pacman</code>" except for SDL2_Pango and libunibreak. </p>
<p>
FLTK is a cross-platform GUI toolkit used by "Tux Paint Config". You can skip installing it if you are <em>only</em> building "Tux Paint". </p>
<p>
<blockquote>
<code>
$ pacman -S mingw-w64-i686-SDL_{image,ttf,gfx}<br/>
$ pacman -S mingw-w64-i686-libvorbis<br/>
$ pacman -S mingw-w64-i686-librsvg<br/>
$ pacman -S mingw-w64-i686-fribidi<br/>
$ pacman -S mingw-w64-i686-libimagequant<br/>
$ pacman -S mingw-w64-i686-fltk<br/>
$ pacman -S mingw-w64-i686-{librsvg,fribidi,libimagequant,fltk}<br/>
</code>
</blockquote>
</p>
@ -518,52 +498,27 @@
<section class="indent"><!-- H4: Install SDL_Pango... -->
<header>
<h4>
Install SDL_mixer, SDL_Pango and libunibreak on the 32bit environment </h4>
Install SDL2_Pango and libunibreak on the 32bit environment </h4>
</header>
<p>
SDL_mixer, SDL_Pango and libunibreak should be installed manually. </p>
SDL2_Pango and libunibreak should be installed manually. </p>
<p>
This time, use the MinGW "32bit" shell. Open the shell from the "Start Menu" -&gt; "MSYS2 64bit" -&gt; "MSYS2 MinGW 32-bit" </p>
<section class="indent"><!-- H5: SDL_mixer -->
<header>
<h5>SDL_mixer</h5>
</header>
<p>
Download <a href="https://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.12.tar.gz">source tar-ball of SDL_mixer-1.2.12</a> from <a href="https://www.libsdl.org/projects/SDL_mixer/">SDL_mixer's page</a>. </p>
<p>
Build and install SDL_mixer as follows. <blockquote>
<code>
$ tar zxvf SDL_mixer-1.2.12.tar.gz<br/>
$ cd SDL_mixer-1.2.12/<br/>
$ ./configure --prefix=/mingw32 &amp;&amp; make &amp;&amp; make install
</code>
</blockquote>
</p>
</section><!-- H5: SDL_mixer -->
<section class="indent"><!-- H5: SDL_Pango -->
<section class="indent"><!-- H5: SDL2_Pango -->
<header>
<h5>SDL_Pango</h5>
</header>
<p>
At first, you have to prepare source tar-ball and a required patch in the same directory. <ul>
<li>
Download <a href="https://sourceforge.net/projects/sdlpango/files/SDL_Pango/0.1.2/SDL_Pango-0.1.2.tar.gz/download">source tar-ball of SDL_Pango-0.1.2</a> from <a href="https://sourceforge.net/projects/sdlpango/">SDL_Pango's page on Sourceforge.net</a>. </li>
<li>
Download <a href="http://johnnypops.co.uk/tuxpaint/SDL_Pango-configure-extra-api.patch">a patch file</a> from <a href="http://www.johnnypops.co.uk/tuxpaint/">John Popplewell's "Tux Paint - MinGW/MSYS build instructions" webpage</a>. (This adds some extra (required) functionality to SDL_Pango.) </li>
</ul>
</p>
<p>
Build and install SDL_Pango as follows. <blockquote>
Download <a href="https://z1.plala.jp/tuxpaint/SDL2_Pango-dll.patch">a patch</a> from <a href="https://z1.plala.jp/tuxpaint/buildwin.html">z1.plala.jp</a>, which enable SDL2_Pango to create dlls, then build and install SDL2_Pango as follows. <blockquote>
<code>
$ tar zxvf SDL_Pango-0.1.2.tar.gz<br/>
$ cd SDL_Pango-0.1.2/<br/>
$ patch -p0 &lt; ../SDL_Pango-configure-extra-api.patch<br/>
$ ./configure --prefix=/mingw32 &amp;&amp; make &amp;&amp; make install
$ wget https://z1.plala.jp/tuxpaint/SDL2_Pango-dll.patch<br/>
$ git clone https://github.com/markuskimius/SDL2_Pango<br/>
$ cd SDL2_Pango<br/>
$ patch -p0 &lt; ../SDL2_Pango-dll.patch<br/>
$ ./configure --prefix=/mingw32 &amp;&amp; make &amp;&amp; make install<br/>
</code>
</blockquote>
</p>
@ -602,7 +557,7 @@
<p>
<a href="https://imagemagick.org">ImageMagick</a> is a compilation of command line tools to create, edit, compose, or convert bitmap images supporting quite a large number of image formats. Tux Paint uses two functions ("convert" and "composite") in it to generate thumbnails for startar images and templates during the build process. </p>
<p>
Using official binary release available from "<a href="https://imagemagick.org/script/download.php#windowsand">Windows Binary Release</a>" is recommended, due to the commands installed with "<code>pacman</code>" on MinGW/MSYS not working as expected! </p>
Using official binary release available from "<a href="https://imagemagick.org/script/download.php#windows">Windows Binary Release</a>" is recommended, due to the commands installed with "<code>pacman</code>" on MinGW/MSYS not working as expected! </p>
<p>
Do not forget to enable "Install legacy utilities (e.g. convert)" while installing it, because Tux Paint's build process uses them. </p>
<p>
@ -616,31 +571,114 @@
You can make this permanent by adding the above to your the BASH shell configuration file, "<code>~/.bash_profile</code>". </p>
</section><!-- H3: ImageMagick -->
<section class="indent"><!-- H3: Tux Paint -->
<section class="indent"><!-- H3: Tux Paint & Tux Paint Config. -->
<header>
<h3>Tux Paint</h3>
<h3>Tux Paint &amp; Tux Paint Config.</h3>
</header>
<p>
You can compile 64bit binaries using MSYS2 64bit shell, and 32bit binaries using MSYS2 32bit shell, respectively. </p>
You can compile 64-bit binaries using "MSYS2 64bit" shell, and 32-bit binaries using "MSYS2 32bit" shell, respectively. </p>
<ul>
<li>
Select "MSYS2 64bit" -&gt; "MSYS2 MinGW 64-bit" from the "Start Menu" to open the 64bit shell. </li>
<li>
Select "MSYS2 64bit" -&gt; "MSYS2 MinGW 32-bit" from the "Start Menu" to open the 32bit shell. </li>
</ul>
<p>
Compile Tux Paint with the following command: <blockquote>
<code>
$ make bdist-win32
</code>
</blockquote>
</p>
<p class="note">
<span title="Information">&#128161;</span> <strong>Note:</strong> At this point, you will want to build "Tux Paint Config." for Windows, so it can be included along with "Tux Paint", if you're making an official (or test) release. The build process will look for it in a directory named "<code>tuxpaint-config</code>" (with no version number, e.g., "<code>tuxpaint-config-X.Y.Z</code>"). See "Tux Paint Config."'s INSTALL.txt documentation for details. </p>
<section class="indent"><!-- H4: Tux Paint Config. -->
<header>
<h4>Tux Paint Config.</h4>
</header>
<p>
"Tux Paint Config" is a useful graphical tool for tweaking Tux Paint's behavior. You have to build this component before compiling Tux Paint if you want to have it included in your package. </p>
<p>
You can use either (a) a stable tar-ball release, or (b) the developing source tree. <ol type="a">
<li>
Using stable tar-ball release: <ul>
<li>
<a href="https://sourceforge.net/projects/tuxpaint/files/tuxpaint-config/">Download a source tar-ball</a>
</li>
<li>
Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote>
<code>
$ tar zxvf tuxpaint-config-A.B.C.tar.gz<br/>
$ mv tuxpaint-config-A.B.C tuxpaint-config<br/>
</code>
</blockquote>
</li>
</ul>
</li>
<li>
Using the developing source tree: <ul>
<li>
Fetch the developing source tree from git repository: <blockquote>
<code>
$ git clone https://git.code.sf.net/p/tuxpaint/tuxpaint-config tuxpaint-config
</code>
</blockquote>
</li>
</ul>
</li>
</ol>
</p>
<p>
Now you can build Tux Paint Config. as follows: <blockquote>
<code>
$ cd tuxpaint-config<br/>
$ make win32<br/>
</code>
</blockquote>
</p>
</section><!-- H4: Tux Paint Config. -->
<section class="indent"><!-- H4: Tux Paint -->
<header>
<h4>Tux Paint</h4>
</header>
<p>
You can use either (a) a stable tar-ball release, or (b) the developing source tree. <ol type="a">
<li>
Using stable tar-ball release: <ul>
<li>
<a href="https://sourceforge.net/projects/tuxpaint/files/tuxpaint/">Download a source tar-ball</a>
</li>
<li>
Expand the tar-ball and change the directory name so that the final packaging process can find related files. <blockquote>
<code>
$ tar zxvf tuxpaint-A.B.C-sdl2.tar.gz<br/>
$ mv tuxpaint-A.B.C-sdl2 tuxpaint-sdl2<br/>
</code>
</blockquote>
</li>
</ul>
</li>
<li>
Using the developing source tree: <ul>
<li>
Fetch the developing source tree from git repository: <blockquote>
<code>
$ git clone -b sdl2.0 https://git.code.sf.net/p/tuxpaint/tuxpaint tuxpaint-sdl2
</code>
</blockquote>
</li>
</ul>
</li>
</ol>
</p>
<p>
Now you can build Tux Paint as follows: <blockquote>
<code>
$ cd tuxpaint-sdl2<br/>
$ make bdist-win32<br/>
</code>
</blockquote>
</p>
</section><!-- H4: Tux Paint -->
<p>
All the files needed for starting Tux Paint (and Tux Paint Config.) are collected in the directory for binary distribution "<code>bdist</code>" directory under "<code>win32</code>". You can start them by double-clicking their executable (<code>.exe</code>) files in the "<code>bdist</code>" directory. </p>
</section><!-- H3: Tux Paint -->
</section><!-- H3: Tux Paint & Tux Paint Config. -->
<section class="indent"><!-- H3: Building the Tux Paint Windows Installer -->
<header>
@ -655,7 +693,7 @@
<p>
Before building an installer, edit the "<code>tuxpaint.iss</code>" file and enable one of the lines starting with "<code>#define BuildTarget=</code>", depending on the architecture of the installer you want to create. </p>
<p>
Then, you can easily build an executable installer by right-clicking on the "<code>tuxpaint.iss</code>" icon in the "<code>win32</code>" directory and selecting "Compile" on the list. It will run for a while, and eventually you will find a "<code>tuxpaint-<i>X.Y.Z</i>-windows-&lt;arch&gt;-installer.exe</code>" file in the same directory. </p>
Then, you can easily build an executable installer by right-clicking on the "<code>tuxpaint.iss</code>" icon in the "<code>win32</code>" directory and selecting "Compile" on the list. It will run for a while, and eventually you will find a "<code>tuxpaint-<i>X.Y.Z</i>-windows-sdl2.0-&lt;arch&gt;-installer.exe</code>" file in the same directory. </p>
</section><!-- H3: Building the Tux Paint Windows Installer -->
<section class="indent"><!-- H3: Running the Tux Paint Windows Installer -->
@ -942,7 +980,7 @@
<p>
Although Tux Paint is built without the Xcode IDE, Xcode itself is still required to build Tux Paint. <a href="https://developer.apple.com/xcode/ide/">Download it from the App Store</a>, and launch it once to accept its license agreements. You may also need to install the Xcode command line tools using the command: <blockquote>
<code>
xcode-select --install
$ xcode-select --install
</code>
</blockquote>
</p>