diff options
author | Mat Booth | 2015-12-17 12:29:48 +0000 |
---|---|---|
committer | Arun Thondapu | 2016-03-03 11:31:37 +0000 |
commit | 121b7c5b2cb5f7a130720d382a3eac8c0e290a05 (patch) | |
tree | 4caa71cdae1f67b5b1ea0a39976827395d5c25c5 /features/org.eclipse.equinox.executable.feature/library | |
parent | 0ce6d4e453f774dada38fabd974949245896388c (diff) | |
download | rt.equinox.framework-121b7c5b2cb5f7a130720d382a3eac8c0e290a05.tar.gz rt.equinox.framework-121b7c5b2cb5f7a130720d382a3eac8c0e290a05.tar.xz rt.equinox.framework-121b7c5b2cb5f7a130720d382a3eac8c0e290a05.zip |
Bug 479180 - Delete launcher for unsupported Windows wpf platformY20160303-0800
Change-Id: I91fc817f4954f7fa06b89ac466c170bbd44b7810
Signed-off-by: Mat Booth <mat.booth@redhat.com>
Diffstat (limited to 'features/org.eclipse.equinox.executable.feature/library')
9 files changed, 0 insertions, 968 deletions
diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/.cvsignore b/features/org.eclipse.equinox.executable.feature/library/wpf/.cvsignore deleted file mode 100644 index b5e85ecb0..000000000 --- a/features/org.eclipse.equinox.executable.feature/library/wpf/.cvsignore +++ /dev/null @@ -1,12 +0,0 @@ -*.obj -eclipse.exe -eclipse.res -*.pdb -*.exp -*.lib -eclipse_*.dll -com_*.dll -eclipsec.exe -eclipsec.exe.manifest -eclipse_*.dll.manifest -eclipse.exe.manifest diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/build.bat b/features/org.eclipse.equinox.executable.feature/library/wpf/build.bat deleted file mode 100644 index 57e1d7525..000000000 --- a/features/org.eclipse.equinox.executable.feature/library/wpf/build.bat +++ /dev/null @@ -1,127 +0,0 @@ -@rem ******************************************************************************* -@rem Copyright (c) 2000, 2009 IBM Corporation 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 IBM Corporation - initial API and implementation -@rem Kevin Cornell (Rational Software Corporation) -@rem ********************************************************************** -@rem -@rem Usage: sh build.sh [<optional switches>] [clean] -@rem -@rem where the optional switches are: -@rem -output <PROGRAM_OUTPUT> - executable filename ("eclipse") -@rem -library <PROGRAM_LIBRARY>- dll filename (eclipse.dll) -@rem -os <DEFAULT_OS> - default Eclipse "-os" value (qnx) -@rem -arch <DEFAULT_OS_ARCH> - default Eclipse "-arch" value (x86) -@rem -ws <DEFAULT_WS> - default Eclipse "-ws" value (photon) -@rem -java <JAVA_HOME> - location of a Java SDK for JNI headers -@rem -@rem -@rem This script can also be invoked with the "clean" argument. -@rem -@rem NOTE: The C compiler needs to be setup. This script has been -@rem tested against Microsoft Visual C and C++ Compiler 6.0. -@rem -@rem Uncomment the lines below and edit MSVC_HOME to point to the -@rem correct root directory of the compiler installation, if you -@rem want this to be done by this script. -@rem -@rem ****** -@echo off - -IF x.%1==x.x86 shift - -rem ***** -rem Javah -rem ***** -IF x."%JAVA_HOME%"==x. set JAVA_HOME="S:\swt-builddir\ibm-java2-sdk-50-win-i386" -set javaHome=%JAVA_HOME% - -:MSVC - -call "S:\swt-builddir\MSSDKs\Microsoft SDK 6.0 Vista\Bin\setenv.cmd" /x86 /vista -:MAKE - -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=wpf -set makefile=make_wpf.mak -set OS=Windows - -rem -------------------------- -rem Parse the command line arguments and override the default values. -rem -------------------------- -set extraArgs= -:WHILE -if "%1" == "" goto WHILE_END - if "%2" == "" goto LAST_ARG - - if "%1" == "-os" ( - set defaultOS=%2 - shift - goto NEXT ) - if "%1" == "-arch" ( - set defaultOSArch=%2 - shift - goto NEXT ) - if "%1" == "-ws" ( - set defaultWS=%2 - shift - goto NEXT ) - if "%1" == "-output" ( - set programOutput=%2 - shift - goto NEXT ) - if "%1" == "-library" ( - set programLibrary=%2 - shift - goto NEXT ) - if "%1" == "-java" ( - set javaHome=%2 - shift - goto NEXT ) -:LAST_ARG - set extraArgs=%extraArgs% %1 - -:NEXT - shift - goto WHILE -:WHILE_END - -rem -------------------------- -rem Set up environment variables needed by the makefile. -rem -------------------------- -set PROGRAM_OUTPUT=%programOutput% -set PROGRAM_LIBRARY=%programLibrary% -set DEFAULT_OS=%defaultOS% -set DEFAULT_OS_ARCH=%defaultOSArch% -set DEFAULT_WS=%defaultWS% -set EXEC_DIR=..\..\.\..\..\rt.equinox.binaries\org.eclipse.equinox.executable -set OUTPUT_DIR=%EXEC_DIR%\bin\%defaultWS%\%defaultOS%\%defaultOSArch% -set JAVA_HOME=%javaHome% - -rem -------------------------- -rem Run nmake to build the executable. -rem -------------------------- -if "%extraArgs%" == "" goto MAKE_ALL - -nmake -f %makefile% %extraArgs% -goto DONE - -:MAKE_ALL -echo Building %OS% launcher. Defaults: -os %DEFAULT_OS% -arch %DEFAULT_OS_ARCH% -ws %DEFAULT_WS% -nmake -f %makefile% clean -nmake -f %makefile% %1 %2 %3 %4 -goto DONE - - -:DONE diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/build.xml b/features/org.eclipse.equinox.executable.feature/library/wpf/build.xml deleted file mode 100644 index f4b96fe70..000000000 --- a/features/org.eclipse.equinox.executable.feature/library/wpf/build.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<project default="build_eclipse" basedir="."> - -<target name="build_eclipse"> - <exec dir="." executable="${basedir}\build.bat"> - <arg line="install"/> - </exec> - <eclipse.refreshLocal resource="org.eclipse.equinox.executable" depth="infinite" /> -</target> - -<target name="clean"> - <tstamp/> - <exec dir="." executable="${basedir}\build.bat"> - <arg line="clean"/> - </exec> -</target> - -</project>
\ No newline at end of file diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/com.c b/features/org.eclipse.equinox.executable.feature/library/wpf/com.c deleted file mode 100644 index 35ce38514..000000000 --- a/features/org.eclipse.equinox.executable.feature/library/wpf/com.c +++ /dev/null @@ -1,28 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 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 - *******************************************************************************/ - -#include <jni.h> -#include <ole2.h> - -#define COM_NATIVE(func) Java_org_eclipse_equinox_launcher_JNIBridge_##func - -JNIEXPORT jint JNICALL COM_NATIVE(OleInitialize) - (JNIEnv *env, jclass that, jint arg0) -{ - return (jint)OleInitialize((LPVOID)arg0); -} - -JNIEXPORT void JNICALL COM_NATIVE(OleUninitialize) - (JNIEnv *env, jclass that) -{ - OleUninitialize(); -} - diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/eclipse.ico b/features/org.eclipse.equinox.executable.feature/library/wpf/eclipse.ico Binary files differdeleted file mode 100644 index 9fb5b5b94..000000000 --- a/features/org.eclipse.equinox.executable.feature/library/wpf/eclipse.ico +++ /dev/null diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/eclipse.rc b/features/org.eclipse.equinox.executable.feature/library/wpf/eclipse.rc deleted file mode 100644 index 874a4b94e..000000000 --- a/features/org.eclipse.equinox.executable.feature/library/wpf/eclipse.rc +++ /dev/null @@ -1,21 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 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 - *******************************************************************************/ - -#define ECLIPSE_ICON 401 - -#include "windows.h" -#include "winver.h" - - -ECLIPSE_ICON ICON DISCARDABLE "eclipse.ico" - -//CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "eclipse.exe.manifest" - diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/eclipseWpf.cpp b/features/org.eclipse.equinox.executable.feature/library/wpf/eclipseWpf.cpp deleted file mode 100644 index f96523995..000000000 --- a/features/org.eclipse.equinox.executable.feature/library/wpf/eclipseWpf.cpp +++ /dev/null @@ -1,561 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2010 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 - * Kevin Cornell (Rational Software Corporation) - *******************************************************************************/ - -extern "C" { - -#include "eclipseOS.h" -#include "eclipseUtil.h" -#include "eclipseCommon.h" -#include "eclipseJNI.h" - -#include <process.h> -#include <stdio.h> -#include <string.h> -#include <errno.h> -#include <sys/stat.h> - -using namespace System; -using namespace System::IO; -using namespace System::Windows; -using namespace System::Windows::Input; -using namespace System::Windows::Media; -using namespace System::Windows::Media::Imaging; -using namespace System::Windows::Controls; -using namespace System::Windows::Threading; -using namespace System::Runtime::InteropServices; -using namespace System::ComponentModel; - - -/* Global Variables */ -_TCHAR* defaultVM = _T("javaw.exe"); -_TCHAR* consoleVM = _T("java.exe"); -_TCHAR* vmLibrary = _T("jvm.dll"); -_TCHAR* shippedVMDir = _T("jre\\bin\\"); - -/* Define the window system arguments for the Java VM. */ -static _TCHAR* argVM[] = { NULL }; - -/* Define local variables for running the JVM and detecting its exit. */ -static int jvmProcess = 0; -static JavaResults* jvmResults = NULL; -static int jvmExitTimeout = 100; -static int jvmExitTimerId = 99; - -static void CALLBACK detectJvmExit (); -static _TCHAR* checkVMRegistryKey(HKEY jrekey, _TCHAR* subKeyName); -static void adjustSearchPath( _TCHAR * vmLibrary ); -static _TCHAR* findLib( _TCHAR* command ); - -/* define default locations in which to find the jvm shared library - * these are paths relative to the java exe, the shared library is - * for example jvmLocations[0] + dirSeparator + vmLibrary */ -#define MAX_LOCATION_LENGTH 25 /* none of the jvmLocations strings should be longer than this */ -static const _TCHAR* jvmLocations [] = { _T("j9vm"), _T("..\\jre\\bin\\j9vm"), - _T("client"), _T("..\\jre\\bin\\client"), - _T("server"), _T("..\\jre\\bin\\server"), - _T("classic"), _T("..\\jre\\bin\\classic"), - _T("jrockit"), _T("..\\jre\\bin\\jrockit"), - NULL }; -/* for detecting sun vms */ -typedef struct { - WORD language; - WORD codepage; -} TRANSLATIONS; - -#define COMPANY_NAME_KEY _T_ECLIPSE("\\StringFileInfo\\%04x%04x\\CompanyName") -#define SUN_MICROSYSTEMS _T_ECLIPSE("Sun Microsystems") - -delegate void NoArgsHandler (); - -public ref class Globals { -public: - static Window^ window = nullptr; - static DispatcherFrame^ frame = nullptr; - - static void HandleDispatcherInactive (Object^ o, EventArgs^ e) { - if (frame != nullptr) frame->Continue = false; - } - static void HandleClosing (Object^ o, CancelEventArgs^ e) { - window = nullptr; - } - static void HandleTimer (Object^ o, EventArgs^ e) { - detectJvmExit(); - if (jvmProcess == 0) { - if (frame != nullptr) { - frame->Continue = false; - } - } - } - static void CloseWindow () { - if (window != nullptr) { - window->Close(); - window = nullptr; - } - } -}; - - -/* Show the Splash Window - * - * Open the bitmap, insert into the splash window and display it. - * - */ -int showSplash( const _TCHAR* featureImage ) -{ - static int splashing = 0; - - if(splashing) { - /*splash screen is already showing, do nothing */ - return 0; - } - if (featureImage == NULL) - return -1; - - /* if Java was started first and is calling back to show the splash, we might not - * have initialized the window system yet - */ - initWindowSystem(0, NULL, 1); - - /* Load the bitmap for the feature. */ - BitmapSource^ image = nullptr; - if (featureImage != NULL) { - String^ string = gcnew String (featureImage); - if (File::Exists (string)) { - Uri^ uri = gcnew Uri (string); - image = gcnew BitmapImage (uri); - } - } - - /* If the bitmap could not be found, return an error. */ - if (image == nullptr) - return ERROR_FILE_NOT_FOUND; - - /* Create a window that has no decorations. */ - Window^ window = Globals::window = gcnew Window(); - window->Closing += gcnew CancelEventHandler(&Globals::HandleClosing); - window->WindowStyle = WindowStyle::None; - window->ShowInTaskbar = false; - window->ResizeMode = ResizeMode::NoResize; - window->WindowStartupLocation = WindowStartupLocation::CenterScreen; - KeyboardNavigation::SetTabNavigation (window, KeyboardNavigationMode::None); - - Grid^ grid = gcnew Grid(); - GridLength length (1, GridUnitType::Auto); - ColumnDefinition^ column = gcnew ColumnDefinition(); - grid->ColumnDefinitions->Add (column); - column = gcnew ColumnDefinition(); - column->Width = length; - grid->ColumnDefinitions->Add (column); - RowDefinition^ row = gcnew RowDefinition (); - row->Height = length; - grid->RowDefinitions->Add (row); - row = gcnew RowDefinition (); - grid->RowDefinitions->Add (row); - row = gcnew RowDefinition (); - row->Height = length; - grid->RowDefinitions->Add (row); - window->Content = grid; - - Canvas^ canvas = gcnew Canvas (); - canvas->FocusVisualStyle = nullptr; - canvas->Focusable = true; - Grid::SetRow (canvas, 1); - Grid::SetColumn (canvas, 0); - grid->Children->Add (canvas); - - ImageBrush^ brush = gcnew ImageBrush(image); - canvas->Background = brush; - - window->Width = image->Width; - window->Height = image->Height; - window->Show(); - - splashing = 1; - - /* Process messages */ - dispatchMessages(); - return 0; -} - -void dispatchMessages() { - DispatcherFrame^ frame = gcnew DispatcherFrame(); - Globals::frame = frame; - EventHandler^ handler = gcnew EventHandler (&Globals::HandleDispatcherInactive); - Dispatcher^ dispatcher = Dispatcher::CurrentDispatcher; - DispatcherHooks^ hooks = dispatcher->Hooks; - hooks->DispatcherInactive += handler; - Dispatcher::PushFrame (frame); - hooks->DispatcherInactive -= handler; - Globals::frame = nullptr; -} - -jlong getSplashHandle() { - Window^ window = Globals::window; - return (jlong)(int)GCHandle::ToIntPtr(GCHandle::Alloc(window)); -} - -void takeDownSplash() { - if (false) { - NoArgsHandler^ handler = gcnew NoArgsHandler(&Globals::CloseWindow); - Dispatcher::CurrentDispatcher->BeginInvoke(DispatcherPriority::Send, handler); - } else { - Window^ window = Globals::window; - if(window != nullptr) { - window->Close (); - window = nullptr; - dispatchMessages(); - } - } -} - -/* Get the window system specific VM args */ -_TCHAR** getArgVM( _TCHAR *vm ) -{ - return argVM; -} - -/* Local functions */ - -/* - * Find the VM shared library starting from the java executable - */ -_TCHAR * findVMLibrary( _TCHAR* command ) { - _TCHAR* lib = findLib(command); - if( lib != NULL ) { - adjustSearchPath(lib); - } - return lib; -} - -void adjustSearchPath( _TCHAR* vmLib ){ - _TCHAR ** paths; - _TCHAR * path = NULL, *newPath = NULL; - _TCHAR * buffer, *c; - int i, length; - int needAdjust = 0, freePath = 0; - - /* we want the directory containing the library, and the parent directory of that */ - paths = getVMLibrarySearchPath(vmLib); - - /* first call to GetEnvironmentVariable tells us how big to make the buffer */ - length = GetEnvironmentVariable(_T_ECLIPSE("PATH"), path, 0); - if (length > 0) { - path = (_TCHAR*)malloc(length * sizeof(_TCHAR)); - GetEnvironmentVariable(_T_ECLIPSE("PATH"), path, length); - needAdjust = !containsPaths(path, paths); - freePath = 1; - } else { - path = _T_ECLIPSE(""); - freePath = 0; - needAdjust = 1; - } - - if (needAdjust) { - c = concatStrings(paths); - newPath = (_TCHAR*)malloc((_tcslen(c) + length + 1) * sizeof(_TCHAR)); - _stprintf(newPath, _T_ECLIPSE("%s%s"), c, path); - SetEnvironmentVariable( _T_ECLIPSE("PATH"), newPath); - free(c); - free(newPath); - } - - for (i = 0; i < 2 && paths[i] != NULL; i++) - free(paths[i]); - free(paths); - if (freePath) - free(path); -} - -static _TCHAR* findLib( _TCHAR* command ) { - int i, j; - int pathLength; - struct _stat stats; - _TCHAR * path; /* path to resulting jvm shared library */ - _TCHAR * location; /* points to begining of jvmLocations section of path */ - - /* for looking in the registry */ - HKEY jreKey = NULL; - DWORD length = MAX_PATH; - _TCHAR keyName[MAX_PATH]; - _TCHAR * jreKeyName; - - if (command != NULL) { - location = lastDirSeparator( command ) + 1; - - /*check first to see if command already points to the library */ - if (isVMLibrary(command)) { - if (_tstat( command, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0) - return command; /* exists */ - return NULL; /* doesn't exist */ - } - - pathLength = location - command; - path = (_TCHAR *)malloc((pathLength + MAX_LOCATION_LENGTH + 1 + _tcslen(vmLibrary) + 1) * sizeof(_TCHAR)); - _tcsncpy(path, command, pathLength); - location = &path[pathLength]; - - /* - * We are trying base/jvmLocations[*]/vmLibrary - * where base is the directory containing the given java command, normally jre/bin - */ - i = -1; - while(jvmLocations[++i] != NULL) { - _stprintf(location, _T_ECLIPSE("%s%c%s"), jvmLocations[i], dirSeparator, vmLibrary); - if (_tstat( path, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0) - { /* found it */ - return path; - } - } - } - - /* Not found yet, try the registry, we will use the first vm >= 1.4 */ - jreKeyName = _T("Software\\JavaSoft\\Java Runtime Environment"); - if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, jreKeyName, 0, KEY_READ, &jreKey) == ERROR_SUCCESS) { - if(RegQueryValueEx(jreKey, _T_ECLIPSE("CurrentVersion"), NULL, NULL, (LPBYTE)&keyName, &length) == ERROR_SUCCESS) { - path = checkVMRegistryKey(jreKey, keyName); - if (path != NULL) { - RegCloseKey(jreKey); - return path; - } - } - j = 0; - length = MAX_PATH; - while (RegEnumKeyEx(jreKey, j++, keyName, &length, 0, 0, 0, 0) == ERROR_SUCCESS) { - /*look for a 1.4 or 1.5 vm*/ - if( _tcsncmp(_T("1.4"), keyName, 3) <= 0 ) { - path = checkVMRegistryKey(jreKey, keyName); - if (path != NULL) { - RegCloseKey(jreKey); - return path; - } - } - } - RegCloseKey(jreKey); - } - return NULL; -} - -/* - * Read the subKeyName subKey of jreKey and look to see if it has a Value - * "RuntimeLib" which points to a jvm library we can use - * - * Does not close jreKey - */ -static _TCHAR* checkVMRegistryKey(HKEY jreKey, _TCHAR* subKeyName) { - _TCHAR value[MAX_PATH]; - HKEY subKey = NULL; - DWORD length = MAX_PATH; - _TCHAR *result = NULL; - struct _stat stats; - - if(RegOpenKeyEx(jreKey, subKeyName, 0, KEY_READ, &subKey) == ERROR_SUCCESS) { - /*The RuntimeLib value should point to the library we want*/ - if(RegQueryValueEx(subKey, _T("RuntimeLib"), NULL, NULL, (LPBYTE)&value, &length) == ERROR_SUCCESS) { - if (_tstat( value, &stats ) == 0 && (stats.st_mode & S_IFREG) != 0) - { /*library exists*/ - result = _tcsdup(value); - } - } - RegCloseKey(subKey); - } - return result; -} - -static _TCHAR* buildCommandLine( _TCHAR* program, _TCHAR* args[] ) -{ - int index, length = 0, slash; - _TCHAR *commandLine, *ch, *space; - - /* - * Build the command line. Any argument with spaces must be in - * double quotes in the command line. - */ - if(program != NULL) - length = _tcslen(program) + 1; - for (index = 0; args[index] != NULL; index++) - { - /* String length plus space character */ - length += _tcslen( args[ index ] ) + 1; - /* Quotes + potential escaping '\' */ - if (_tcschr( args[ index ], _T(' ') ) != NULL) length += 3; - } - - commandLine = ch = (_TCHAR *)malloc ( (length + 1) * sizeof(_TCHAR) ); - if (program != NULL) { - _tcscpy(ch, program); - ch += _tcslen(program); - *ch++ = _T(' '); - } - for (index = 0; args[index] != NULL; index++) - { - space = _tcschr( args[ index ], _T(' ')); - if (space != NULL) *ch++ = _T('\"'); - _tcscpy( ch, args[index] ); - ch += _tcslen( args[index] ); - if (space != NULL) { - if ( *(ch - 1) == _T('\\') ) { - /* escape a trailing unescaped '\' or it will escape our closing '"' and mess things up */ - slash = 1; - while ( *(ch - 1 - slash) == _T('\\')) slash++; - if (slash % 2) *ch++ = _T('\\'); - } - *ch++ = _T('\"'); - } - *ch++ = _T(' '); - } - *ch = _T('\0'); - return commandLine; -} -void restartLauncher( _TCHAR* program, _TCHAR* args[] ) -{ - _TCHAR* commandLine = buildCommandLine(program, args); - - { - STARTUPINFO si; - PROCESS_INFORMATION pi; - GetStartupInfo(&si); - if (CreateProcess(NULL, commandLine, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi)) { - CloseHandle( pi.hThread ); - } - } - free(commandLine); -} - -JavaResults* launchJavaVM( _TCHAR* args[] ) -{ - MSG msg; - _TCHAR* commandLine; - jvmProcess = -1; - commandLine = buildCommandLine(NULL, args); - jvmResults = (JavaResults*) malloc(sizeof(JavaResults)); - memset(jvmResults, 0, sizeof(JavaResults)); - - /* - * Start the Java virtual machine. Use CreateProcess() instead of spawnv() - * otherwise the arguments cannot be freed since spawnv() segments fault. - */ - { - STARTUPINFO si; - PROCESS_INFORMATION pi; - GetStartupInfo(&si); - if (CreateProcess(NULL, commandLine, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi)) { - CloseHandle( pi.hThread ); - jvmProcess = (int)pi.hProcess; - } - } - - free( commandLine ); - - /* If the child process (JVM) would not start */ - if (jvmProcess == -1) - { - /* Return the error number. */ - jvmResults->launchResult = errno; - jvmProcess = 0; - } - - /* else */ - else - { - - /* Set a timer to detect JVM process termination. */ - DispatcherTimer^ timer = gcnew DispatcherTimer(); - timer->Interval = TimeSpan::FromMilliseconds (jvmExitTimeout); - timer->Tick += gcnew EventHandler(&Globals::HandleTimer); - - /* Process messages until the JVM terminates. - This launcher process must continue to process events until the JVM exits - or else Windows 2K will hang if the desktop properties (e.g., background) are - changed by the user. Windows does a SendMessage() to every top level window - process, which blocks the caller until the process responds. */ - - DispatcherFrame^ frame = gcnew DispatcherFrame(); - Globals::frame = frame; - timer->Start(); - Dispatcher::PushFrame(frame); - Globals::frame = nullptr; - timer->Stop(); - - } - - /* Return the exit code from the JVM. */ - return jvmResults; -} - -/* Detect JVM Process Termination */ -static void CALLBACK detectJvmExit () -{ - DWORD exitCode; - /* If the JVM process has terminated */ - if (!GetExitCodeProcess( (HANDLE)jvmProcess, &exitCode ) || - exitCode != STILL_ACTIVE) - { - /* Save the JVM exit code. This should cause the loop in launchJavaVM() to exit. */ - jvmResults->runResult = exitCode; - jvmProcess = 0; - } -} - -void processVMArgs(_TCHAR **vmargs[] ) { -// /* nothing yet */ -} - -JavaResults* startJavaVM( _TCHAR* libPath, _TCHAR* vmArgs[], _TCHAR* progArgs[], _TCHAR* jarFile ) -{ - return startJavaJNI(libPath, vmArgs, progArgs, jarFile); -} - -int isSunVM( _TCHAR * javaVM, _TCHAR * jniLib ) { - _TCHAR *vm = (jniLib != NULL) ? jniLib : javaVM; - int result = 0; - DWORD infoSize; - DWORD handle; - void * info; - - _TCHAR * key, *value; - size_t i; - int valueSize; - - if (vm == NULL) - return 0; - - infoSize = GetFileVersionInfoSize(vm, &handle); - if (infoSize > 0) { - info = malloc(infoSize); - if (GetFileVersionInfo(vm, 0, infoSize, info)) { - TRANSLATIONS * translations; - int translationsSize; - VerQueryValue(info, _T_ECLIPSE("\\VarFileInfo\\Translation"), (LPVOID *) &translations, (PUINT)&translationsSize); - - /* this size is only right because %04x is 4 characters */ - key = (_TCHAR *) malloc( (_tcslen(COMPANY_NAME_KEY) + 1) * sizeof(_TCHAR)); - for (i = 0; i < (translationsSize / sizeof(TRANSLATIONS)); i++) { - _stprintf(key, COMPANY_NAME_KEY, translations[i].language, translations[i].codepage); - - VerQueryValue(info, key, (LPVOID *)&value, (PUINT)&valueSize); - if (_tcsncmp(value, SUN_MICROSYSTEMS, _tcslen(SUN_MICROSYSTEMS)) == 0) { - result = 1; - break; - } - } - free(key); - } - free(info); - } - return result; -} - -int reuseWorkbench(_TCHAR** filePath, int timeout) { - /* not implemented for WPF */ - return -1; -} -} // extern "C" diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/eclipseWpfCommon.cpp b/features/org.eclipse.equinox.executable.feature/library/wpf/eclipseWpfCommon.cpp deleted file mode 100644 index 03ce3fceb..000000000 --- a/features/org.eclipse.equinox.executable.feature/library/wpf/eclipseWpfCommon.cpp +++ /dev/null @@ -1,87 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 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 - * Andrew Niefer - *******************************************************************************/ - - -extern "C" { - -#include "eclipseCommon.h" -#include "eclipseOS.h" - -#include <windows.h> -#include <stdlib.h> -#include <commctrl.h> - - -#define ECLIPSE_ICON 401 - -_TCHAR dirSeparator = _T('\\'); -_TCHAR pathSeparator = _T(';'); - -static int initialized = 0; - -/* Load the specified shared library - */ -void * loadLibrary( _TCHAR * library ){ - return (void *)LoadLibrary(library); -} - -/* Unload the shared library - */ -void unloadLibrary( void * handle ){ - FreeLibrary((HMODULE)handle); -} - -/* Find the given symbol in the shared library - */ -void * findSymbol( void * handle, _TCHAR * symbol ){ - char * str = NULL; - void * result; - - str = toNarrow(symbol); - result = GetProcAddress((HMODULE)handle, str); - free(str); - return result; -} - -_TCHAR* resolveSymlinks( _TCHAR* path ) { - /* no symlinks on windows */ - return path; -} - -} //end extern C - -/* Display a Message */ -void displayMessage( _TCHAR* title, _TCHAR* message ) -{ - if(!initialized) - initWindowSystem(0, NULL, 0); - - System::String^ titleStr = gcnew System::String (title); - System::String^ messageStr = gcnew System::String (message); - System::Windows::MessageBox::Show (messageStr, titleStr, System::Windows::MessageBoxButton::OK); -} - -/* Initialize Window System - * - * Create a pop window to display the bitmap image. - * - * Return the window handle as the data for the splash command. - * - */ -int initWindowSystem( int* pArgc, _TCHAR* argv[], int showSplash ) -{ - - if(initialized) - return 0; - initialized = 1; - return 0; -} diff --git a/features/org.eclipse.equinox.executable.feature/library/wpf/make_wpf.mak b/features/org.eclipse.equinox.executable.feature/library/wpf/make_wpf.mak deleted file mode 100644 index 1d92df461..000000000 --- a/features/org.eclipse.equinox.executable.feature/library/wpf/make_wpf.mak +++ /dev/null @@ -1,113 +0,0 @@ -#****************************************************************************** -# Copyright (c) 2000, 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 -# Kevin Cornell (Rational Software Corporation) -#******************************************************************************* - -# 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 -!include <..\make_version.mak> - -PROGRAM_LIBRARY = eclipse_$(LIB_VERSION).dll -PROGRAM_OUTPUT=eclipse.exe -# Separate filename from extention -PROGRAM_NAME=$(PROGRAM_OUTPUT:.exe=) - -# Define the object modules to be compiled and flags. -MAIN_OBJS = eclipseMain.obj -COMMON_OBJS = eclipseConfig.obj eclipseCommon.obj eclipseWpfCommon.obj -DLL_OBJS = eclipse.obj eclipseWpf.obj eclipseUtil.obj eclipseJNI.obj eclipseShm.obj - -LIBS = kernel32.lib msvcrt.lib mscoree.lib -DLL_LIBS = kernel32.lib Advapi32.lib msvcrt.lib version.lib -LFLAGS = -CLRTHREADATTRIBUTE:STA /NODEFAULTLIB:LIBCMT /INCREMENTAL:NO /LARGEADDRESSAWARE /RELEASE /NOLOGO -subsystem:windows,4.0 -entry:wmainCRTStartup -CONSOLEFLAGS = -CLRTHREADATTRIBUTE:STA /NODEFAULTLIB:LIBCMT /INCREMENTAL:NO /LARGEADDRESSAWARE /RELEASE /NOLOGO -subsystem:console,4.0 -entry:wmainCRTStartup -DLL_LFLAGS = -CLRTHREADATTRIBUTE:STA /NODEFAULTLIB:LIBCMT /INCREMENTAL:NO /LARGEADDRESSAWARE /PDB:NONE -dll /BASE:0x72000000 /DLL -RES = $(PROGRAM_NAME).res -EXEC = $(PROGRAM_OUTPUT) -CONSOLE = $(PROGRAM_NAME)c.exe -DLL = $(PROGRAM_LIBRARY) -DEBUG = #$(cdebug) - -CFLAGS = -c -DUNICODE -DVISTA -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NON_CONFORMING_SWPRINTFS -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) - -WPF_HOME = C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0 -DOTNET_HOME = C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 -CPPFLAGS = -clr /FU"$(WPF_HOME)\PresentationCore.dll" /FU"$(WPF_HOME)\PresentationFramework.dll" /FU$(DOTNET_HOME)\System.Data.dll /FU$(DOTNET_HOME)\System.dll /FU$(DOTNET_HOME)\System.Xml.dll /FU"$(WPF_HOME)\UIAutomationProvider.dll" /FU"$(WPF_HOME)\UIAutomationTypes.dll" /FU"$(WPF_HOME)\WindowsBase.dll" - - -all: $(EXEC) $(DLL) com $(CONSOLE) - -eclipseMain.obj: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c - $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseMain.c - -eclipseCommon.obj: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c - $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseCommon.c - -eclipse.obj: ../eclipseOS.h ../eclipseUnicode.h ../eclipse.c - $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipse.c - -eclipseUtil.obj: ../eclipseUtil.h ../eclipseUnicode.h ../eclipseUtil.c - $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseUtil.c - -eclipseConfig.obj: ../eclipseConfig.h ../eclipseUnicode.h ../eclipseConfig.c - $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseConfig.c - -eclipseWpf.obj: ../eclipseOS.h ../eclipseUnicode.h eclipseWpf.cpp - $(CC) $(DEBUG) $(CFLAGS) $(CPPFLAGS) $(cvarsdll) /Fo$*.obj eclipseWpf.cpp - -eclipseWpfCommon.obj: ../eclipseCommon.h eclipseWpfCommon.cpp - $(CC) $(DEBUG) $(CFLAGS) $(CPPFLAGS) $(cvarsdll) /Fo$*.obj eclipseWpfCommon.cpp - -eclipseJNI.obj: ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.c - $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseJNI.c - -eclipseShm.obj: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c - $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj ../eclipseShm.c - -$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) - rc.exe -r -fo $(RES) $(PROGRAM_NAME).rc - link $(LFLAGS) -out:$(PROGRAM_OUTPUT) $(MAIN_OBJS) $(COMMON_OBJS) $(RES) $(LIBS) - mt.exe -manifest $(PROGRAM_OUTPUT).manifest -outputresource:$(PROGRAM_OUTPUT);2 - -$(CONSOLE): $(MAIN_OBJS) $(COMMON_OBJS) - del -f eclipseConfig.obj - $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) -D_WIN32_CONSOLE /FoeclipseConfig.obj ../eclipseConfig.c - link $(CONSOLEFLAGS) -out:$(CONSOLE) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) - mt.exe -manifest $(PROGRAM_OUTPUT).manifest -outputresource:$(CONSOLE);2 - -$(DLL): $(DLL_OBJS) $(COMMON_OBJS) - link $(DLL_LFLAGS) -out:$(PROGRAM_LIBRARY) $(DLL_OBJS) $(COMMON_OBJS) $(DLL_LIBS) - mt.exe -manifest $(PROGRAM_LIBRARY).manifest -outputresource:$(PROGRAM_LIBRARY);2 - -com.obj: com.c - $(CC) $(DEBUG) $(CFLAGS) $(cvarsdll) /Fo$*.obj com.c - -com: com.obj - link /DLL -out:com_$(LIB_VERSION).dll com.obj ole32.lib - -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) *.manifest *.exp *.lib *.dll |