Major cleanup. Removed dead code. Removed obsolete targets (MonoDevelop 1, SharpDevelop 1). Added new project for Bind and Converter. Added new QuickStart project. Added Prebuild and the various projects as embedded resources.

This commit is contained in:
the_fiddler 2009-08-25 14:36:19 +00:00
parent 416ffadf6f
commit c4d6f56511
9 changed files with 782 additions and 179 deletions

View file

@ -12,6 +12,8 @@ using System.Text;
using System.IO;
using System.Diagnostics;
using System.Text.RegularExpressions;
using System.Reflection;
using OpenTK.Build.Properties;
#endregion
@ -21,49 +23,29 @@ namespace OpenTK.Build
{
static string RootPath;
static string SourcePath;
static string ToolPath = "Build";
static string PrebuildPath = Path.Combine(ToolPath, "Prebuild.exe");
static string BinPath;
static string ExePath;
static string LibPath;
static string ExamplePath;
static string DataSourcePath;
static string DataPath;
static string PrebuildXml = Path.Combine(ToolPath, "Prebuild.xml");
const string bindings = "Generator.Prebuild.xml";
const string opentk = "OpenTK.Prebuild.xml";
const string quickstart = "QuickStart.Prebuild.xml";
static Regex DataFiles = new Regex(@"^.*\.(bmp|png|jpg|txt|glsl|wav|ogg)$",
RegexOptions.Compiled | RegexOptions.IgnoreCase);
enum BuildMode
{
Default = 0,
Release = 0,
Debug
}
static readonly Assembly Prebuild = Assembly.Load(Resources.Prebuild);
enum BuildTarget
{
Default = 0,
Net = 0,
Mono,
VS2005,
SharpDevelop,
SharpDevelop2,
MonoDevelop,
VS2008,
Mono,
Net,
Clean,
DistClean,
SVNClean
}
static BuildMode mode = BuildMode.Default;
static BuildTarget target = BuildTarget.Default;
static BuildTarget target = BuildTarget.VS2005;
static void PrintUsage()
{
Console.WriteLine("Usage: Build.exe BuildTarget [BuildMode]");
Console.WriteLine("\tBuildTarget: vs (recommended) or one of clean/distclean/mono/net");
Console.WriteLine("\tBuildMode: debug/release");
Console.WriteLine("Usage: Build.exe target");
Console.WriteLine(" target: one of vs, vs9, clean, distclean");
}
static void Main(string[] args)
@ -77,20 +59,14 @@ namespace OpenTK.Build
args[0] = Console.ReadLine();
if (args[0] == String.Empty)
args[0] = "vs";
if (args[0] != "vs")
{
Console.Write("Select build mode (optional): ");
args[1] = Console.ReadLine();
if (args[1] == String.Empty)
args[1] = "release";
}
}
RootPath = Directory.GetParent(Directory.GetCurrentDirectory()).FullName;
Directory.SetCurrentDirectory(RootPath);
RootPath = Directory.GetCurrentDirectory();
SourcePath = Path.Combine(RootPath, "Source");
DataSourcePath = Path.Combine(SourcePath, Path.Combine("Examples", "Data"));
File.WriteAllText(bindings, Resources.Generator);
File.WriteAllText(opentk, Resources.OpenTK);
File.WriteAllText(quickstart, Resources.QuickStart);
// Workaroung for nant on x64 windows (safe for other platforms too, as this affects only the current process).
Environment.SetEnvironmentVariable("CommonProgramFiles(x86)", String.Empty, EnvironmentVariableTarget.Process);
@ -101,47 +77,30 @@ namespace OpenTK.Build
string arg = s.ToLower().Trim();
switch (arg)
{
case "debug":
case "d":
mode = BuildMode.Debug;
break;
case "release":
case "r":
mode = BuildMode.Release;
case "":
break;
case "mono":
case "xbuild":
target = BuildTarget.Mono;
break;
case "net":
case "msbuild":
target = BuildTarget.Net;
break;
case "monodev":
case "monodevelop":
case "md":
target = BuildTarget.MonoDevelop;
break;
case "sharpdev2":
case "sharpdevelop2":
case "sd2":
target = BuildTarget.SharpDevelop2;
break;
case "sharpdev":
case "sharpdevelop":
case "sd":
target = BuildTarget.SharpDevelop;
break;
case "vs2005":
case "vs8":
case "vs":
target = BuildTarget.VS2005;
break;
case "vs2008":
case "vs9":
target = BuildTarget.VS2008;
break;
case "clean":
target = BuildTarget.Clean;
break;
@ -150,9 +109,6 @@ namespace OpenTK.Build
target = BuildTarget.DistClean;
break;
case "":
break;
default:
Console.WriteLine("Unknown command: {0}", s);
PrintUsage();
@ -160,72 +116,62 @@ namespace OpenTK.Build
}
}
BinPath = Path.Combine("Binaries", mode == BuildMode.Debug ? "Debug" : "Release");
ExePath = Path.Combine(BinPath, "Exe");
LibPath = Path.Combine(BinPath, "Libraries");
ExamplePath = Path.Combine(BinPath, "Examples");
DataPath = Path.Combine(ExamplePath, "Data");
switch (target)
{
case BuildTarget.Mono:
Console.WriteLine("Building OpenTK using Mono.");
ExecuteProcess(PrebuildPath, "/target nant /file " + PrebuildXml);
Console.WriteLine();
ExecuteProcess(
"nant",
"-buildfile:./Build/OpenTK.build -t:mono-2.0 " + (mode == BuildMode.Debug ? "build-debug" : "build-release"));
CopyBinaries();
break;
//case BuildTarget.Mono:
// Console.WriteLine("Building OpenTK using Mono/XBuild.");
// ExecuteProcess(PrebuildPath, "/target nant /file " + PrebuildXml);
// Console.WriteLine();
// ExecuteProcess(
// "nant",
// "-buildfile:./Build/OpenTK.build -t:mono-2.0 " + (mode == BuildMode.Debug ? "build-debug" : "build-release"));
// CopyBinaries();
// break;
case BuildTarget.Net:
Console.WriteLine("Building OpenTK using .Net");
ExecuteProcess(PrebuildPath, "/target nant /file " + PrebuildXml);
Console.WriteLine();
ExecuteProcess(
"nant",
"-buildfile:./Build/OpenTK.build -t:net-2.0 " + (mode == BuildMode.Debug ? "build-debug" : "build-release"));
CopyBinaries();
break;
case BuildTarget.MonoDevelop:
Console.WriteLine("Creating MonoDevelop project files");
ExecuteProcess(PrebuildPath, "/target monodev /file " + PrebuildXml);
break;
case BuildTarget.SharpDevelop:
Console.WriteLine("Creating SharpDevelop project files");
ExecuteProcess(PrebuildPath, "/target sharpdev /file " + PrebuildXml);
break;
case BuildTarget.SharpDevelop2:
Console.WriteLine("Creating SharpDevelop project files");
ExecuteProcess(PrebuildPath, "/target sharpdev2 /file " + PrebuildXml);
break;
//case BuildTarget.Net:
// Console.WriteLine("Building OpenTK using .Net");
// ExecuteProcess(PrebuildPath, "/target nant /file " + PrebuildXml);
// Console.WriteLine();
// ExecuteProcess(
// "nant",
// "-buildfile:./Build/OpenTK.build -t:net-2.0 " + (mode == BuildMode.Debug ? "build-debug" : "build-release"));
// CopyBinaries();
// break;
case BuildTarget.VS2005:
Console.WriteLine("Creating VS2005 project files");
ExecuteProcess(PrebuildPath, "/target vs2005 /file " + PrebuildXml);
ExecutePrebuild("/target", "vs2008", "/file", bindings);
ExecutePrebuild("/target", "vs2005", "/file", opentk);
ExecutePrebuild("/target", "vs2005", "/file", quickstart);
break;
case BuildTarget.VS2008:
Console.WriteLine("Creating VS2008 project files");
ExecutePrebuild("/target", "vs2008", "/file", bindings);
ExecutePrebuild("/target", "vs2008", "/file", opentk);
ExecutePrebuild("/target", "vs2008", "/file", quickstart);
break;
case BuildTarget.Clean:
Console.WriteLine("Cleaning intermediate object files.");
ExecuteProcess(PrebuildPath, "/clean /yes /file " + PrebuildXml);
ExecutePrebuild("/clean", "/yes", "/file", bindings);
ExecutePrebuild("/clean", "/yes", "/file", opentk);
ExecutePrebuild("/clean", "/yes", "/file", quickstart);
DeleteDirectories(RootPath, "obj");
break;
case BuildTarget.DistClean:
Console.WriteLine("Cleaning intermediate and final object files.");
ExecuteProcess(PrebuildPath, "/clean /yes /file " + PrebuildXml);
ExecutePrebuild("/clean", "/yes", "/file", bindings);
ExecutePrebuild("/clean", "/yes", "/file", opentk);
ExecutePrebuild("/clean", "/yes", "/file", quickstart);
DeleteDirectories(RootPath, "obj");
DeleteDirectories(RootPath, "bin");
if (Directory.Exists(RootPath + "Binaries"))
Directory.Delete(RootPath + "Binaries", true);
break;
case BuildTarget.SVNClean:
Console.WriteLine("Deleting svn directories.");
DeleteDirectories(RootPath, ".svn");
string binaries_path = Path.Combine(RootPath, "Binaries");
if (Directory.Exists(binaries_path))
Directory.Delete(binaries_path, true);
break;
default:
@ -234,8 +180,18 @@ namespace OpenTK.Build
return;
}
//Console.WriteLine("Press any key to continue...");
//Console.ReadKey(true);
// Wait until Prebuild releases the input files.
System.Threading.Thread.Sleep(1000);
File.Delete(bindings);
File.Delete(opentk);
File.Delete(quickstart);
if (Debugger.IsAttached)
{
Console.WriteLine("Press any key to continue...");
Console.ReadKey(true);
}
}
static void DeleteDirectories(string root_path, string search)
@ -249,62 +205,6 @@ namespace OpenTK.Build
}
}
static void CopyBinaries()
{
List<string> example_matches = new List<string>();
List<string> exe_matches = new List<string>();
List<string> dll_matches = new List<string>();
List<string> dll_config_matches = new List<string>();
Directory.CreateDirectory(BinPath);
Directory.CreateDirectory(ExePath);
Directory.CreateDirectory(LibPath);
Directory.CreateDirectory(ExamplePath);
Directory.CreateDirectory(DataPath);
// Move the libraries and the config files.
FindFiles(SourcePath, "*.dll", dll_matches);
FindFiles(SourcePath, "OpenTK.pdb", dll_matches);
FindFiles(SourcePath, "OpenTK.dll.mdb", dll_matches);
foreach (string m in dll_matches)
{
File.Delete(Path.Combine(LibPath, Path.GetFileName(m)));
File.Copy(m, Path.Combine(LibPath, Path.GetFileName(m)));
File.Delete(Path.Combine(ExamplePath, Path.GetFileName(m)));
File.Copy(m, Path.Combine(ExamplePath, Path.GetFileName(m)));
}
FindFiles(SourcePath, "*.dll.config", dll_config_matches);
foreach (string m in dll_config_matches)
{
File.Delete(Path.Combine(LibPath, Path.GetFileName(m)));
File.Copy(m, Path.Combine(LibPath, Path.GetFileName(m)));
File.Delete(Path.Combine(ExamplePath, Path.GetFileName(m)));
File.Copy(m, Path.Combine(ExamplePath, Path.GetFileName(m)));
}
// Then the examples.
FindFiles(Path.Combine(SourcePath, "Examples"), "*.exe", example_matches);
FindFiles(SourcePath, "Examples.pdb", example_matches);
FindFiles(SourcePath, "Examples.exe.mdb", example_matches);
foreach (string m in example_matches)
{
File.Delete(Path.Combine(ExamplePath, Path.GetFileName(m)));
File.Move(m, Path.Combine(ExamplePath, Path.GetFileName(m)));
}
// Copy example data.
FileCopy(DataSourcePath, DataPath, DataFiles);
// Then the rest of the exes.
FindFiles(SourcePath, "*.exe", exe_matches);
foreach (string m in exe_matches)
{
File.Delete(Path.Combine(ExePath, Path.GetFileName(m)));
File.Move(m, Path.Combine(ExePath, Path.GetFileName(m)));
}
}
static void FindDirectories(string directory, string search, List<string> matches)
{
try
@ -339,7 +239,7 @@ namespace OpenTK.Build
Console.WriteLine(e.Message);
}
}
static void ExecuteProcess(string path, string args)
{
ProcessStartInfo sinfo = new ProcessStartInfo();
@ -420,6 +320,11 @@ namespace OpenTK.Build
FileCopy(dir, Path.Combine(destdir, name), match);
}
}
static void ExecutePrebuild(params string[] options)
{
Prebuild.EntryPoint.Invoke(null, new object[] { options });
}
}
}

View file

@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("0.9.8.0")]
[assembly: AssemblyFileVersion("0.9.8.0")]
[assembly: AssemblyVersion("0.9.9.0")]
[assembly: AssemblyFileVersion("0.9.9.0")]

View file

@ -0,0 +1,170 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.4918
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace OpenTK.Build.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OpenTK.Build.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
///&lt;Prebuild xmlns=&quot;http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd&quot;&gt;
///
/// &lt;Solution name=&quot;Generator&quot;&gt;
///
/// &lt;Configuration name=&quot;Debug&quot;&gt;
/// &lt;Options&gt;
/// &lt;CompilerDefines&gt;DEBUG;TRACE;&lt;/CompilerDefines&gt;
/// &lt;OptimizeCode&gt;false&lt;/OptimizeCode&gt;
/// &lt;DebugInformation&gt;true&lt;/DebugInformation&gt;
/// &lt;/Options&gt;
/// &lt;/Configuration&gt;
///
/// &lt;Configuration name=&quot;Release&quot;&gt;
/// &lt;Options&gt;
/// &lt;CompilerDefines&gt;TRACE;&lt;/CompilerDefines&gt;
/// &lt;Optim [rest of string was truncated]&quot;;.
/// </summary>
internal static string Generator {
get {
return ResourceManager.GetString("Generator", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
///&lt;Prebuild xmlns=&quot;http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd&quot;&gt;
///
/// &lt;Solution name=&quot;OpenTK&quot;&gt;
///
/// &lt;Configuration name=&quot;Debug&quot;&gt;
/// &lt;Options&gt;
/// &lt;CompilerDefines&gt;DEBUG;TRACE;&lt;/CompilerDefines&gt;
/// &lt;OptimizeCode&gt;false&lt;/OptimizeCode&gt;
/// &lt;DebugInformation&gt;true&lt;/DebugInformation&gt;
/// &lt;/Options&gt;
/// &lt;/Configuration&gt;
///
/// &lt;Configuration name=&quot;Release&quot;&gt;
/// &lt;Options&gt;
/// &lt;CompilerDefines&gt;TRACE;&lt;/CompilerDefines&gt;
/// &lt;Optimize [rest of string was truncated]&quot;;.
/// </summary>
internal static string OpenTK {
get {
return ResourceManager.GetString("OpenTK", resourceCulture);
}
}
internal static byte[] Prebuild {
get {
object obj = ResourceManager.GetObject("Prebuild", resourceCulture);
return ((byte[])(obj));
}
}
/// <summary>
/// Looks up a localized string similar to BSD License
///Copyright (c)2004-2008
///
///See AUTHORS file for list of copyright holders
///
///Dave Hudson (jendave@yahoo.com),
///Matthew Holmes (matthew@wildfiregames.com)
///Dan Moorehead (dan05a@gmail.com)
///Rob Loach (http://www.robloach.net)
///C.J. Adams-Collier (cjac@colliertech.org)
///
///http://dnpb.sourceforge.net
///All rights reserved.
///
///Redistribution and use in source and binary forms, with or without
///modification, are permitted provided that the following conditions
/// [rest of string was truncated]&quot;;.
/// </summary>
internal static string Prebuild_License {
get {
return ResourceManager.GetString("Prebuild_License", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
///&lt;Prebuild xmlns=&quot;http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd&quot;&gt;
///
/// &lt;Solution name=&quot;QuickStart&quot;&gt;
///
/// &lt;Configuration name=&quot;Debug&quot;&gt;
/// &lt;Options&gt;
/// &lt;CompilerDefines&gt;DEBUG;TRACE;&lt;/CompilerDefines&gt;
/// &lt;OptimizeCode&gt;false&lt;/OptimizeCode&gt;
/// &lt;DebugInformation&gt;true&lt;/DebugInformation&gt;
/// &lt;/Options&gt;
/// &lt;/Configuration&gt;
///
/// &lt;Configuration name=&quot;Release&quot;&gt;
/// &lt;Options&gt;
/// &lt;CompilerDefines&gt;TRACE;&lt;/CompilerDefines&gt;
/// &lt;Opti [rest of string was truncated]&quot;;.
/// </summary>
internal static string QuickStart {
get {
return ResourceManager.GetString("QuickStart", resourceCulture);
}
}
}
}

View file

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Generator" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Generator.Prebuild.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="OpenTK" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\OpenTK.Prebuild.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="Prebuild" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Prebuild.exe;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="Prebuild_License" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Prebuild License.txt;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="QuickStart" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\QuickStart.Prebuild.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
</root>

View file

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8" ?>
<Prebuild xmlns="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd">
<Solution name="Generator">
<Configuration name="Debug">
<Options>
<CompilerDefines>DEBUG;TRACE;</CompilerDefines>
<OptimizeCode>false</OptimizeCode>
<DebugInformation>true</DebugInformation>
</Options>
</Configuration>
<Configuration name="Release">
<Options>
<CompilerDefines>TRACE;</CompilerDefines>
<OptimizeCode>true</OptimizeCode>
<DebugInformation>false</DebugInformation>
</Options>
</Configuration>
<Project name="Bind" path="Source/Bind" language="C#" type="Exe">
<Configuration name="Debug">
<Options>
<OutputPath>../../Binaries/Generator/Debug</OutputPath>
</Options>
</Configuration>
<Configuration name="Release">
<Options>
<OutputPath>../../Binaries/Generator/Release</OutputPath>
</Options>
</Configuration>
<Reference name="System"/>
<Reference name="System.Xml"/>
<Reference name="System.Core"/>
<Files>
<Match path="." pattern="*.cs" recurse="true"/>
<Match path="." pattern="*.spec" recurse="true" buildAction="None"/>
<Match path="." pattern="*.tm" recurse="true" buildAction="None"/>
<Match path="." pattern="*.xml" recurse="true" buildAction="None"/>
<Match path="." pattern="*.xslt" recurse="true" buildAction="None"/>
<Match path="." pattern="*.txt" recurse="true" buildAction="None"/>
</Files>
</Project>
<Project name="Convert" path="Source/Converter" language="C#" type="Exe">
<Configuration name="Debug">
<Options>
<OutputPath>../../Binaries/Generator/Debug</OutputPath>
</Options>
</Configuration>
<Configuration name="Release">
<Options>
<OutputPath>../../Binaries/Generator/Release</OutputPath>
</Options>
</Configuration>
<Reference name="System"/>
<Reference name="System.Xml"/>
<Reference name="System.Core"/>
<Reference name="System.Xml.Linq"/>
<Files>
<Match path="." pattern="*.cs" recurse="true"/>
<Match path="." pattern="*.h" recurse="true" buildAction="None"/>
<Match path="." pattern="*.spec" recurse="true" buildAction="None"/>
<Match path="." pattern="*.tm" recurse="true" buildAction="None"/>
<Match path="." pattern="*.xml" recurse="true" buildAction="None"/>
<Match path="." pattern="*.xslt" recurse="true" buildAction="None"/>
<Match path="." pattern="*.txt" recurse="true" buildAction="None"/>
</Files>
</Project>
</Solution>
</Prebuild>

View file

@ -0,0 +1,193 @@
<?xml version="1.0" encoding="utf-8" ?>
<Prebuild xmlns="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd">
<Solution name="OpenTK">
<Configuration name="Debug">
<Options>
<CompilerDefines>DEBUG;TRACE;</CompilerDefines>
<OptimizeCode>false</OptimizeCode>
<DebugInformation>true</DebugInformation>
</Options>
</Configuration>
<Configuration name="Release">
<Options>
<CompilerDefines>TRACE;</CompilerDefines>
<OptimizeCode>true</OptimizeCode>
<DebugInformation>false</DebugInformation>
</Options>
</Configuration>
<Files>
<File>Documentation/Todo.txt</File>
<File>Documentation/Release.txt</File>
<File>Documentation/Changelog.txt</File>
<File>Documentation/License.txt</File>
<File>Build/Instructions.txt</File>
<File>Build/Prebuild.xml</File>
</Files>
<Project name="OpenTK" path="Source/OpenTK" language="C#" type="Library">
<Configuration name="Debug">
<Options>
<OutputPath>../../Binaries/OpenTK/Debug</OutputPath>
<AllowUnsafe>true</AllowUnsafe>
<XmlDocFile>OpenTK.xml</XmlDocFile>
</Options>
</Configuration>
<Configuration name="Release">
<Options>
<OutputPath>../../Binaries/OpenTK/Release</OutputPath>
<AllowUnsafe>true</AllowUnsafe>
<XmlDocFile>OpenTK.xml</XmlDocFile>
</Options>
</Configuration>
<Reference name="System"/>
<Reference name="System.Drawing"/>
<Reference name="System.Windows.Forms"/>
<Reference name="System.Data"/>
<Reference name="System.Xml"/>
<Files>
<Match path="." pattern="*.cs" recurse="true"/>
<Match path="." pattern="*.resx" recurse="true" buildAction="EmbeddedResource"/>
<Match path="." pattern="OpenTK.dll.config" buildAction="None" copyToOutput="Always"/>
</Files>
</Project>
<Project name="OpenTK.Build" path="Source/Build" language="C#" type="Exe" assemblyName="Build">
<Configuration name="Debug">
<Options>
<OutputPath>../../Binaries/OpenTK/Debug</OutputPath>
</Options>
</Configuration>
<Configuration name="Release">
<Options>
<OutputPath>../../Binaries/OpenTK/Release</OutputPath>
</Options>
</Configuration>
<Reference name="System"/>
<Files>
<Match path="." pattern="*.cs" recurse="true"/>
<Match path="." pattern="*.resx" recurse="true" buildAction="EmbeddedResource"/>
<Match path="Resources" pattern="*.*" buildAction="Content"/>
</Files>
</Project>
<Project name="OpenTK.Compatibility" path="Source/Compatibility" language="C#" type="Library">
<Configuration name="Debug">
<Options>
<OutputPath>../../Binaries/OpenTK/Debug</OutputPath>
<AllowUnsafe>true</AllowUnsafe>
<XmlDocFile>OpenTK.Compatibility.xml</XmlDocFile>
<SuppressWarnings>1591</SuppressWarnings>
</Options>
</Configuration>
<Configuration name="Release">
<Options>
<OutputPath>../../Binaries/OpenTK/Release</OutputPath>
<AllowUnsafe>true</AllowUnsafe>
<XmlDocFile>OpenTK.Compatibility.xml</XmlDocFile>
<SuppressWarnings>1591</SuppressWarnings>
</Options>
</Configuration>
<Reference name="OpenTK"/>
<Reference name="OpenTK.GLControl"/>
<Reference name="System"/>
<Reference name="System.Drawing"/>
<Reference name="System.Windows.Forms"/>
<Reference name="System.Data"/>
<Reference name="System.Xml"/>
<Files>
<Match path="." pattern="*.cs" recurse="true"/>
<Match path="." pattern="*.resx" recurse="true" buildAction="EmbeddedResource"/>
<Match path="." pattern="OpenTK.Compatibility.dll.config" buildAction="None" copyToOutput="Always"/>
</Files>
</Project>
<Project name="OpenTK.Examples" path="Source/Examples" language="C#" type="WinExe" startupObject="Examples.Program" assemblyName="Examples">
<Configuration name="Debug">
<Options>
<OutputPath>../../Binaries/OpenTK/Debug</OutputPath>
<AllowUnsafe>true</AllowUnsafe>
</Options>
</Configuration>
<Configuration name="Release">
<Options>
<OutputPath>../../Binaries/OpenTK/Release</OutputPath>
<AllowUnsafe>true</AllowUnsafe>
</Options>
</Configuration>
<Reference name="OpenTK" localCopy="true"/>
<Reference name="OpenTK.GLControl" localCopy="true"/>
<Reference name="System"/>
<Reference name="System.Drawing"/>
<Reference name="System.Windows.Forms"/>
<Reference name="System.Data"/>
<Reference name="System.Xml"/>
<Files>
<Match path="." pattern="*.cs" recurse="true"/>
<Match path="." pattern="*.rtf" recurse="true" buildAction="EmbeddedResource" />
<Match path="." pattern="*.resx" recurse="true" buildAction="EmbeddedResource"/>
<Match path="../Examples/Data" pattern="^.*\.(bmp|png|jpg|txt|glsl|wav|ogg)$" useRegex="true" recurse="true" buildAction="None" copyToOutput="Always"/>
<Match path="./Data" pattern="*.txt" recurse="true" buildAction="None" copyToOutput="Always"/>
<Match path="./Data" pattern="*.glsl" recurse="true" buildAction="None" copyToOutput="Always"/>
<Match path="../OpenTK" pattern="OpenTK.dll.config" buildAction="None" copyToOutput="Always"/>
<Match path="../OpenTK" pattern="OpenTK.Compatibility.dll.config" buildAction="None" copyToOutput="Always"/>
</Files>
</Project>
<Project name="OpenTK.GLControl" path="Source/GLControl" language="C#" type="Library">
<Configuration name="Debug">
<Options>
<OutputPath>../../Binaries/OpenTK/Debug</OutputPath>
<AllowUnsafe>true</AllowUnsafe>
<XmlDocFile>OpenTK.GLControl.xml</XmlDocFile>
</Options>
</Configuration>
<Configuration name="Release">
<Options>
<OutputPath>../../Binaries/OpenTK/Release</OutputPath>
<AllowUnsafe>true</AllowUnsafe>
<XmlDocFile>OpenTK.GLControl.xml</XmlDocFile>
</Options>
</Configuration>
<Reference name="OpenTK"/>
<Reference name="System"/>
<Reference name="System.Drawing"/>
<Reference name="System.Windows.Forms"/>
<Reference name="System.Data"/>
<Reference name="System.Xml"/>
<Files>
<Match path="." pattern="*.cs" recurse="true"/>
</Files>
</Project>
</Solution>
</Prebuild>

View file

@ -0,0 +1,65 @@
BSD License
Copyright (c)2004-2008
See AUTHORS file for list of copyright holders
Dave Hudson (jendave@yahoo.com),
Matthew Holmes (matthew@wildfiregames.com)
Dan Moorehead (dan05a@gmail.com)
Rob Loach (http://www.robloach.net)
C.J. Adams-Collier (cjac@colliertech.org)
http://dnpb.sourceforge.net
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. The names of the authors may not be used to endorse or promote
products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
---
Portions of src/Core/Targets/AutotoolsTarget.cs
// Copyright (C) 2006 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Binary file not shown.

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8" ?>
<Prebuild xmlns="http://dnpb.sourceforge.net/schemas/prebuild-1.7.xsd">
<Solution name="QuickStart">
<Configuration name="Debug">
<Options>
<CompilerDefines>DEBUG;TRACE;</CompilerDefines>
<OptimizeCode>false</OptimizeCode>
<DebugInformation>true</DebugInformation>
</Options>
</Configuration>
<Configuration name="Release">
<Options>
<CompilerDefines>TRACE;</CompilerDefines>
<OptimizeCode>true</OptimizeCode>
<DebugInformation>false</DebugInformation>
</Options>
</Configuration>
<Project name="QuickStart" path="Source/QuickStart" language="C#" type="WinExe">
<Configuration name="Debug">
<Options>
<OutputPath>../../Binaries/QuickStart/Debug</OutputPath>
</Options>
</Configuration>
<Configuration name="Release">
<Options>
<OutputPath>../../Binaries/QuickStart/Release</OutputPath>
</Options>
</Configuration>
<Reference name="System"/>
<Reference name="System.Drawing"/>
<Reference name="OpenTK" localCopy="true"/>
<Files>
<Match path="." pattern="*.cs" recurse="true"/>
<Match path="../../Binaries/OpenTK/Release" pattern="OpenTK.dll" buildAction="None"/>
<Match path="../../Binaries/OpenTK/Release" pattern="OpenTK.dll.config" buildAction="None" copyToOutput="Always"/>
</Files>
</Project>
</Solution>
</Prebuild>