First pass at automating the Windows builds as much as possible. Ideally, I'd like to just double-click a BAT file, enter some version info, and have it do 32 and 64 bit builds.

Updated the documentation for build info for Windows.  Still TODO is add more detailed info for Linux and OSX.

git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1876 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2009-09-10 01:46:11 +00:00
parent bb6d7856aa
commit 48beb4fd1f
4 changed files with 244 additions and 225 deletions

View File

@ -298,7 +298,7 @@
<li>i386 or x86_64 class machine, with 32 or 64-bit distribution</li>
<li>Other architectures (MIPS, PPC, PPC64, etc) have been confirmed to work,
but aren't as well tested as i386/x86_64</li>
<li>GNU C++ compiler version 3.2.x or 4.x and the make utility are required for compiling
<li>GNU C++ compiler version 4.x and the make utility are required for compiling
the Stella source code</li>
</ul>
@ -310,7 +310,7 @@
<ul>
<li>Mac OSX 10.3 or Above</li>
<li>500 MHz G4 PPC/Intel processor or above (Stella <b>may</b> work with a G3
processor, but this is still a work-in-progress)</li>
processor, but no hardware is available for testing)</li>
<li>OpenGL capable video card. Software rendering mode is still available,
but as of OSX 10.4 is substandard compared to OpenGL.</li>
<li>Xcode 3.0 is required to compile the Stella source code</li>
@ -325,10 +325,9 @@
<ul>
<li>Pentium class machine required; OpenGL accelerated video card highly
recommended</li>
<li>Experimental 64-bit port has been tested on Vista64 only; it may work on
<li>64-bit port has been tested on Windows Vista/7 only; it may work on
WinXP64 as well, but isn't a priority</li>
<li>Visual C++ 2008 or MinGW compiler is required to compile the Stella
source code</li>
<li>Visual C++ 2008 is required to compile the Stella source code</li>
</ul>
<p>
@ -336,7 +335,7 @@
<p>Stella is extremely portable, and in its lifetime has been ported to almost every
platform where the SDL library exists. It is 32/64 bit clean in Linux/Unix and Windows
(Win32/Win64), and is expected to be compatible with 64-bit OSX as well. The Stella
(Win32/x64), and is expected to be compatible with 64-bit OSX as well. The Stella
team is interested in hearing about any problems you may encounter with diverse
operating systems and CPU types.</p>
@ -428,15 +427,12 @@
<li>Extract files from the distribution using <b>Winzip</b>,
<b>Total Commander</b>, or some other archiving program that supports
gzipped tar files</li>
<li>If compiling the Stella executable using MinGW, use the same commands
as specified under <i>Linux/UNIX - Compressed tarball</i></li>
<li>If compiling using Visual C++ 2008:</li>
<ul>
<li>Open the <b>stella-<i>release</i>/src/win32/Stella.sln</b>
file using Visual C++ 2008</li>
<li>Build the 'Stella' solution</li>
<li>Copy the <b>Stella.exe</b> file somewhere on your system</li>
</ul>
<li>Open the <b>stella-<i>release</i>/src/win32/Stella.sln</b>
file using Visual C++ 2008</li>
<li>Build the 'Stella' solution, making sure to correctly select either 'Win32'
or 'x64' mode (depending on the version of Windows you have installed)</li>
<li>Copy the <b>Stella.exe</b>, <b>SDL.dll</b> and <b>zlibwapi.dll</b>
files somewhere on your system</li>
</ol>
</li>
</ul>

View File

@ -99,87 +99,6 @@
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/MP"
OmitFramePointers="true"
WholeProgramOptimization="false"
AdditionalIncludeDirectories="..\yacc;..\emucore\m6502\src\bspf\src;..\emucore\m6502\src;..\emucore;..\common;..\gui;..\debugger\gui;..\debugger;..\win32;..\cheat"
PreprocessorDefinitions="BSPF_WIN32;WIN32;ZLIB_WINAPI;NDEBUG;JOYSTICK_SUPPORT;DEBUGGER_SUPPORT;DISPLAY_OPENGL;WINDOWED_SUPPORT;SOUND_SUPPORT;CHEATCODE_SUPPORT"
RuntimeLibrary="0"
RuntimeTypeInfo="false"
UsePrecompiledHeader="0"
WarningLevel="2"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="SDL.lib&#x0D;&#x0A;SDLmain.lib&#x0D;&#x0A;"
AdditionalDependencies="sdl.lib sdlmain.lib zlibwapi.lib"
OutputFile="$(OutDir)/Stella.exe"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
@ -262,6 +181,87 @@
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/MP"
OmitFramePointers="true"
WholeProgramOptimization="false"
AdditionalIncludeDirectories="..\yacc;..\emucore\m6502\src\bspf\src;..\emucore\m6502\src;..\emucore;..\common;..\gui;..\debugger\gui;..\debugger;..\win32;..\cheat"
PreprocessorDefinitions="BSPF_WIN32;WIN32;ZLIB_WINAPI;NDEBUG;JOYSTICK_SUPPORT;DEBUGGER_SUPPORT;DISPLAY_OPENGL;WINDOWED_SUPPORT;SOUND_SUPPORT;CHEATCODE_SUPPORT"
RuntimeLibrary="0"
RuntimeTypeInfo="false"
UsePrecompiledHeader="0"
WarningLevel="2"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="SDL.lib&#x0D;&#x0A;SDLmain.lib&#x0D;&#x0A;"
AdditionalDependencies="sdl.lib sdlmain.lib zlibwapi.lib"
OutputFile="$(OutDir)/Stella.exe"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
@ -316,7 +316,7 @@
AdditionalDependencies="sdl.lib sdlmain.lib zlibwapi.lib"
OutputFile="$(OutDir)/Stella.exe"
GenerateDebugInformation="false"
SubSystem="1"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"

