Index: trunk/ab5.0/abdev/ab_common/Environment.cpp
===================================================================
--- trunk/ab5.0/abdev/ab_common/Environment.cpp	(revision 477)
+++ trunk/ab5.0/abdev/ab_common/Environment.cpp	(revision 477)
@@ -0,0 +1,21 @@
+#include "stdafx.h"
+
+std::string ActiveBasic::Common::Environment::rootPath = Jenga::Common::Environment::GetAppDir();
+
+using namespace ActiveBasic::Common;
+
+void Environment::SetAbdevRootPath( const std::string &rootPath )
+{
+	Environment::rootPath = Jenga::Common::Path::MakeFullPath( rootPath, Jenga::Common::Environment::GetAppDir() );
+}
+const std::string Environment::GetCompilerExePath( Platform::EnumType platform )
+{
+	switch( platform )
+	{
+	case Platform::X86:
+		return rootPath + "\\bin\\x86\\abc.exe";
+	case Platform::X64:
+		return rootPath + "\\bin\\x64\\abc.exe";
+	}
+	throw;
+}
Index: trunk/ab5.0/abdev/ab_common/Environment.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/Environment.h	(revision 475)
+++ trunk/ab5.0/abdev/ab_common/Environment.h	(revision 477)
@@ -4,10 +4,30 @@
 
 
+struct Platform
+{
+	enum EnumType
+	{
+		X86,
+		X64,
+	};
+};
+
 class Environment
 {
+	static std::string rootPath;
 public:
-	static const std::string GetAbdevRootPath();
-	static const std::string GetX86CompilerExePath();
-	static const std::string GetX64CompilerExePath();
+	static void SetAbdevRootPath( const std::string &rootPath );
+
+	static const std::string GetAbdevRootPath()
+	{
+		return rootPath;
+	}
+
+	static const std::string GetAbdevSystemDirPath()
+	{
+		return GetAbdevRootPath() + "\\system";
+	}
+
+	static const std::string GetCompilerExePath( Platform::EnumType platform );
 };
 
Index: trunk/ab5.0/abdev/ab_common/ab_common.vcproj
===================================================================
--- trunk/ab5.0/abdev/ab_common/ab_common.vcproj	(revision 475)
+++ trunk/ab5.0/abdev/ab_common/ab_common.vcproj	(revision 477)
@@ -150,4 +150,8 @@
 			>
 			<File
+				RelativePath=".\Environment.cpp"
+				>
+			</File>
+			<File
 				RelativePath=".\stdafx.cpp"
 				>
@@ -190,8 +194,4 @@
 			>
 		</Filter>
-		<File
-			RelativePath=".\ReadMe.txt"
-			>
-		</File>
 	</Files>
 	<Globals>
Index: trunk/ab5.0/abdev/ab_common/stdafx.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/stdafx.h	(revision 475)
+++ trunk/ab5.0/abdev/ab_common/stdafx.h	(revision 477)
@@ -22,8 +22,9 @@
 #include <boost/foreach.hpp>
 
+#include <jenga/include/common/CmdLine.h>
+#include <jenga/include/common/Environment.h>
+#include <jenga/include/common/File.h>
+#include <jenga/include/common/Path.h>
 #include <jenga/include/common/String.h>
-#include <jenga/include/common/File.h>
-#include <jenga/include/common/CmdLine.h>
-#include <jenga/include/common/Path.h>
 
 #include "Environment.h"
