aboutsummaryrefslogtreecommitdiffstats
path: root/emulators
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2014-04-09 01:59:45 +0800
committerjkim <jkim@FreeBSD.org>2014-04-09 01:59:45 +0800
commitf3f7fca5ba93c50b6592700550d24d106351b12f (patch)
tree1989318770846c58f977c4f5e1a1ea9e5cfb2d5b /emulators
parenta04ef9794a4e60ad5478fe87ea61794242f114c3 (diff)
downloadfreebsd-ports-gnome-f3f7fca5ba93c50b6592700550d24d106351b12f.tar.gz
freebsd-ports-gnome-f3f7fca5ba93c50b6592700550d24d106351b12f.tar.zst
freebsd-ports-gnome-f3f7fca5ba93c50b6592700550d24d106351b12f.zip
Fix build without X11.
PR: ports/188053
Diffstat (limited to 'emulators')
-rw-r--r--emulators/virtualbox-ose/Makefile22
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-DevVGA.cpp86
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-DevVGA_VBVA.cpp34
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-HGSMI-HGSMIHost.cpp38
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Main-src-client-DisplayImpl.cpp28
5 files changed, 198 insertions, 10 deletions
diff --git a/emulators/virtualbox-ose/Makefile b/emulators/virtualbox-ose/Makefile
index a3e6c35bf753..5c825d1b5cdc 100644
--- a/emulators/virtualbox-ose/Makefile
+++ b/emulators/virtualbox-ose/Makefile
@@ -191,21 +191,18 @@ post-patch:
@${ECHO} 'VBOX_PATH_APP_PRIVATE = ${DATADIR}' >> ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_PATH_APP_DOCS = ${DOCSDIR}' >> ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_WITH_INSTALLER = 1' >> ${WRKSRC}/LocalConfig.kmk
- @${ECHO} 'VBOX_WITH_VBOXDRV = ' >> ${WRKSRC}/LocalConfig.kmk
- @${ECHO} 'VBOX_WITH_VIDEOHWACCEL = 1' >> ${WRKSRC}/LocalConfig.kmk
- @${ECHO} 'VBOX_WITH_NETFLT = 1' >> ${WRKSRC}/LocalConfig.kmk
- @${ECHO} 'VBOX_WITH_NETADP = ' >> ${WRKSRC}/LocalConfig.kmk
- @${ECHO} 'VBOX_WITH_TESTCASES=' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO} 'VBOX_WITH_VBOXDRV =' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO} 'VBOX_WITH_TESTCASES =' >> ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'SDK_VBOX_LIBPNG_INCS = ${PREFIX}/include/libpng' >> ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'SDK_VBOX_LIBPNG_LIBS = png' >> ${WRKSRC}/LocalConfig.kmk
- @${ECHO} 'VBOX_WITH_ADDITIONS=' >> ${WRKSRC}/LocalConfig.kmk
- @${ECHO} 'VBOX_WITH_X11_ADDITIONS=' >> ${WRKSRC}/LocalConfig.kmk
-.if ${PORT_OPTIONS:MVNC}
- @${ECHO} 'VBOX_WITH_EXTPACK_VNC = 1' >> ${WRKSRC}/LocalConfig.kmk
-.endif
+ @${ECHO} 'VBOX_WITH_ADDITIONS =' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO} 'VBOX_WITH_X11_ADDITIONS =' >> ${WRKSRC}/LocalConfig.kmk
.if ${PORT_OPTIONS:MUDPTUNNEL}
@${ECHO} 'VBOX_WITH_UDPTUNNEL = 1' >> ${WRKSRC}/LocalConfig.kmk
.endif
+.if ${PORT_OPTIONS:MVNC}
+ @${ECHO} 'VBOX_WITH_EXTPACK_VNC = 1' >> ${WRKSRC}/LocalConfig.kmk
+.endif
.if ${PORT_OPTIONS:MWEBSERVICE}
@${ECHO} 'VBOX_WITH_WEBSERVICES = 1' >> ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_GSOAP_INSTALLED = 1' >> ${WRKSRC}/LocalConfig.kmk
@@ -214,6 +211,11 @@ post-patch:
@${ECHO} 'VBOX_PATH_GSOAP_IMPORT = ${PREFIX}/share/gsoap/import' >> ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_GCC_PEDANTIC_CXX = -Wshadow $(VBOX_GCC_WARN) -Wno-long-long' >> ${WRKSRC}/LocalConfig.kmk
.endif
+.if empty(PORT_OPTIONS:MX11)
+ @${ECHO} 'VBOX_WITH_VDMA =' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO} 'VBOX_WITH_WDDM =' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO} 'VBOX_WITH_WDDM_W8 =' >> ${WRKSRC}/LocalConfig.kmk
+.endif
.if ${COMPILER_TYPE} == clang
@${REINPLACE_CMD} -e 's| -finline-limit=8000||' \
-e 's| -mpreferred-stack-boundary=2||' ${WRKSRC}/Config.kmk
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-DevVGA.cpp b/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-DevVGA.cpp
new file mode 100644
index 000000000000..ce4fdc3d37c8
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-DevVGA.cpp
@@ -0,0 +1,86 @@
+--- src/VBox/Devices/Graphics/DevVGA.cpp.orig 2014-03-26 15:17:10.000000000 -0400
++++ src/VBox/Devices/Graphics/DevVGA.cpp 2014-04-02 16:41:47.000000000 -0400
+@@ -5196,10 +5196,12 @@
+ PVGASTATE pThis = (PVGASTATE)pvUser;
+ NOREF(pDevIns);
+
++#ifdef VBOX_WITH_WDDM
+ if (pThis->fScanLineCfg & VBVASCANLINECFG_ENABLE_VSYNC_IRQ)
+ {
+ VBVARaiseIrq(pThis, HGSMIHOSTFLAGS_VSYNC);
+ }
++#endif
+
+ if (pThis->pDrv)
+ pThis->pDrv->pfnRefresh(pThis->pDrv);
+@@ -5211,7 +5213,9 @@
+ vbvaTimerCb(pThis);
+ #endif
+
++#ifdef VBOX_WITH_VDMA
+ vboxCmdVBVACmdTimer(pThis);
++#endif
+ }
+
+ #ifdef VBOX_WITH_VMSVGA
+@@ -5365,26 +5369,30 @@
+ static DECLCALLBACK(int) vgaR3SaveExec(PPDMDEVINS pDevIns, PSSMHANDLE pSSM)
+ {
+ PVGASTATE pThis = PDMINS_2_DATA(pDevIns, PVGASTATE);
++
+ #ifdef VBOX_WITH_VDMA
+ vboxVDMASaveStateExecPrep(pThis->pVdma, pSSM);
+ #endif
++
+ vgaR3SaveConfig(pThis, pSSM);
+ vga_save(pSSM, PDMINS_2_DATA(pDevIns, PVGASTATE));
++
+ #ifdef VBOX_WITH_HGSMI
+ SSMR3PutBool(pSSM, true);
+ int rc = vboxVBVASaveStateExec(pDevIns, pSSM);
+ # ifdef VBOX_WITH_VDMA
+ vboxVDMASaveStateExecDone(pThis->pVdma, pSSM);
+ # endif
+- return rc;
+ #else
+- SSMR3PutBool(pSSM, false);
++ int rc = SSMR3PutBool(pSSM, false);
+ #endif
++
+ #ifdef VBOX_WITH_VMSVGA
+ if ( rc == VINF_SUCCESS
+ && pThis->fVMSVGAEnabled)
+ rc = vmsvgaSaveExec(pDevIns, pSSM);
+ #endif
++
+ return rc;
+ }
+
+@@ -5476,8 +5484,10 @@
+ char *pchEnd;
+ LogFlow(("vgaReset\n"));
+
++#ifdef VBOX_WITH_VDMA
+ if (pThis->pVdma)
+ vboxVDMAReset(pThis->pVdma);
++#endif
+
+ #ifdef VBOX_WITH_HGSMI
+ VBVAReset(pThis);
+@@ -5924,12 +5934,14 @@
+ # if defined(VBOX_WITH_VIDEOHWACCEL)
+ pThis->IVBVACallbacks.pfnVHWACommandCompleteAsynch = vbvaVHWACommandCompleteAsynch;
+ # endif
+-#if defined(VBOX_WITH_CRHGSMI)
++# if defined(VBOX_WITH_CRHGSMI)
+ pThis->IVBVACallbacks.pfnCrHgsmiCommandCompleteAsync = vboxVDMACrHgsmiCommandCompleteAsync;
+ pThis->IVBVACallbacks.pfnCrHgsmiControlCompleteAsync = vboxVDMACrHgsmiControlCompleteAsync;
+ # endif
+-#endif
++# if defined(VBOX_WITH_VIDEOHWACCEL) || defined(VBOX_WITH_CRHGSMI)
+ pThis->IVBVACallbacks.pfnCrCtlSubmit = vboxCmdVBVACmdHostCtl;
++# endif
++#endif
+
+ /*
+ * We use our own critical section to avoid unncessary pointer indirections
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-DevVGA_VBVA.cpp b/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-DevVGA_VBVA.cpp
new file mode 100644
index 000000000000..55a390932d4e
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-DevVGA_VBVA.cpp
@@ -0,0 +1,34 @@
+--- src/VBox/Devices/Graphics/DevVGA_VBVA.cpp.orig 2014-03-26 15:17:10.000000000 -0400
++++ src/VBox/Devices/Graphics/DevVGA_VBVA.cpp 2014-04-03 14:58:41.000000000 -0400
+@@ -1939,6 +1939,7 @@
+
+ switch (u16ChannelInfo)
+ {
++#ifdef VBOX_WITH_VDMA
+ case VBVA_CMDVBVA_SUBMIT:
+ {
+ rc = vboxCmdVBVACmdSubmit(pVGAState);
+@@ -1965,7 +1966,6 @@
+ rc = vboxCmdVBVACmdCtl(pVGAState, pCtl, cbBuffer - VBoxSHGSMIBufferHeaderSize());
+ break;
+ }
+-#ifdef VBOX_WITH_VDMA
+ case VBVA_VDMA_CMD:
+ {
+ if (cbBuffer < VBoxSHGSMIBufferHeaderSize() + sizeof (VBOXVDMACBUF_DR))
+@@ -2277,7 +2277,6 @@
+ pVGAState->fGuestCaps = pCaps->fCaps;
+ pCaps->rc = VINF_SUCCESS;
+ } break;
+-#endif
+ case VBVA_SCANLINE_CFG:
+ {
+ if (cbBuffer < sizeof (VBVASCANLINECFG))
+@@ -2290,6 +2289,7 @@
+ pVGAState->fScanLineCfg = pCfg->fFlags;
+ pCfg->rc = VINF_SUCCESS;
+ } break;
++#endif
+ default:
+ Log(("Unsupported VBVA guest command %d!!!\n",
+ u16ChannelInfo));
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-HGSMI-HGSMIHost.cpp b/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-HGSMI-HGSMIHost.cpp
new file mode 100644
index 000000000000..08b273723f97
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Graphics-HGSMI-HGSMIHost.cpp
@@ -0,0 +1,38 @@
+--- src/VBox/Devices/Graphics/HGSMI/HGSMIHost.cpp.orig 2014-03-26 15:17:10.000000000 -0400
++++ src/VBox/Devices/Graphics/HGSMI/HGSMIHost.cpp 2014-04-02 16:26:50.000000000 -0400
+@@ -1185,6 +1185,8 @@
+ return rc;
+ }
+
++#ifdef VBOX_WITH_WDDM
++
+ static int hgsmiHostSaveGuestCmdCompletedFifoEntryLocked (HGSMIGUESTCOMPLENTRY *pEntry, PSSMHANDLE pSSM)
+ {
+ return SSMR3PutU32 (pSSM, pEntry->offBuffer);
+@@ -1211,6 +1213,8 @@
+ return rc;
+ }
+
++#endif
++
+ static int hgsmiHostLoadFifoEntryLocked (PHGSMIINSTANCE pIns, HGSMIHOSTFIFOENTRY **ppEntry, PSSMHANDLE pSSM)
+ {
+ HGSMIHOSTFIFOENTRY *pEntry;
+@@ -1253,6 +1257,8 @@
+ return rc;
+ }
+
++#ifdef VBOX_WITH_WDDM
++
+ static int hgsmiHostLoadGuestCmdCompletedFifoEntryLocked (PHGSMIINSTANCE pIns, HGSMIGUESTCOMPLENTRY **ppEntry, PSSMHANDLE pSSM)
+ {
+ HGSMIGUESTCOMPLENTRY *pEntry;
+@@ -1306,6 +1312,8 @@
+ return rc;
+ }
+
++#endif
++
+ int HGSMIHostSaveStateExec (PHGSMIINSTANCE pIns, PSSMHANDLE pSSM)
+ {
+ VBOXHGSMI_SAVE_START(pSSM);
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-client-DisplayImpl.cpp b/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-client-DisplayImpl.cpp
new file mode 100644
index 000000000000..9bad99ec9020
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-client-DisplayImpl.cpp
@@ -0,0 +1,28 @@
+--- src/VBox/Main/src-client/DisplayImpl.cpp.orig 2014-03-26 15:19:05.000000000 -0400
++++ src/VBox/Main/src-client/DisplayImpl.cpp 2014-04-02 17:42:48.000000000 -0400
+@@ -4382,6 +4382,7 @@
+ }
+ #endif
+
++#if defined(VBOX_WITH_HGCM) && defined(VBOX_WITH_CROGL)
+ DECLCALLBACK(void) Display::displayCrHgcmCtlSubmitCompletion(int32_t result, uint32_t u32Function, PVBOXHGCMSVCPARM pParam, void *pvContext)
+ {
+ VBOXCRCMDCTL *pCmd = (VBOXCRCMDCTL*)pParam->u.pointer.addr;
+@@ -4424,7 +4425,6 @@
+ return pThis->handleCrHgcmCtlSubmit(pCmd, cbCmd, pfnCompletion, pvCompletion);
+ }
+
+-#if defined(VBOX_WITH_HGCM) && defined(VBOX_WITH_CROGL)
+ DECLCALLBACK(void) Display::displayCrAsyncCmdCompletion(int32_t result, uint32_t u32Function, PVBOXHGCMSVCPARM pParam, void *pvContext)
+ {
+ Display *pDisplay = (Display *)pvContext;
+@@ -5050,7 +5050,9 @@
+ pThis->IConnector.pfnCrHgsmiCommandProcess = Display::displayCrHgsmiCommandProcess;
+ pThis->IConnector.pfnCrHgsmiControlProcess = Display::displayCrHgsmiControlProcess;
+ #endif
++#if defined(VBOX_WITH_HGCM) && defined(VBOX_WITH_CROGL)
+ pThis->IConnector.pfnCrHgcmCtlSubmit = Display::displayCrHgcmCtlSubmit;
++#endif
+ #ifdef VBOX_WITH_HGSMI
+ pThis->IConnector.pfnVBVAEnable = Display::displayVBVAEnable;
+ pThis->IConnector.pfnVBVADisable = Display::displayVBVADisable;