View File

@ -1,37 +1,39 @@
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
[Setup]
AppName=Stella
AppVerName=Stella 3.0
AppPublisher=The Stella team
AppPublisherURL=http://stella.sourceforge.net
AppSupportURL=http://stella.sourceforge.net
AppUpdatesURL=http://stella.sourceforge.net
DefaultDirName={pf}\Stella
DefaultGroupName=Stella
OutputBaseFilename=stella-3.0-win32
Compression=lzma
SolidCompression=yes
[Languages]
Name: "eng"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "..\..\stella-3.0\Stella.exe"; DestDir: "{app}"; Flags: ignoreversion
;Source: "..\..\stella-3.0\zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\stella-3.0\SDL.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\stella-3.0\docs\*"; DestDir: "{app}\docs"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\Stella"; Filename: "{app}\stella.exe"; WorkingDir: "{app}"
Name: "{userdesktop}\Stella"; Filename: "{app}\stella.exe"; WorkingDir: "{app}"; Tasks: desktopicon
Name: "{group}\Documentation"; Filename: "{app}\docs\index.html"
Name: "{group}\Uninstall Stella"; Filename: "{uninstallexe}"
;[Run]
;Filename: "{app}\stella.exe"; Description: "{cm:LaunchProgram,Stella}"; Flags: nowait postinstall skipifsilent
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
[Setup]
AppName=Stella
AppVerName=Stella {#STELLA_VER}
AppPublisher=The Stella team
AppPublisherURL=http://stella.sourceforge.net
AppSupportURL=http://stella.sourceforge.net
AppUpdatesURL=http://stella.sourceforge.net
DefaultDirName={pf}\Stella
DefaultGroupName=Stella
OutputBaseFilename="stella-{#STELLA_VER}-{#STELLA_ARCH}"
Compression=lzma
SolidCompression=yes
#if STELLA_ARCH == "x64"
ArchitecturesInstallIn64BitMode=x64
ArchitecturesAllowed=x64
#endif
[Languages]
Name: "eng"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "{#STELLA_PATH}\Stella.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#STELLA_PATH}\SDL.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#STELLA_PATH}\zlibwapi.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#STELLA_DOCPATH}\*"; DestDir: "{app}\docs"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\Stella"; Filename: "{app}\Stella.exe"; WorkingDir: "{app}"
Name: "{userdesktop}\Stella"; Filename: "{app}\Stella.exe"; WorkingDir: "{app}"; Tasks: desktopicon
Name: "{group}\Documentation"; Filename: "{app}\docs\index.html"
Name: "{group}\Uninstall Stella"; Filename: "{uninstallexe}"

View File

@ -1,91 +1,112 @@
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "winresrc.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_ICON ICON "stella.ico"
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,0,0,0
PRODUCTVERSION 3,0,0,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "The multi-platform Atari 2600 emulator. Stella is released under the GPL."
VALUE "CompanyName", "The Stella team (http://stella.sourceforge.net)"
VALUE "FileDescription", "Stella"
VALUE "FileVersion", "3.0"
VALUE "InternalName", "Stella"
VALUE "LegalCopyright", "Copyright (C) 1995-2009 B. Mott & the Stella team"
VALUE "OriginalFilename", "Stella.exe"
VALUE "ProductName", "Stella"
VALUE "ProductVersion", "3.0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""winresrc.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "winresrc.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_ICON ICON "stella.ico"
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,0,0,0
PRODUCTVERSION 3,0,0,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "Comments", "The multi-platform Atari 2600 emulator. Stella is released under the GPLv2."
VALUE "CompanyName", "The Stella Team (http://stella.sourceforge.net)"
VALUE "FileDescription", "Stella"
VALUE "FileVersion", "3.0"
VALUE "InternalName", "Stella"
VALUE "LegalCopyright", "Copyright (C) 1995-2009 B. Mott & the Stella Team"
VALUE "OriginalFilename", "Stella.exe"
VALUE "ProductName", "Stella"
VALUE "ProductVersion", "3.0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""winresrc.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED