Browse Source

never mind

Simon Krajewski 12 years ago
parent
commit
064d4af0f2
5 changed files with 215 additions and 2 deletions
  1. 1 1
      doc/release.neko
  2. 72 0
      doc/setup.cpp
  3. 21 0
      doc/setup.sln
  4. 120 0
      doc/setup.vcproj
  5. 1 1
      tests/unit/unit.hxproj

+ 1 - 1
doc/release.neko

@@ -37,7 +37,7 @@ mkdir(dir);
 mkdir(dir+"/doc");
 mkdir(dir+"/doc");
 
 
 if( sys == "Windows" )
 if( sys == "Windows" )
-	cmd("cp ../haxe.exe haxeserver.bat "+dir);
+	cmd("cp ../haxe.exe ../haxesetup.exe haxeserver.bat "+dir);
 else
 else
 	cmd("cp ../haxe "+dir);
 	cmd("cp ../haxe "+dir);
 
 

+ 72 - 0
doc/setup.cpp

@@ -0,0 +1,72 @@
+/*
+ *  Haxe Setup
+ *  Copyright (c)2006 Nicolas Cannasse
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+// this is a small program that do basic haXe setup on Windows
+#include <windows.h>
+
+static void Set( HKEY k, const char *name, DWORD t, const char *data ) {
+	RegSetValueEx(k,name,0,t,(const BYTE*)data,(DWORD)strlen(data)+1);
+}
+
+int WINAPI WinMain( HINSTANCE inst, HINSTANCE prev, LPSTR lpCmdLine, int nCmdShow ) {
+	char path[MAX_PATH];
+	*path = '"';
+	GetModuleFileName(NULL,path+1,MAX_PATH);
+
+	// register .hxml extension
+	char *s = strrchr(path,'\\') + 1;
+	strcpy(s,"haxe.exe\" -prompt \"%1\"");
+	HKEY k;
+	RegCreateKey(HKEY_CLASSES_ROOT,".hxml\\shell\\Compile\\command",&k);
+	RegSetValueEx(k,NULL,0,REG_SZ,(const BYTE*)path,(DWORD)(strlen(path)+1));
+	*s = 0;
+
+	// add %HAXEPATH% to PATH and set HAXEPATH to current path
+	DWORD ktype;
+	DWORD ksize = 16000;
+	char *kdata = new char[16000];
+	memset(kdata,0,ksize);
+	RegOpenKey(HKEY_CURRENT_USER,"Environment",&k);	
+	RegQueryValueEx(k,"PATH",NULL,&ktype,(LPBYTE)kdata,&ksize);
+	if( strstr(kdata,"%HAXEPATH%") == NULL ) {
+		char *s = kdata + strlen(kdata);
+		strcpy(s,";%HAXEPATH%");
+		Set(k,"PATH",REG_EXPAND_SZ,kdata);		
+	}
+	if( strstr(kdata,"%NEKO_INSTPATH%") == NULL ) {
+		char *s = kdata + strlen(kdata);
+		strcpy(s,";%NEKO_INSTPATH%");
+		Set(k,"PATH",REG_EXPAND_SZ,kdata);
+	}
+	Set(k,"HAXEPATH",REG_SZ,path + 1);	
+	s[-1] = 0;
+	strcpy(strrchr(path,'\\'),"\\neko");
+	Set(k,"NEKO_INSTPATH",REG_SZ,path+1);
+	RegCloseKey(k);
+
+	// inform running apps of env changes (W2K/NT systems only ?)
+	DWORD unused;
+	SendMessageTimeout(HWND_BROADCAST,WM_SETTINGCHANGE, 0, (LPARAM)"Environment", SMTO_ABORTIFHUNG, 5000, &unused );
+
+	delete kdata;
+	// register 
+	if( strcmp(lpCmdLine,"-silent") != 0 )
+		MessageBox(NULL,"Setup completed, you can start using haXe now","haxesetup",MB_OK | MB_ICONINFORMATION);
+	return 0;
+}

+ 21 - 0
doc/setup.sln

@@ -0,0 +1,21 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "setup", "setup.vcproj", "{6E869222-35FF-4BC0-B5AA-E63BCB8803A6}"
+	ProjectSection(ProjectDependencies) = postProject
+	EndProjectSection
+EndProject
+Global
+	GlobalSection(SolutionConfiguration) = preSolution
+		Debug = Debug
+		Release = Release
+	EndGlobalSection
+	GlobalSection(ProjectConfiguration) = postSolution
+		{6E869222-35FF-4BC0-B5AA-E63BCB8803A6}.Debug.ActiveCfg = Debug|Win32
+		{6E869222-35FF-4BC0-B5AA-E63BCB8803A6}.Debug.Build.0 = Debug|Win32
+		{6E869222-35FF-4BC0-B5AA-E63BCB8803A6}.Release.ActiveCfg = Release|Win32
+		{6E869222-35FF-4BC0-B5AA-E63BCB8803A6}.Release.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+	EndGlobalSection
+	GlobalSection(ExtensibilityAddIns) = postSolution
+	EndGlobalSection
+EndGlobal

+ 120 - 0
doc/setup.vcproj

@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="7.10"
+	Name="setup"
+	ProjectGUID="{6E869222-35FF-4BC0-B5AA-E63BCB8803A6}"
+	Keyword="Win32Proj">
+	<Platforms>
+		<Platform
+			Name="Win32"/>
+	</Platforms>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="Debug"
+			IntermediateDirectory="Debug"
+			ConfigurationType="1"
+			CharacterSet="2">
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
+				MinimalRebuild="TRUE"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="5"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="TRUE"
+				DebugInformationFormat="4"/>
+			<Tool
+				Name="VCCustomBuildTool"/>
+			<Tool
+				Name="VCLinkerTool"
+				OutputFile="$(OutDir)/haxesetup.exe"
+				LinkIncremental="2"
+				GenerateDebugInformation="TRUE"
+				ProgramDatabaseFile="$(OutDir)/setup.pdb"
+				SubSystem="2"
+				TargetMachine="1"/>
+			<Tool
+				Name="VCMIDLTool"/>
+			<Tool
+				Name="VCPostBuildEventTool"/>
+			<Tool
+				Name="VCPreBuildEventTool"/>
+			<Tool
+				Name="VCPreLinkEventTool"/>
+			<Tool
+				Name="VCResourceCompilerTool"/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"/>
+			<Tool
+				Name="VCWebDeploymentTool"/>
+			<Tool
+				Name="VCManagedWrapperGeneratorTool"/>
+			<Tool
+				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="Release"
+			IntermediateDirectory="Release"
+			ConfigurationType="1"
+			CharacterSet="2">
+			<Tool
+				Name="VCCLCompilerTool"
+				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+				RuntimeLibrary="2"
+				BufferSecurityCheck="FALSE"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				Detect64BitPortabilityProblems="TRUE"
+				DebugInformationFormat="3"/>
+			<Tool
+				Name="VCCustomBuildTool"/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="msvcrt60.lib"
+				OutputFile="$(OutDir)/haxesetup.exe"
+				LinkIncremental="1"
+				IgnoreDefaultLibraryNames="MSVCRT"
+				GenerateDebugInformation="TRUE"
+				SubSystem="2"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"/>
+			<Tool
+				Name="VCMIDLTool"/>
+			<Tool
+				Name="VCPostBuildEventTool"/>
+			<Tool
+				Name="VCPreBuildEventTool"/>
+			<Tool
+				Name="VCPreLinkEventTool"/>
+			<Tool
+				Name="VCResourceCompilerTool"/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"/>
+			<Tool
+				Name="VCWebDeploymentTool"/>
+			<Tool
+				Name="VCManagedWrapperGeneratorTool"/>
+			<Tool
+				Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<File
+			RelativePath=".\setup.cpp">
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>

+ 1 - 1
tests/unit/unit.hxproj

@@ -60,7 +60,7 @@
     <hidden path="server.bat" />
     <hidden path="server.bat" />
   </hiddenPaths>
   </hiddenPaths>
   <!-- Executed before build -->
   <!-- Executed before build -->
-  <preBuildCommand>"$(CompilerPath)\haxe" compile.hxml</preBuildCommand>
+  <preBuildCommand>$(CompilerPath)/haxe compile.hxml</preBuildCommand>
   <!-- Executed after build -->
   <!-- Executed after build -->
   <postBuildCommand alwaysRun="False" />
   <postBuildCommand alwaysRun="False" />
   <!-- Other project options -->
   <!-- Other project options -->