diff --git a/com.amd.aparapi.jni/build.xml b/com.amd.aparapi.jni/build.xml
index efe8abbb3316913510a3fc409899b951a8f82ff1..cee8ecce4bfb60dfdccb3a7ca2ae8c7a91bee6c7 100644
--- a/com.amd.aparapi.jni/build.xml
+++ b/com.amd.aparapi.jni/build.xml
@@ -21,15 +21,14 @@ First consider editing the properties in build.properties
    <property name="ant.build.javac.target" value="1.7"/>
 
    <property name="amd.app.sdk.version" value="2.9-1"/>
+   
    <property environment="env" />
-
-   <!-- uncomment this if you want to use mingw! -->
-   <!--<property name="mingw.dir" value="c:\\MinGW"/>-->
    
    <!-- Check for AMD APP SDK -->
    <echo>
-      Since AMD APP SDK 2.9 you can have multiple versions installed/co-exist on same machine, 
-      so AMD introduced a completely new naming convention for their installation directories 
+      Note: Since AMD APP SDK 2.9 you can have multiple versions installed/co-exist on same machine, 
+      so AMD introduced a completely new naming convention for their installation directories
+      For example C:/Program Files/AMD APP SDK/2.9-1
    </echo>
 
    <target name="init">
@@ -56,7 +55,7 @@ First consider editing the properties in build.properties
       </condition>
 
       <available property="linux.amd.app.sdk.exists" file="/opt/AMDAPPSDK-${amd.app.sdk.version}" type="dir"/>
-      <condition property="amd.app.sdk.dir" value="/opt/AMDAPPSDK-${amd.app.sdk.version}">
+      <condition property="amd.app.sdk.dir" value="/opt/AMDAPPSDK-${amd.app.sdk.version}¬">
          <and>
             <os family="unix" />
             <not>
@@ -72,227 +71,142 @@ First consider editing the properties in build.properties
          </and>
       </condition>
 
-      <echo message=" amd.app.sdk.dir ${amd.app.sdk.dir}"/>
+      <echo message="amd.app.sdk.dir ${amd.app.sdk.dir}"/>
 
-	  <!-- Check for Visual Studio -->
+	  <!-- Check for Visual Studio Compiler -->
 	  <!-- This needs to be in descending order to properly handle multiple installations -->
-	  
-      <available property="msvc.32.11.0.exists" file="C:/Program Files (x86)/Microsoft Visual Studio 11.0\VC\bin" type="dir"/>
-      <condition property="msvc.dir" value="c:/Program Files (x86)/Microsoft Visual Studio 11.0">
+	  <available property="msvc.32.12.0.exists" file="C:/Program Files/Microsoft Visual Studio 12.0\VC\bin" type="dir"/>
+      <condition property="msvc.dir" value="c:/Program Files/Microsoft Visual Studio 12.0">
          <and>
-            <not>
-               <or>
-                  <os arch="x86" />
-                  <os arch="i386" />
-               </or>
-            </not>
             <os family="windows" />
-            <isset property="msvc.32.11.0.exists" />
+            <isset property="msvc.32.12.0.exists" />
             <not>
                <isset property="msvc.dir" />
             </not>
-            <not>
-               <isset property="mingw.dir" />
-            </not>
          </and>
       </condition>
       
-      <available property="msvc.64.10.0.exists" file="c:/Program Files/Microsoft Visual Studio 10.0\vc\bin" type="dir"/>
-      <condition property="msvc.dir" value="c:/Program Files/Microsoft Visual Studio 10.0">
+      <available property="msvc.64.12.0.exists" file="C:/Program Files (x86)/Microsoft Visual Studio 12.0\VC\bin" type="dir"/>
+      <condition property="msvc.dir" value="c:/Program Files (x86)/Microsoft Visual Studio 12.0">
          <and>
-            <or>
-               <os arch="x86" />
-               <os arch="i386" />
-            </or>
             <os family="windows" />
