--- src/VBox/Additions/common/crOpenGL/Makefile.kmk.orig 2020-07-10 02:50:08.000000000 +1000 +++ src/VBox/Additions/common/crOpenGL/Makefile.kmk 2020-08-23 12:31:55.500703000 +1000 @@ -24,7 +24,7 @@ BLDDIRS += \ $(VBOX_PATH_CROGL_GENFILES)/ -if1of ($(KBUILD_TARGET), win linux solaris freebsd) +if1of ($(KBUILD_TARGET), bsdsunix win linux solaris freebsd) DLLS += \ VBoxOGL @@ -47,17 +47,15 @@ LIBRARIES.win.amd64 += $(VBOX_OGL_X86_GUEST_LIBRARIES) endif -if1of ($(KBUILD_TARGET), linux solaris freebsd) +if1of ($(KBUILD_TARGET), bsdsunix linux solaris freebsd) #VBoxOGL_DRI = 1 DLLS += VBoxEGL - ifn1of ($(KBUILD_TARGET),linux solaris) # No DRI on Solaris yet - VBoxOGL_FAKEDRI = 1 - endif + #VBoxOGL_FAKEDRI = 1 # Only Solaris right now needs C stubs because I can't figure out how to # generate the GOT based relocation ASM yet. ifdef VBoxOGL_FAKEDRI - if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),solaris.x86 solaris.amd64 linux.x86 linux.amd64 freebsd.x86 freebsd.amd64) + if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),solaris.x86 solaris.amd64 linux.x86 linux.amd64 freebsd.x86 freebsd.amd64 bsdsunix.x86 bsdsunix.amd64) VBOX_OGL_GLX_USE_CSTUBS = 1 endif endif @@ -69,7 +67,7 @@ # VBoxOGL_TEMPLATE = VBOXCROGLR3GUESTDLL VBoxOGL_INCS = . $(VBOX_GRAPHICS_INCS) -if1of ($(KBUILD_TARGET), linux solaris freebsd) +if1of ($(KBUILD_TARGET), bsdsunix linux solaris freebsd) ifndef VBOX_USE_SYSTEM_GL_HEADERS VBoxOGL_INCS += \ $(VBOX_PATH_X11_ROOT)/libXdamage-1.1 \ @@ -125,7 +123,7 @@ $(VBOX_PATH_CROGL_GENFILES)/NULLfuncs.c \ $(VBOX_PATH_CROGL_GENFILES)/tsfuncs.c -if1of ($(KBUILD_TARGET), linux solaris freebsd) +if1of ($(KBUILD_TARGET), bsdsunix linux solaris freebsd) VBoxOGL_SOURCES += \ glx.c \ xfont.c @@ -141,6 +139,8 @@ $(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm VBoxOGL_SOURCES.solaris += \ $(VBOX_PATH_CROGL_GENFILES)/solaris_exports_dri.asm + VBoxOGL_SOURCES.bsdsunix += \ + $(VBOX_PATH_CROGL_GENFILES)/bsdsunix_exports_dri.asm VBoxOGL_SOURCES.freebsd += \ $(VBOX_PATH_CROGL_GENFILES)/freebsd_exports_dri.asm else ifdef VBoxOGL_FAKEDRI @@ -153,6 +153,9 @@ VBoxOGL_SOURCES.linux += \ $(VBOX_PATH_CROGL_GENFILES)/linux_glxapi_exports.asm \ $(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm + VBoxOGL_SOURCES.bsdsunix += \ + $(VBOX_PATH_CROGL_GENFILES)/bsdsunix_glxapi_exports.asm \ + $(VBOX_PATH_CROGL_GENFILES)/bsdsunix_exports_dri.asm VBoxOGL_SOURCES.freebsd += \ $(VBOX_PATH_CROGL_GENFILES)/freebsd_glxapi_exports.asm \ $(VBOX_PATH_CROGL_GENFILES)/freebsd_exports_dri.asm @@ -161,6 +164,8 @@ $(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c VBoxOGL_SOURCES.linux += \ $(VBOX_PATH_CROGL_GENFILES)/linux_exports.c + VBoxOGL_SOURCES.bsdsunix += \ + $(VBOX_PATH_CROGL_GENFILES)/bsdsunix_exports.c VBoxOGL_SOURCES.freebsd += \ $(VBOX_PATH_CROGL_GENFILES)/freebsd_exports.c endif @@ -169,6 +174,8 @@ $(VBOX_PATH_CROGL_GENFILES)/linux_exports.c VBoxOGL_SOURCES.solaris += \ $(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c + VBoxOGL_SOURCES.bsdsunix += \ + $(VBOX_PATH_CROGL_GENFILES)/bsdsunix_exports.c VBoxOGL_SOURCES.freebsd += \ $(VBOX_PATH_CROGL_GENFILES)/freebsd_exports.c endif @@ -188,10 +195,14 @@ $(VBOX_PATH_CROGL_GENFILES)/linux_exports.c VBoxOGL_CLEAN.solaris += \ $(VBOX_PATH_CROGL_GENFILES)/solaris_exports.c +VBoxOGL_CLEAN.bsdsunix += \ + $(VBOX_PATH_CROGL_GENFILES)/bsdsunix_exports.c +VBoxOGL_CLEAN.freebsd += \ + $(VBOX_PATH_CROGL_GENFILES)/freebsd_exports.c VBoxOGL_CLEAN.win = \ $(VBOX_PATH_CROGL_GENFILES)/windows_exports.asm \ $(VBOX_PATH_CROGL_GENFILES)/cropengl.def -if1of ($(KBUILD_TARGET), linux solaris) +if1of ($(KBUILD_TARGET), bsdsunix linux solaris freebsd) ifdef VBoxOGL_DRI VBoxOGL_CLEAN += \ $(VBOX_PATH_CROGL_GENFILES)/cr_gl.h \ @@ -204,6 +215,10 @@ $(VBOX_PATH_CROGL_GENFILES)/linux_glxapi_exports.asm VBoxOGL_CLEAN.solaris += \ $(VBOX_PATH_CROGL_GENFILES)/solaris_glxapi_exports.asm + VBoxOGL_CLEAN.bsdsunix += \ + $(VBOX_PATH_CROGL_GENFILES)/bsdsunix_glxapi_exports.asm + VBoxOGL_CLEAN.freebsd += \ + $(VBOX_PATH_CROGL_GENFILES)/freebsd_glxapi_exports.asm endif endif VBoxOGL_LIBS = \ @@ -223,7 +238,7 @@ $(PATH_STAGE_LIB)/additions/VBoxWddmUmKmt$(VBOX_SUFF_LIB) \ $(PATH_STAGE_LIB)/additions/VBoxCrHgsmi$(VBOX_SUFF_LIB) -if1of ($(KBUILD_TARGET), linux solaris freebsd) +if1of ($(KBUILD_TARGET), bsdsunix linux solaris freebsd) ifdef VBOX_USE_SYSTEM_GL_HEADERS VBoxOGL_LIBS += Xcomposite Xdamage Xfixes Xext else @@ -234,7 +249,7 @@ $(PATH_STAGE_LIB)/libXext.so endif ifdef VBoxOGL_FAKEDRI - ifeq ($(KBUILD_TARGET), freebsd) + if1of ($(KBUILD_TARGET), freebsd bsdsunix) VBoxOGL_LIBS += \ elf else @@ -244,6 +259,10 @@ else VBoxOGL_SONAME.linux = libGL.so.1 VBoxOGL_LDFLAGS.linux += -Wl,-e,LibMain + VBoxOGL_SONAME.bsdsunix = libGL.so.1 + VBoxOGL_LDFLAGS.bsdsunix += -Wl,-e,LibMain + VBoxOGL_SONAME.freebsd = libGL.so.1 + VBoxOGL_LDFLAGS.freebsd += -Wl,-e,LibMain endif endif ifdef VBOX_WITH_CRHGSMI @@ -252,7 +271,7 @@ ifdef VBOX_WITH_WDDM VBoxOGL_DEFS.win += VBOX_WITH_WDDM endif -if1of ($(KBUILD_TARGET), linux) +if1of ($(KBUILD_TARGET), bsdsunix linux freebsd) VBoxOGL_LDFLAGS += -Wl,-z,nodelete endif ifdef VBOX_WITH_WDDM @@ -332,8 +351,8 @@ endif #ifdef VBOX_WITH_WDDM -else if1of ($(KBUILD_TARGET), freebsd linux solaris) - # FreeBSD, Linux, Solaris +else if1of ($(KBUILD_TARGET), bsdsunix freebsd linux solaris) + # BSDSUniX, FreeBSD, Linux, Solaris $(VBOX_PATH_CROGL_GENFILES)/getprocaddress.c: $(PATH_SUB_CURRENT)/getprocaddress.py $(VBOX_CROGL_API_FILES) | $$(dir $$@) $(call MSG_GENERATE,python,$@,$<) $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) @@ -347,6 +366,14 @@ $(call MSG_GENERATE,python,$@,$<) $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) + else ifeq ($(KBUILD_TARGET),bsdsunix) +$(VBOX_PATH_CROGL_GENFILES)/bsdsunix_exports.c: \ + $(PATH_SUB_CURRENT)/BSDSUniX_exports.py \ + $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \ + | $$(dir $$@) + $(call MSG_GENERATE,python,$@,$<) + $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) + else ifeq ($(KBUILD_TARGET),freebsd) $(VBOX_PATH_CROGL_GENFILES)/freebsd_exports.c: \ $(PATH_SUB_CURRENT)/FreeBSD_exports.py \ @@ -393,6 +420,14 @@ $(call MSG_GENERATE,python,$@,$<) $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) + else ifeq ($(KBUILD_TARGET),bsdsunix) +$(VBOX_PATH_CROGL_GENFILES)/bsdsunix_exports_dri.asm: \ + $(PATH_SUB_CURRENT)/BSDSUniX_i386_exports_dri.py \ + $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \ + | $$(dir $$@) + $(call MSG_GENERATE,python,$@,$<) + $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) + else $(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm: \ $(PATH_SUB_CURRENT)/Linux_i386_exports_dri.py \ @@ -418,6 +453,27 @@ $(VBOX_PATH_CROGL_GENFILES)/solaris_glxapi_exports.asm: $(PATH_SUB_CURRENT)/SunOS_i386_glxapi_exports.py | $$(dir $$@) $(call MSG_GENERATE,python,$@,$<) $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< + else ifeq ($(KBUILD_TARGET),freebsd) +$(VBOX_PATH_CROGL_GENFILES)/freebsd_exports_dri.asm: \ + $(PATH_SUB_CURRENT)/FreeBSD_i386_exports_dri.py \ + $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \ + | $$(dir $$@) + $(call MSG_GENERATE,python,$@,$<) + $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) +$(VBOX_PATH_CROGL_GENFILES)/freebsd_glxapi_exports.asm: $(PATH_SUB_CURRENT)/FreeBSD_i386_glxapi_exports.py | $$(dir $$@) + $(call MSG_GENERATE,python,$@,$<) + $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< + + else ifeq ($(KBUILD_TARGET),bsdsunix) +$(VBOX_PATH_CROGL_GENFILES)/bsdsunix_exports_dri.asm: \ + $(PATH_SUB_CURRENT)/BSDSUniX_i386_exports_dri.py \ + $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \ + | $$(dir $$@) + $(call MSG_GENERATE,python,$@,$<) + $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) +$(VBOX_PATH_CROGL_GENFILES)/bsdsunix_glxapi_exports.asm: $(PATH_SUB_CURRENT)/BSDSUniX_i386_glxapi_exports.py | $$(dir $$@) + $(call MSG_GENERATE,python,$@,$<) + $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< else $(VBOX_PATH_CROGL_GENFILES)/linux_exports_dri.asm: \ @@ -447,6 +503,13 @@ | $$(dir $$@) $(call MSG_GENERATE,python,$@,$<) $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) + else ifeq ($(KBUILD_TARGET),bsdsunix) +$(VBOX_PATH_CROGL_GENFILES)/bsdsunix_exports.c: \ + $(PATH_SUB_CURRENT)/BSDSUniX_exports.py \ + $(VBOX_CROGL_API_FILES) $(PATH_SUB_CURRENT)/entrypoints.py \ + | $$(dir $$@) + $(call MSG_GENERATE,python,$@,$<) + $(QUIET)$(call VBOX_CROGL_PYTHON_ENV,$(VBOX_PATH_CROGL_PYTHON_INCLUDE),$@) $(VBOX_BLD_PYTHON) $< $(VBOX_PATH_CROGL_GLAPI) else $(VBOX_PATH_CROGL_GENFILES)/linux_exports.c: \ $(PATH_SUB_CURRENT)/Linux_exports.py \ @@ -467,7 +530,7 @@ VBoxOGLpassthroughspu_INCS = \ passthrough \ $(VBOX_GRAPHICS_INCS) -if1of ($(KBUILD_TARGET), linux solaris freebsd) +if1of ($(KBUILD_TARGET), bsdsunix linux solaris freebsd) VBoxOGLpassthroughspu_INCS += \ $(VBOX_GL_INCS) endif @@ -507,7 +570,7 @@ VBoxOGLpackspu_INCS = \ pack \ $(VBOX_GRAPHICS_INCS) -if1of ($(KBUILD_TARGET), linux solaris freebsd) +if1of ($(KBUILD_TARGET), bsdsunix linux solaris freebsd) VBoxOGLpackspu_INCS += \ $(VBOX_GL_INCS) endif @@ -600,7 +663,7 @@ VBoxOGLfeedbackspu_INCS = \ feedback \ $(VBOX_GRAPHICS_INCS) -if1of ($(KBUILD_TARGET), linux solaris freebsd) +if1of ($(KBUILD_TARGET), bsdsunix linux solaris freebsd) VBoxOGLfeedbackspu_INCS += \ $(VBOX_GL_INCS) endif @@ -656,6 +719,8 @@ endif VBoxEGL_LIBS = $(VBOX_LIB_OGL) # $(VBOX_LIB_IPRT_GUEST_R3_SHARED) VBoxEGL_SONAME.linux = libEGL.so.1 +VBoxEGL_SONAME.bsdsunix = libEGL.so.1 +VBoxEGL_SONAME.freebsd = libEGL.so.1 include $(FILE_KBUILD_SUB_FOOTER)