From de54c5b749b3eefb75d420840c889533a58aa342 Mon Sep 17 00:00:00 2001 From: marha Date: Wed, 24 Jul 2013 14:25:51 +0200 Subject: 64-bit compilation now compiles and runs --- xorg-server/glx/glxdricommon.c | 2 +- xorg-server/hw/xwin/InitOutput.c | 5 - xorg-server/hw/xwin/swrastwgl_dri/makefile | 8 +- xorg-server/hw/xwin/winSetAppUserModelID.c | 3 +- xorg-server/hw/xwin/winmultiwindowwm.c | 116 +------------ xorg-server/hw/xwin/winmultiwindowwndproc.c | 2 +- xorg-server/hw/xwin/xlaunch/main.cc | 36 ++-- xorg-server/hw/xwin/xlaunch/makefile | 10 +- xorg-server/installer/packageall.bat | 22 ++- xorg-server/installer/vcxsrv-64-debug.nsi | 88 ++++++++++ xorg-server/installer/vcxsrv-64.nsi | 248 ++++++++++++++++++++++++++++ xorg-server/installer/vcxsrv-debug.nsi | 7 +- xorg-server/installer/vcxsrv.nsi | 12 +- xorg-server/makefile | 22 ++- xorg-server/xkeyboard-config/xkbrules.mak | 4 +- 15 files changed, 413 insertions(+), 172 deletions(-) create mode 100644 xorg-server/installer/vcxsrv-64-debug.nsi create mode 100644 xorg-server/installer/vcxsrv-64.nsi (limited to 'xorg-server') diff --git a/xorg-server/glx/glxdricommon.c b/xorg-server/glx/glxdricommon.c index 7710de303..97870b47e 100644 --- a/xorg-server/glx/glxdricommon.c +++ b/xorg-server/glx/glxdricommon.c @@ -57,7 +57,7 @@ getUST(int64_t * ust) return -EFAULT; #ifdef _MSC_VER - __asm int 3; + DebugBreak(); #else if (gettimeofday(&tv, NULL) == 0) { ust[0] = (tv.tv_sec * 1000000) + tv.tv_usec; diff --git a/xorg-server/hw/xwin/InitOutput.c b/xorg-server/hw/xwin/InitOutput.c index a35721e74..f194d535f 100644 --- a/xorg-server/hw/xwin/InitOutput.c +++ b/xorg-server/hw/xwin/InitOutput.c @@ -975,11 +975,6 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char *argv[]) winPropertyStoreInit(); #endif -#ifdef XWIN_MULTIWINDOW - /* Load libraries for taskbar grouping */ - winTaskbarInit (); -#endif - /* Store the instance handle */ g_hInstance = GetModuleHandle(NULL); diff --git a/xorg-server/hw/xwin/swrastwgl_dri/makefile b/xorg-server/hw/xwin/swrastwgl_dri/makefile index bf0e66f16..201f2aeb9 100644 --- a/xorg-server/hw/xwin/swrastwgl_dri/makefile +++ b/xorg-server/hw/xwin/swrastwgl_dri/makefile @@ -1,3 +1,7 @@ +ifndef PYTHON3 +$(error Please define PYTHON3 environment variable) +endif + SHAREDLIB = swrastwgl_dri INCLUDES += $(OBJDIR) ..\..\.. .. ..\glx @@ -10,8 +14,8 @@ CSRCS = swrastwgl_dri.c glwrap.c wgl_ext_api.c vpath %.c ../glx -$(OBJDIR)\generated_gl_wrappers.c: gen_gl_wrappers.py ../glx/gl.xml ../glx/gen_gl_wrappers.py ../glx/reg.py ../../../glx/dispatch.h +$(OBJDIR)\generated_gl_wrappers.c: ../glx/gen_gl_wrappers.py ../glx/gl.xml ../glx/gen_gl_wrappers.py ../glx/reg.py ../../../glx/dispatch.h $(PYTHON3) ../glx/gen_gl_wrappers.py -outfile $@ -nodbgcount -registry ../glx/gl.xml -staticwrappers -dispatchheader ../../../glx/dispatch.h -$(OBJDIR)\generated_wgl_wrappers.c: gen_gl_wrappers.py ../glx/wgl.xml ../glx/gen_gl_wrappers.py ../glx/reg.py +$(OBJDIR)\generated_wgl_wrappers.c: ../glx/gen_gl_wrappers.py ../glx/wgl.xml ../glx/gen_gl_wrappers.py ../glx/reg.py $(PYTHON3) ../glx/gen_gl_wrappers.py -outfile $@ -nodbgcount -registry ../glx/wgl.xml -prefix wgl -preresolve diff --git a/xorg-server/hw/xwin/winSetAppUserModelID.c b/xorg-server/hw/xwin/winSetAppUserModelID.c index 41615e19c..3c449a3a8 100644 --- a/xorg-server/hw/xwin/winSetAppUserModelID.c +++ b/xorg-server/hw/xwin/winSetAppUserModelID.c @@ -34,6 +34,7 @@ #include "winmsg.h" #include +#include #define INITGUID #include "initguid.h" @@ -95,7 +96,7 @@ winSetAppUserModelID(HWND hWnd, const char *AppID) hr = g_pSHGetPropertyStoreForWindow(hWnd, &IID_IPropertyStore, (void **) &pps); if (SUCCEEDED(hr) && pps) { - memset(&pv, 0, sizeof(PROPVARIANT)); + PropVariantInit(&pv); if (AppID) { pv.vt = VT_LPWSTR; hr = SHStrDupA(AppID, &pv.pwszVal); diff --git a/xorg-server/hw/xwin/winmultiwindowwm.c b/xorg-server/hw/xwin/winmultiwindowwm.c index 3187f2172..e8fbf08c0 100644 --- a/xorg-server/hw/xwin/winmultiwindowwm.c +++ b/xorg-server/hw/xwin/winmultiwindowwm.c @@ -65,9 +65,6 @@ typedef int pid_t; #include "windowstr.h" #include "winmultiwindowclass.h" -#include -#include "taskbar.h" - #ifdef XWIN_MULTIWINDOWEXTWM #define _WINDOWSWM_SERVER_ #include @@ -207,10 +204,6 @@ static pthread_t g_winMultiWindowXMsgProcThread; static Bool g_shutdown = FALSE; static Bool redirectError = FALSE; static Bool g_fAnotherWMRunning = FALSE; -static HMODULE g_hmodShell32Dll = NULL; -static HMODULE g_hmodOle32Dll = NULL; -static SHGETPROPERTYSTOREFORWINDOWPROC g_pSHGetPropertyStoreForWindow = NULL; -static PROPVARIANTCLEARPROC g_pPropVariantClear = NULL; /* * PushMessage - Push a message onto the queue @@ -458,7 +451,7 @@ getHwnd(WMInfoPtr pWMInfo, Window iWindow) iWindow, pWMInfo->atmPrivMap, 0, - 1, + sizeof(HWND)/4, False, XA_INTEGER, &atmType, @@ -701,7 +694,7 @@ winMultiWindowWMProc(void *pArg) XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER, //pWMInfo->atmPrivMap, 32, PropModeReplace, - (unsigned char *) &(pNode->msg.hwndWindow), 1); + (unsigned char *) &(pNode->msg.hwndWindow), sizeof(HWND)/4); UpdateName(pWMInfo, pNode->msg.iWindow); UpdateIcon(pWMInfo, pNode->msg.iWindow); break; @@ -712,7 +705,7 @@ winMultiWindowWMProc(void *pArg) XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER, //pWMInfo->atmPrivMap, 32, PropModeReplace, - (unsigned char *) &(pNode->msg.hwndWindow), 1); + (unsigned char *) &(pNode->msg.hwndWindow), sizeof(HWND)/4); break; case WM_WM_MAP3: @@ -722,7 +715,7 @@ winMultiWindowWMProc(void *pArg) XChangeProperty(pWMInfo->pDisplay, pNode->msg.iWindow, pWMInfo->atmPrivMap, XA_INTEGER, //pWMInfo->atmPrivMap, 32, PropModeReplace, - (unsigned char *) &(pNode->msg.hwndWindow), 1); + (unsigned char *) &(pNode->msg.hwndWindow), sizeof(HWND)/4); UpdateName(pWMInfo, pNode->msg.iWindow); UpdateIcon(pWMInfo, pNode->msg.iWindow); UpdateStyle(pWMInfo, pNode->msg.iWindow); @@ -1006,14 +999,14 @@ winMultiWindowXMsgProc(void *pArg) (pProcArg->pDisplay, pProcArg->dwScreen, TRUE)) { if (!g_fAnotherWMRunning) { g_fAnotherWMRunning = TRUE; - SendMessage(*(HWND *) pProcArg->hwndScreen, WM_UNMANAGE, 0, + SendMessage(pProcArg->hwndScreen, WM_UNMANAGE, 0, 0); } } else { if (g_fAnotherWMRunning) { g_fAnotherWMRunning = FALSE; - SendMessage(*(HWND *) pProcArg->hwndScreen, WM_MANAGE, 0, + SendMessage(pProcArg->hwndScreen, WM_MANAGE, 0, 0); } } @@ -1857,100 +1850,3 @@ winUpdateWindowPosition(HWND hWnd, HWND * zstyle) rcNew.right - rcNew.left, rcNew.bottom - rcNew.top, 0); } - -void -winTaskbarInit (void) -{ - /* - Load libraries and get function pointers to SHGetPropertyStoreForWindow - and PropVariantClear for winSetAppID() - */ - - /* - SHGetPropertyStoreForWindow is only supported since Windows 7. On previous - versions the pointer will be NULL and taskbar grouping is not supported. - winSetAppID() will do nothing in this case. - */ - g_hmodShell32Dll = LoadLibrary ("shell32.dll"); - if (g_hmodShell32Dll == NULL) - { - ErrorF ("winTaskbarInit - Could not load shell32.dll\n"); - return; - } - - g_pSHGetPropertyStoreForWindow = (SHGETPROPERTYSTOREFORWINDOWPROC) GetProcAddress (g_hmodShell32Dll, "SHGetPropertyStoreForWindow"); - if (g_pSHGetPropertyStoreForWindow == NULL) - { - ErrorF ("winTaskbarInit - Could not get SHGetPropertyStoreForWindow address\n"); - return; - } - - /* - PropVariantClear is supported since NT4, but we have no propidl.h to - provide a prototype for it - */ - g_hmodOle32Dll = LoadLibrary ("ole32.dll"); - if (g_hmodOle32Dll == NULL) - { - ErrorF ("winTaskbarInit - Could not load ole32.dll\n"); - return; - } - - g_pPropVariantClear = (PROPVARIANTCLEARPROC) GetProcAddress (g_hmodOle32Dll, "PropVariantClear"); - if (g_pPropVariantClear == NULL) - { - ErrorF ("winTaskbarInit - Could not get g_pPropVariantClear address\n"); - return; - } -} - -void -winTaskbarDestroy (void) -{ - if (g_hmodOle32Dll != NULL) - { - FreeLibrary (g_hmodOle32Dll); - g_hmodOle32Dll = NULL; - g_pPropVariantClear = NULL; - } - if (g_hmodShell32Dll != NULL) - { - FreeLibrary (g_hmodShell32Dll); - g_hmodShell32Dll = NULL; - g_pSHGetPropertyStoreForWindow = NULL; - } -} - -void -winSetAppID (HWND hWnd, const char* AppID) -{ - PROPVARIANT pv; - IPropertyStore *pps = NULL; - HRESULT hr; - - if (g_pSHGetPropertyStoreForWindow == NULL || - g_pPropVariantClear == NULL) - { - return; - } - - winDebug ("winSetAppID - hwnd 0x%08x appid '%s'\n", hWnd, AppID); - - hr = g_pSHGetPropertyStoreForWindow (hWnd, &IID_IPropertyStore, (void**)&pps); - if(SUCCEEDED(hr) && pps) - { - memset(&pv, 0, sizeof(PROPVARIANT)); - if(AppID) - { - pv.vt = VT_LPWSTR; - hr = SHStrDupA(AppID, &pv.pwszVal); - } - - if(SUCCEEDED(hr)) - { - hr = pps->lpVtbl->SetValue(pps, &PKEY_AppUserModel_ID, &pv); - g_pPropVariantClear(&pv); - } - pps->lpVtbl->Release(pps); - } -} diff --git a/xorg-server/hw/xwin/winmultiwindowwndproc.c b/xorg-server/hw/xwin/winmultiwindowwndproc.c index af6bb528e..b52d5990b 100644 --- a/xorg-server/hw/xwin/winmultiwindowwndproc.c +++ b/xorg-server/hw/xwin/winmultiwindowwndproc.c @@ -806,7 +806,7 @@ winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) } /* Prevent the mouse wheel from stalling when another window is minimized */ if (HIWORD(wParam) == 0 && LOWORD(wParam) == WA_ACTIVE && - (HWND) lParam != NULL && (HWND) lParam != (HWND) GetParent(hwnd)) + (HWND) lParam != NULL && (HWND) lParam != GetParent(hwnd)) SetFocus(hwnd); return 0; diff --git a/xorg-server/hw/xwin/xlaunch/main.cc b/xorg-server/hw/xwin/xlaunch/main.cc index 8ec1e011c..bf4f5e6a5 100644 --- a/xorg-server/hw/xwin/xlaunch/main.cc +++ b/xorg-server/hw/xwin/xlaunch/main.cc @@ -219,7 +219,7 @@ class CMyWizard : public CWizard config.window = CConfig::Nodecoration; else { - SetWindowLong(hwndDlg, DWL_MSGRESULT, -1); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1); return TRUE; } // Get selected display number @@ -233,27 +233,27 @@ class CMyWizard : public CWizard if (config.display.empty()) { MessageBox(hwndDlg,"Please fill in a display number.","Error",MB_OK); - SetWindowLong(hwndDlg, DWL_MSGRESULT, -1); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1); } else - SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_CLIENTS); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_CLIENTS); return TRUE; case IDD_CLIENTS: // Check for select client startup method if (IsDlgButtonChecked(hwndDlg, IDC_CLIENT)) { config.client = CConfig::StartProgram; - SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_PROGRAM); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_PROGRAM); } else if (IsDlgButtonChecked(hwndDlg, IDC_XDMCP)) { config.client = CConfig::XDMCP; - SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_XDMCP); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_XDMCP); } else if (IsDlgButtonChecked(hwndDlg, IDC_CLIENT_NONE)) { config.client = CConfig::NoClient; - SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_EXTRA); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_EXTRA); } else - SetWindowLong(hwndDlg, DWL_MSGRESULT, -1); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1); return TRUE; case IDD_PROGRAM: // Check wether local or remote client should be started @@ -263,7 +263,7 @@ class CMyWizard : public CWizard config.local = false; else { - SetWindowLong(hwndDlg, DWL_MSGRESULT, -1); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1); return TRUE; } // Read program, user and host name @@ -290,9 +290,9 @@ class CMyWizard : public CWizard } // Check for valid input if (!config.local && (config.host.empty() || config.localprogram.empty() || config.remoteprogram.empty())) - SetWindowLong(hwndDlg, DWL_MSGRESULT, -1); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1); else - SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_EXTRA); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_EXTRA); return TRUE; case IDD_XDMCP: // Check for broadcast @@ -302,7 +302,7 @@ class CMyWizard : public CWizard config.broadcast = false; else { - SetWindowLong(hwndDlg, DWL_MSGRESULT, -1); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1); return TRUE; } // Check for indirect mode @@ -319,9 +319,9 @@ class CMyWizard : public CWizard } // Check for valid input if (!config.broadcast && config.xdmcp_host.empty()) - SetWindowLong(hwndDlg, DWL_MSGRESULT, -1); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, -1); else - SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_EXTRA); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_EXTRA); if (IsDlgButtonChecked(hwndDlg, IDC_XDMCP_TERMINATE)) config.xdmcpterminate = true; else @@ -355,7 +355,7 @@ class CMyWizard : public CWizard buffer[511] = 0; config.extra_params = buffer; } - SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_FINISH); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_FINISH); return TRUE; default: break; @@ -385,20 +385,20 @@ class CMyWizard : public CWizard { case IDD_PROGRAM: case IDD_XDMCP: - SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_CLIENTS); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_CLIENTS); return TRUE; case IDD_FONTPATH: case IDD_EXTRA: // temporary. fontpath is disabled switch (config.client) { case CConfig::NoClient: - SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_CLIENTS); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_CLIENTS); return TRUE; case CConfig::StartProgram: - SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_PROGRAM); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_PROGRAM); return TRUE; case CConfig::XDMCP: - SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_XDMCP); + SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, IDD_XDMCP); return TRUE; } break; diff --git a/xorg-server/hw/xwin/xlaunch/makefile b/xorg-server/hw/xwin/xlaunch/makefile index 98656e57e..83426fe19 100644 --- a/xorg-server/hw/xwin/xlaunch/makefile +++ b/xorg-server/hw/xwin/xlaunch/makefile @@ -11,18 +11,12 @@ WINAPP = xlaunch RESOURCES = resources.rc -$(OBJDIR)\%.res : resources\%.rc $(wildcard resources\*.rc) +$(OBJDIR)\%.res : resources\%.rc $(wildcard resources\*.rc) $(RC) $(RCFLAGS) $(RCDEFINES:%=-d "%") $(RCINCLUDES:%=-i %) -Fo$(relpath $@) $< LIBDIRS=$(dir $(INCLUDELIBFILES)) load_makefile $(LIBDIRS:%$(OBJDIR)\=%makefile MAKESERVER=0 DEBUG=$(DEBUG);) -LINKLIBS += $(MHMAKECONF)\libxml2\lib\libxml2.lib - -ifeq ($(DEBUG),1) -LINKLIBS += $(MHMAKECONF)\pthreads\pthreadVC2d.lib -else -LINKLIBS += $(MHMAKECONF)\pthreads\pthreadVC2.lib -endif +LINKLIBS += $(LIBXMLLIB) $(PTHREADLIB) diff --git a/xorg-server/installer/packageall.bat b/xorg-server/installer/packageall.bat index 2195223fe..71a1a480b 100755 --- a/xorg-server/installer/packageall.bat +++ b/xorg-server/installer/packageall.bat @@ -1,10 +1,10 @@ @echo off if exist vcxsrv*.installer.exe del vcxsrv*.installer.exe -copy %systemroot%\system32\msvcr100.dll -copy %systemroot%\system32\msvcp100.dll -copy %systemroot%\system32\msvcr100d.dll -copy %systemroot%\system32\msvcp100d.dll +copy "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\redist\x86\Microsoft.VC100.CRT\msvcp100.dll" +copy "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\redist\x86\Microsoft.VC100.CRT\msvcr100.dll" +copy "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\redist\Debug_NonRedist\x86\Microsoft.VC100.DebugCRT\msvcp100d.dll" +copy "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\redist\Debug_NonRedist\x86\Microsoft.VC100.DebugCRT\msvcr100d.dll" if exist "C:\Program Files (x86)\NSIS\Unicode\makensis.exe" ( "C:\Program Files (x86)\NSIS\Unicode\makensis.exe" vcxsrv.nsi @@ -13,6 +13,20 @@ if exist "C:\Program Files (x86)\NSIS\Unicode\makensis.exe" ( "C:\Program Files\NSIS\makensis.exe" vcxsrv.nsi "C:\Program Files\NSIS\makensis.exe" vcxsrv-debug.nsi ) + +copy "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\redist\x64\Microsoft.VC100.CRT\msvcp100.dll" +copy "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\redist\x64\Microsoft.VC100.CRT\msvcr100.dll" +copy "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\redist\Debug_NonRedist\x64\Microsoft.VC100.DebugCRT\msvcp100d.dll" +copy "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\redist\Debug_NonRedist\x64\Microsoft.VC100.DebugCRT\msvcr100d.dll" + +if exist "C:\Program Files (x86)\NSIS\Unicode\makensis.exe" ( + "C:\Program Files (x86)\NSIS\Unicode\makensis.exe" vcxsrv-64.nsi + "C:\Program Files (x86)\NSIS\Unicode\makensis.exe" vcxsrv-64-debug.nsi +) else ( + "C:\Program Files\NSIS\makensis.exe" vcxsrv-64.nsi + "C:\Program Files\NSIS\makensis.exe" vcxsrv-64-debug.nsi +) + del msvcr100.dll del msvcr100d.dll del msvcp100.dll diff --git a/xorg-server/installer/vcxsrv-64-debug.nsi b/xorg-server/installer/vcxsrv-64-debug.nsi new file mode 100644 index 000000000..e4cee04fd --- /dev/null +++ b/xorg-server/installer/vcxsrv-64-debug.nsi @@ -0,0 +1,88 @@ +/* This file is part of vcxsrv. + * + * Copyright (C) 2009 Marc Haesen + * + * vcxsrv is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * vcxsrv is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with vcxsrv. If not, see . +*/ +;-------------------------------- + +; The name of the installer +Name "VcXsrv" + +; The file to write +OutFile "vcxsrv-64-debug.1.14.2.0.installer.exe" + +; The default installation directory +InstallDir $PROGRAMFILES64\VcXsrv + +; Registry key to check for directory (so if you install again, it will +; overwrite the old one automatically) +InstallDirRegKey HKLM SOFTWARE\VcXsrv "Install_Dir_64" + +; Request application privileges for Windows Vista +RequestExecutionLevel admin + +;-------------------------------- +InstType "Full" + +; Pages + +Page components +Page directory +Page instfiles + +UninstPage uninstConfirm +UninstPage instfiles + +SetPluginUnload alwaysoff +; ShowInstDetails show +XPStyle on + +!define FUSION_REFCOUNT_UNINSTALL_SUBKEY_GUID {8cedc215-ac4b-488b-93c0-a50a49cb2fb8} + +;-------------------------------- +; The stuff to install +Section "VcXsrv debug exe and dlls" + + SectionIn RO + SectionIn 1 + + ; Set output path to the installation directory. + SetOutPath $INSTDIR + + ; Put files there + File "..\obj64\servdebug\vcxsrv.exe" + File "..\..\xkbcomp\obj64\debug\xkbcomp.exe" + File "..\..\apps\xhost\obj64\debug\xhost.exe" + File "..\..\apps\xrdb\obj64\debug\xrdb.exe" + File "..\..\apps\xauth\obj64\debug\xauth.exe" + File "..\..\apps\xcalc\obj64\debug\xcalc.exe" + File "..\..\apps\xclock\obj64\debug\xclock.exe" + File "..\..\apps\xwininfo\obj64\debug\xwininfo.exe" + File "..\hw\xwin\xlaunch\obj64\debug\xlaunch.exe" + File "..\..\tools\plink\obj64\debug\plink.exe" + File "..\..\mesalib\windows\VC8\mesa\x64\Debug\swrast_dri.dll" + File "..\hw\xwin\swrastwgl_dri\obj64\debug\swrastwgl_dri.dll" + File "..\..\dxtn\obj64\debug\dxtn.dll" + File "..\..\zlib\obj64\debug\zlib1.dll" + File "..\..\libxcb\src\obj64\debug\libxcb.dll" + File "..\..\libXau\obj64\debug\libXau.dll" + File "..\..\libX11\obj64\debug\libX11.dll" + File "..\..\libXext\src\obj64\debug\libXext.dll" + File "..\..\libXmu\src\obj64\debug\libXmu.dll" + File "msvcr100d.dll" + File "msvcp100d.dll" + + WriteRegStr HKLM SOFTWARE\VcXsrv "Install_Dir_64" $INSTDIR +SectionEnd diff --git a/xorg-server/installer/vcxsrv-64.nsi b/xorg-server/installer/vcxsrv-64.nsi new file mode 100644 index 000000000..a0510cb31 --- /dev/null +++ b/xorg-server/installer/vcxsrv-64.nsi @@ -0,0 +1,248 @@ +/* This file is part of vcxsrv. + * + * Copyright (C) 2009 Marc Haesen + * + * vcxsrv is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * vcxsrv is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with vcxsrv. If not, see . +*/ +;-------------------------------- + +; The name of the installer +Name "VcXsrv" + +; The file to write +OutFile "vcxsrv-64.1.14.2.0.installer.exe" + +; The default installation directory +InstallDir $programfiles64\VcXsrv + +; Registry key to check for directory (so if you install again, it will +; overwrite the old one automatically) +InstallDirRegKey HKLM SOFTWARE\VcXsrv "Install_Dir_64" + +; Request application privileges for Windows Vista +RequestExecutionLevel admin + +;-------------------------------- +InstType "Full" +InstType "Minimal" + +; Pages + +Page components +Page directory +Page instfiles + +UninstPage uninstConfirm +UninstPage instfiles + +SetPluginUnload alwaysoff +; ShowInstDetails show +XPStyle on + +!define FUSION_REFCOUNT_UNINSTALL_SUBKEY_GUID {8cedc215-ac4b-488b-93c0-a50a49cb2fb8} + +;-------------------------------- +; The stuff to install +Section "VcXsrv (required)" + + SectionIn RO + SectionIn 1 2 3 + + ; Set output path to the installation directory. + SetOutPath $INSTDIR + + ; Remove old opengl32.dll file if it extits + IfFileExists "$INSTDIR\opengl32.dll" 0 +2 + Delete "$INSTDIR\opengl32.dll" + + ; Put files there + File "..\obj64\servrelease\vcxsrv.exe" + File "..\dix\protocol.txt" + File "..\system.XWinrc" + File "..\..\xkbcomp\obj64\release\xkbcomp.exe" + File "..\..\apps\xhost\obj64\release\xhost.exe" + File "..\..\apps\xrdb\obj64\release\xrdb.exe" + File "..\..\apps\xauth\obj64\release\xauth.exe" + File "..\..\apps\xcalc\obj64\release\xcalc.exe" + File "..\..\apps\xcalc\app-defaults\xcalc" + File "..\..\apps\xcalc\app-defaults\xcalc-color" + File "..\..\apps\xclock\obj64\release\xclock.exe" + File "..\..\apps\xclock\app-defaults\xclock" + File "..\..\apps\xclock\app-defaults\xclock-color" + File "..\..\apps\xwininfo\obj64\release\xwininfo.exe" + File "..\XKeysymDB" + File "..\..\libX11\src\XErrorDB" + File "..\..\libX11\src\xcms\Xcms.txt" + File "..\XtErrorDB" + File "..\.Xdefaults" + File "..\hw\xwin\xlaunch\obj64\release\xlaunch.exe" + File "..\..\tools\plink\obj64\release\plink.exe" + File "..\..\mesalib\windows\VC8\mesa\x64\Release\swrast_dri.dll" + File "..\hw\xwin\swrastwgl_dri\obj64\release\swrastwgl_dri.dll" + File "..\..\dxtn\obj64\release\dxtn.dll" + File "..\..\libxml2\bin64\libxml2-2.dll" + File "..\..\libxml2\bin64\libgcc_s_sjlj-1.dll" + File "..\..\libxml2\bin64\libiconv-2.dll" + File "..\..\libxml2\bin64\libwinpthread-1.dll" + File "..\..\zlib\obj64\release\zlib1.dll" + File "..\..\libxcb\src\obj64\release\libxcb.dll" + File "..\..\libXau\obj64\release\libXau.dll" + File "..\..\libX11\obj64\release\libX11.dll" + File "..\..\libXext\src\obj64\release\libXext.dll" + File "..\..\libXmu\src\obj64\release\libXmu.dll" + File "msvcr100.dll" + File "msvcp100.dll" + SetOutPath $INSTDIR\xkbdata + File /r "..\xkbdata\*.*" + SetOutPath $INSTDIR\locale + File /r "..\locale\*.*" + SetOutPath $INSTDIR\bitmaps + File /r "..\bitmaps\*.*" + + ; Write the installation path into the registry + WriteRegStr HKLM SOFTWARE\VcXsrv "Install_Dir_64" $INSTDIR + + ; Write the uninstall keys for Windows + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VcXsrv" "DisplayName" "VcXsrv" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VcXsrv" "UninstallString" '"$INSTDIR\uninstall.exe"' + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VcXsrv" "NoModify" 1 + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VcXsrv" "NoRepair" 1 + WriteUninstaller "uninstall.exe" + + ; Register the xlaunch file extension + WriteRegStr HKCR ".xlaunch" "" "XLaunchFile" + WriteRegStr HKCR "XLaunchFile" "" "XLaunch Configuration" + WriteRegStr HKCR "XLaunchFile\DefaultIcon" "" "$INSTDIR\xlaunch.exe,0" + WriteRegStr HKCR "XLaunchFile\shell" "" 'open' + WriteRegStr HKCR "XLaunchFile\shell\open\command" "" '"$INSTDIR\XLaunch.exe" -run "%1"' + WriteRegStr HKCR "XLaunchFile\shell\open\ddeexec\Application" "" "XLaunch" + WriteRegStr HKCR "XLaunchFile\shell\open\ddeexec\Topic" "" "System" + WriteRegStr HKCR "XLaunchFile\shell\edit\command" "" '"$INSTDIR\XLaunch.exe" -load "%1"' + WriteRegStr HKCR "XLaunchFile\shell\edit\ddeexec\Application" "" "XLaunch" + WriteRegStr HKCR "XLaunchFile\shell\edit\ddeexec\Topic" "" "System" + WriteRegStr HKCR "XLaunchFile\shell\Validate\command" "" '"$INSTDIR\XLaunch.exe" -validate "%1"' + WriteRegStr HKCR "XLaunchFile\shell\Validate\ddeexec\Application" "" "XLaunch" + WriteRegStr HKCR "XLaunchFile\shell\Validate\ddeexec\Topic" "" "System" + + WriteRegStr HKCR "Applications\xlaunch.exe\shell" "" 'open' + WriteRegStr HKCR "Applications\xlaunch.exe\shell\open\command" "" '"$INSTDIR\XLaunch.exe" -run "%1"' + WriteRegStr HKCR "Applications\xlaunch.exe\shell\open\ddeexec\Application" "" "XLaunch" + WriteRegStr HKCR "Applications\xlaunch.exe\shell\open\ddeexec\Topic" "" "System" + WriteRegStr HKCR "Applications\xlaunch.exe\shell\edit\command" "" '"$INSTDIR\XLaunch.exe" -load "%1"' + WriteRegStr HKCR "Applications\xlaunch.exe\shell\edit\ddeexec\Application" "" "XLaunch" + WriteRegStr HKCR "Applications\xlaunch.exe\shell\edit\ddeexec\Topic" "" "System" + WriteRegStr HKCR "Applications\xlaunch.exe\shell\Validate\command" "" '"$INSTDIR\XLaunch.exe" -validate "%1"' + WriteRegStr HKCR "Applications\xlaunch.exe\shell\Validate\ddeexec\Application" "" "XLaunch" + WriteRegStr HKCR "Applications\xlaunch.exe\shell\Validate\ddeexec\Topic" "" "System" + +SectionEnd + +; Optional section (can be disabled by the user) +Section "Fonts" + SectionIn 1 3 + + SetOutPath $INSTDIR\fonts + CreateDirectory "$SMPROGRAMS\VcXsrv" + File /r "..\fonts\*.*" + +SectionEnd + +; Optional section (can be disabled by the user) +Section "Start Menu Shortcuts" + SectionIn 1 3 + + SetOutPath $INSTDIR + CreateDirectory "$SMPROGRAMS\VcXsrv" + CreateShortCut "$SMPROGRAMS\VcXsrv\Uninstall VcXsrv.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 + CreateShortCut "$SMPROGRAMS\VcXsrv\VcXsrv.lnk" "$INSTDIR\vcxsrv.exe" " :0 -ac -terminate -lesspointer -multiwindow -clipboard -wgl" "$INSTDIR\vcxsrv.exe" 0 + CreateShortCut "$SMPROGRAMS\VcXsrv\XLaunch.lnk" "$INSTDIR\xlaunch.exe" "" "$INSTDIR\xlaunch.exe" 0 + +SectionEnd + +; Optional section (can be disabled by the user) +Section "Desktop Shortcuts" + SectionIn 1 3 + + SetOutPath $INSTDIR + CreateShortCut "$DESKTOP\VcXsrv.lnk" "$INSTDIR\vcxsrv.exe" " :0 -ac -terminate -lesspointer -multiwindow -clipboard -wgl" "$INSTDIR\vcxsrv.exe" 0 + CreateShortCut "$DESKTOP\XLaunch.lnk" "$INSTDIR\xlaunch.exe" "" "$INSTDIR\xlaunch.exe" 0 + +SectionEnd + +;-------------------------------- + +; Uninstaller + +Section "Uninstall" + + ; Remove registry keys + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VcXsrv" + DeleteRegKey HKLM SOFTWARE\VcXsrv + + ; Register the xlaunch file extension + DeleteRegKey HKCR ".xlaunch" + DeleteRegKey HKCR "XLaunchFile" + DeleteRegKey HKCR "Applications\xlaunch.exe" + + ; Remove files and uninstaller + Delete "$INSTDIR\vcxsrv.exe" + Delete "$INSTDIR\uninstall.exe" + Delete "$INSTDIR\protocol.txt" + Delete "$INSTDIR\system.XWinrc" + Delete "$INSTDIR\xkbcomp.exe" + Delete "$INSTDIR\xcalc.exe" + Delete "$INSTDIR\xcalc" + Delete "$INSTDIR\xcalc-color" + Delete "$INSTDIR\xclock.exe" + Delete "$INSTDIR\xclock" + Delete "$INSTDIR\xclock-color" + Delete "$INSTDIR\xwininfo.exe" + Delete "$INSTDIR\XKeysymDB" + Delete "$INSTDIR\XErrorDB" + Delete "$INSTDIR\Xcms.txt" + Delete "$INSTDIR\XtErrorDB" + Delete "$INSTDIR\.Xdefaults" + Delete "$INSTDIR\xlaunch.exe" + Delete "$INSTDIR\plink.exe" + Delete "$INSTDIR\swrast_dri.dll" + Delete "$INSTDIR\dxtn.dll" + Delete "$INSTDIR\swrastwgl_dri.dll" + Delete "$INSTDIR\libxcb.dll" + Delete "$INSTDIR\libXau.dll" + Delete "$INSTDIR\libX11.dll" + Delete "$INSTDIR\libXext.dll" + Delete "$INSTDIR\libXmu.dll" + Delete "$INSTDIR\libxml2.dll" + Delete "$INSTDIR\zlib1.dll" + Delete "$INSTDIR\iconv.dll" + Delete "$INSTDIR\msvcr100.dll" + Delete "$INSTDIR\msvcp100.dll" + Delete "$INSTDIR\msvcr100d.dll" + Delete "$INSTDIR\msvcp100d.dll" + + RMDir /r "$INSTDIR\fonts" + RMDir /r "$INSTDIR\xkbdata" + RMDir /r "$INSTDIR\locale" + + ; Remove shortcuts, if any + Delete "$SMPROGRAMS\VcXsrv\*.*" + Delete "$DESKTOP\VcXsrv.lnk" + Delete "$DESKTOP\XLaunch.lnk" + + ; Remove directories used + RMDir "$SMPROGRAMS\VcXsrv" + RMDir "$INSTDIR" + +SectionEnd + diff --git a/xorg-server/installer/vcxsrv-debug.nsi b/xorg-server/installer/vcxsrv-debug.nsi index 875a7dd3d..654e0239f 100644 --- a/xorg-server/installer/vcxsrv-debug.nsi +++ b/xorg-server/installer/vcxsrv-debug.nsi @@ -24,11 +24,11 @@ Name "VcXsrv" OutFile "vcxsrv-debug.1.14.2.0.installer.exe" ; The default installation directory -InstallDir $PROGRAMFILES\VcXsrv +InstallDir $PROGRAMFILES32\VcXsrv ; Registry key to check for directory (so if you install again, it will ; overwrite the old one automatically) -InstallDirRegKey HKLM "Software\VcXsrv" "Install_Dir" +InstallDirRegKey HKLM SOFTWARE\VcXsrv "Install_Dir" ; Request application privileges for Windows Vista RequestExecutionLevel admin @@ -72,7 +72,7 @@ Section "VcXsrv debug exe and dlls" File "..\..\apps\xwininfo\obj\debug\xwininfo.exe" File "..\hw\xwin\xlaunch\obj\debug\xlaunch.exe" File "..\..\tools\plink\obj\debug\plink.exe" - File "..\..\mesalib\windows\VC8\mesa\Debug\swrast_dri.dll" + File "..\..\mesalib\windows\VC8\mesa\Win32\Debug\swrast_dri.dll" File "..\hw\xwin\swrastwgl_dri\obj\debug\swrastwgl_dri.dll" File "..\..\dxtn\obj\debug\dxtn.dll" File "..\..\zlib\obj\debug\zlib1.dll" @@ -84,4 +84,5 @@ Section "VcXsrv debug exe and dlls" File "msvcr100d.dll" File "msvcp100d.dll" + WriteRegStr HKLM SOFTWARE\VcXsrv "Install_Dir" "$INSTDIR" SectionEnd diff --git a/xorg-server/installer/vcxsrv.nsi b/xorg-server/installer/vcxsrv.nsi index 9063f2bc5..023b4e5ee 100644 --- a/xorg-server/installer/vcxsrv.nsi +++ b/xorg-server/installer/vcxsrv.nsi @@ -24,11 +24,11 @@ Name "VcXsrv" OutFile "vcxsrv.1.14.2.0.installer.exe" ; The default installation directory -InstallDir $PROGRAMFILES\VcXsrv +InstallDir $PROGRAMFILES32\VcXsrv ; Registry key to check for directory (so if you install again, it will ; overwrite the old one automatically) -InstallDirRegKey HKLM "Software\VcXsrv" "Install_Dir" +InstallDirRegKey HKLM SOFTWARE\VcXsrv "Install_Dir" ; Request application privileges for Windows Vista RequestExecutionLevel admin @@ -88,17 +88,19 @@ Section "VcXsrv (required)" File "..\.Xdefaults" File "..\hw\xwin\xlaunch\obj\release\xlaunch.exe" File "..\..\tools\plink\obj\release\plink.exe" - File "..\..\mesalib\windows\VC8\mesa\Release\swrast_dri.dll" + File "..\..\mesalib\windows\VC8\mesa\Win32\Release\swrast_dri.dll" File "..\hw\xwin\swrastwgl_dri\obj\release\swrastwgl_dri.dll" File "..\..\dxtn\obj\release\dxtn.dll" - File "..\..\libxml2\bin\libxml2.dll" + File "..\..\libxml2\bin\libxml2-2.dll" + File "..\..\libxml2\bin\libgcc_s_sjlj-1.dll" + File "..\..\libxml2\bin\libiconv-2.dll" + File "..\..\libxml2\bin\libwinpthread-1.dll" File "..\..\zlib\obj\release\zlib1.dll" File "..\..\libxcb\src\obj\release\libxcb.dll" File "..\..\libXau\obj\release\libXau.dll" File "..\..\libX11\obj\release\libX11.dll" File "..\..\libXext\src\obj\release\libXext.dll" File "..\..\libXmu\src\obj\release\libXmu.dll" - File "..\..\libxml2\bin\iconv.dll" File "msvcr100.dll" File "msvcp100.dll" SetOutPath $INSTDIR\xkbdata diff --git a/xorg-server/makefile b/xorg-server/makefile index 02c2d3e86..b963ad1b4 100644 --- a/xorg-server/makefile +++ b/xorg-server/makefile @@ -51,22 +51,14 @@ load_makefile $(NOSERVLIBDIRS:%$(NOSERVOBJDIR)\=%makefile MAKESERVER=0 DEBUG=$(D OBJS = dix\$(OBJDIR)\main.obj +LINKLIBS += $(PTHREADLIB) $(FREETYPELIB) $(OPENSSLLIB) + ifeq ($(DEBUG),1) TTYAPP=vcxsrv APP:=$(TTYAPP) - -LINKLIBS += $(MHMAKECONF)\openssl\out32_d\libeay32.lib \ - $(MHMAKECONF)\freetype\lib\freetype2501MT_D.lib \ - $(MHMAKECONF)\pthreads\pthreadVC2d.lib - else WINAPP=vcxsrv APP:=$(WINAPP) - -LINKLIBS += $(MHMAKECONF)\openssl\out32\libeay32.lib \ - $(MHMAKECONF)\freetype\lib\freetype2501MT.lib \ - $(MHMAKECONF)\pthreads\pthreadVC2.lib - endif RCINCLUDES += include hw\xwin $(MHMAKECONF)\include $(MHMAKECONF) @@ -100,10 +92,16 @@ load_makefile $(EXTRASTOBUILDDIRS:%$(NOSERVOBJDIR)\=%makefile MAKESERVER=0 DEBUG all: $(EXTRASTOBUILD) load_makefile ..\mesalib\windows\VC8\mesa\makefile MAKESERVER=0 DEBUG=$(DEBUG) +ifdef IS64 +TARGETDIR=x64 +else +TARGETDIR=Win32 +endif + ifeq ($(DEBUG),1) -all: ..\mesalib\windows\VC8\mesa\Debug\swrast_dri.dll +all: ..\mesalib\windows\VC8\mesa\$(TARGETDIR)\Debug\swrast_dri.dll else -all: ..\mesalib\windows\VC8\mesa\Release\swrast_dri.dll +all: ..\mesalib\windows\VC8\mesa\$(TARGETDIR)\Release\swrast_dri.dll endif all: fonts.src\all xkeyboard-config\all diff --git a/xorg-server/xkeyboard-config/xkbrules.mak b/xorg-server/xkeyboard-config/xkbrules.mak index c117b30c5..50e38298b 100644 --- a/xorg-server/xkeyboard-config/xkbrules.mak +++ b/xorg-server/xkeyboard-config/xkbrules.mak @@ -20,7 +20,7 @@ export PATH load_makefile ..\..\..\xkbcomp\makefile MAKESERVER=0 DEBUG=0 -$(DIRFILE): extrastuff $(DATA_FILES) ..\..\..\xkbcomp\obj\release\xkbcomp.exe +$(DIRFILE): extrastuff $(DATA_FILES) ..\..\..\xkbcomp\obj$(OBJDIREXTRA)\release\xkbcomp.exe -del -e $@ - cd $(DESTDIR) & ..\..\..\xkbcomp\obj\release\xkbcomp.exe -lfhlpR -o $(relpath $@) * + cd $(DESTDIR) & ..\..\..\xkbcomp\obj$(OBJDIREXTRA)\release\xkbcomp.exe -lfhlpR -o $(relpath $@) * endif -- cgit v1.2.3