fix WiX build

This commit is contained in:
Christopher Mosher 2013-12-17 23:33:43 -05:00
parent 6a231c3812
commit f3b551011f
2 changed files with 102 additions and 81 deletions

View File

@ -14,11 +14,11 @@ for your particular platform.
=== Debian Linux Example === Arch Linux Example
[source,sh] [source,sh]
--------------------------------------------------- ---------------------------------------------------
sudo apt-get install build-essential libsdl1.2-dev # <1> sudo pacman -S base-devel sdl2 # <1>
cd cd
mkdir epple2 mkdir epple2
cd epple2 cd epple2
@ -26,7 +26,7 @@ wget http://mosher.mine.nu/epple2/download/epple2-latest.tar.gz # <2>
tar xzvf epple2-latest.tar.gz tar xzvf epple2-latest.tar.gz
mkdir build # <3> mkdir build # <3>
cd build cd build
../epple2-1.0/configure # <4> ../epple2-1.1/configure # <4>
make # <5> make # <5>
sudo make install # <6> sudo make install # <6>
--------------------------------------------------- ---------------------------------------------------
@ -43,48 +43,67 @@ sudo make install # <6>
==== Install MinGW/MSYS ==== Install MinGW/MSYS
Install MSYS into +C:\msys\+ Install MinGW into +C:\MinGW\+
Install MinGW into +C:\msys\mingw\+ For more information on MinGW, see http://www.mingw.org/[].
For more information on MinGW and MSYS, see http://www.mingw.org/[]. ==== Install WiX
See http://wixtoolset.org/[] for more information.
Download the latest version, for example: win38.exe, and install it.
Run MSYS.BAT and add WiX to your PATH in +~/.profile+. For example:
[source,sh]
--------
export PATH="$PATH:/c/Program Files (x86)/WiX Toolset v3.8/bin"
--------
==== Install SDL ==== Install SDL
At http://www.libsdl.org/[] find the download page. At http://www.libsdl.org/[] find the download page for SDL 2.0.
Download the ``Development Libraries'' for Win32/mingw, for example: Download the ``Development Libraries'' for MinGW, for example:
+SDL-devel-1.2.13-mingw32.tar.gz+ (Mingw32) +SDL2-devel-2.0.1-mingw.tar.gz+
and save it to your MSYS home directory (for example, +C:\msys\home\Administrator+). and save it to your MSYS home directory (for example, +C:\Users\Administrator+).
Run MSYS, and at the bash prompt, go to your home directory and Run MSYS.BAT, and at the bash prompt, go to your home directory and
untar the SDL archive to your home directory: untar the SDL archive to your home directory:
[source,sh] [source,sh]
-------- --------
$ cd $ cd
$ tar xzvf SDL-devel-1.2.13-mingw32.tar.gz $ tar xzvf SDL2-devel-2.0.1-mingw.tar.gz
-------- --------
Then follow the instructions to install SDL, for example: Then follow the instructions to install SDL, for example:
[source,sh] [source,sh]
-------- --------
$ cd SDL-1.2.13 $ cd SDL2-2.0.1
$ make native $ make native
-------- --------
I also needed to create a symlink for the SDL include files:
[source,sh]
--------
$ cd /usr/include
$ ln -s SDL2 SDL
--------
==== Untar Epple ][ Source ==== Untar Epple ][ Source
Download the Epple ][ Source Distribution Download the Epple ][ Source Distribution
and save it to your MSYS home directory (for example, +C:\msys\home\Administrator+). and save it to your MSYS home directory (for example, +C:\Users\Administrator+).
Run MSYS, and at the bash prompt, go to your home directory and Run MSYS, and at the bash prompt, go to your home directory and
untar the epple2 source distribution tar file. For example: untar the epple2 source distribution tar file. For example:
[source,sh] [source,sh]
-------- --------
$ cd $ cd
$ tar xzvf epple2-1.0.tar.gz $ tar xzvf epple2-1.1.tar.gz
-------- --------
==== Build Epple ][ ==== Build Epple ][
@ -108,11 +127,8 @@ example (from the +buildepple2+ directory you just created):
[source,sh] [source,sh]
-------- --------
$ ~/epple2/configure --prefix= \ $ ~/epple2/configure --prefix= CXXFLAGS=-I/usr/include LDFLAGS=-L/usr/lib
CXXFLAGS="-I/usr/include -O4 -msse3" \ $ make CXXFLAGS="-I/usr/include `sdl2-config --cflags`" LDFLAGS="`sdl2-config --cflags` -static-libstdc++ -static-libgcc"
CFLAGS="-I/usr/include" \
LDFLAGS="-L/usr/lib -mconsole -mthreads -mno-cygwin"
$ make
-------- --------
If all goes well, it will build without any errors. If all goes well, it will build without any errors.

View File

@ -1,61 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi"> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Name="EPPLE ][" Id="d603c69f-4116-4b8e-910f-44f488a772a4" Language="1033" Codepage="1252" Version="1.0.0" Manufacturer="Chris Mosher"> <Product Id="*" UpgradeCode="b3bb155f-13e7-4cb8-9c7a-61117c93e36c" Version="1.2" Language="1033" Name="Epple2" Manufacturer="Christopher Alan Mosher">
<Package Id="0ca046fe-0adb-4df3-9fab-048baa55b165" Description="Emulated Apple ][" InstallerVersion="100" Languages="1033" Compressed="yes" /> <Package InstallerVersion="300" Compressed="yes"/>
<Media Id="1" Cabinet="Epple2.cab" EmbedCab="yes" DiskPrompt="Epple2.cab" /> <Media Id="1" Cabinet="Epple2.cab" EmbedCab="yes" />
<Property Id="DiskPrompt" Value="Epple ][ Installation" />
<Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder" Name="PFiles"> <Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLDIR" Name="Epple2"> <Directory Id="APPLICATIONROOTDIRECTORY" Name="Epple2">
<Directory Id="bindot" Name="."> <Directory Id="bindot" Name=".">
<Directory Id="bin" Name="bin"> <Directory Id="bin" Name="bin" />
<Component Id="MainExecutable" Guid="d3f60e2b-92e2-4a41-b83a-a38591c2e6c3">
<File Id="EPPLE2_EXE" Name="epple2.exe" DiskId="1" Source="epple2.exe" Vital="yes">
<Shortcut Id="startmenuEpple2" Directory="ProgramMenuDir" Name="Epple2" WorkingDirectory="INSTALLDIR" />
<Shortcut Id="desktopEpple2" Directory="DesktopFolder" Name="Epple2" WorkingDirectory="INSTALLDIR" />
</File>
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
</Component>
<Component Id="SDL" Guid="d8e283c0-9af6-4275-8d66-45ca2a0e51ce">
<File Id="SDLDLL" Name="sdl.dll" DiskId="1" Source="$(var.SDLDIR)\SDL.dll" />
</Component>
<Component Id="MINGWM" Guid="d8e283c0-9af6-4275-8d66-45ca2a0e51ce">
<File Id="MINGWMDLL" Name="mingwm10.dll" DiskId="1" Source="$(var.MINGWMDIR)\mingwm10.dll" />
</Component>
</Directory> </Directory>
</Directory>
<Directory Id="etcdot" Name="."> <Directory Id="etcdot" Name=".">
<Directory Id="etc" Name="etc"> <Directory Id="etc" Name="etc">
<Directory Id="etc_epple2" Name="epple2"> <Directory Id="conf" Name="epple2"/>
<Component Id="ConfigFiles" Guid="73057afd-e28b-48b1-b428-6e2bf029b74d"> </Directory>
<File Id="Config" Name="epple2.cfg" LongName="epple2.conf" DiskId="1" Source="..\conf\epple2.conf" Vital="yes" /> </Directory>
<File Id="Config_rev0bare" Name="epple2_1.cfg" LongName="epple2.rev0bare.conf" DiskId="1" Source="..\conf\epple2.rev0bare.conf" Vital="yes" /> </Directory>
<File Id="Config_a2bare" Name="epple2_2.cfg" LongName="epple2.a2bare.conf" DiskId="1" Source="..\conf\epple2.a2bare.conf" Vital="yes" /> </Directory>
<File Id="Config_a2dos31" Name="epple2_3.cfg" LongName="epple2.a2dos31.conf" DiskId="1" Source="..\conf\epple2.a2dos31.conf" Vital="yes" /> <Directory Id="ProgramMenuFolder" Name="Programs">
<File Id="Config_a2dos33" Name="epple2_4.cfg" LongName="epple2.a2dos33.conf" DiskId="1" Source="..\conf\epple2.a2dos33.conf" Vital="yes" /> <Directory Id="ApplicationProgramsFolder" Name="Epple2"/>
<File Id="Config_a2loaded" Name="epple2_5.cfg" LongName="epple2.a2loaded.conf" DiskId="1" Source="..\conf\epple2.a2loaded.conf" Vital="yes" /> </Directory>
</Directory>
<DirectoryRef Id="bin">
<Component Id="epple2.exe" Guid="ffd2b182-9144-42c7-a836-2355f132b90a">
<File Id="epple2.exe" Source="epple2.exe" KeyPath="yes" Checksum="yes"/>
<File Id="SDLDLL" Name="sdl2.dll" Source="$(var.SDLDIR)\SDL2.dll" />
</Component> </Component>
</Directory> </DirectoryRef>
</Directory>
</Directory>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder" Name="PMenu" LongName="Programs"> <DirectoryRef Id="ApplicationProgramsFolder">
<Directory Id="ProgramMenuDir" Name="Epple2" /> <Component Id="ApplicationShortcut" Guid="3ad5f6f0-9def-468a-b12b-b01bebdc754a">
</Directory> <Shortcut Id="ApplicationStartMenuShortcut"
Name="Epple2"
Description="Emulated Apple 2"
Target="[bin]epple2.exe"
WorkingDirectory="APPLICATIONROOTDIRECTORY"/>
<Shortcut Id="UninstallProduct"
Name="Uninstall Epple2"
Description="Uninstalls Epple2"
Target="[System64Folder]msiexec.exe"
Arguments="/x [ProductCode]"/>
<RemoveFolder Id="RemoveApplicationProgramsFolder" Directory="ApplicationProgramsFolder" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\Mosher\Epple2" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
<Directory Id="DesktopFolder" Name="Desktop" /> <DirectoryRef Id="conf">
</Directory> <Component Id="ConfigFiles" Guid="73840760-f488-4b60-8bc2-ccdf2196153d">
<File Id="Config" Name="epple2.conf" Source="..\conf\epple2.conf" Vital="yes" />
<File Id="Config_rev0bare" Name="epple2.rev0bare.conf" Source="..\conf\epple2.rev0bare.conf" Vital="yes" />
<File Id="Config_a2bare" Name="epple2.a2bare.conf" Source="..\conf\epple2.a2bare.conf" Vital="yes" />
<File Id="Config_a2dos31" Name="epple2.a2dos31.conf" Source="..\conf\epple2.a2dos31.conf" Vital="yes" />
<File Id="Config_a2dos33" Name="epple2.a2dos33.conf" Source="..\conf\epple2.a2dos33.conf" Vital="yes" />
<File Id="Config_a2loaded" Name="epple2.a2loaded.conf" Source="..\conf\epple2.a2loaded.conf" Vital="yes" />
</Component>
</DirectoryRef>
<Feature Id="Complete" Level="1"> <Feature Id="MainApplication" Title="Main Application" Level="1">
<ComponentRef Id="MainExecutable" /> <ComponentRef Id="epple2.exe" />
<ComponentRef Id="ApplicationShortcut" />
<ComponentRef Id="ConfigFiles" /> <ComponentRef Id="ConfigFiles" />
<ComponentRef Id="SDL" />
<ComponentRef Id="MINGWM" />
</Feature> </Feature>
</Product> </Product>
</Wix> </Wix>