diff --git a/core/org.eclipse.cdt.core.win32.x86/.project b/core/org.eclipse.cdt.core.win32.x86/.project
new file mode 100644
index 00000000000..29368923c4c
--- /dev/null
+++ b/core/org.eclipse.cdt.core.win32.x86/.project
@@ -0,0 +1,22 @@
+
+
+ org.eclipse.cdt.core.win32.x86
+
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+
+
diff --git a/core/org.eclipse.cdt.core.win32.x86/META-INF/MANIFEST.MF b/core/org.eclipse.cdt.core.win32.x86/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..559772a6fa7
--- /dev/null
+++ b/core/org.eclipse.cdt.core.win32.x86/META-INF/MANIFEST.MF
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %fragmentName.win32.x86
+Bundle-SymbolicName: org.eclipse.cdt.core.win32.x86;singleton:=true
+Bundle-Version: 5.2.0.qualifier
+Bundle-Vendor: %providerName
+Fragment-Host: org.eclipse.cdt.core;bundle-version="[5.2.0,6.0.0)"
+Bundle-Localization: plugin
+Eclipse-PlatformFilter: (&(osgi.os=win32)(osgi.arch=x86))
+Eclipse-BundleShape: dir
diff --git a/core/org.eclipse.cdt.core.win32.x86/about.html b/core/org.eclipse.cdt.core.win32.x86/about.html
new file mode 100644
index 00000000000..5eba4faba08
--- /dev/null
+++ b/core/org.eclipse.cdt.core.win32.x86/about.html
@@ -0,0 +1,24 @@
+
+
+About
+
+
+About This Content
+
+June 22, 2007
+License
+
+The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at http://www.eclipse.org/legal/epl-v10.html.
+For purposes of the EPL, "Program" will mean the Content.
+
+If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at http://www.eclipse.org.
+
+
\ No newline at end of file
diff --git a/core/org.eclipse.cdt.core.win32.x86/build.properties b/core/org.eclipse.cdt.core.win32.x86/build.properties
new file mode 100644
index 00000000000..b43fc219a8a
--- /dev/null
+++ b/core/org.eclipse.cdt.core.win32.x86/build.properties
@@ -0,0 +1,14 @@
+###############################################################################
+# Copyright (c) 2011 Marc-Andre Laperle and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Marc-Andre Laperle - initial API and implementation
+###############################################################################
+bin.includes = META-INF/,\
+ os/,\
+ about.html
+src.includes = about.html
diff --git a/core/org.eclipse.cdt.core.win32/os/win32/x86/listtasks.exe b/core/org.eclipse.cdt.core.win32.x86/os/win32/x86/listtasks.exe
similarity index 100%
rename from core/org.eclipse.cdt.core.win32/os/win32/x86/listtasks.exe
rename to core/org.eclipse.cdt.core.win32.x86/os/win32/x86/listtasks.exe
diff --git a/core/org.eclipse.cdt.core.win32/os/win32/x86/spawner.dll b/core/org.eclipse.cdt.core.win32.x86/os/win32/x86/spawner.dll
similarity index 100%
rename from core/org.eclipse.cdt.core.win32/os/win32/x86/spawner.dll
rename to core/org.eclipse.cdt.core.win32.x86/os/win32/x86/spawner.dll
diff --git a/core/org.eclipse.cdt.core.win32/os/win32/x86/starter.exe b/core/org.eclipse.cdt.core.win32.x86/os/win32/x86/starter.exe
similarity index 100%
rename from core/org.eclipse.cdt.core.win32/os/win32/x86/starter.exe
rename to core/org.eclipse.cdt.core.win32.x86/os/win32/x86/starter.exe
diff --git a/core/org.eclipse.cdt.core.win32/os/win32/x86/winreg.dll b/core/org.eclipse.cdt.core.win32.x86/os/win32/x86/winreg.dll
similarity index 100%
rename from core/org.eclipse.cdt.core.win32/os/win32/x86/winreg.dll
rename to core/org.eclipse.cdt.core.win32.x86/os/win32/x86/winreg.dll
diff --git a/core/org.eclipse.cdt.core.win32.x86/pom.xml b/core/org.eclipse.cdt.core.win32.x86/pom.xml
new file mode 100644
index 00000000000..5f2bebb9b25
--- /dev/null
+++ b/core/org.eclipse.cdt.core.win32.x86/pom.xml
@@ -0,0 +1,53 @@
+
+
+ 4.0.0
+
+
+ org.eclipse.cdt
+ cdt-parent
+ 8.0.0-SNAPSHOT
+ ../../pom.xml
+
+
+ 5.2.0-SNAPSHOT
+ org.eclipse.cdt.core.win32.x86
+ eclipse-plugin
+
+
+
+
+ org.eclipse.tycho
+ target-platform-configuration
+ ${tycho-version}
+
+ p2
+ consider
+
+
+ win32
+ win32
+ x86
+
+
+
+
+
+ org.eclipse.tycho
+ tycho-source-plugin
+ ${tycho-version}
+
+
+ plugin-source
+ none
+
+
+ attach-source
+ none
+
+
+
+
+
+
diff --git a/core/org.eclipse.cdt.core.win32.x86_64/.project b/core/org.eclipse.cdt.core.win32.x86_64/.project
new file mode 100644
index 00000000000..11d5a0fe822
--- /dev/null
+++ b/core/org.eclipse.cdt.core.win32.x86_64/.project
@@ -0,0 +1,22 @@
+
+
+ org.eclipse.cdt.core.win32.x86_64
+
+
+
+
+
+ org.eclipse.pde.ManifestBuilder
+
+
+
+
+ org.eclipse.pde.SchemaBuilder
+
+
+
+
+
+ org.eclipse.pde.PluginNature
+
+
diff --git a/core/org.eclipse.cdt.core.win32.x86_64/META-INF/MANIFEST.MF b/core/org.eclipse.cdt.core.win32.x86_64/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..5cb454dfc4a
--- /dev/null
+++ b/core/org.eclipse.cdt.core.win32.x86_64/META-INF/MANIFEST.MF
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %fragmentName.win32.x86_64
+Bundle-SymbolicName: org.eclipse.cdt.core.win32.x86_64;singleton:=true
+Bundle-Version: 5.2.0.qualifier
+Fragment-Host: org.eclipse.cdt.core;bundle-version="[5.2.0,6.0.0)"
+Eclipse-PlatformFilter: (&(osgi.os=win32)(osgi.arch=x86_64))
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Eclipse-BundleShape: dir
diff --git a/core/org.eclipse.cdt.core.win32.x86_64/about.html b/core/org.eclipse.cdt.core.win32.x86_64/about.html
new file mode 100644
index 00000000000..5eba4faba08
--- /dev/null
+++ b/core/org.eclipse.cdt.core.win32.x86_64/about.html
@@ -0,0 +1,24 @@
+
+
+About
+
+
+About This Content
+
+June 22, 2007
+License
+
+The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at http://www.eclipse.org/legal/epl-v10.html.
+For purposes of the EPL, "Program" will mean the Content.
+
+If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at http://www.eclipse.org.
+
+
\ No newline at end of file
diff --git a/core/org.eclipse.cdt.core.win32.x86_64/build.properties b/core/org.eclipse.cdt.core.win32.x86_64/build.properties
new file mode 100644
index 00000000000..b43fc219a8a
--- /dev/null
+++ b/core/org.eclipse.cdt.core.win32.x86_64/build.properties
@@ -0,0 +1,14 @@
+###############################################################################
+# Copyright (c) 2011 Marc-Andre Laperle and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Marc-Andre Laperle - initial API and implementation
+###############################################################################
+bin.includes = META-INF/,\
+ os/,\
+ about.html
+src.includes = about.html
diff --git a/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/listtasks.exe b/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/listtasks.exe
new file mode 100644
index 00000000000..56630eacb62
Binary files /dev/null and b/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/listtasks.exe differ
diff --git a/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/spawner.dll b/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/spawner.dll
new file mode 100644
index 00000000000..d1e2113f7ce
Binary files /dev/null and b/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/spawner.dll differ
diff --git a/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/starter.exe b/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/starter.exe
new file mode 100644
index 00000000000..a73cf033c01
Binary files /dev/null and b/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/starter.exe differ
diff --git a/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/winreg.dll b/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/winreg.dll
new file mode 100644
index 00000000000..a8e74e65993
Binary files /dev/null and b/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/winreg.dll differ
diff --git a/core/org.eclipse.cdt.core.win32.x86_64/pom.xml b/core/org.eclipse.cdt.core.win32.x86_64/pom.xml
new file mode 100644
index 00000000000..3877dad754c
--- /dev/null
+++ b/core/org.eclipse.cdt.core.win32.x86_64/pom.xml
@@ -0,0 +1,53 @@
+
+
+ 4.0.0
+
+
+ org.eclipse.cdt
+ cdt-parent
+ 8.0.0-SNAPSHOT
+ ../../pom.xml
+
+
+ 5.2.0-SNAPSHOT
+ org.eclipse.cdt.core.win32.x86_64
+ eclipse-plugin
+
+
+
+
+ org.eclipse.tycho
+ target-platform-configuration
+ ${tycho-version}
+
+ p2
+ consider
+
+
+ win32
+ win32
+ x86_64
+
+
+
+
+
+ org.eclipse.tycho
+ tycho-source-plugin
+ ${tycho-version}
+
+
+ plugin-source
+ none
+
+
+ attach-source
+ none
+
+
+
+
+
+
diff --git a/core/org.eclipse.cdt.core.win32/META-INF/MANIFEST.MF b/core/org.eclipse.cdt.core.win32/META-INF/MANIFEST.MF
index ce112e648fa..f0023d2a42d 100644
--- a/core/org.eclipse.cdt.core.win32/META-INF/MANIFEST.MF
+++ b/core/org.eclipse.cdt.core.win32/META-INF/MANIFEST.MF
@@ -9,4 +9,3 @@ Fragment-Host: org.eclipse.cdt.core;bundle-version="[5.2.0,6.0.0)"
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.4
Eclipse-PlatformFilter: (osgi.os=win32)
-Eclipse-BundleShape: dir
diff --git a/core/org.eclipse.cdt.core.win32/build.properties b/core/org.eclipse.cdt.core.win32/build.properties
index 151be66774e..7b3db958ad3 100644
--- a/core/org.eclipse.cdt.core.win32/build.properties
+++ b/core/org.eclipse.cdt.core.win32/build.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2005, 2008 IBM Corporation and others.
+# Copyright (c) 2005, 2011 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
@@ -10,7 +10,6 @@
###############################################################################
bin.includes = fragment.xml,\
about.html,\
- os/,\
cdt_win32.jar,\
META-INF/
src.includes = about.html,\
diff --git a/core/org.eclipse.cdt.core.win32/library/Makefile b/core/org.eclipse.cdt.core.win32/library/Makefile
index a24c2cd6dff..76bb655800f 100644
--- a/core/org.eclipse.cdt.core.win32/library/Makefile
+++ b/core/org.eclipse.cdt.core.win32/library/Makefile
@@ -17,7 +17,7 @@ CFLAGS = -DUNICODE -I$(JDK_INCLUDES) -I$(JDK_OS_INCLUDES)
CXX=g++
CXXFLAGS=$(CFLAGS)
-INSTALL_DIR = ../os/$(OS)/$(ARCH)
+INSTALL_DIR = ../../org.eclipse.cdt.core.$(OS).$(ARCH)/os/$(OS)/$(ARCH)
LIB_NAME_SPAWNER = spawner.dll
LIB_NAME_FULL_SPAWNER = $(INSTALL_DIR)/spawner.dll
diff --git a/core/org.eclipse.cdt.core.win32/library/Makefile_x86_64.mk b/core/org.eclipse.cdt.core.win32/library/Makefile_x86_64.mk
new file mode 100644
index 00000000000..bec950a18d2
--- /dev/null
+++ b/core/org.eclipse.cdt.core.win32/library/Makefile_x86_64.mk
@@ -0,0 +1,73 @@
+#*******************************************************************************
+# Copyright (c) 2011 Marc-Andre Laperle
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Marc-Andre Laperle - initial API and implementation
+#*******************************************************************************
+
+# Makefile (nmake) for Core fragment on Windows x86_64
+
+OS = win32
+ARCH = x86_64
+
+JDK_INCLUDES= "$(JAVA_HOME)\include"
+JDK_OS_INCLUDES= "$(JAVA_HOME)\include/$(OS)"
+
+CC=cl
+DEBUG_FLAGS = -DDEBUG_MONITOR -DREAD_REPORT
+CFLAGS = /TP /I$(JDK_INCLUDES) /I$(JDK_OS_INCLUDES) /EHs /nologo
+CFLAGS_UNICODE = /D "_UNICODE" /D "UNICODE" $(CFLAGS)
+
+INSTALL_DIR = ..\..\org.eclipse.cdt.core.$(OS).$(ARCH)\os\$(OS)\$(ARCH)
+
+DLL_SPAWNER = spawner.dll
+OBJS_SPAWNER=StdAfx.obj Win32ProcessEx.obj iostream.obj raise.obj spawner.obj
+
+DLL_WINREG = winreg.dll
+OBJS_WINREG=winreg/winreg.obj
+
+EXE_STARTER = starter.exe
+OBJS_STARTER=starter/starter.obj
+
+EXE_LISTTASKS = listtasks.exe
+OBJS_LISTTASKS=listtasks/listtasks.obj listtasks/StdAfx.obj
+
+.c.obj:
+ cl /c $(CFLAGS_UNICODE) $*.c /Fo$@
+
+.cpp.obj:
+ cl /c $(CFLAGS_UNICODE) $*.cpp /Fo$@
+
+#TODO: Use unicode for listtasks, see bug 353460
+listtasks/listtasks.obj:
+ cl /c $(CFLAGS) $*.cpp /Fo$@
+
+spawner: $(OBJS_SPAWNER)
+ link /dll /nologo /out:$(DLL_SPAWNER) $(OBJS_SPAWNER) User32.lib
+
+winreg: $(OBJS_WINREG)
+ link /dll /nologo /out:$(DLL_WINREG) $(OBJS_WINREG) Advapi32.lib
+
+starter: $(OBJS_STARTER)
+ link /nologo /out:$(EXE_STARTER) $(OBJS_STARTER) Psapi.Lib Shell32.lib
+
+listtasks: $(OBJS_LISTTASKS)
+ link /nologo /out:$(EXE_LISTTASKS) $(OBJS_LISTTASKS) Psapi.Lib
+
+all: spawner winreg starter listtasks
+
+clean:
+ del *.obj *.lib *.exp *.exe *.dll winreg\*.obj starter\*.obj listtasks\*.obj
+
+rebuild: clean all
+
+install: all
+ copy *.dll $(INSTALL_DIR)
+ copy *.exe $(INSTALL_DIR)
+
+uninstall:
+ del $(INSTALL_DIR)\*.dll $(INSTALL_DIR)\*.exe
diff --git a/core/org.eclipse.cdt.core.win32/library/Readme64.txt b/core/org.eclipse.cdt.core.win32/library/Readme64.txt
new file mode 100644
index 00000000000..fc59c9e51c4
--- /dev/null
+++ b/core/org.eclipse.cdt.core.win32/library/Readme64.txt
@@ -0,0 +1,23 @@
+#*******************************************************************************
+# Copyright (c) 2011 Marc-Andre Laperle
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Marc-Andre Laperle - initial API and implementation
+#*******************************************************************************
+
+How to build the Win32 x86_64 core fragment:
+
+1. Prerequisites
+- Install Windows SDK 7.1. If the SDK is not installed in the default location or if you want to try a different SDK, modify setenv64.bat accordingly.
+- Make sure your JAVA_HOME environment variable is set and points to a 64 bit JDK (C:\Program Files\Java\jdkX.X.X not C:\Program Files (x86)\Java\jdkX.X.X )
+
+2. Build and install
+- In a command prompt, execute setenv64.bat.
+The command prompt should turn to a different color and print a message about targeting x64.
+- Execute build64.bat
+This will build the dlls and executables, copy them to org.eclipse.cdt.core.win32.x86_64\os\win32\x86_64 then clean the build directories.
+Optionally, you can use nmake /f Makefile_x86_64.mk TARGET directly. Refer to Makefile_x86_64.mk for valid targets.
diff --git a/core/org.eclipse.cdt.core.win32/library/Win32ProcessEx.c b/core/org.eclipse.cdt.core.win32/library/Win32ProcessEx.c
index a78ccb27227..577114a1361 100644
--- a/core/org.eclipse.cdt.core.win32/library/Win32ProcessEx.c
+++ b/core/org.eclipse.cdt.core.win32/library/Win32ProcessEx.c
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2002, 2010 QNX Software Systems and others.
+ * Copyright (c) 2002, 2011 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -146,13 +146,18 @@ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec0
DWORD pid = GetCurrentProcessId();
int nPos;
pProcInfo_t pCurProcInfo;
- wchar_t eventBreakName[20];
- wchar_t eventWaitName[20];
- wchar_t eventTerminateName[20];
- wchar_t eventKillName[20];
- wchar_t eventCtrlcName[20];
+
+ // This needs to be big enough to contain the name of the event used when calling CreateEventW bellow.
+ // It is made of a prefix (7 characters max) plus the value of a pointer that gets outputed in characters.
+ // This will be bigger in the case of 64 bit.
+ static const int MAX_EVENT_NAME_LENGTH = 50;
+ wchar_t eventBreakName[MAX_EVENT_NAME_LENGTH];
+ wchar_t eventWaitName[MAX_EVENT_NAME_LENGTH];
+ wchar_t eventTerminateName[MAX_EVENT_NAME_LENGTH];
+ wchar_t eventKillName[MAX_EVENT_NAME_LENGTH];
+ wchar_t eventCtrlcName[MAX_EVENT_NAME_LENGTH];
#ifdef DEBUG_MONITOR
- wchar_t buffer[1000];
+ wchar_t buffer[4000];
#endif
int nLocalCounter;
wchar_t inPipeName[PIPE_NAME_LENGTH];
diff --git a/core/org.eclipse.cdt.core.win32/library/build64.bat b/core/org.eclipse.cdt.core.win32/library/build64.bat
new file mode 100644
index 00000000000..8ec30651315
--- /dev/null
+++ b/core/org.eclipse.cdt.core.win32/library/build64.bat
@@ -0,0 +1,12 @@
+@rem ***************************************************************************
+@rem Copyright (c) 2011 Marc-Andre Laperle and others.
+@rem All rights reserved. This program and the accompanying materials
+@rem are made available under the terms of the Eclipse Public License v1.0
+@rem which accompanies this distribution, and is available at
+@rem http://www.eclipse.org/legal/epl-v10.html
+@rem
+@rem Contributors:
+@rem Marc-Andre Laperle - initial API and implementation
+@rem ***************************************************************************
+
+nmake /f Makefile_x86_64.mk /NOLOGO install clean
\ No newline at end of file
diff --git a/core/org.eclipse.cdt.core.win32/library/listtasks/listtasks.cpp b/core/org.eclipse.cdt.core.win32/library/listtasks/listtasks.cpp
index c49f4374b4b..c6a626c26d7 100644
--- a/core/org.eclipse.cdt.core.win32/library/listtasks/listtasks.cpp
+++ b/core/org.eclipse.cdt.core.win32/library/listtasks/listtasks.cpp
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2002 - 2005 QNX Software Systems and others.
+ * Copyright (c) 2002, 2011 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -108,9 +108,17 @@ BOOL WINAPI EnumProcs( PROCENUMPROC lpProc, LPARAM lParam )
if( hInstLib == NULL )
return FALSE ;
- hInstLib2 = LoadLibraryA( "VDMDBG.DLL" ) ;
- if( hInstLib2 == NULL )
- return FALSE ;
+ SYSTEM_INFO systemInfo;
+
+ GetSystemInfo(&systemInfo);
+ bool isWin64 = systemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64;
+
+ if(!isWin64)
+ {
+ hInstLib2 = LoadLibraryA( "VDMDBG.DLL" ) ;
+ if( hInstLib2 == NULL )
+ return FALSE ;
+ }
// Get procedure addresses.
lpfEnumProcesses = (BOOL(WINAPI *)(DWORD *,DWORD,DWORD*))
@@ -121,15 +129,21 @@ BOOL WINAPI EnumProcs( PROCENUMPROC lpProc, LPARAM lParam )
lpfGetModuleFileNameEx =(DWORD (WINAPI *)(HANDLE, HMODULE,
LPTSTR, DWORD )) GetProcAddress( hInstLib,
"GetModuleFileNameExA" ) ;
- lpfVDMEnumTaskWOWEx =(INT(WINAPI *)( DWORD, TASKENUMPROCEX,
- LPARAM))GetProcAddress( hInstLib2, "VDMEnumTaskWOWEx" );
+ if(!isWin64)
+ {
+ lpfVDMEnumTaskWOWEx =(INT(WINAPI *)( DWORD, TASKENUMPROCEX,
+ LPARAM))GetProcAddress( hInstLib2, "VDMEnumTaskWOWEx" );
+ }
if( lpfEnumProcesses == NULL ||
lpfEnumProcessModules == NULL ||
lpfGetModuleFileNameEx == NULL ||
- lpfVDMEnumTaskWOWEx == NULL)
+ (!isWin64 && lpfVDMEnumTaskWOWEx == NULL))
{
FreeLibrary( hInstLib ) ;
- FreeLibrary( hInstLib2 ) ;
+ if(!isWin64)
+ {
+ FreeLibrary( hInstLib2 ) ;
+ }
return FALSE ;
}
@@ -158,14 +172,20 @@ BOOL WINAPI EnumProcs( PROCENUMPROC lpProc, LPARAM lParam )
if( lpdwPIDs == NULL )
{
FreeLibrary( hInstLib ) ;
- FreeLibrary( hInstLib2 ) ;
+ if(!isWin64)
+ {
+ FreeLibrary( hInstLib2 ) ;
+ }
return FALSE ;
}
if( !lpfEnumProcesses( lpdwPIDs, dwSize2, &dwSize ) )
{
HeapFree( GetProcessHeap(), 0, lpdwPIDs ) ;
FreeLibrary( hInstLib ) ;
- FreeLibrary( hInstLib2 ) ;
+ if(!isWin64)
+ {
+ FreeLibrary( hInstLib2 ) ;
+ }
return FALSE ;
}
}while( dwSize == dwSize2 ) ;
@@ -206,7 +226,7 @@ BOOL WINAPI EnumProcs( PROCENUMPROC lpProc, LPARAM lParam )
break ;
// Did we just bump into an NTVDM?
- if( _stricmp( szFileName+(strlen(szFileName)-9),
+ if(!isWin64 && _stricmp( szFileName+(strlen(szFileName)-9),
"NTVDM.EXE")==0)
{
// Fill in some info for the 16-bit enum proc.
@@ -226,7 +246,10 @@ BOOL WINAPI EnumProcs( PROCENUMPROC lpProc, LPARAM lParam )
}
HeapFree( GetProcessHeap(), 0, lpdwPIDs ) ;
- FreeLibrary( hInstLib2 ) ;
+ if(!isWin64)
+ {
+ FreeLibrary( hInstLib2 ) ;
+ }
// If Windows 95:
}else if( osver.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS )
diff --git a/core/org.eclipse.cdt.core.win32/library/raise.c b/core/org.eclipse.cdt.core.win32/library/raise.c
index 7acbc5d5205..03e0271ae74 100644
--- a/core/org.eclipse.cdt.core.win32/library/raise.c
+++ b/core/org.eclipse.cdt.core.win32/library/raise.c
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2002, 2007 QNX Software Systems and others.
+ * Copyright (c) 2002, 2011 QNX Software Systems and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -57,7 +57,7 @@ find_child_console (HWND hwnd, LPARAM arg)
// Need to declare this Win32 prototype ourselves. _WIN32_WINNT is getting
// defined to a Windows NT value, thus we don't get this. Can't assume
// we're running on XP, anyway (or can we by now?)
-#if (_WIN32_WINNT < 0x0501)
+#if (_WIN32_WINNT < 0x0501) || defined(_MSC_VER)
typedef BOOL (WINAPI *DebugBreakProcessFunc)(HANDLE);
#endif
diff --git a/core/org.eclipse.cdt.core.win32/library/setenv64.bat b/core/org.eclipse.cdt.core.win32/library/setenv64.bat
new file mode 100644
index 00000000000..dfe68b7394a
--- /dev/null
+++ b/core/org.eclipse.cdt.core.win32/library/setenv64.bat
@@ -0,0 +1 @@
+"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\setenv.cmd" /x64 /2003 /Release
\ No newline at end of file
diff --git a/core/org.eclipse.cdt.core.win32/library/starter/Makefile b/core/org.eclipse.cdt.core.win32/library/starter/Makefile
index 363da73242e..54c92c5b829 100644
--- a/core/org.eclipse.cdt.core.win32/library/starter/Makefile
+++ b/core/org.eclipse.cdt.core.win32/library/starter/Makefile
@@ -10,7 +10,7 @@ LIBS = -lpsapi
CXX = g++
CXXFLAGS = -DUNICODE
-INSTALL_DIR = ../../os/$(OS)/$(ARCH)
+INSTALL_DIR = ../../../org.eclipse.cdt.core.$(OS).$(ARCH)/os/$(OS)/$(ARCH)
all: $(TARGET)
diff --git a/core/org.eclipse.cdt.core.win32/library/winreg/Makefile b/core/org.eclipse.cdt.core.win32/library/winreg/Makefile
index 3db60b08244..8335a7dc55d 100644
--- a/core/org.eclipse.cdt.core.win32/library/winreg/Makefile
+++ b/core/org.eclipse.cdt.core.win32/library/winreg/Makefile
@@ -15,7 +15,7 @@ JDK_OS_INCLUDES = "$(JAVA_HOME)/include/$(OS)"
CXX = g++
CXXFLAGS = -DUNICODE -I$(JDK_INCLUDES) -I$(JDK_OS_INCLUDES)
-INSTALL_DIR = ../../os/$(OS)/$(ARCH)
+INSTALL_DIR = ../../../org.eclipse.cdt.core.$(OS).$(ARCH)/os/$(OS)/$(ARCH)
all: $(TARGET)
diff --git a/core/org.eclipse.cdt.core.win32/os/win32/x86/.cvsignore b/core/org.eclipse.cdt.core.win32/os/win32/x86/.cvsignore
deleted file mode 100644
index d3879971eec..00000000000
--- a/core/org.eclipse.cdt.core.win32/os/win32/x86/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-winreg.lib
-winreg.exp
diff --git a/core/org.eclipse.cdt.core/plugin.properties b/core/org.eclipse.cdt.core/plugin.properties
index e791b820771..af08cf10ff5 100644
--- a/core/org.eclipse.cdt.core/plugin.properties
+++ b/core/org.eclipse.cdt.core/plugin.properties
@@ -92,6 +92,8 @@ fragmentName.linux.x86_64 = C/C++ Development Tools Core for Linux (x86_64)
fragmentName.qnx = C/C++ Development Tools Core for QNX
fragmentName.solaris = C/C++ Development Tools Core for Solaris
fragmentName.win32 = C/C++ Development Tools Core for Windows
+fragmentName.win32.x86 = C/C++ Development Tools Core for Windows (x86)
+fragmentName.win32.x86_64 = C/C++ Development Tools Core for Windows (x86_64)
fragmentName.macosx = C/C++ Development Tools Core for MacOS X
cSourceName=C Source File
diff --git a/pom.xml b/pom.xml
index 337b6e2c5e0..d95c11aa363 100644
--- a/pom.xml
+++ b/pom.xml
@@ -46,6 +46,8 @@
core/org.eclipse.cdt.core.linux.x86_64
core/org.eclipse.cdt.core.linux.ppc64
core/org.eclipse.cdt.core.win32
+ core/org.eclipse.cdt.core.win32.x86
+ core/org.eclipse.cdt.core.win32.x86_64
core/org.eclipse.cdt.core.macosx
core/org.eclipse.cdt.core.aix
core/org.eclipse.cdt.core.solaris
diff --git a/releng/org.eclipse.cdt.platform-feature/feature.xml b/releng/org.eclipse.cdt.platform-feature/feature.xml
index f147293d775..bf2953c11fa 100644
--- a/releng/org.eclipse.cdt.platform-feature/feature.xml
+++ b/releng/org.eclipse.cdt.platform-feature/feature.xml
@@ -137,7 +137,8 @@
download-size="0"
install-size="0"
version="0.0.0"
- fragment="true"/>
+ fragment="true"
+ unpack="false"/>
+
+
+
+