summaryrefslogtreecommitdiffstats
path: root/src/VBox/Installer/win/Resources
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Installer/win/Resources')
-rw-r--r--src/VBox/Installer/win/Resources/Makefile.kmk96
-rw-r--r--src/VBox/Installer/win/Resources/VBoxRes.rc64
-rw-r--r--src/VBox/Installer/win/Resources/dummy.cpp36
-rw-r--r--src/VBox/Installer/win/Resources/resource.h46
4 files changed, 242 insertions, 0 deletions
diff --git a/src/VBox/Installer/win/Resources/Makefile.kmk b/src/VBox/Installer/win/Resources/Makefile.kmk
new file mode 100644
index 00000000..f94aede6
--- /dev/null
+++ b/src/VBox/Installer/win/Resources/Makefile.kmk
@@ -0,0 +1,96 @@
+# $Id: Makefile.kmk $
+## @file
+# Sub-Makefile for VBoxRes.dll.
+#
+
+#
+# Copyright (C) 2010-2023 Oracle and/or its affiliates.
+#
+# This file is part of VirtualBox base platform packages, as
+# available from https://www.virtualbox.org.
+#
+# This program 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, in version 3 of the
+# License.
+#
+# This program 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 this program; if not, see <https://www.gnu.org/licenses>.
+#
+# SPDX-License-Identifier: GPL-3.0-only
+#
+
+SUB_DEPTH = ../../../../..
+include $(KBUILD_PATH)/subheader.kmk
+
+DLLS += VBoxRes
+VBoxRes_TEMPLATE = VBoxR3StaticNoCrt
+VBoxRes_DEPS = $(VBOX_SVN_REV_KMK)
+VBoxRes_LDFLAGS = -NoEntry
+VBoxRes_SOURCES = \
+ dummy.cpp \
+ VBoxRes.rc
+VBoxRes_CLEAN = \
+ $(VBoxRes_0_OUTDIR)/VBoxRes-icons.rc
+
+# The icon location is configurable.
+VBoxRes.rc_INCS += $(VBoxRes_0_OUTDIR)
+VBoxRes.rc_DEPS += $(VBoxRes_0_OUTDIR)/VBoxRes-icons.rc
+
+# The resource path.
+VBOX_ARTWORK_PATH_WIN := $(subst /,\\,$(PATH_ROOT))/src/VBox/Artwork/win
+
+# Icon include file.
+# @todo Put this into Config.kmk?
+ifdef VBOX_OSE
+ # Hack: rc.exe on OSE build boxes don't support Vista icons; so
+ # use a special icon version (without the 256x256 size) instead.
+ VBOX_WINDOWS_ICON_EXT_VBOX := $(VBOX_ARTWORK_PATH_WIN)/OSE/virtualbox-vbox.ico
+ VBOX_WINDOWS_ICON_EXT_EXTPACK := $(VBOX_ARTWORK_PATH_WIN)/OSE/virtualbox-vbox-extpack.ico
+ VBOX_WINDOWS_ICON_EXT_OVA := $(VBOX_ARTWORK_PATH_WIN)/OSE/virtualbox-ova.ico
+ VBOX_WINDOWS_ICON_EXT_OVF := $(VBOX_ARTWORK_PATH_WIN)/OSE/virtualbox-ovf.ico
+ VBOX_WINDOWS_ICON_EXT_VDI := $(VBOX_ARTWORK_PATH_WIN)/virtualbox-vdi.ico
+ VBOX_WINDOWS_ICON_EXT_VMDK := $(VBOX_ARTWORK_PATH_WIN)/virtualbox-vmdk.ico
+ VBOX_WINDOWS_ICON_EXT_VHD := $(VBOX_ARTWORK_PATH_WIN)/virtualbox-vhd.ico
+ VBOX_WINDOWS_ICON_EXT_HDD := $(VBOX_ARTWORK_PATH_WIN)/virtualbox-hdd.ico
+else
+ VBOX_WINDOWS_ICON_EXT_VBOX := $(VBOX_ARTWORK_PATH_WIN)/NonOSE/virtualbox-vbox.ico
+ VBOX_WINDOWS_ICON_EXT_EXTPACK := $(VBOX_ARTWORK_PATH_WIN)/NonOSE/virtualbox-vbox-extpack.ico
+ VBOX_WINDOWS_ICON_EXT_OVA := $(VBOX_ARTWORK_PATH_WIN)/NonOSE/virtualbox-ova.ico
+ VBOX_WINDOWS_ICON_EXT_OVF := $(VBOX_ARTWORK_PATH_WIN)/NonOSE/virtualbox-ovf.ico
+ VBOX_WINDOWS_ICON_EXT_VDI := $(VBOX_ARTWORK_PATH_WIN)/virtualbox-vdi.ico
+ VBOX_WINDOWS_ICON_EXT_VMDK := $(VBOX_ARTWORK_PATH_WIN)/virtualbox-vmdk.ico
+ VBOX_WINDOWS_ICON_EXT_VHD := $(VBOX_ARTWORK_PATH_WIN)/virtualbox-vhd.ico
+ VBOX_WINDOWS_ICON_EXT_HDD := $(VBOX_ARTWORK_PATH_WIN)/virtualbox-hdd.ico
+endif
+
+VBOX_RESOURCES_WIN := \
+ $(VBOX_WINDOWS_ICON_FILE) \
+ $(VBOX_WINDOWS_ICON_EXT_VBOX) \
+ $(VBOX_WINDOWS_ICON_EXT_EXTPACK) \
+ $(VBOX_WINDOWS_ICON_EXT_OVA) \
+ $(VBOX_WINDOWS_ICON_EXT_OVF) \
+ $(VBOX_WINDOWS_ICON_EXT_VDI) \
+ $(VBOX_WINDOWS_ICON_EXT_VMDK) \
+ $(VBOX_WINDOWS_ICON_EXT_VHD) \
+ $(VBOX_WINDOWS_ICON_EXT_HDD)
+
+$$(VBoxRes_0_OUTDIR)/VBoxRes-icons.rc: \
+ $$(VBOX_RESOURCES_WIN) $(MAKEFILE_CURRENT) | $$(dir $$@)
+ $(RM) -f $@
+ $(APPEND) $@ 'IDI_VIRTUALBOX ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_FILE))"'
+ $(APPEND) $@ 'IDI_FILETYPE_VBOX ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_EXT_VBOX))"'
+ $(APPEND) $@ 'IDI_FILETYPE_VBOX_EXTPACK ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_EXT_EXTPACK))"'
+ $(APPEND) $@ 'IDI_FILETYPE_VBOX_OVA ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_EXT_OVA))"'
+ $(APPEND) $@ 'IDI_FILETYPE_VBOX_OVF ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_EXT_OVF))"'
+ $(APPEND) $@ 'IDI_FILETYPE_VBOX_VDI ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_EXT_VDI))"'
+ $(APPEND) $@ 'IDI_FILETYPE_VBOX_VMDK ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_EXT_VMDK))"'
+ $(APPEND) $@ 'IDI_FILETYPE_VBOX_VHD ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_EXT_VHD))"'
+ $(APPEND) $@ 'IDI_FILETYPE_VBOX_HDD ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_EXT_HDD))"'
+
+include $(FILE_KBUILD_SUB_FOOTER)
diff --git a/src/VBox/Installer/win/Resources/VBoxRes.rc b/src/VBox/Installer/win/Resources/VBoxRes.rc
new file mode 100644
index 00000000..d580389f
--- /dev/null
+++ b/src/VBox/Installer/win/Resources/VBoxRes.rc
@@ -0,0 +1,64 @@
+/* $Id: VBoxRes.rc $ */
+/** @file
+ * VBoxRes - Resource file for VirtualBox binaries.
+ */
+
+/*
+ * Copyright (C) 2010-2023 Oracle and/or its affiliates.
+ *
+ * This file is part of VirtualBox base platform packages, as
+ * available from https://www.virtualbox.org.
+ *
+ * This program 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, in version 3 of the
+ * License.
+ *
+ * This program 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 this program; if not, see <https://www.gnu.org/licenses>.
+ *
+ * SPDX-License-Identifier: GPL-3.0-only
+ */
+
+#include <windows.h>
+#include <VBox/version.h>
+#include "resource.h"
+
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION VBOX_RC_FILE_VERSION
+ PRODUCTVERSION VBOX_RC_FILE_VERSION
+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+ FILEFLAGS VBOX_RC_FILE_FLAGS
+ FILEOS VBOX_RC_FILE_OS
+ FILETYPE VBOX_RC_TYPE_DLL
+ FILESUBTYPE VFT2_UNKNOWN
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "FileDescription", "VirtualBox Resources\0"
+ VALUE "InternalName", "VBoxRes\0"
+ VALUE "OriginalFilename", "VBoxRes.dll\0"
+ VALUE "CompanyName", VBOX_RC_COMPANY_NAME
+ VALUE "FileVersion", VBOX_RC_FILE_VERSION_STR
+ VALUE "LegalCopyright", VBOX_RC_LEGAL_COPYRIGHT
+ VALUE "ProductName", VBOX_RC_PRODUCT_NAME_STR
+ VALUE "ProductVersion", VBOX_RC_PRODUCT_VERSION_STR
+ VBOX_RC_MORE_STRINGS
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+#include "VBoxRes-icons.rc"
diff --git a/src/VBox/Installer/win/Resources/dummy.cpp b/src/VBox/Installer/win/Resources/dummy.cpp
new file mode 100644
index 00000000..a3fe3320
--- /dev/null
+++ b/src/VBox/Installer/win/Resources/dummy.cpp
@@ -0,0 +1,36 @@
+/* $Id: dummy.cpp $ */
+/** @file
+ * dummy.cpp - file to make kBuild happy when building a resource only DLL.
+ */
+
+/*
+ * Copyright (C) 2011-2023 Oracle and/or its affiliates.
+ *
+ * This file is part of VirtualBox base platform packages, as
+ * available from https://www.virtualbox.org.
+ *
+ * This program 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, in version 3 of the
+ * License.
+ *
+ * This program 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 this program; if not, see <https://www.gnu.org/licenses>.
+ *
+ * SPDX-License-Identifier: GPL-3.0-only
+ */
+
+#include <iprt/cdefs.h>
+
+RT_C_DECLS_BEGIN
+
+DECLEXPORT(void) VBoxResDummy(void)
+{
+}
+
+RT_C_DECLS_END
diff --git a/src/VBox/Installer/win/Resources/resource.h b/src/VBox/Installer/win/Resources/resource.h
new file mode 100644
index 00000000..7c3d8d85
--- /dev/null
+++ b/src/VBox/Installer/win/Resources/resource.h
@@ -0,0 +1,46 @@
+/* $Id: resource.h $ */
+/** @file
+ * resource.h - resource header file.
+ */
+
+/*
+ * Copyright (C) 2010-2023 Oracle and/or its affiliates.
+ *
+ * This file is part of VirtualBox base platform packages, as
+ * available from https://www.virtualbox.org.
+ *
+ * This program 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, in version 3 of the
+ * License.
+ *
+ * This program 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 this program; if not, see <https://www.gnu.org/licenses>.
+ *
+ * SPDX-License-Identifier: GPL-3.0-only
+ */
+
+#ifndef VBOX_INCLUDED_SRC_Resources_resource_h
+#define VBOX_INCLUDED_SRC_Resources_resource_h
+#ifndef RT_WITHOUT_PRAGMA_ONCE
+# pragma once
+#endif
+
+#define IDI_VIRTUALBOX 101
+
+#define IDI_FILETYPE_VBOX 201
+#define IDI_FILETYPE_VBOX_EXTPACK 202
+
+#define IDI_FILETYPE_VBOX_OVF 301
+#define IDI_FILETYPE_VBOX_OVA 302
+#define IDI_FILETYPE_VBOX_VDI 303
+#define IDI_FILETYPE_VBOX_VMDK 304
+#define IDI_FILETYPE_VBOX_VHD 305
+#define IDI_FILETYPE_VBOX_HDD 306
+
+#endif /* !VBOX_INCLUDED_SRC_Resources_resource_h */