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

@ -3,16 +3,20 @@
[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"
ArchitecturesInstallIn64BitMode=x64
ArchitecturesAllowed=x64
#endif
[Languages] [Languages]
Name: "eng"; MessagesFile: "compiler:Default.isl" Name: "eng"; MessagesFile: "compiler:Default.isl"
@ -21,17 +25,15 @@ Name: "eng"; MessagesFile: "compiler:Default.isl"
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files] [Files]
Source: "..\..\stella-3.0\Stella.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "{#STELLA_PATH}\Stella.exe"; DestDir: "{app}"; Flags: ignoreversion
;Source: "..\..\stella-3.0\zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "{#STELLA_PATH}\SDL.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\stella-3.0\SDL.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "{#STELLA_PATH}\zlibwapi.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\stella-3.0\docs\*"; DestDir: "{app}\docs"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "{#STELLA_DOCPATH}\*"; DestDir: "{app}\docs"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons] [Icons]
Name: "{group}\Stella"; Filename: "{app}\stella.exe"; WorkingDir: "{app}" Name: "{group}\Stella"; Filename: "{app}\Stella.exe"; WorkingDir: "{app}"
Name: "{userdesktop}\Stella"; Filename: "{app}\stella.exe"; WorkingDir: "{app}"; Tasks: desktopicon Name: "{userdesktop}\Stella"; Filename: "{app}\Stella.exe"; WorkingDir: "{app}"; Tasks: desktopicon
Name: "{group}\Documentation"; Filename: "{app}\docs\index.html" Name: "{group}\Documentation"; Filename: "{app}\docs\index.html"
Name: "{group}\Uninstall Stella"; Filename: "{uninstallexe}" Name: "{group}\Uninstall Stella"; Filename: "{uninstallexe}"
;[Run]
;Filename: "{app}\stella.exe"; Description: "{cm:LaunchProgram,Stella}"; Flags: nowait postinstall skipifsilent

View File

@ -1,32 +1,40 @@
// 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 #undef APSTUDIO_READONLY_SYMBOLS
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources // English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32 #ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252) #pragma code_page(1252)
#endif //_WIN32 #endif //_WIN32
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// Icon // Icon
// //
// Icon with lowest ID value placed first to ensure application icon // Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems. // remains consistent on all systems.
IDI_ICON ICON "stella.ico" IDI_ICON ICON "stella.ico"
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// Version // Version
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,0,0,0 FILEVERSION 3,0,0,0
PRODUCTVERSION 3,0,0,0 PRODUCTVERSION 3,0,0,0
@ -44,12 +52,12 @@ BEGIN
BEGIN BEGIN
BLOCK "040904b0" BLOCK "040904b0"
BEGIN BEGIN
VALUE "Comments", "The multi-platform Atari 2600 emulator. Stella is released under the GPL." VALUE "Comments", "The multi-platform Atari 2600 emulator. Stella is released under the GPLv2."
VALUE "CompanyName", "The Stella team (http://stella.sourceforge.net)" VALUE "CompanyName", "The Stella Team (http://stella.sourceforge.net)"
VALUE "FileDescription", "Stella" VALUE "FileDescription", "Stella"
VALUE "FileVersion", "3.0" VALUE "FileVersion", "3.0"
VALUE "InternalName", "Stella" VALUE "InternalName", "Stella"
VALUE "LegalCopyright", "Copyright (C) 1995-2009 B. Mott & the Stella team" VALUE "LegalCopyright", "Copyright (C) 1995-2009 B. Mott & the Stella Team"
VALUE "OriginalFilename", "Stella.exe" VALUE "OriginalFilename", "Stella.exe"
VALUE "ProductName", "Stella" VALUE "ProductName", "Stella"
VALUE "ProductVersion", "3.0" VALUE "ProductVersion", "3.0"
@ -60,32 +68,45 @@ BEGIN
VALUE "Translation", 0x409, 1200 VALUE "Translation", 0x409, 1200
END END
END END
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// TEXTINCLUDE // TEXTINCLUDE
// //
1 TEXTINCLUDE 1 TEXTINCLUDE
BEGIN BEGIN
"resource.h\0" "resource.h\0"
END END
2 TEXTINCLUDE 2 TEXTINCLUDE
BEGIN BEGIN
"#include ""winresrc.h""\r\n" "#include ""winresrc.h""\r\n"
"\0" "\0"
END END
3 TEXTINCLUDE 3 TEXTINCLUDE
BEGIN BEGIN
"\r\n" "\r\n"
"\0" "\0"
END END
#endif // APSTUDIO_INVOKED #endif // APSTUDIO_INVOKED
#endif // English (U.S.) resources #endif // English (U.S.) resources
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED #ifndef APSTUDIO_INVOKED
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// Generated from the TEXTINCLUDE 3 resource. // Generated from the TEXTINCLUDE 3 resource.
// //
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED #endif // not APSTUDIO_INVOKED