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>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, <li>Other architectures (MIPS, PPC, PPC64, etc) have been confirmed to work,
but aren't as well tested as i386/x86_64</li> 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> the Stella source code</li>
</ul> </ul>
@ -310,7 +310,7 @@
<ul> <ul>
<li>Mac OSX 10.3 or Above</li> <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 <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, <li>OpenGL capable video card. Software rendering mode is still available,
but as of OSX 10.4 is substandard compared to OpenGL.</li> 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> <li>Xcode 3.0 is required to compile the Stella source code</li>
@ -325,10 +325,9 @@
<ul> <ul>
<li>Pentium class machine required; OpenGL accelerated video card highly <li>Pentium class machine required; OpenGL accelerated video card highly
recommended</li> 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> WinXP64 as well, but isn't a priority</li>
<li>Visual C++ 2008 or MinGW compiler is required to compile the Stella <li>Visual C++ 2008 is required to compile the Stella source code</li>
source code</li>
</ul> </ul>
<p> <p>
@ -336,7 +335,7 @@
<p>Stella is extremely portable, and in its lifetime has been ported to almost every <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 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 team is interested in hearing about any problems you may encounter with diverse
operating systems and CPU types.</p> operating systems and CPU types.</p>
@ -428,15 +427,12 @@
<li>Extract files from the distribution using <b>Winzip</b>, <li>Extract files from the distribution using <b>Winzip</b>,
<b>Total Commander</b>, or some other archiving program that supports <b>Total Commander</b>, or some other archiving program that supports
gzipped tar files</li> gzipped tar files</li>
<li>If compiling the Stella executable using MinGW, use the same commands <li>Open the <b>stella-<i>release</i>/src/win32/Stella.sln</b>
as specified under <i>Linux/UNIX - Compressed tarball</i></li> file using Visual C++ 2008</li>
<li>If compiling using Visual C++ 2008:</li> <li>Build the 'Stella' solution, making sure to correctly select either 'Win32'
<ul> or 'x64' mode (depending on the version of Windows you have installed)</li>
<li>Open the <b>stella-<i>release</i>/src/win32/Stella.sln</b> <li>Copy the <b>Stella.exe</b>, <b>SDL.dll</b> and <b>zlibwapi.dll</b>
file using Visual C++ 2008</li> files somewhere on your system</li>
<li>Build the 'Stella' solution</li>
<li>Copy the <b>Stella.exe</b> file somewhere on your system</li>
</ul>
</ol> </ol>
</li> </li>
</ul> </ul>

View File

@ -99,87 +99,6 @@
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </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 <Configuration
Name="Debug|x64" Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
@ -262,6 +181,87 @@
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </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 <Configuration
Name="Release|x64" Name="Release|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
@ -316,7 +316,7 @@
AdditionalDependencies="sdl.lib sdlmain.lib zlibwapi.lib" AdditionalDependencies="sdl.lib sdlmain.lib zlibwapi.lib"
OutputFile="$(OutDir)/Stella.exe" OutputFile="$(OutDir)/Stella.exe"
GenerateDebugInformation="false" GenerateDebugInformation="false"
SubSystem="1" SubSystem="2"
OptimizeReferences="2" OptimizeReferences="2"
EnableCOMDATFolding="2" EnableCOMDATFolding="2"
RandomizedBaseAddress="1" RandomizedBaseAddress="1"

View File

