VirtualBox

source: vbox/trunk/src/libs/libxml2-2.13.2/Makefile.kmk@ 106061

Last change on this file since 106061 was 106061, checked in by vboxsync, 2 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.7 KB
Line 
1# $Id: Makefile.kmk 106061 2024-09-16 14:03:52Z vboxsync $
2## @file
3# Sub-Makefile for the libxml2 library.
4#
5
6#
7# Copyright (C) 2007-2024 Oracle and/or its affiliates.
8#
9# This file is part of VirtualBox base platform packages, as
10# available from https://www.virtualbox.org.
11#
12# This program is free software; you can redistribute it and/or
13# modify it under the terms of the GNU General Public License
14# as published by the Free Software Foundation, in version 3 of the
15# License.
16#
17# This program is distributed in the hope that it will be useful, but
18# WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20# General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, see <https://www.gnu.org/licenses>.
24#
25# SPDX-License-Identifier: GPL-3.0-only
26#
27
28SUB_DEPTH = ../../..
29include $(KBUILD_PATH)/subheader.kmk
30
31if !defined(VBOX_ONLY_VALIDATIONKIT) || defined(VBOX_WITH_VALIDATIONKIT_UNITTESTS_PACKING) # Needed for VBoxRT for Validation Kit unit tests.
32 LIBRARIES += VBox-libxml2
33endif
34VBox-libxml2_TEMPLATE = VBoxR3RuntimeDllNonPedantic
35VBox-libxml2_SDKS = VBoxZlib
36VBox-libxml2_DEFS = _REENTRANT # the latter triggers thread support, see xmlversion-default.h and win32xmlversion.h.
37VBox-libxml2_DEFS.win = WIN32 _WINDOWS _MBCS _CRT_SECURE_NO_DEPRECATE _CRT_NONSTDC_NO_DEPRECATE \
38 LIBXML_STATIC LIBXML_STATIC_FOR_DLL HAVE_WIN32_THREADS HAVE_COMPILER_TLS HAVE_ZLIB_H
39VBox-libxml2_CFLAGS.win.amd64 = -wd4267
40VBox-libxml2_CFLAGS.win += -wd4701 # potentially uninitialized local variable 'l' used
41VBox-libxml2_CFLAGS.win += -wd4232 # nonstandard extension used : 'xmlFree' : address of dllimport 'free' is not static, identity not guaranteed
42VBox-libxml2_CFLAGS.win += -wd4305 # 'type cast' : truncation from 'xmlChar *' to 'long'
43VBox-libxml2_CFLAGS.win += -wd4306 # 'type cast' : conversion from 'long' to 'void *' of greater size [TODO: check these out?]
44VBox-libxml2_CFLAGS.win += -wd4090 # 'function': different 'const' qualifiers
45VBox-libxml2_CFLAGS.win += -wd4047 # dwarning C4047: 'function': 'xmlMutexPtr' differs in levels of indirection from 'xmlMutexPtr *'
46VBox-libxml2_CFLAGS.win += -wd4024 # warning C4024: 'xmlMutexLock': different types for formal and actual parameter 1
47VBox-libxml2_CFLAGS.win += -wd4098 # warning C4098: 'xmlInitMemoryInternal': 'void' function returning a value
48VBox-libxml2_CFLAGS.win += -wd4703 # warning C4703: potentially uninitialized local pointer variable 'nsuri' used
49VBox-libxml2_CFLAGS.win += -wd4013 # warning C4013: 'sprintf' undefined; assuming extern returning int
50if "$(VBOX_VCC_TOOL_STEM)" >= "VCC120"
51 VBox-libxml2_CFLAGS.win += -wd4311 # parser.c(1346) : warning C4311: 'type cast' : pointer truncation from 'void *' to 'long'
52 VBox-libxml2_CFLAGS.win += -wd4312 # parser.c(1327) : warning C4312: 'type cast' : conversion from 'long' to 'void *' of greater size
53 VBox-libxml2_CFLAGS.win += -wd4005 # sdk\v7.1\include\sal_supp.h(57) : warning C4005: '__useHeader' : macro redefinition
54endif
55if "$(VBOX_VCC_TOOL_STEM)" >= "VCC140"
56 VBox-libxml2_CFLAGS.win += -wd4777 # timsort.h(326): warning C4777: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 1 has type 'unsigned int'
57 VBox-libxml2_CFLAGS.win += -wd4477 # timsort.h(326): warning C4477: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 1 has type 'size_t'
58 VBox-libxml2_CFLAGS.win += -wd4723 # xpath.c(505) : warning C4723: potential divide by 0
59endif
60ifn1of ($(KBUILD_TARGET), win)
61 VBox-libxml2_CFLAGS = -Wno-format-security -Wno-strict-prototypes -Wno-format-extra-args $(VBOX_GCC_Wno-tautological-pointer-compare)
62endif
63VBox-libxml2_INCS = include
64VBox-libxml2_SOURCES = \
65 buf.c \
66 chvalid.c \
67 dict.c \
68 encoding.c \
69 entities.c \
70 error.c \
71 globals.c \
72 hash.c \
73 list.c \
74 parser.c \
75 parserInternals.c \
76 pattern.c \
77 relaxng.c \
78 SAX2.c \
79 threads.c \
80 tree.c \
81 uri.c \
82 valid.c \
83 xmlIO.c \
84 xmlmemory.c \
85 xmlreader.c \
86 xmlsave.c \
87 xmlunicode.c \
88 xmlwriter.c \
89 xmlstring.c
90
91# For linking:
92# VBox-libxml2_LDFLAGS.win = /VERSION:$(LIBXML_MAJOR_VERSION).$(LIBXML_MINOR_VERSION)
93# VBox-libxml2_SDKS.win += WINPSDK
94
95ifdef VBOX_WITH_32_ON_64_MAIN_API # 32-bit edition.
96 LIBRARIES += VBox-libxml2-x86
97 VBox-libxml2-x86_TEMPLATE = VBoxR3RuntimeDllNonPedantic-x86
98 VBox-libxml2-x86_EXTENDS = VBox-libxml2
99endif
100
101LIBRARIES += VBox-libxml2-static
102VBox-libxml2-static_TEMPLATE = VBoxR3StaticNonPedantic
103VBox-libxml2-static_EXTENDS = VBox-libxml2
104ifdef VBOX_WITH_NOCRT_STATIC
105 VBox-libxml2-static_DEFS = $(VBox-libxml2_DEFS) IPRT_NO_CRT_FOR_3RD_PARTY
106endif
107
108include $(FILE_KBUILD_SUB_FOOTER)
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette