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]
---------------------------------------------------
sudo apt-get install build-essential libsdl1.2-dev # <1>
sudo pacman -S base-devel sdl2 # <1>
cd
mkdir 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
mkdir build # <3>
cd build
../epple2-1.0/configure # <4>
../epple2-1.1/configure # <4>
make # <5>
sudo make install # <6>
---------------------------------------------------
@ -43,48 +43,67 @@ sudo make install # <6>
==== 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
At http://www.libsdl.org/[] find the download page.
Download the ``Development Libraries'' for Win32/mingw, for example:
At http://www.libsdl.org/[] find the download page for SDL 2.0.
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+).
Run MSYS, and at the bash prompt, go to your home directory and
and save it to your MSYS home directory (for example, +C:\Users\Administrator+).
Run MSYS.BAT, and at the bash prompt, go to your home directory and
untar the SDL archive to your home directory:
[source,sh]
--------
$ 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:
[source,sh]
--------
$ cd SDL-1.2.13
$ cd SDL2-2.0.1
$ 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
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
untar the epple2 source distribution tar file. For example:
[source,sh]
--------
$ cd
$ tar xzvf epple2-1.0.tar.gz
$ tar xzvf epple2-1.1.tar.gz
--------
==== Build Epple ][
@ -108,11 +127,8 @@ example (from the +buildepple2+ directory you just created):
[source,sh]
--------
$ ~/epple2/configure --prefix= \
CXXFLAGS="-I/usr/include -O4 -msse3" \
CFLAGS="-I/usr/include" \
LDFLAGS="-L/usr/lib -mconsole -mthreads -mno-cygwin"
$ make
$ ~/epple2/configure --prefix= CXXFLAGS=-I/usr/include LDFLAGS=-L/usr/lib
$ make CXXFLAGS="-I/usr/include `sdl2-config --cflags`" LDFLAGS="`sdl2-config --cflags` -static-libstdc++ -static-libgcc"
--------
If all goes well, it will build without any errors.

View File

@ -1,61 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
<Product Name="EPPLE ][" Id="d603c69f-4116-4b8e-910f-44f488a772a4" Language="1033" Codepage="1252" Version="1.0.0" Manufacturer="Chris Mosher">
<Package Id="0ca046fe-0adb-4df3-9fab-048baa55b165" Description="Emulated Apple ][" InstallerVersion="100" Languages="1033" Compressed="yes" />
<Media Id="1" Cabinet="Epple2.cab" EmbedCab="yes" DiskPrompt="Epple2.cab" />
<Property Id="DiskPrompt" Value="Epple ][ Installation" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder" Name="PFiles">
<Directory Id="INSTALLDIR" Name="Epple2">
<Directory Id="bindot" Name=".">
<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 Id="etcdot" Name=".">
<Directory Id="etc" Name="etc">
<Directory Id="etc_epple2" Name="epple2">
<Component Id="ConfigFiles" Guid="73057afd-e28b-48b1-b428-6e2bf029b74d">
<File Id="Config" Name="epple2.cfg" LongName="epple2.conf" DiskId="1" Source="..\conf\epple2.conf" Vital="yes" />
<File Id="Config_rev0bare" Name="epple2_1.cfg" LongName="epple2.rev0bare.conf" DiskId="1" Source="..\conf\epple2.rev0bare.conf" Vital="yes" />
<File Id="Config_a2bare" Name="epple2_2.cfg" LongName="epple2.a2bare.conf" DiskId="1" Source="..\conf\epple2.a2bare.conf" Vital="yes" />
<File Id="Config_a2dos31" Name="epple2_3.cfg" LongName="epple2.a2dos31.conf" DiskId="1" Source="..\conf\epple2.a2dos31.conf" Vital="yes" />
<File Id="Config_a2dos33" Name="epple2_4.cfg" LongName="epple2.a2dos33.conf" DiskId="1" Source="..\conf\epple2.a2dos33.conf" Vital="yes" />
<File Id="Config_a2loaded" Name="epple2_5.cfg" LongName="epple2.a2loaded.conf" DiskId="1" Source="..\conf\epple2.a2loaded.conf" Vital="yes" />
</Component>
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder" Name="PMenu" LongName="Programs">
<Directory Id="ProgramMenuDir" Name="Epple2" />
</Directory>
<Directory Id="DesktopFolder" Name="Desktop" />
</Directory>
<Feature Id="Complete" Level="1">
<ComponentRef Id="MainExecutable" />
<ComponentRef Id="ConfigFiles" />
<ComponentRef Id="SDL" />
<ComponentRef Id="MINGWM" />
</Feature>
</Product>
</Wix>
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" UpgradeCode="b3bb155f-13e7-4cb8-9c7a-61117c93e36c" Version="1.2" Language="1033" Name="Epple2" Manufacturer="Christopher Alan Mosher">
<Package InstallerVersion="300" Compressed="yes"/>
<Media Id="1" Cabinet="Epple2.cab" EmbedCab="yes" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="APPLICATIONROOTDIRECTORY" Name="Epple2">
<Directory Id="bindot" Name=".">
<Directory Id="bin" Name="bin" />
</Directory>
<Directory Id="etcdot" Name=".">
<Directory Id="etc" Name="etc">
<Directory Id="conf" Name="epple2"/>
</Directory>
</Directory>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder" Name="Programs">
<Directory Id="ApplicationProgramsFolder" Name="Epple2"/>
</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>
</DirectoryRef>
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="ApplicationShortcut" Guid="3ad5f6f0-9def-468a-b12b-b01bebdc754a">
<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>
<DirectoryRef Id="conf">
<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="MainApplication" Title="Main Application" Level="1">
<ComponentRef Id="epple2.exe" />
<ComponentRef Id="ApplicationShortcut" />
<ComponentRef Id="ConfigFiles" />
</Feature>
</Product>
</Wix>