@ -1,37 +1,39 @@
; Script generated by the Inno Setup Script Wizard. ; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
[Setup] [Setup]
AppName=Stella AppName=Stella
AppVerName=Stella 3.0 AppVerName=Stella {#STELLA_VER}
AppPublisher=The Stella team AppPublisher=The Stella team
AppPublisherURL=http://stella.sourceforge.net AppPublisherURL=http://stella.sourceforge.net
AppSupportURL=http://stella.sourceforge.net AppSupportURL=http://stella.sourceforge.net
AppUpdatesURL=http://stella.sourceforge.net AppUpdatesURL=http://stella.sourceforge.net
DefaultDirName={pf}\Stella DefaultDirName={pf}\Stella
DefaultGroupName=Stella DefaultGroupName=Stella
OutputBaseFilename=stella-3.0-win32 OutputBaseFilename="stella-{#STELLA_VER}-{#STELLA_ARCH}"
Compression=lzma Compression=lzma
SolidCompression=yes SolidCompression=yes
#if STELLA_ARCH == "x64"
[Languages] ArchitecturesInstallIn64BitMode=x64
Name: "eng"; MessagesFile: "compiler:Default.isl" ArchitecturesAllowed=x64
#endif
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Languages]
Name: "eng"; MessagesFile: "compiler:Default.isl"
[Files]
Source: "..\..\stella-3.0\Stella.exe"; DestDir: "{app}"; Flags: ignoreversion [Tasks]
;Source: "..\..\stella-3.0\zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Source: "..\..\stella-3.0\SDL.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\stella-3.0\docs\*"; DestDir: "{app}\docs"; Flags: ignoreversion recursesubdirs createallsubdirs [Files]
; NOTE: Don't use "Flags: ignoreversion" on any shared system files Source: "{#STELLA_PATH}\Stella.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#STELLA_PATH}\SDL.dll"; DestDir: "{app}"; Flags: ignoreversion
[Icons] Source: "{#STELLA_PATH}\zlibwapi.dll"; DestDir: "{app}"; Flags: ignoreversion
Name: "{group}\Stella"; Filename: "{app}\stella.exe"; WorkingDir: "{app}" Source: "{#STELLA_DOCPATH}\*"; DestDir: "{app}\docs"; Flags: ignoreversion recursesubdirs createallsubdirs
Name: "{userdesktop}\Stella"; Filename: "{app}\stella.exe"; WorkingDir: "{app}"; Tasks: desktopicon ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
Name: "{group}\Documentation"; Filename: "{app}\docs\index.html"
Name: "{group}\Uninstall Stella"; Filename: "{uninstallexe}" [Icons]
Name: "{group}\Stella"; Filename: "{app}\Stella.exe"; WorkingDir: "{app}"
;[Run] Name: "{userdesktop}\Stella"; Filename: "{app}\Stella.exe"; WorkingDir: "{app}"; Tasks: desktopicon
;Filename: "{app}\stella.exe"; Description: "{cm:LaunchProgram,Stella}"; Flags: nowait postinstall skipifsilent 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. // Microsoft Visual C++ generated resource script.
// //
#include "resource.h" #include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
///////////////////////////////////////////////////////////////////////////// #define APSTUDIO_READONLY_SYMBOLS
// /////////////////////////////////////////////////////////////////////////////
// Generated from the TEXTINCLUDE 2 resource. //
// // Generated from the TEXTINCLUDE 2 resource.
#include "winresrc.h" //
///////////////////////////////////////////////////////////////////////////// #include "winresrc.h"
#undef APSTUDIO_READONLY_SYMBOLS
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources #undef APSTUDIO_READONLY_SYMBOLS
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32 /////////////////////////////////////////////////////////////////////////////
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US // English (U.S.) resources
#pragma code_page(1252)
#endif //_WIN32 #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
///////////////////////////////////////////////////////////////////////////// #ifdef _WIN32
// LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
// Icon #pragma code_page(1252)
// #endif //_WIN32
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems. /////////////////////////////////////////////////////////////////////////////
IDI_ICON ICON "stella.ico" //
///////////////////////////////////////////////////////////////////////////// // Icon
// //
// Version
// // Icon with lowest ID value placed first to ensure application icon
VS_VERSION_INFO VERSIONINFO // remains consistent on all systems.
FILEVERSION 3,0,0,0 IDI_ICON ICON "stella.ico"
PRODUCTVERSION 3,0,0,0
FILEFLAGSMASK 0x3fL /////////////////////////////////////////////////////////////////////////////
#ifdef _DEBUG //
FILEFLAGS 0x1L // Version
#else //
FILEFLAGS 0x0L
#endif VS_VERSION_INFO VERSIONINFO
FILEOS 0x40004L FILEVERSION 3,0,0,0
FILETYPE 0x1L PRODUCTVERSION 3,0,0,0
FILESUBTYPE 0x0L FILEFLAGSMASK 0x3fL
BEGIN #ifdef _DEBUG
BLOCK "StringFileInfo" FILEFLAGS 0x1L
BEGIN #else
BLOCK "040904b0" FILEFLAGS 0x0L
BEGIN #endif
VALUE "Comments", "The multi-platform Atari 2600 emulator. Stella is released under the GPL." FILEOS 0x40004L
VALUE "CompanyName", "The Stella team (http://stella.sourceforge.net)" FILETYPE 0x1L
VALUE "FileDescription", "Stella" FILESUBTYPE 0x0L
VALUE "FileVersion", "3.0" BEGIN
VALUE "InternalName", "Stella" BLOCK "StringFileInfo"
VALUE "LegalCopyright", "Copyright (C) 1995-2009 B. Mott & the Stella team" BEGIN
VALUE "OriginalFilename", "Stella.exe" BLOCK "040904b0"
VALUE "ProductName", "Stella" BEGIN
VALUE "ProductVersion", "3.0" VALUE "Comments", "The multi-platform Atari 2600 emulator. Stella is released under the GPLv2."
END VALUE "CompanyName", "The Stella Team (http://stella.sourceforge.net)"
END VALUE "FileDescription", "Stella"
BLOCK "VarFileInfo" VALUE "FileVersion", "3.0"
BEGIN VALUE "InternalName", "Stella"
VALUE "Translation", 0x409, 1200 VALUE "LegalCopyright", "Copyright (C) 1995-2009 B. Mott & the Stella Team"
END VALUE "OriginalFilename", "Stella.exe"
END VALUE "ProductName", "Stella"
#ifdef APSTUDIO_INVOKED VALUE "ProductVersion", "3.0"
///////////////////////////////////////////////////////////////////////////// END
// END
// TEXTINCLUDE BLOCK "VarFileInfo"
// BEGIN
1 TEXTINCLUDE VALUE "Translation", 0x409, 1200
BEGIN END
"resource.h\0" END
END
2 TEXTINCLUDE
BEGIN #ifdef APSTUDIO_INVOKED
"#include ""winresrc.h""\r\n" /////////////////////////////////////////////////////////////////////////////
"\0" //
END // TEXTINCLUDE
3 TEXTINCLUDE //
BEGIN
"\r\n" 1 TEXTINCLUDE
"\0" BEGIN
END "resource.h\0"
#endif // APSTUDIO_INVOKED END
#endif // English (U.S.) resources
///////////////////////////////////////////////////////////////////////////// 2 TEXTINCLUDE
#ifndef APSTUDIO_INVOKED BEGIN
///////////////////////////////////////////////////////////////////////////// "#include ""winresrc.h""\r\n"
// "\0"
// Generated from the TEXTINCLUDE 3 resource. END
//
///////////////////////////////////////////////////////////////////////////// 3 TEXTINCLUDE
#endif // not APSTUDIO_INVOKED 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