-            <isset property="msvc.64.10.0.exists" />
+            <isset property="msvc.64.12.0.exists" />
             <not>
                <isset property="msvc.dir" />
             </not>
-            <not>
-               <isset property="mingw.dir" />
-            </not>
          </and>
       </condition>
       
-      <available property="msvc.32.10.0.exists" file="c:/Program Files (x86)/Microsoft Visual Studio 10.0\vc\bin" type="dir"/>
-      <condition property="msvc.dir" value="c:/Program Files (x86)/Microsoft Visual Studio 10.0">
+	  <available property="msvc.32.11.0.exists" file="C:/Program Files/Microsoft Visual Studio 11.0\VC\bin" type="dir"/>
+      <condition property="msvc.dir" value="c:/Program Files/Microsoft Visual Studio 11.0">
          <and>
-            <not>
-               <or>
-                  <os arch="x86" />
-                  <os arch="i386" />
-               </or>
-            </not>
             <os family="windows" />
-            <isset property="msvc.32.10.0.exists" />
+            <isset property="msvc.32.11.0.exists" />
             <not>
                <isset property="msvc.dir" />
             </not>
-            <not>
-               <isset property="mingw.dir" />
-            </not>
          </and>
       </condition>
       
-      <available property="msvc.32.9.0.exists" file="c:/Program Files/Microsoft Visual Studio 9.0\vc\bin" type="dir"/>
-      <condition property="msvc.dir" value="c:/Program Files/Microsoft Visual Studio 9.0">
+      <available property="msvc.64.11.0.exists" file="C:/Program Files (x86)/Microsoft Visual Studio 11.0\VC\bin" type="dir"/>
+      <condition property="msvc.dir" value="c:/Program Files (x86)/Microsoft Visual Studio 11.0">
          <and>
-            <or>
-               <os arch="x86" />
-               <os arch="i386" />
-            </or>
             <os family="windows" />
-            <isset property="msvc.32.9.0.exists" />
+            <isset property="msvc.64.11.0.exists" />
             <not>
                <isset property="msvc.dir" />
             </not>
-            <not>
-               <isset property="mingw.dir" />
-            </not>
          </and>
       </condition>
-
-	  <!-- Check for SDKs -->
-	  <!-- This needs to be in descending order to properly handle multiple installations -->
-	  
-      <!-- <available property="msvc.sdk.8.0A.32.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v8.0A" type="dir"/>
-      <condition property="msvc.sdk.dir" value="C:/Program Files (x86)/Microsoft SDKs/Windows/v8.0A">
+      
+      <available property="msvc.32.10.0.exists" file="c:/Program Files/Microsoft Visual Studio 10.0\vc\bin" type="dir"/>
+      <condition property="msvc.dir" value="c:/Program Files/Microsoft Visual Studio 10.0">
          <and>
             <os family="windows" />
-            <isset property="msvc.sdk.8.0A.32.exists" />
-            <not>
-               <isset property="msvc.sdk.dir" />
-            </not>
+            <isset property="msvc.32.10.0.exists" />
             <not>
-               <isset property="mingw.dir" />
+               <isset property="msvc.dir" />
             </not>
          </and>
       </condition>
       
-      <available property="msvc.sdk.8.0.32.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v8.0" type="dir"/>
-      <condition property="msvc.sdk.dir" value="C:/Program Files (x86)/Microsoft SDKs/Windows/v8.0">
+      <available property="msvc.64.10.0.exists" file="c:/Program Files (x86)/Microsoft Visual Studio 10.0\vc\bin" type="dir"/>
+      <condition property="msvc.dir" value="c:/Program Files (x86)/Microsoft Visual Studio 10.0">
          <and>
             <os family="windows" />
-            <isset property="msvc.sdk.8.0.32.exists" />
-            <not>
-               <isset property="msvc.sdk.dir" />
-            </not>
+            <isset property="msvc.64.10.0.exists" />
             <not>
-               <isset property="mingw.dir" />
+               <isset property="msvc.dir" />
             </not>
          </and>
