diff options
author | Andrew Niefer | 2007-07-30 17:58:19 +0000 |
---|---|---|
committer | Andrew Niefer | 2007-07-30 17:58:19 +0000 |
commit | d360017933fc0b2985e37eafd455a4d8e15878d7 (patch) | |
tree | 4905a6cebfa0d73719bce497516240b3c1fb4888 /bundles | |
parent | f675cae551d42599536b7ff1532a953d53df3e9e (diff) | |
download | rt.equinox.framework-d360017933fc0b2985e37eafd455a4d8e15878d7.tar.gz rt.equinox.framework-d360017933fc0b2985e37eafd455a4d8e15878d7.tar.xz rt.equinox.framework-d360017933fc0b2985e37eafd455a4d8e15878d7.zip |
bug 196883
Diffstat (limited to 'bundles')
25 files changed, 327 insertions, 70 deletions
diff --git a/bundles/org.eclipse.equinox.executable/feature.xml b/bundles/org.eclipse.equinox.executable/feature.xml index d15f35ab8..46b871578 100644 --- a/bundles/org.eclipse.equinox.executable/feature.xml +++ b/bundles/org.eclipse.equinox.executable/feature.xml @@ -107,6 +107,16 @@ install-size="0" version="0.0.0" fragment="true"/> + + <plugin + id="org.eclipse.equinox.launcher.win32.win32.x86_64" + os="win32" + ws="win32" + arch="x86_64" + download-size="0" + install-size="0" + version="0.0.0" + fragment="true"/> <plugin id="org.eclipse.equinox.launcher.wpf.win32.x86" diff --git a/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbon.c b/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbon.c index 27fcf4b23..1a9782d2d 100644 --- a/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbon.c +++ b/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbon.c @@ -175,8 +175,8 @@ int showSplash( const _TCHAR* featureImage ) return 0; } -long getSplashHandle() { - return (long)window; +jlong getSplashHandle() { + return (jlong)window; } void takeDownSplash() { diff --git a/bundles/org.eclipse.equinox.executable/library/eclipse.c b/bundles/org.eclipse.equinox.executable/library/eclipse.c index 21e8d9e1f..d5afee5e0 100644 --- a/bundles/org.eclipse.equinox.executable/library/eclipse.c +++ b/bundles/org.eclipse.equinox.executable/library/eclipse.c @@ -642,7 +642,8 @@ static void parseArgs( int* pArgc, _TCHAR* argv[] ) * Parse the data into a list of arguments separated by \n. */ static _TCHAR** parseArgList( _TCHAR* data ) { - int totalArgs = 0, dst = 0, length; + int totalArgs = 0, dst = 0; + size_t length; _TCHAR *ch1, *ch2, **execArg; length = _tcslen( data ); ch1 = ch2 = data; @@ -843,7 +844,7 @@ static void getVMCommand( int argc, _TCHAR* argv[], _TCHAR **vmArgv[], _TCHAR ** static _TCHAR* formatVmCommandMsg( _TCHAR* args[], _TCHAR* vmArgs[], _TCHAR* progArgs[] ) { int index; - int length = 0; + size_t length = 0; _TCHAR** list; _TCHAR* ch; _TCHAR* message; @@ -961,7 +962,7 @@ static _TCHAR* findSplash(_TCHAR* splashArg) { struct _stat stats; _TCHAR *ch; _TCHAR *path, *prefix; - int length; + size_t length; if (splashArg == NULL) return NULL; @@ -1031,7 +1032,7 @@ static _TCHAR* findStartupJar(){ _TCHAR * file, *ch; _TCHAR * pluginsPath; struct _stat stats; - int pathLength, progLength; + size_t pathLength, progLength; if( startupArg != NULL ) { /* startup jar was specified on the command line */ @@ -1121,14 +1122,17 @@ static _TCHAR ** getRelaunchCommand( _TCHAR **vmCommand ) #ifdef _WIN32 static void createConsole() { - long stdHandle; +#ifndef WIN64 +#define intptr_t long +#endif + intptr_t stdHandle; int conHandle; FILE *fp; AllocConsole(); /* redirect stdout */ - stdHandle = (long)GetStdHandle(STD_OUTPUT_HANDLE); + stdHandle = (intptr_t) GetStdHandle(STD_OUTPUT_HANDLE); conHandle = _open_osfhandle(stdHandle, _O_TEXT); if (conHandle != -1) { fp = _fdopen(conHandle, "w"); @@ -1136,7 +1140,7 @@ static void createConsole() { } /* redirect stdin */ - stdHandle = (long)GetStdHandle(STD_INPUT_HANDLE); + stdHandle = (intptr_t) GetStdHandle(STD_INPUT_HANDLE); conHandle = _open_osfhandle(stdHandle, _O_TEXT); if (conHandle != -1) { fp = _fdopen(conHandle, "r"); @@ -1144,7 +1148,7 @@ static void createConsole() { } /* stderr */ - stdHandle = (long)GetStdHandle(STD_ERROR_HANDLE); + stdHandle = (intptr_t) GetStdHandle(STD_ERROR_HANDLE); conHandle = _open_osfhandle(stdHandle, _O_TEXT); if (conHandle != -1) { fp = _fdopen(conHandle, "r"); @@ -1168,7 +1172,7 @@ static int determineVM(_TCHAR** msg) { /* vmName is passed in on command line with -vm */ if (vmName != NULL) { - int length = _tcslen(vmName); + size_t length = _tcslen(vmName); /* remove the trailing separator */ if (vmName[length - 1] == _T_ECLIPSE('/') || vmName[length - 1] == _T_ECLIPSE('\\')) { vmName[length - 1] = 0; diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseCommon.c b/bundles/org.eclipse.equinox.executable/library/eclipseCommon.c index 4499417aa..05e12c682 100644 --- a/bundles/org.eclipse.equinox.executable/library/eclipseCommon.c +++ b/bundles/org.eclipse.equinox.executable/library/eclipseCommon.c @@ -47,7 +47,7 @@ _TCHAR* wsArg = _T_ECLIPSE(DEFAULT_WS); /* the SWT supported GUI to be us #ifndef _WIN32 static _TCHAR* filterPrefix = NULL; /* prefix for the find files filter */ #endif -static int prefixLength = 0; +static size_t prefixLength = 0; typedef struct { int segment[3]; @@ -181,7 +181,7 @@ int setenv (const char *name, const char *value, int replace) _TCHAR* findCommand( _TCHAR* command ) { _TCHAR* cmdPath; - int length; + size_t length; _TCHAR* ch; _TCHAR* dir; _TCHAR* path; @@ -250,7 +250,8 @@ _TCHAR* findCommand( _TCHAR* command ) /* Remove quotes */ if (_tcschr( cmdPath, _T_ECLIPSE('"') ) != NULL) { - int i = 0, j = 0, c; + int i = 0, j = 0; + _TCHAR c; length = _tcslen( cmdPath ); while (i < length) { c = cmdPath[ i++ ]; @@ -358,7 +359,7 @@ static int filter(const struct dirent *dir) { _TCHAR* findFile( _TCHAR* path, _TCHAR* prefix) { struct _stat stats; - int pathLength; + size_t pathLength; _TCHAR* candidate = NULL; _TCHAR* result = NULL; diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseConfig.c b/bundles/org.eclipse.equinox.executable/library/eclipseConfig.c index 00e451a71..0edb80ce2 100644 --- a/bundles/org.eclipse.equinox.executable/library/eclipseConfig.c +++ b/bundles/org.eclipse.equinox.executable/library/eclipseConfig.c @@ -80,7 +80,8 @@ int readConfigFile( _TCHAR * config_file, int *argc, _TCHAR ***argv ) _TCHAR * arg; FILE *file = NULL; int maxArgs = 128; - int index, length; + int index; + size_t length; /* Open the config file as a text file * Note that carriage return-linefeed combination \r\n are automatically diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseJNI.c b/bundles/org.eclipse.equinox.executable/library/eclipseJNI.c index 3623107bd..d01b8b496 100644 --- a/bundles/org.eclipse.equinox.executable/library/eclipseJNI.c +++ b/bundles/org.eclipse.equinox.executable/library/eclipseJNI.c @@ -52,13 +52,13 @@ static JNIEnv *env = 0; #if (!defined(UNICODE) || defined(VISTA)) void (* exitDataHook)(JNIEnv *env, jstring id, jstring s); void (* dispatchHook)(); -long (* splashHandleHook)(); +jlong (* splashHandleHook)(); void (* showSplashHook)(JNIEnv *env, jstring s); void (* takeDownHook)(); #else extern void (* exitDataHook)(JNIEnv *env, jstring id, jstring s); extern void (* dispatchHook)(); -extern long (* splashHandleHook)(); +extern jlong (* splashHandleHook)(); extern void (* showSplashHook)(JNIEnv *env, jstring s); extern void (* takeDownHook)(); #endif @@ -140,7 +140,7 @@ static void splash(JNIEnv *env, jstring s) { void setExitData(JNIEnv *env, jstring id, jstring s){ const _TCHAR* data = NULL; const _TCHAR* sharedId = NULL; - int length; + size_t length; if(s != NULL) { length = (*env)->GetStringLength(env, s); @@ -181,7 +181,7 @@ static const _TCHAR * JNI_GetStringChars(JNIEnv *env, jstring str) { if (getBytesMethod != NULL) { jbyteArray bytes = (*env)->CallObjectMethod(env, str, getBytesMethod); if (!(*env)->ExceptionOccurred(env)) { - jint length = (*env)->GetArrayLength(env, bytes); + jsize length = (*env)->GetArrayLength(env, bytes); buffer = malloc( (length + 1) * sizeof(_TCHAR*)); (*env)->GetByteArrayRegion(env, bytes, 0, length, (jbyte*)buffer); buffer[length] = 0; @@ -210,7 +210,7 @@ static void JNI_ReleaseStringChars(JNIEnv *env, jstring s, const _TCHAR* data) { static jstring newJavaString(JNIEnv *env, _TCHAR * str) { jstring newString = NULL; - int length = _tcslen(str); + size_t length = _tcslen(str); #ifdef UNICODE newString = (*env)->NewString(env, str, length); diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseMain.c b/bundles/org.eclipse.equinox.executable/library/eclipseMain.c index 140214338..caa1add42 100644 --- a/bundles/org.eclipse.equinox.executable/library/eclipseMain.c +++ b/bundles/org.eclipse.equinox.executable/library/eclipseMain.c @@ -365,8 +365,8 @@ static _TCHAR* findLibrary(_TCHAR* library, _TCHAR* program) _TCHAR* fragment; _TCHAR* result; _TCHAR* dot = _T_ECLIPSE("."); - int progLength, pathLength; - int fragmentLength; + size_t progLength, pathLength; + size_t fragmentLength; struct _stat stats; if (library != NULL) { diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseOS.h b/bundles/org.eclipse.equinox.executable/library/eclipseOS.h index 306c31199..d193c38d0 100644 --- a/bundles/org.eclipse.equinox.executable/library/eclipseOS.h +++ b/bundles/org.eclipse.equinox.executable/library/eclipseOS.h @@ -13,6 +13,7 @@ #ifndef ECLIPSE_OS_H #define ECLIPSE_OS_H +#include <jni.h> #include "eclipseUnicode.h" #ifdef UNICODE @@ -114,7 +115,7 @@ extern _TCHAR * findVMLibrary( _TCHAR * command ); extern void dispatchMessages(); -extern long getSplashHandle(); +extern jlong getSplashHandle(); extern void takeDownSplash(); diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseShm.c b/bundles/org.eclipse.equinox.executable/library/eclipseShm.c index 68f0c6f09..7ed3b8107 100644 --- a/bundles/org.eclipse.equinox.executable/library/eclipseShm.c +++ b/bundles/org.eclipse.equinox.executable/library/eclipseShm.c @@ -26,14 +26,23 @@ int createSharedData(_TCHAR** id, int size) { if (mapHandle == 0) return -1; if (id != NULL) { *id = malloc(18 * sizeof(_TCHAR)); +#ifdef WIN64 + _stprintf(*id, _T_ECLIPSE("%lx_%lx"), GetCurrentProcessId(), (DWORDLONG) mapHandle); +#else _stprintf(*id, _T_ECLIPSE("%lx_%lx"), GetCurrentProcessId(), (DWORD) mapHandle); +#endif } return 0; } static int getShmID(const _TCHAR* id, LPDWORD processID, LPHANDLE handle) { if (id != NULL && _tcslen(id) > 0) { - DWORD i1, i2; + DWORD i1; +#ifdef WIN64 + DWORDLONG i2; +#else + DWORD i2; +#endif if (_stscanf(id, _T_ECLIPSE("%lx_%lx"), &i1, &i2) != 2) return -1; *processID = (DWORD)i1; *handle = (HANDLE)i2; @@ -67,7 +76,7 @@ int getSharedData(_TCHAR* id, _TCHAR** data) { sharedData = MapViewOfFile(handle, FILE_MAP_WRITE, 0, 0, 0); if (sharedData == NULL) return -1; if (data != NULL) { - int length = (_tcslen(sharedData) + 1) * sizeof(_TCHAR); + size_t length = (_tcslen(sharedData) + 1) * sizeof(_TCHAR); newData = malloc(length); memcpy(newData, sharedData, length); } @@ -99,7 +108,7 @@ int setSharedData(const _TCHAR* id, const _TCHAR* data) { sharedData = MapViewOfFile(mapHandle, FILE_MAP_WRITE, 0, 0, 0); if (sharedData == NULL) return -1; if (data != NULL) { - int length = (_tcslen(data) + 1) * sizeof(_TCHAR); + size_t length = (_tcslen(data) + 1) * sizeof(_TCHAR); memcpy(sharedData, data, length); } else { memset(sharedData, 0, sizeof(_TCHAR)); diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseUtil.c b/bundles/org.eclipse.equinox.executable/library/eclipseUtil.c index 645edea85..649814558 100644 --- a/bundles/org.eclipse.equinox.executable/library/eclipseUtil.c +++ b/bundles/org.eclipse.equinox.executable/library/eclipseUtil.c @@ -146,8 +146,8 @@ _TCHAR* checkPath( _TCHAR* path, _TCHAR* programDir, int reverseOrder ) _TCHAR * checkPathList( _TCHAR* pathList, _TCHAR* programDir, int reverseOrder) { _TCHAR * c1, *c2; _TCHAR * checked, *result; - int checkedLength = 0, resultLength = 0; - int bufferLength = _tcslen(pathList); + size_t checkedLength = 0, resultLength = 0; + size_t bufferLength = _tcslen(pathList); result = malloc(bufferLength * sizeof(_TCHAR)); c1 = pathList; @@ -183,7 +183,8 @@ _TCHAR * checkPathList( _TCHAR* pathList, _TCHAR* programDir, int reverseOrder) _TCHAR * concatStrings(_TCHAR** strs) { _TCHAR * result; - int i = -1, length = 0; + int i = -1; + size_t length = 0; /* first count how large a buffer we need */ while( strs[++i] != NULL) { length += _tcslen(strs[i]); diff --git a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.c b/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.c index 6855f872a..0d1b04a35 100644 --- a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.c +++ b/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.c @@ -120,7 +120,7 @@ void dispatchMessages() { while(g_main_context_iteration(0,0) != 0) {} } -long getSplashHandle() { +jlong getSplashHandle() { return splashHandle; } diff --git a/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotif.c b/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotif.c index 10cafa02f..c3cda9ce7 100644 --- a/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotif.c +++ b/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotif.c @@ -196,8 +196,8 @@ char** getArgVM( char* vm ) } -long getSplashHandle() { - return (long)shellHandle; +jlong getSplashHandle() { + return (jlong)shellHandle; } void dispatchMessages() { diff --git a/bundles/org.eclipse.equinox.executable/library/win32/build.bat b/bundles/org.eclipse.equinox.executable/library/win32/build.bat index ea748c0c5..335d6d482 100644 --- a/bundles/org.eclipse.equinox.executable/library/win32/build.bat +++ b/bundles/org.eclipse.equinox.executable/library/win32/build.bat @@ -31,34 +31,44 @@ @rem want this to be done by this script. @rem @rem ****** -@echo off -IF NOT "%JAVA_HOME%"=="" GOTO MSVC -rem ***** -rem Javah -rem ***** -set JAVA_HOME=j:\teamswt\swt-builddir\ibm-jdk1.4.1 -set path=%JAVA_HOME%;%path% -:MSVC +IF x.%1==x.x86_64 GOTO X86_64 + +:X86 +IF x.%JAVA_HOME%==x. set JAVA_HOME=C:\Dev\Java\IBM_1.5.0 +set javaHome=%JAVA_HOME% if not "%MSVC_HOME%" == "" goto MAKE set MSVC_HOME=k:\dev\products\msvc60\vc98 call %MSVC_HOME%\bin\vcvars32.bat if not "%mssdk%" == "" goto MAKE set mssdk=K:\dev\PRODUCTS\PLATSDK\feb2003 call %mssdk%\setenv.bat +IF x.%1==x.x86 shift +set defaultOSArch=x86 +set makefile=make_win32.mak +GOTO MAKE -:MAKE +:X86_64 +shift +set defaultOSArch=x86_64 +IF x.%JAVA_HOME%==x. set JAVA_HOME=C:\Dev\Java\ibm-sdk-n142p-win64-x86 +IF "x.%mssdk%" == "x." set mssdk="C:\Program Files\MS_SDK_2003_R2" +echo %mssdk% +set javaHome=%JAVA_HOME% +set makefile=make_win64.mak +call %mssdk%\setenv /X64 /RETAIL +GOTO MAKE +:MAKE +echo Making!1 rem -------------------------- rem Define default values for environment variables used in the makefiles. rem -------------------------- set programOutput=eclipse.exe set programLibrary=eclipse.dll set defaultOS=win32 -set defaultOSArch=x86 set defaultWS=win32 -set makefile=make_win32.mak set OS=Windows rem -------------------------- diff --git a/bundles/org.eclipse.equinox.executable/library/win32/eclipse.exe.manifest b/bundles/org.eclipse.equinox.executable/library/win32/eclipse.exe.manifest index 51cdc24f6..dda153470 100644 --- a/bundles/org.eclipse.equinox.executable/library/win32/eclipse.exe.manifest +++ b/bundles/org.eclipse.equinox.executable/library/win32/eclipse.exe.manifest @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> - <assemblyIdentity version="3.1.0.0" processorArchitecture="X86" name="Eclipse Launcher" type="win32"/> + <assemblyIdentity version="3.1.0.0" processorArchitecture="*" name="Eclipse Launcher" type="win32"/> <description>Standard Widget Toolkit</description> <dependency> <dependentAssembly> - <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*"/> + <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/> </dependentAssembly> </dependency> </assembly> diff --git a/bundles/org.eclipse.equinox.executable/library/win32/eclipseWin.c b/bundles/org.eclipse.equinox.executable/library/win32/eclipseWin.c index 0bacee89b..800b11399 100644 --- a/bundles/org.eclipse.equinox.executable/library/win32/eclipseWin.c +++ b/bundles/org.eclipse.equinox.executable/library/win32/eclipseWin.c @@ -38,10 +38,10 @@ _TCHAR* shippedVMDir = _T("jre\\bin\\"); static _TCHAR* argVM[] = { NULL }; /* Define local variables for running the JVM and detecting its exit. */ -static int jvmProcess = 0; +static HANDLE jvmProcess = 0; static int jvmExitCode = 0; -static int jvmExitTimeout = 100; -static int jvmExitTimerId = 99; +static UINT jvmExitTimeout = 100; +static UINT_PTR jvmExitTimerId = 99; static void CALLBACK detectJvmExit( HWND hwnd, UINT uMsg, UINT id, DWORD dwTime ); static _TCHAR* checkVMRegistryKey(HKEY jrekey, _TCHAR* subKeyName); @@ -138,8 +138,8 @@ void dispatchMessages() { } } -long getSplashHandle() { - return (long)topWindow; +jlong getSplashHandle() { + return (jlong)topWindow; } void takeDownSplash() { @@ -208,7 +208,7 @@ void adjustSearchPath( _TCHAR* vmLib ){ */ static _TCHAR* findLib( _TCHAR* command ) { int i, j; - int pathLength; + size_t pathLength; struct _stat stats; _TCHAR * path; /* path to resulting jvm shared library */ _TCHAR * location; /* points to begining of jvmLocations section of path */ @@ -229,7 +229,7 @@ static _TCHAR* findLib( _TCHAR* command ) { return NULL; /* doesn't exist */ } - pathLength = location - command; + pathLength = (size_t) (location - command); path = malloc((pathLength + MAX_LOCATION_LENGTH + 1 + _tcslen(vmLibrary) + 1) * sizeof(_TCHAR)); _tcsncpy(path, command, pathLength); location = &path[pathLength]; @@ -312,7 +312,8 @@ static _TCHAR* checkVMRegistryKey(HKEY jreKey, _TCHAR* subKeyName) { static _TCHAR* buildCommandLine( _TCHAR* program, _TCHAR* args[] ) { - int index, length = 0; + int index; + size_t length = 0; _TCHAR *commandLine, *ch, *space; /* @@ -366,7 +367,7 @@ int launchJavaVM( _TCHAR* args[] ) { MSG msg; _TCHAR* commandLine; - jvmProcess = -1; + jvmProcess = 0; commandLine = buildCommandLine(NULL, args); /* @@ -379,22 +380,15 @@ int launchJavaVM( _TCHAR* args[] ) GetStartupInfo(&si); if (CreateProcess(NULL, commandLine, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi)) { CloseHandle( pi.hThread ); - jvmProcess = (int)pi.hProcess; - } + jvmProcess = pi.hProcess; + } else { + jvmExitCode = errno; + } } free( commandLine ); - /* If the child process (JVM) would not start */ - if (jvmProcess == -1) - { - /* Return the error number. */ - jvmExitCode = errno; - jvmProcess = 0; - } - - /* else */ - else + if (jvmProcess > 0) { /* Set a timer to detect JVM process termination. */ SetTimer( topWindow, jvmExitTimerId, jvmExitTimeout, detectJvmExit ); diff --git a/bundles/org.eclipse.equinox.executable/library/win32/eclipseWinCommon.c b/bundles/org.eclipse.equinox.executable/library/win32/eclipseWinCommon.c index 01ec099bf..c33c5b761 100644 --- a/bundles/org.eclipse.equinox.executable/library/win32/eclipseWinCommon.c +++ b/bundles/org.eclipse.equinox.executable/library/win32/eclipseWinCommon.c @@ -90,7 +90,11 @@ void initWindowSystem( int* pArgc, _TCHAR* argv[], int showSplash ) icon = LoadIcon(module, MAKEINTRESOURCE(ECLIPSE_ICON)); if (icon != NULL) +#ifdef WIN64 + SetClassLongPtr(topWindow, GCLP_HICON, (LONG_PTR)icon); +#else SetClassLong(topWindow, GCL_HICON, (LONG)icon); +#endif initialized = 1; } diff --git a/bundles/org.eclipse.equinox.executable/library/win32/make_win64.mak b/bundles/org.eclipse.equinox.executable/library/win32/make_win64.mak new file mode 100644 index 000000000..f009b00e7 --- /dev/null +++ b/bundles/org.eclipse.equinox.executable/library/win32/make_win64.mak @@ -0,0 +1,138 @@ +#****************************************************************************** +# Copyright (c) 2007 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 +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +#******************************************************************************* + +# Makefile for creating the eclipse launcher program. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# PROGRAM_LIBRARY - the filename of the output dll library +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch +# JAVA_HOME - the location of the Java for JNI includes +NODEBUG=1 + +APPVER=4.0 +_WIN32_WINNT=0x0400 +_WIN32_IE=0x0300 + +!include <ntwin32.mak> +!include <..\make_version.mak> + +PROGRAM_OUTPUT=eclipse.exe +# Separate filename from extention +PROGRAM_NAME=$(PROGRAM_OUTPUT:.exe=) + +PROGRAM_LIBRARY = eclipse_$(LIB_VERSION).dll + +# Define the object modules to be compiled and flags. +MAIN_OBJS = eclipseMain.obj aeclipseMain.obj +COMMON_OBJS = eclipseConfig.obj eclipseCommon.obj eclipseWinCommon.obj\ + aeclipseConfig.obj aeclipseCommon.obj aeclipseWinCommon.obj +DLL_OBJS = eclipse.obj eclipseWin.obj eclipseUtil.obj eclipseJNI.obj eclipseShm.obj\ + aeclipse.obj aeclipseWin.obj aeclipseUtil.obj aeclipseJNI.obj aeclipseShm.obj + +LIBS = kernel32.lib user32.lib comctl32.lib msvcrt.lib bufferoverflowU.lib +DLL_LIBS = kernel32.lib user32.lib comctl32.lib gdi32.lib Advapi32.lib msvcrt.lib version.lib bufferoverflowU.lib +LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:windows -entry:wmainCRTStartup +CONSOLEFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:console -entry:wmainCRTStartup +#DLL_LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /PDB:NONE /RELEASE /NOLOGO -entry:_DllMainCRTStartup@12 -dll /BASE:0x72000000 /DLL +DLL_LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /PDB:NONE /RELEASE /NOLOGO -dll /BASE:0x72000000 /DLL +RES = $(PROGRAM_NAME).res +EXEC = $(PROGRAM_OUTPUT) +CONSOLE = $(PROGRAM_NAME)c.exe +DLL = $(PROGRAM_LIBRARY) +DEBUG = #$(cdebug) +acflags = -I.. -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + -I$(JAVA_HOME)\include -I$(JAVA_HOME)\include\win32 \ + $(cflags) +wcflags = -DUNICODE $(acflags) +all: $(EXEC) $(DLL) $(CONSOLE) + +eclipseMain.obj: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseMain.c + +eclipseCommon.obj: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseCommon.c + +eclipse.obj: ../eclipseOS.h ../eclipseUnicode.h ../eclipse.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipse.c + +eclipseUtil.obj: ../eclipseUtil.h ../eclipseUnicode.h ../eclipseUtil.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseUtil.c + +eclipseConfig.obj: ../eclipseConfig.h ../eclipseUnicode.h ../eclipseConfig.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseConfig.c + +eclipseWin.obj: ../eclipseOS.h ../eclipseUnicode.h eclipseWin.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj eclipseWin.c + +eclipseWinCommon.obj: ../eclipseCommon.h eclipseWinCommon.c + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj eclipseWinCommon.c + +eclipseJNI.obj: ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.c + $(CC) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseJNI.c + +eclipseShm.obj: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c + $(CC) $(DEBUG) $(wcflags) $(cvarsdll) /Fo$*.obj ../eclipseShm.c + +aeclipseShm.obj: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c + $(CC) $(DEBUG) $(acflags) $(cvarsdll) /FoaeclipseShm.obj ../eclipseShm.c + +aeclipseJNI.obj: ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.c + $(cc) $(DEBUG) $(acflags) $(cvarsdll) /FoaeclipseJNI.obj ../eclipseJNI.c + +aeclipseMain.obj: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c + $(cc) $(DEBUG) $(acflags) $(cvarsdll) /FoaeclipseMain.obj ../eclipseMain.c + +aeclipseCommon.obj: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c + $(cc) $(DEBUG) $(acflags) $(cvarsdll) /FoaeclipseCommon.obj ../eclipseCommon.c + +aeclipse.obj: ../eclipseOS.h ../eclipseUnicode.h ../eclipse.c + $(cc) $(DEBUG) $(acflags) $(cvarsdll) /Foaeclipse.obj ../eclipse.c + +aeclipseUtil.obj: ../eclipseUtil.h ../eclipseUnicode.h ../eclipseUtil.c + $(cc) $(DEBUG) $(acflags) $(cvarsdll) /FoaeclipseUtil.obj ../eclipseUtil.c + +aeclipseConfig.obj: ../eclipseConfig.h ../eclipseConfig.h ../eclipseConfig.c + $(cc) $(DEBUG) $(acflags) $(cvarsdll) /FoaeclipseConfig.obj ../eclipseConfig.c + +aeclipseWin.obj: ../eclipseOS.h ../eclipseUnicode.h eclipseWin.c + $(cc) $(DEBUG) $(acflags) $(cvarsdll) /FoaeclipseWin.obj eclipseWin.c + +aeclipseWinCommon.obj: ../eclipseCommon.h eclipseWinCommon.c + $(cc) $(DEBUG) $(acflags) $(cvarsdll) /FoaeclipseWinCommon.obj eclipseWinCommon.c + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) $(RES) + $(link) $(LFLAGS) -out:$(PROGRAM_OUTPUT) $(MAIN_OBJS) $(COMMON_OBJS) $(RES) $(LIBS) + +#the console version needs a flag set, should look for a better way to do this +$(CONSOLE): $(MAIN_OBJS) $(COMMON_OBJS) + del -f eclipseConfig.obj aeclipseConfig.obj + $(cc) $(DEBUG) $(wcflags) $(cvarsdll) -D_WIN32_CONSOLE /FoeclipseConfig.obj ../eclipseConfig.c + $(cc) $(DEBUG) $(acflags) $(cvarsdll) -D_WIN32_CONSOLE /FoaeclipseConfig.obj ../eclipseConfig.c + $(link) $(CONSOLEFLAGS) -out:$(CONSOLE) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + $(link) $(DLL_LFLAGS) -out:$(PROGRAM_LIBRARY) $(DLL_OBJS) $(COMMON_OBJS) $(DLL_LIBS) + +$(RES): $(PROGRAM_NAME).rc + $(rc) -r -fo $(RES) eclipse.rc + +install: all + copy $(EXEC) $(OUTPUT_DIR) + del -f $(EXEC) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES) + +clean: + del $(EXEC) $(DLL) $(MAIN_OBJS) $(DLL_OBJS) $(COMMON_OBJS) $(RES) diff --git a/bundles/org.eclipse.equinox.executable/library/wpf/eclipseWpf.cpp b/bundles/org.eclipse.equinox.executable/library/wpf/eclipseWpf.cpp index 7edbecace..dd35e2bce 100644 --- a/bundles/org.eclipse.equinox.executable/library/wpf/eclipseWpf.cpp +++ b/bundles/org.eclipse.equinox.executable/library/wpf/eclipseWpf.cpp @@ -197,9 +197,9 @@ void dispatchMessages() { Globals::frame = nullptr; } -long getSplashHandle() { +jlong getSplashHandle() { Window^ window = Globals::window; - return (long)(int)GCHandle::ToIntPtr(GCHandle::Alloc(window)); + return (jlong)(int)GCHandle::ToIntPtr(GCHandle::Alloc(window)); } void takeDownSplash() { diff --git a/bundles/org.eclipse.equinox.executable/target.build.properties b/bundles/org.eclipse.equinox.executable/target.build.properties index 3a579490f..23fd97de7 100644 --- a/bundles/org.eclipse.equinox.executable/target.build.properties +++ b/bundles/org.eclipse.equinox.executable/target.build.properties @@ -15,7 +15,7 @@ custom = true root.permissions.755=${launcherName} root.win32.win32.x86=file:bin/win32/win32/x86/eclipse.exe - +root.win32.win32.x86_64=file:bin/win32/win32/x86_64/eclipse.exe root.win32.wpf.x86=file:bin/wpf/win32/x86/eclipse.exe root.linux.gtk.x86=bin/gtk/linux/x86,gtk_root diff --git a/bundles/org.eclipse.equinox.executable/target.build.xml b/bundles/org.eclipse.equinox.executable/target.build.xml index 5ea96f2b1..d9fe54ae6 100644 --- a/bundles/org.eclipse.equinox.executable/target.build.xml +++ b/bundles/org.eclipse.equinox.executable/target.build.xml @@ -45,6 +45,16 @@ <chmod perm="755" dir="${feature.base}/win32.win32.x86/${collectingFolder}" includes="${launcherName}" /> </target> + <target name="rootFileswin32_win32_x86_64"> + <mkdir dir="${feature.base}/win32.win32.x86_64/${collectingFolder}"/> + <copy todir="${feature.base}/win32.win32.x86_64/${collectingFolder}" failonerror="true" overwrite="true"> + <fileset dir="${basedir}/bin/win32/win32/x86_64"> + <include name="launcher.exe"/> + </fileset> + </copy> + <chmod perm="755" dir="${feature.base}/win32.win32.x86_64/${collectingFolder}" includes="${launcherName}" /> + </target> + <target name="rootFileswin32_wpf_x86"> <mkdir dir="${feature.base}/win32.wpf.x86/${collectingFolder}"/> <copy todir="${feature.base}/win32.wpf.x86/${collectingFolder}/" failonerror="true" overwrite="true"> diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/.project new file mode 100644 index 000000000..388f97d70 --- /dev/null +++ b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/.project @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.equinox.launcher.win32.win32.x86_64</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + </natures> +</projectDescription> diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/META-INF/MANIFEST.MF new file mode 100644 index 000000000..63bc306f3 --- /dev/null +++ b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/META-INF/MANIFEST.MF @@ -0,0 +1,8 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: X86_64 Fragment +Bundle-SymbolicName: org.eclipse.equinox.launcher.win32.win32.x86_64 +Bundle-Version: 1.0.100.qualifier +Fragment-Host: org.eclipse.equinox.launcher;bundle-version="1.0.0" +Eclipse-PlatformFilter: (& (osgi.ws=win32) (osgi.os=win32) (osgi.arch=x86_64)) +Bundle-Localization: launcher.win32.win32.x86_64
\ No newline at end of file diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/about.html new file mode 100644 index 000000000..395df3ba9 --- /dev/null +++ b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2006</p> +<h3>License</h3> + +<p>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 <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>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 <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html>
\ No newline at end of file diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/build.properties new file mode 100644 index 000000000..5f1f64a16 --- /dev/null +++ b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/build.properties @@ -0,0 +1,4 @@ +bin.includes = META-INF/,\ + eclipse_*.dll,\ + launcher.win32.win32.x86_64.properties,\ + about.html diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/launcher.win32.win32.x86_64.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/launcher.win32.win32.x86_64.properties new file mode 100644 index 000000000..efc7dbe03 --- /dev/null +++ b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.win32.win32.x86_64/launcher.win32.win32.x86_64.properties @@ -0,0 +1,12 @@ +############################################################################### +# Copyright (c) 2007 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 +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +############################################################################### +pluginName = Equinox Launcher Win32 X86_64 Fragment +providerName = Eclipse.org |