summaryrefslogtreecommitdiffstats
path: root/src/libs/Makefile.kmk
blob: 53aa56abdc1a92a4f0140648d15b13a7ac9b31cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# $Id: Makefile.kmk $
## @file
# Top-level makefile for the external libraries.
#

#
# Copyright (C) 2006-2019 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License (GPL) as published by the Free Software
# Foundation, in version 2 as it comes in the "COPYING" file of the
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
#

SUB_DEPTH = ../..
include $(KBUILD_PATH)/subheader.kmk

#
# Note! A number of the libs may be detected on the host system by the configure script.
#       The usual way for testing for this is to see whether the Config.kmk default
#       include path specific to the lib has been changed.
#

# Compression libs used by IPRT and <what was it again?>.
include $(PATH_SUB_CURRENT)/liblzf-3.4/Makefile.kmk
if  !defined(VBOX_ONLY_SDK) \
 && "$(SDK_VBOX_ZLIB_INCS)" == "$(PATH_ROOT)/src/libs/zlib-1.2.11"
 include $(PATH_SUB_CURRENT)/zlib-1.2.11/Makefile.kmk
endif

# PNG support (for screenshots).
if  !defined(VBOX_ONLY_ADDITIONS) \
 && !defined(VBOX_ONLY_DOCS) \
 && !defined(VBOX_ONLY_SDK) \
 && !defined(VBOX_ONLY_VALIDATIONKIT) \
 && "$(SDK_VBOX_LIBPNG_INCS)" == "$(PATH_ROOT)/src/libs/libpng-1.6.36"
 include $(PATH_SUB_CURRENT)/libpng-1.6.36/Makefile.kmk
endif # !VBOX_ONLY_DOCS

# Libcurl for inet access
if  defined(VBOX_WITH_LIBCURL) \
 && !defined(VBOX_ONLY_ADDITIONS) \
 && !defined(VBOX_ONLY_EXTPACKS_USE_IMPLIBS) \
 && !defined(VBOX_ONLY_SDK) \
 && !defined(VBOX_ONLY_VALIDATIONKIT) \
 && "$(SDK_VBOX_LIBCURL_INCS)" == "$(PATH_ROOT)/src/libs/curl-7.62.0/include"
 include $(PATH_SUB_CURRENT)/curl-7.62.0/Makefile.kmk
endif

# OpenSSL.
if  !defined(VBOX_ONLY_SDK) \
 && (!defined(VBOX_ONLY_ADDITIONS) || !defined(VBOX_ONLY_ADDITIONS_WITHOUT_RTISOMAKER)) \
 && (!defined(VBOX_ONLY_EXTPACKS) || defined(VBOX_NEED_EXTPACK_OPENSSL) || !defined(VBOX_ONLY_EXTPACKS_USE_IMPLIBS)) \
 && ("$(SDK_VBOX_OPENSSL_INCS)" == "$(SDK_VBOX_OPENSSL_VBOX_DEFAULT_INCS)" || defined(VBOX_NEED_EXTPACK_OPENSSL))
 include $(PATH_SUB_CURRENT)/openssl-1.1.0j/Makefile.kmk
endif

# libjpeg for VRDP video redirection and ExtPack's DrvHostWebcam
if   (defined(VBOX_WITH_VRDP) || defined(VBOX_WITH_EXTPACK_PUEL)) \
 && !defined(VBOX_ONLY_ADDITIONS)
 include $(PATH_SUB_CURRENT)/jpeg-9b/Makefile.kmk
endif

# Main related things - XPCOM and XSLT.
if defined(VBOX_WITH_MAIN) \
 && !defined(VBOX_ONLY_ADDITIONS) \
 && !defined(VBOX_ONLY_VALIDATIONKIT)

 if defined(VBOX_WITH_XPCOM) && !defined(VBOX_ONLY_DOCS)
  include $(PATH_SUB_CURRENT)/xpcom18a4/Makefile.kmk
 endif

 # VPX for video capture.
 if defined(VBOX_WITH_LIBVPX) && !defined(VBOX_ONLY_DOCS) && !defined(VBOX_WITH_SDK) && !defined(VBOX_ONLY_EXTPACKS) \
   && ("$(SDK_VBOX_VPX_INCS)" == "$(SDK_VBOX_VPX_DEFAULT_INCS)")
  include $(PATH_SUB_CURRENT)/libvpx-1.6.1/Makefile.kmk
 endif

 # Opus for supporting audio when doing video capturing.
 if defined(VBOX_WITH_LIBOPUS) && !defined(VBOX_ONLY_DOCS) && !defined(VBOX_WITH_SDK) && !defined(VBOX_ONLY_EXTPACKS) \
   && ("$(SDK_VBOX_OPUS_INCS)" == "$(SDK_VBOX_OPUS_DEFAULT_INCS)")
  include $(PATH_SUB_CURRENT)/libopus-1.2.1/Makefile.kmk
 endif

endif

if  !defined(VBOX_ONLY_EXTPACKS_USE_IMPLIBS) \
 && !defined(VBOX_ONLY_ADDITIONS)
 ifeq ($(SDK_VBOX_LIBXML2_INCS),$(PATH_ROOT)/src/libs/libxml2-2.9.4/include)
  include $(PATH_SUB_CURRENT)/libxml2-2.9.4/Makefile.kmk
 endif
endif

include $(FILE_KBUILD_SUB_FOOTER)