-      </condition> -->
-      
-      <available property="msvc.sdk.7.1A.exists" file="C:/Program Files/Microsoft SDKs/Windows/v7.1A" type="dir"/>
+      </condition>
+
+	  <!-- Check for SDKs -->
+	  <!-- This needs to be in descending order to properly handle multiple installations -->
+	
+      <available property="msvc.sdk.7.1A.32.exists" file="C:/Program Files/Microsoft SDKs/Windows/v7.1A" type="dir"/>
       <condition property="msvc.sdk.dir" value="C:/Program Files/Microsoft SDKs/Windows/v7.1A">
          <and>
             <os family="windows" />
-            <isset property="msvc.sdk.7.1A.exists" />
+            <isset property="msvc.sdk.7.1A.32.exists" />
             <not>
                <isset property="msvc.sdk.dir" />
             </not>
-            <not>
-               <isset property="mingw.dir" />
-            </not>
          </and>
       </condition>
       
-      <available property="msvc.sdk.7.1A.32.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A" type="dir"/>
+      <available property="msvc.sdk.7.1A.64.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A" type="dir"/>
       <condition property="msvc.sdk.dir" value="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A">
          <and>
             <os family="windows" />
-            <isset property="msvc.sdk.7.1A.32.exists" />
+            <isset property="msvc.sdk.7.1A.64.exists" />
             <not>
                <isset property="msvc.sdk.dir" />
             </not>
-            <not>
-               <isset property="mingw.dir" />
-            </not>
          </and>
       </condition>
       
-      <available property="msvc.sdk.7.1.exists" file="C:/Program Files/Microsoft SDKs/Windows/v7.1" type="dir"/>
+      <available property="msvc.sdk.7.1.32.exists" file="C:/Program Files/Microsoft SDKs/Windows/v7.1" type="dir"/>
       <condition property="msvc.sdk.dir" value="C:/Program Files/Microsoft SDKs/Windows/v7.1">
          <and>
             <os family="windows" />
-            <isset property="msvc.sdk.7.1.exists" />
+            <isset property="msvc.sdk.7.1.32.exists" />
             <not>
                <isset property="msvc.sdk.dir" />
             </not>
-            <not>
-               <isset property="mingw.dir" />
-            </not>
          </and>
       </condition>
 
-	  <available property="msvc.sdk.7.1.32.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1" type="dir"/>
+	  <available property="msvc.sdk.7.1.64.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1" type="dir"/>
       <condition property="msvc.sdk.dir" value="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1">
          <and>
             <os family="windows" />
-            <isset property="msvc.sdk.7.1.32.exists" />
+            <isset property="msvc.sdk.7.1.64.exists" />
             <not>
                <isset property="msvc.sdk.dir" />
             </not>
-            <not>
-               <isset property="mingw.dir" />
-            </not>
          </and>
       </condition>
 
-      <available property="msvc.sdk.7.0A.exists" file="C:/Program Files/Microsoft SDKs/Windows/v7.0A" type="dir"/>
+      <available property="msvc.sdk.7.0A.32.exists" file="C:/Program Files/Microsoft SDKs/Windows/v7.0A" type="dir"/>
       <condition property="msvc.sdk.dir" value="C:/Program Files/Microsoft SDKs/Windows/v7.0A">
-         <and>
-            <os family="windows" />
-            <isset property="msvc.sdk.7.0A.exists" />
-            <not>
-               <isset property="msvc.sdk.dir" />
-            </not>
-            <not>
-               <isset property="mingw.dir" />
-            </not>
-         </and>
-      </condition>
-
-      <available property="msvc.sdk.7.0A.32.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A" type="dir"/>
-      <condition property="msvc.sdk.dir" value="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A">
          <and>
             <os family="windows" />
             <isset property="msvc.sdk.7.0A.32.exists" />
             <not>
                <isset property="msvc.sdk.dir" />
             </not>
