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"/> + + + +