1 | # $Id: include-workspace-projects.sh 95313 2022-06-20 17:18:18Z vboxsync $
|
---|
2 | ## @file
|
---|
3 | # Include file for generating the workspace projects, called by the gen-XXX-workspace.sh generators.
|
---|
4 | #
|
---|
5 |
|
---|
6 | #
|
---|
7 | # Copyright (C) 2022 Oracle Corporation
|
---|
8 | #
|
---|
9 | # This file is part of VirtualBox Open Source Edition (OSE), as
|
---|
10 | # available from http://www.virtualbox.org. This file is free software;
|
---|
11 | # you can redistribute it and/or modify it under the terms of the GNU
|
---|
12 | # General Public License (GPL) as published by the Free Software
|
---|
13 | # Foundation, in version 2 as it comes in the "COPYING" file of the
|
---|
14 | # VirtualBox OSE distribution. VirtualBox OSE is distributed in the
|
---|
15 | # hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
|
---|
16 | #
|
---|
17 |
|
---|
18 | #
|
---|
19 | # Generate the projects and workspace.
|
---|
20 | #
|
---|
21 | # Note! The configs aren't optimal yet, lots of adjustment wrt headers left to be done.
|
---|
22 | #
|
---|
23 |
|
---|
24 | # src/VBox/Runtime
|
---|
25 | my_generate_project "IPRT" "src/VBox/Runtime" --begin-incs "include" "src/VBox/Runtime/include" --end-includes "include/iprt" "src/VBox/Runtime"
|
---|
26 |
|
---|
27 | # src/VBox/VMM
|
---|
28 | my_generate_project "VMM" "src/VBox/VMM" --begin-incs "include" "src/VBox/VMM" --end-includes "src/VBox/VMM" \
|
---|
29 | "include/VBox/vmm/cfgm.h" \
|
---|
30 | "include/VBox/vmm/cpum.*" \
|
---|
31 | "include/VBox/vmm/dbgf.h" \
|
---|
32 | "include/VBox/vmm/em.h" \
|
---|
33 | "include/VBox/vmm/gim.h" \
|
---|
34 | "include/VBox/vmm/apic.h" \
|
---|
35 | "include/VBox/vmm/gmm.*" \
|
---|
36 | "include/VBox/vmm/gvm.*" \
|
---|
37 | "include/VBox/vmm/hm*.*" \
|
---|
38 | "include/VBox/vmm/iom.h" \
|
---|
39 | "include/VBox/vmm/mm.h" \
|
---|
40 | "include/VBox/vmm/patm.*" \
|
---|
41 | "include/VBox/vmm/pdm*.h" \
|
---|
42 | "include/VBox/vmm/pgm.*" \
|
---|
43 | "include/VBox/vmm/selm.*" \
|
---|
44 | "include/VBox/vmm/ssm.h" \
|
---|
45 | "include/VBox/vmm/stam.*" \
|
---|
46 | "include/VBox/vmm/tm.h" \
|
---|
47 | "include/VBox/vmm/trpm.*" \
|
---|
48 | "include/VBox/vmm/vm.*" \
|
---|
49 | "include/VBox/vmm/vmm.*"
|
---|
50 |
|
---|
51 | # src/VBox/Additions
|
---|
52 | my_generate_project "Add-darwin" "src/VBox/Additions/darwin" --begin-incs "include" "src/VBox/Additions/darwin" --end-includes "src/VBox/Additions/darwin"
|
---|
53 | my_generate_project "Add-freebsd" "src/VBox/Additions/freebsd" --begin-incs "include" "src/VBox/Additions/freebsd" --end-includes "src/VBox/Additions/freebsd"
|
---|
54 | my_generate_project "Add-haiku" "src/VBox/Additions/haiku" --begin-incs "include" "src/VBox/Additions/haiku" --end-includes "src/VBox/Additions/haiku"
|
---|
55 | my_generate_project "Add-linux" "src/VBox/Additions/linux" --begin-incs "include" "src/VBox/Additions/linux" --end-includes "src/VBox/Additions/linux"
|
---|
56 | my_generate_project "Add-os2" "src/VBox/Additions/os2" --begin-incs "include" "src/VBox/Additions/os2" --end-includes "src/VBox/Additions/os2"
|
---|
57 | my_generate_project "Add-solaris" "src/VBox/Additions/solaris" --begin-incs "include" "src/VBox/Additions/solaris" --end-includes "src/VBox/Additions/solaris"
|
---|
58 | my_generate_project "Add-win" "src/VBox/Additions/WINNT" --begin-incs "include" "src/VBox/Additions/WINNT" --end-includes "src/VBox/Additions/WINNT"
|
---|
59 | if test -z "$MY_OPT_MINIMAL"; then
|
---|
60 | my_generate_project "Add-x11" "src/VBox/Additions/x11" --begin-incs "include" "src/VBox/Additions/x11" --end-includes "src/VBox/Additions/x11"
|
---|
61 | fi
|
---|
62 | my_generate_project "Add-Control" "src/VBox/Additions/common/VBoxControl" --begin-incs "include" "src/VBox/Additions/common/VBoxControl" --end-includes "src/VBox/Additions/common/VBoxControl"
|
---|
63 | my_generate_project "Add-GuestDrv" "src/VBox/Additions/common/VBoxGuest" --begin-incs "include" "src/VBox/Additions/common/VBoxGuest" --end-includes "src/VBox/Additions/common/VBoxGuest" "include/VBox/VBoxGuest*.*"
|
---|
64 | my_generate_project "Add-Lib" "src/VBox/Additions/common/VBoxGuest/lib" --begin-incs "include" "src/VBox/Additions/common/VBoxGuest/lib" --end-includes "src/VBox/Additions/common/VBoxGuest/lib" "include/VBox/VBoxGuest/lib/*.*"
|
---|
65 | my_generate_project "Add-Service" "src/VBox/Additions/common/VBoxService" --begin-incs "include" "src/VBox/Additions/common/VBoxService" --end-includes "src/VBox/Additions/common/VBoxService"
|
---|
66 | my_generate_project "Add-VBoxVideo" "src/VBox/Additions/common/VBoxVideo" --begin-incs "include" "src/VBox/Additions/common/VBoxVideo" --end-includes "src/VBox/Additions/common/VBoxVideo"
|
---|
67 | if test -z "$MY_OPT_MINIMAL"; then
|
---|
68 | my_generate_project "Add-pam" "src/VBox/Additions/common/pam" --begin-incs "include" "src/VBox/Additions/common/pam" --end-includes "src/VBox/Additions/common/pam"
|
---|
69 | my_generate_project "Add-cmn-test" "src/VBox/Additions/common/testcase" --begin-incs "include" "src/VBox/Additions/common/testcase" --end-includes "src/VBox/Additions/common/testcase"
|
---|
70 | my_generate_project "Add-CredProv" "src/VBox/Additions/WINNT/VBoxCredProv" --begin-incs "include" "src/VBox/Additions/WINNT/VBoxCredProv" --end-includes "src/VBox/Additions/WINNT/VBoxCredProv"
|
---|
71 | my_generate_project "Add-GINA" "src/VBox/Additions/WINNT/VBoxGINA" --begin-incs "include" "src/VBox/Additions/WINNT/VBoxGINA" --end-includes "src/VBox/Additions/WINNT/VBoxGINA"
|
---|
72 | fi
|
---|
73 |
|
---|
74 | # src/VBox/Debugger
|
---|
75 | my_generate_project "Debugger" "src/VBox/Debugger" --begin-incs "include" "src/VBox/Debugger" --end-includes "src/VBox/Debugger" "include/VBox/dbggui.h" "include/VBox/dbg.h"
|
---|
76 |
|
---|
77 | # src/VBox/Devices
|
---|
78 | my_generate_project "Devices" "src/VBox/Devices" --begin-incs "include" "src/VBox/Devices" --end-includes "src/VBox/Devices" "include/VBox/pci.h" "include/VBox/pdm*.h"
|
---|
79 | ## @todo split this up.
|
---|
80 |
|
---|
81 | # src/VBox/Disassembler
|
---|
82 | my_generate_project "DIS" "src/VBox/Disassembler" --begin-incs "include" "src/VBox/Disassembler" --end-includes "src/VBox/Disassembler" "include/VBox/dis*.h"
|
---|
83 |
|
---|
84 | # src/VBox/Frontends
|
---|
85 | if test -z "$MY_OPT_MINIMAL"; then
|
---|
86 | my_generate_project "FE-VBoxAutostart" "src/VBox/Frontends/VBoxAutostart" --begin-incs "include" "src/VBox/Frontends/VBoxAutostart" --end-includes "src/VBox/Frontends/VBoxAutostart"
|
---|
87 | my_generate_project "FE-VBoxBugReport" "src/VBox/Frontends/VBoxBugReport" --begin-incs "include" "src/VBox/Frontends/VBoxBugReport" --end-includes "src/VBox/Frontends/VBoxBugReport"
|
---|
88 | my_generate_project "FE-VBoxBalloonCtrl" "src/VBox/Frontends/VBoxBalloonCtrl" --begin-incs "include" "src/VBox/Frontends/VBoxBalloonCtrl" --end-includes "src/VBox/Frontends/VBoxBalloonCtrl"
|
---|
89 | fi
|
---|
90 | my_generate_project "FE-VBoxManage" "src/VBox/Frontends/VBoxManage" --begin-incs "include" "src/VBox/Frontends/VBoxManage" --end-includes "src/VBox/Frontends/VBoxManage"
|
---|
91 | my_generate_project "FE-VBoxHeadless" "src/VBox/Frontends/VBoxHeadless" --begin-incs "include" "src/VBox/Frontends/VBoxHeadless" --end-includes "src/VBox/Frontends/VBoxHeadless"
|
---|
92 | my_generate_project "FE-VBoxSDL" "src/VBox/Frontends/VBoxSDL" --begin-incs "include" "src/VBox/Frontends/VBoxSDL" --end-includes "src/VBox/Frontends/VBoxSDL"
|
---|
93 | my_generate_project "FE-VBoxShell" "src/VBox/Frontends/VBoxShell" --begin-incs "include" "src/VBox/Frontends/VBoxShell" --end-includes "src/VBox/Frontends/VBoxShell"
|
---|
94 | # noise - my_generate_project "FE-VBoxBFE" "src/VBox/Frontends/VBoxBFE" --begin-incs "include" "src/VBox/Frontends/VBoxBFE" --end-includes "src/VBox/Frontends/VBoxBFE"
|
---|
95 | FE_VBOX_WRAPPERS=""
|
---|
96 | for d in ${MY_OUT_DIRS};
|
---|
97 | do
|
---|
98 | if test -d "${MY_ROOT_DIR}/${d}/obj/VirtualBox/include"; then
|
---|
99 | FE_VBOX_WRAPPERS="${d}/obj/VirtualBox/include"
|
---|
100 | break
|
---|
101 | fi
|
---|
102 | done
|
---|
103 | if test -n "${FE_VBOX_WRAPPERS}"; then
|
---|
104 | my_generate_project "FE-VirtualBox" "src/VBox/Frontends/VirtualBox" --begin-incs "include" "${FE_VBOX_WRAPPERS}" --end-includes "src/VBox/Frontends/VirtualBox" "${FE_VBOX_WRAPPERS}/COMWrappers.cpp" "${FE_VBOX_WRAPPERS}/COMWrappers.h"
|
---|
105 | else
|
---|
106 | my_generate_project "FE-VirtualBox" "src/VBox/Frontends/VirtualBox" --begin-incs "include" --end-includes "src/VBox/Frontends/VirtualBox"
|
---|
107 | fi
|
---|
108 |
|
---|
109 | # src/VBox/GuestHost
|
---|
110 | my_generate_project "HGSMI-GH" "src/VBox/GuestHost/HGSMI" --begin-incs "include" --end-includes "src/VBox/GuestHost/HGSMI"
|
---|
111 | if test -z "$MY_OPT_MINIMAL"; then
|
---|
112 | my_generate_project "DnD-GH" "src/VBox/GuestHost/DragAndDrop" --begin-incs "include" --end-includes "src/VBox/GuestHost/DragAndDrop"
|
---|
113 | fi
|
---|
114 | my_generate_project "ShClip-GH" "src/VBox/GuestHost/SharedClipboard" --begin-incs "include" --end-includes "src/VBox/GuestHost/SharedClipboard"
|
---|
115 |
|
---|
116 | # src/VBox/HostDrivers
|
---|
117 | my_generate_project "SUP" "src/VBox/HostDrivers/Support" --begin-incs "include" "src/VBox/HostDrivers/Support" --end-includes "src/VBox/HostDrivers/Support" "include/VBox/sup.h" "include/VBox/sup.mac"
|
---|
118 | my_generate_project "VBoxNetAdp" "src/VBox/HostDrivers/VBoxNetAdp" --begin-incs "include" "src/VBox/HostDrivers/VBoxNetAdp" --end-includes "src/VBox/HostDrivers/VBoxNetAdp" "include/VBox/intnet.h"
|
---|
119 | my_generate_project "VBoxNetFlt" "src/VBox/HostDrivers/VBoxNetFlt" --begin-incs "include" "src/VBox/HostDrivers/VBoxNetFlt" --end-includes "src/VBox/HostDrivers/VBoxNetFlt" "include/VBox/intnet.h"
|
---|
120 | my_generate_project "VBoxUSB" "src/VBox/HostDrivers/VBoxUSB" --begin-incs "include" "src/VBox/HostDrivers/VBoxUSB" --end-includes "src/VBox/HostDrivers/VBoxUSB" "include/VBox/usblib*.h" "include/VBox/usbfilter.h"
|
---|
121 | my_generate_project "AdpCtl" "src/VBox/HostDrivers/adpctl" --begin-incs "include" --end-includes "src/VBox/HostDrivers/adpctl"
|
---|
122 |
|
---|
123 | # src/VBox/HostServices
|
---|
124 | my_generate_project "GuestCntl" "src/VBox/HostServices/GuestControl" --begin-incs "include" "src/VBox/HostServices/GuestControl" --end-includes "src/VBox/HostServices/GuestControl"
|
---|
125 | my_generate_project "DragAndDrop" "src/VBox/HostServices/DragAndDrop" --begin-incs "include" "src/VBox/HostServices/DragAndDrop" --end-includes "src/VBox/HostServices/DragAndDrop"
|
---|
126 | my_generate_project "GuestProps" "src/VBox/HostServices/GuestProperties" --begin-incs "include" "src/VBox/HostServices/GuestProperties" --end-includes "src/VBox/HostServices/GuestProperties"
|
---|
127 | my_generate_project "ShClip-HS" "src/VBox/HostServices/SharedClipboard" --begin-incs "include" "src/VBox/HostServices/SharedClipboard" --end-includes "src/VBox/HostServices/SharedClipboard"
|
---|
128 | my_generate_project "SharedFolders" "src/VBox/HostServices/SharedFolders" --begin-incs "include" "src/VBox/HostServices/SharedFolders" --end-includes "src/VBox/HostServices/SharedFolders" "include/VBox/shflsvc.h"
|
---|
129 |
|
---|
130 | # src/VBox/ImageMounter
|
---|
131 | my_generate_project "ImageMounter" "src/VBox/ImageMounter" --begin-incs "include" "src/VBox/ImageMounter" --end-includes "src/VBox/ImageMounter"
|
---|
132 |
|
---|
133 | # src/VBox/Installer
|
---|
134 | my_generate_project "Installers" "src/VBox/Installer" --begin-incs "include" --end-includes "src/VBox/Installer"
|
---|
135 |
|
---|
136 | # src/VBox/Main
|
---|
137 | my_generate_project "Main" "src/VBox/Main" --begin-incs "include" "src/VBox/Main/include" --end-includes "src/VBox/Main" "include/VBox/com" "include/VBox/settings.h"
|
---|
138 | ## @todo seperate webservices and Main. pick the right headers. added generated headers.
|
---|
139 |
|
---|
140 | # src/VBox/Network
|
---|
141 | my_generate_project "Net-DHCP" "src/VBox/NetworkServices/Dhcpd" --begin-incs "include" "src/VBox/NetworkServices/NetLib" --end-includes "src/VBox/NetworkServices/Dhcpd"
|
---|
142 | my_generate_project "Net-NAT" "src/VBox/NetworkServices/NAT" --begin-incs "include" "src/VBox/NetworkServices/NAT" --end-includes "src/VBox/NetworkServices/NAT" "src/VBox/Devices/Network/slirp"
|
---|
143 | my_generate_project "Net-NetLib" "src/VBox/NetworkServices/NetLib" --begin-incs "include" "src/VBox/NetworkServices/NetLib" --end-includes "src/VBox/NetworkServices/NetLib"
|
---|
144 |
|
---|
145 | # src/VBox/RDP
|
---|
146 | my_generate_project "RDP-Client" "src/VBox/RDP/client-1.8.4" --begin-incs "include" "src/VBox/RDP/client-1.8.4" --end-includes "src/VBox/RDP/client-1.8.4"
|
---|
147 | my_generate_project "RDP-Server" "src/VBox/RDP/server" --begin-incs "include" "src/VBox/RDP/server" --end-includes "src/VBox/RDP/server"
|
---|
148 | my_generate_project "RDP-WebClient" "src/VBox/RDP/webclient" --begin-incs "include" "src/VBox/RDP/webclient" --end-includes "src/VBox/RDP/webclient"
|
---|
149 | my_generate_project "RDP-Misc" "src/VBox/RDP" --begin-incs "include" --end-includes "src/VBox/RDP/auth" "src/VBox/RDP/tscpasswd" "src/VBox/RDP/x11server"
|
---|
150 |
|
---|
151 | # src/VBox/Storage
|
---|
152 | my_generate_project "Storage" "src/VBox/Storage" --begin-incs "include" "src/VBox/Storage" --end-includes "src/VBox/Storage"
|
---|
153 |
|
---|
154 | # src/VBox/ValidationKit
|
---|
155 | my_generate_project "ValidationKit" "src/VBox/ValidationKit" --begin-incs "include" --end-includes "src/VBox/ValidationKit"
|
---|
156 |
|
---|
157 | # src/VBox/ExtPacks
|
---|
158 | my_generate_project "ExtPacks" "src/VBox/ExtPacks" --begin-incs "include" --end-includes "src/VBox/ExtPacks"
|
---|
159 |
|
---|
160 | # src/bldprogs
|
---|
161 | my_generate_project "bldprogs" "src/bldprogs" --begin-incs "include" --end-includes "src/bldprogs"
|
---|
162 |
|
---|
163 | # A few things from src/lib
|
---|
164 | lib=$(my_get_newest_ver src/libs/zlib)
|
---|
165 | my_generate_project "zlib" "${lib}" --begin-incs "include" --end-includes "${lib}/*.c" "${lib}/*.h"
|
---|
166 | lib=$(my_get_newest_ver src/libs/liblzf)
|
---|
167 | my_generate_project "liblzf" "${lib}" --begin-incs "include" --end-includes "${lib}"
|
---|
168 | lib=$(my_get_newest_ver src/libs/libpng)
|
---|
169 | my_generate_project "libpng" "${lib}" --begin-incs "include" --end-includes "${lib}/*.c" "${lib}/*.h"
|
---|
170 | lib=$(my_get_newest_ver src/libs/openssl)
|
---|
171 | my_generate_project "openssl" "${lib}" --begin-incs "include" "${lib}/crypto" --end-includes "${lib}"
|
---|
172 | lib=$(my_get_newest_ver src/libs/curl)
|
---|
173 | my_generate_project "curl" "${lib}" --begin-incs "include" "${lib}/include" --end-includes "${lib}"
|
---|
174 | lib=$(my_get_newest_ver src/libs/softfloat)
|
---|
175 | my_generate_project "softfloat" "${lib}" --begin-incs "include" "${lib}/source/include" --end-includes "${lib}"
|
---|
176 |
|
---|
177 | # webtools
|
---|
178 | my_generate_project "webtools" "webtools" --begin-incs "include" "webtools/tinderbox/server/Tinderbox3" --end-includes "webtools"
|
---|
179 |
|
---|
180 | # include/VBox
|
---|
181 | my_generate_project "VBoxHeaders" "include" --begin-incs "include" --end-includes "include/VBox"
|
---|
182 |
|
---|
183 | # Misc
|
---|
184 | my_generate_project "misc" "." --begin-incs "include" --end-includes \
|
---|
185 | "configure" \
|
---|
186 | "configure.vbs" \
|
---|
187 | "Config.kmk" \
|
---|
188 | "Makefile.kmk" \
|
---|
189 | "src/Makefile.kmk" \
|
---|
190 | "src/VBox/Makefile.kmk" \
|
---|
191 | "tools/env.sh" \
|
---|
192 | "tools/env.cmd" \
|
---|
193 | "tools/envSub.vbs" \
|
---|
194 | "tools/envSub.cmd" \
|
---|
195 | "tools/win/vbscript"
|
---|
196 |
|
---|
197 |
|
---|
198 | # out/x.y/z/bin/sdk/bindings/xpcom
|
---|
199 | XPCOM_INCS="src/libs/xpcom18a4"
|
---|
200 | for d in \
|
---|
201 | "out/${KBUILD_TARGET}.${KBUILD_TARGET_ARCH}/${KBUILD_TYPE}/dist/sdk/bindings/xpcom" \
|
---|
202 | "out/${KBUILD_TARGET}.${KBUILD_TARGET_ARCH}/${KBUILD_TYPE}/bin/sdk/bindings/xpcom" \
|
---|
203 | "out/linux.amd64/debug/bin/sdk/bindings/xpcom" \
|
---|
204 | "out/linux.x86/debug/bin/sdk/bindings/xpcom" \
|
---|
205 | "out/darwin.amd64/debug/dist/sdk/bindings/xpcom" \
|
---|
206 | "out/darwin.x86/debug/bin/dist/bindings/xpcom" \
|
---|
207 | "out/haiku.amd64/debug/bin/sdk/bindings/xpcom" \
|
---|
208 | "out/haiku.x86/debug/bin/sdk/bindings/xpcom" \
|
---|
209 | "out/solaris.amd64/debug/bin/sdk/bindings/xpcom" \
|
---|
210 | "out/solaris.x86/debug/bin/sdk/bindings/xpcom";
|
---|
211 | do
|
---|
212 | if test -d "${MY_ROOT_DIR}/${d}"; then
|
---|
213 | my_generate_project "SDK-xpcom" "${d}" --begin-incs "include" "${d}/include" --end-includes "${d}"
|
---|
214 | XPCOM_INCS="${d}/include"
|
---|
215 | break
|
---|
216 | fi
|
---|
217 | done
|
---|
218 |
|
---|
219 | # lib/xpcom
|
---|
220 | my_generate_project "xpcom" "src/libs/xpcom18a4" --begin-incs "include" "${XPCOM_INCS}" --end-includes "src/libs/xpcom18a4"
|
---|