-            <not>
-               <isset property="mingw.dir" />
-            </not>
-         </and>
-      </condition>
-      
-      <available property="msvc.sdk.7.0.exists" file="C:/Program Files/Microsoft SDKs/Windows/v7.0" type="dir"/>
-      <condition property="msvc.sdk.dir" value="C:/Program Files/Microsoft SDKs/Windows/v7.0">
-         <and>
-            <os family="windows" />
-            <isset property="msvc.sdk.7.0.exists" />
-            <not>
-               <isset property="msvc.sdk.dir" />
-            </not>
-            <not>
-               <isset property="mingw.dir" />
-            </not>
          </and>
       </condition>
 
-      <available property="msvc.sdk.6.0A.exists" file="C:/Program Files/Microsoft SDKs/Windows/v6.0A" type="dir"/>
-      <condition property="msvc.sdk.dir" value="C:/Program Files/Microsoft SDKs/Windows/v6.0A">
+      <available property="msvc.sdk.7.0A.64.exists" file="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A" type="dir"/>
+      <condition property="msvc.sdk.dir" value="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A">
          <and>
             <os family="windows" />
-            <isset property="msvc.sdk.6.0A.exists" />
+            <isset property="msvc.sdk.7.0A.64.exists" />
             <not>
                <isset property="msvc.sdk.dir" />
             </not>
-            <not>
-               <isset property="mingw.dir" />
-            </not>
          </and>
       </condition>
 
@@ -301,7 +215,6 @@ First consider editing the properties in build.properties
    </target>
 
    <target name="check" depends="init">
-
       <fail message="Error:">
          <condition>
             <and>
@@ -372,30 +285,6 @@ First consider editing the properties in build.properties
          At present msvc.sdk.dir is set (to ${msvc.sdk.dir}) but that dir does not exist
          ]]>
       </fail>
-
-
-      <available file="${mingw.dir}" type="dir" property="mingw.dir.exists" />
-      <fail message="Error:">
-         <condition>
-            <and>
-               <os family="windows" />
-               <isset property="mingw.dir" />
-               <not>
-                  <isset property="mingw.dir.exists" />
-               </not>
-            </and>
-         </condition>
-         <![CDATA[
-         You will need to edit com.amd.aparapi.jni/build.xml to compile aparapi JNI code
-
-         At present mingw.dir is set (to ${mingw.dir}) but that dir does not exist
-         ]]>
-      </fail>
-      
-      <!--<echo message="java.home ${java.home}"/>-->
-      <!--<echo message="msvc.dir.exists ${msvc.dir.exists}"/>-->
-      <!--<echo message="msvc.sdk.dir.exists ${msvc.sdk.dir.exists}"/>-->
-      <!--<echo message="mingw.dir.exists ${mingw.dir.exists}"/>-->
       
       <condition property="use.msvc">
          <and>
@@ -404,54 +293,6 @@ First consider editing the properties in build.properties
             <isset property="msvc.sdk.dir.exists" />
          </and>
       </condition>
-      <!--<echo message="use.msvc ${use.msvc}"/>-->
-
-      <condition property="use.mingw">
-         <and>
-            <os family="windows" />
-            <isset property="mingw.dir.exists" />
-         </and>
-      </condition>
-      <!--<echo message="use.mingw ${use.mingw}"/>-->
-
-      <fail message="Error:">
-         <condition>
-            <and>
-               <isset property="use.mingw" />
-               <isset property="use.msvc" />
-            </and>
-         </condition>
-         <![CDATA[
-         You will need to edit com.amd.aparapi.jni/build.xml to compile aparapi JNI code
-
-         At present Ant is Configured for both MinGW AND Microsoft Visual Studio. You need to pick one or the other :) !
-
-         Just comment out the properties for the compiler that you *do not* wish to use.
-         ]]>
-      </fail>
-
-      <fail message="Error:">
-         <condition>
-            <and>
-               <os family="windows" />
-               <not>
-                  <or>
-                     <isset property="use.mingw" />
-                     <isset property="use.msvc" />
-                  </or>
-               </not>
-            </and>
-         </condition>
-         <![CDATA[
-         You will need to edit com.amd.aparapi.jni/build.xml to compile aparapi JNI code
-
-         This looks like a Windows machine so you probably need to configure either:
-
-         * msvc.dir and msvc.sdk.dir if you wish to use Microsoft Visual Studio compiler
-
-         * mingw.dir if you prefer if you prefer to use MinGW 
-         ]]>
-      </fail>
 
       <condition property="use.gcc">
          <and>
