VirtualBox

source: vbox/trunk/src/libs/zlib-1.2.13/Makefile.kmk@ 107882

Last change on this file since 107882 was 107363, checked in by vboxsync, 8 weeks ago

libs/zlib/Makefile.kmk: nsis-zlib-dll isn't x86 specific, we'll need it for amd64 and arm64 as well if/when building NSIS for them. bugref:10761

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision
File size: 3.1 KB
Line 
1# $Id: Makefile.kmk 107363 2024-12-18 15:55:19Z vboxsync $
2## @file
3# Sub-Makefile for zlib.
4#
5
6#
7# Copyright (C) 2006-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
31LIBRARIES += VBox-zlib
32if1of ($(KBUILD_TARGET), os2 win)
33 # only required for vbox-img
34 LIBRARIES += VBox-zlib-static
35endif
36VBox-zlib_TEMPLATE = VBoxR3RuntimeDllNonPedanticFast
37VBox-zlib_DEFS = verbose=-1 NO_VIZ=1
38ifn1of ($(KBUILD_TARGET), win)
39 VBox-zlib_DEFS = Z_HAVE_UNISTD_H
40endif
41VBox-zlib_SOURCES = \
42 adler32.c \
43 compress.c \
44 crc32.c \
45 gzclose.c \
46 gzlib.c \
47 gzread.c \
48 gzwrite.c \
49 uncompr.c \
50 deflate.c \
51 trees.c \
52 zutil.c \
53 inflate.c \
54 infback.c \
55 inftrees.c \
56 inffast.c
57
58VBox-zlib-static_TEMPLATE = VBoxR3StaticNonPedantic
59VBox-zlib-static_DEFS = $(VBox-zlib_DEFS)
60ifdef VBOX_WITH_NOCRT_STATIC
61 VBox-zlib-static_DEFS += IPRT_NO_CRT_FOR_3RD_PARTY
62endif
63VBox-zlib-static_SOURCES = $(VBox-zlib_SOURCES)
64
65ifdef VBOX_WITH_32_ON_64_MAIN_API # 32-bit edition.
66 LIBRARIES += VBox-zlib-x86
67 VBox-zlib-x86_TEMPLATE = VBoxR3DllNonPedantic-x86
68 VBox-zlib-x86_EXTENDS = VBox-zlib
69endif
70
71# Builds a Windows DLL in a separate tree so that it can be found by the scons build system.
72# Required for building NSIS (Windows Guest Additions installer) from source.
73#
74# We always build the x86 version, regardless of the actual target, as NSIS is 32-bit only (even on amd64).
75if defined(VBOX_WITH_ADDITIONS) && !defined(VBOX_WITHOUT_ADDITIONS)
76 DLLS.win += nsis-zlib-dll
77 nsis-zlib-dll_EXTENDS := VBox-zlib
78 nsis-zlib-dll_NAME := zlib1
79 nsis-zlib-dll_TEMPLATE := VBoxR3DllNonPedantic
80 nsis-zlib-dll_INSTTYPE := none
81 nsis-zlib-dll_DEFS := ZLIB_DLL $(VBox-zlib_DEFS)
82 # Note! We need to build the NSIS variant of zlib without any modern x86 CPU instructions (SSE, ++) being used,
83 # to avoid breaking things on ancient Windows (guest) OSes.
84 nsis-zlib-dll_CFLAGS.win.x86 = /arch:IA32
85 nsis-zlib-dll_CXXFLAGS.win.x86 = /arch:IA32
86 nsis-zlib-dll_PCHFLAGS.win.x86 = /arch:IA32
87 nsis-zlib-dll_SOURCES.win := \
88 win32/zlib1.rc \
89 win32/zlib.def
90
91 INSTALLS.win += nsis-zlib-install
92 nsis-zlib-install_TEMPLATE := DUMMY
93 nsis-zlib-install_INSTTYPE := stage
94 nsis-zlib-install_INST := nsis-zlib/
95 nsis-zlib-install_MODE := a+r,u+w
96 nsis-zlib-install_SOURCES = \
97 $(nsis-zlib-dll_1_TARGET) \
98 $(basename $(nsis-zlib-dll_1_TARGET)).lib=>zdll.lib \
99 zconf.h \
100 zlib.h
101endif
102
103include $(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