aboutsummaryrefslogtreecommitdiff
path: root/xorg-server
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-07-24 14:25:51 +0200
committermarha <marha@users.sourceforge.net>2013-07-25 08:25:18 +0200
commitde54c5b749b3eefb75d420840c889533a58aa342 (patch)
tree6502771c9dd5a0d455388734060469b18f2e4011 /xorg-server
parent0606cba5be2dab08f0b4de540d7b278fa6273daf (diff)
downloadvcxsrv-de54c5b749b3eefb75d420840c889533a58aa342.tar.gz
vcxsrv-de54c5b749b3eefb75d420840c889533a58aa342.tar.bz2
vcxsrv-de54c5b749b3eefb75d420840c889533a58aa342.zip
64-bit compilation now compiles and runs
Diffstat (limited to 'xorg-server')
-rw-r--r--xorg-server/glx/glxdricommon.c2
-rw-r--r--xorg-server/hw/xwin/InitOutput.c5
-rw-r--r--xorg-server/hw/xwin/swrastwgl_dri/makefile8
-rw-r--r--xorg-server/hw/xwin/winSetAppUserModelID.c3
-rw-r--r--xorg-server/hw/xwin/winmultiwindowwm.c116
-rw-r--r--xorg-server/hw/xwin/winmultiwindowwndproc.c2
-rw-r--r--xorg-server/hw/xwin/xlaunch/main.cc36
-rw-r--r--xorg-server/hw/xwin/xlaunch/makefile10
-rwxr-xr-xxorg-server/installer/packageall.bat22
-rw-r--r--xorg-server/installer/vcxsrv-64-debug.nsi88
-rw-r--r--xorg-server/installer/vcxsrv-64.nsi248
-rw-r--r--xorg-server/installer/vcxsrv-debug.nsi7
-rw-r--r--xorg-server/installer/vcxsrv.nsi12
-rw-r--r--xorg-server/makefile22
-rw-r--r--xorg-server/xkeyboard-config/xkbrules.mak4
15 files changed, 413 insertions, 172 deletions
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 <shlwapi.h>
+#include <propvarutil.h>
#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 <shlwapi.h>
-#include "taskbar.h"
-
#ifdef XWIN_MULTIWINDOWEXTWM
#define _WINDOWSWM_SERVER_
#include <X11/extensions/windowswmstr.h>
@@ -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 <http://www.gnu.org/licenses/>.
+*/
+;--------------------------------
+
+; 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 <http://www.gnu.org/licenses/>.
+*/
+;--------------------------------
+
+; 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