@@ -502,8 +343,8 @@ First consider editing the properties in build.properties
          <![CDATA[
          You will need to edit com.amd.aparapi.jni/build.xml to compile aparapi JNI code
 
-         Could not find vc\bin\${optional.amd64.subdir}cl under Configured msvc.dir. Check if msvc.dir is pointing
-         to a valid visual studio installation
+         Could not find vc\bin\${optional.amd64.subdir}cl under configured msvc.dir. Check if msvc.dir is pointing
+         to a valid Visual Studio installation
          ]]>
       </fail>
 
@@ -524,6 +365,7 @@ First consider editing the properties in build.properties
          You need to set amd.app.sdk.dir to point to the location where AMD APP SDK is installed
          ]]>
       </fail>
+      
       <available file="${amd.app.sdk.dir}" type="dir" property="amd.app.sdk.dir.exists" />
 
       <fail message="Error:">
@@ -735,46 +577,7 @@ First consider editing the properties in build.properties
       </exec>
    </target>
 
-   <target name="mingw" if="use.mingw">
-      <mkdir dir="${basedir}\dist"/>
-      <echo message="mingw ${os.arch}" /> 
-      <exec executable="${mingw.dir}/bin/g++" failonerror="true">
-         <env key="PATH" path="${env.PATH};${mingw.dir}/bin" />
-         <arg value="-Wall" />
-         <arg value="-O3" />
-         <arg value="-Wl,--kill-at" />
-         <arg value="-DCL_USE_DEPRECATED_OPENCL_1_1_APIS"/>
-         <arg value="-I${java.home}\..\include" />
-         <arg value="-I${java.home}\..\include\win32" />
-         <arg value="-Iinclude" />
-         <arg value="-I${amd.app.sdk.dir}\include" />
-         <arg value="-Isrc/cpp" />
-         <arg value="-Isrc/cpp/runKernel" />
-         <arg value="-Isrc/cpp/invoke" />
-         <arg value="-shared" />
-         <arg value="-o" />
-         <arg value="${basedir}\dist\aparapi_${x86_or_x86_64}.dll" />
-         <arg value="src/cpp/runKernel/Aparapi.cpp" />
-         <arg value="src/cpp/runKernel/ArrayBuffer.cpp" />
-         <arg value="src/cpp/runKernel/AparapiBuffer.cpp" />
-         <arg value="src/cpp/runKernel/Config.cpp" />
-         <arg value="src/cpp/runKernel/JNIContext.cpp" />
-         <arg value="src/cpp/runKernel/KernelArg.cpp" />
-         <arg value="src/cpp/runKernel/ProfileInfo.cpp" />
-         <arg value="src/cpp/runKernel/Range.cpp" />
-         <arg value="src/cpp/invoke/OpenCLJNI.cpp" />
-         <arg value="src/cpp/invoke/OpenCLArgDescriptor.cpp" />
-         <arg value="src/cpp/invoke/OpenCLMem.cpp" />
-         <arg value="src/cpp/CLHelper.cpp" />
-         <arg value="src/cpp/classtools.cpp" />
-         <arg value="src/cpp/JNIHelper.cpp" />
-         <arg value="src/cpp/agent.cpp" />
-         <arg value="-L${amd.app.sdk.dir}\lib\${x86_or_x86_64}" />
-         <arg value="-lOpenCL" />
-      </exec>
-   </target>
-
-   <target name="build" depends="clean, javah, msvc, mingw, gcc, gcc_mac" />
+   <target name="build" depends="clean, javah, msvc, gcc, gcc_mac" />
 
    <target name="msvc_cltest" if="use.msvc">
       <mkdir dir="${basedir}\dist"/>