VirtualBox

source: vbox/trunk/src/libs/openssl-3.0.3/providers/Makefile.kmk@ 95676

最後變更 在這個檔案從95676是 95676,由 vboxsync 提交於 3 年 前

/Config.kmk,openssl,RTSignTool: Build bldRTSignTool with signing capability on windows. bugref:8691

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 4.8 KB
 
1# $Id: Makefile.kmk 95676 2022-07-17 03:01:19Z vboxsync $
2## @file
3# Sub-Makefile for OpenSSL providers.
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.alldomusa.eu.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
18SUB_DEPTH = ../../../..
19include $(KBUILD_PATH)/subheader.kmk
20
21#
22# Include sub-makefiles.
23#
24# Note! For joining the sub libraries into a single lib, we do some trickery to
25# collect the sub-library names here.
26#
27VBOX_LIBRARIES_BEFORE_CRYPTO_PROVIDERS_SUBDIRS := $(LIBRARIES)
28
29include $(VBOX_PATH_CRYPTO_PROVIDERS)/common/Makefile.kmk
30include $(sort $(wildcard $(VBOX_PATH_CRYPTO_PROVIDERS)/implementations/*/Makefile.kmk))
31
32VBOX_CRYPTO_PROVIDERS_SUBLIBS := $(filter-out $(VBOX_LIBRARIES_BEFORE_CRYPTO_PROVIDERS_SUBDIRS), $(LIBRARIES))
33VBOX_CRYPTO_PROVIDERS_SUBLIBS_X86 := $(filter %-x86, $(VBOX_CRYPTO_PROVIDERS_SUBLIBS))
34VBOX_CRYPTO_PROVIDERS_SUBLIBS := $(filter-out %-x86, $(VBOX_CRYPTO_PROVIDERS_SUBLIBS))
35#if defined(VBOX_ONLY_EXTPACKS_USE_IMPLIBS)
36# $(eval LIBRARIES = $(VBOX_LIBRARIES_BEFORE_CRYPTO_SUBDIRS) crypto_sha)
37#else
38if "$(SDK_VBOX_OPENSSL_INCS)" != "$(SDK_VBOX_OPENSSL_VBOX_DEFAULT_INCS)"
39 $(eval LIBRARIES = $(VBOX_LIBRARIES_BEFORE_CRYPTO_SUBDIRS))
40endif
41VBOX_LIBRARIES_BEFORE_CRYPTO_PROVIDERS_SUBDIRS :=
42
43#
44# The main target: libproviders.
45#
46if "$(SDK_VBOX_OPENSSL_INCS)" == "$(SDK_VBOX_OPENSSL_VBOX_DEFAULT_INCS)"
47 LIBRARIES += VBox-libproviders
48endif
49VBox-libproviders_TEMPLATE = LIBCRYPTO
50VBox-libproviders_DEFS = OPENSSL_NO_DEPRECATED
51VBox-libproviders_SOURCES = \
52 baseprov.c \
53 defltprov.c \
54 legacyprov.c \
55 nullprov.c \
56 prov_running.c
57 VBox-libproviders_SOURCES += $(foreach sublib,$(VBOX_CRYPTO_PROVIDERS_SUBLIBS), $($(sublib)_1_TARGET))
58
59ifdef VBOX_WITH_32_ON_64_MAIN_API # 32-bit edition.
60 LIBRARIES += VBox-libproviders-x86
61 VBox-libproviders-x86_TEMPLATE = VBoxLibCrypto-x86
62 VBox-libproviders-x86_EXTENDS = VBox-libproviders
63 VBox-libproviders-x86_SOURCES = $(filter %.c %.cpp,$(VBox-libproviders_SOURCES)) \
64 $(foreach sublib,$(VBOX_CRYPTO_PROVIDERS_SUBLIBS_X86), $($(sublib)_1_TARGET))
65endif
66
67
68ifdef VBOX_NEED_EXTPACK_OPENSSL
69 #
70 # For the extension pack.
71 #
72 LIBRARIES += VBoxExtPack-libproviders
73 VBoxExtPack-libproviders_EXTENDS = VBox-libproviders
74 VBoxExtPack-libproviders_DEFS = VBOX_IN_EXTPACK
75endif
76
77
78ifdef VBOX_WITH_BLD_RTSIGNTOOL_SIGNING
79#
80# The build program libproviders version.
81#
82LIBRARIES += VBoxBldProg-libproviders
83VBoxBldProg-libproviders = For bldRTSignTool
84VBoxBldProg-libproviders_EXTENDS = VBox-libproviders
85VBoxBldProg-libproviders_TEMPLATE = VBoxLibCryptoBldProg
86VBoxBldProg-libproviders_SOURCES = \
87 $(filter %.c,$(VBox-libproviders_SOURCES)) \
88 $(foreach sublib,$(VBOX_CRYPTO_PROVIDERS_SUBLIBS), $(VBoxBldProg-$(sublib)_1_TARGET))
89
90define def_VBoxBldProg_libproviders_inherit
91 LIBRARIES += VBoxBldProg-$(sublib)
92 VBoxBldProg-$(sublib) = bldRTSignTool version of $(sublib)
93 VBoxBldProg-$(sublib)_EXTENDS = $(sublib)
94 VBoxBldProg-$(sublib)_EXTENDS_BY = appending
95 VBoxBldProg-$(sublib)_TEMPLATE = VBoxSubLibCryptoBldProg
96 VBoxBldProg-$(sublib)_DEFPATH = $($(sublib)_DEFPATH)
97 ## @todo kBuild: DEFPATH isn't inherited! FIXME!
98endef
99$(foreach sublib,$(VBOX_CRYPTO_PROVIDERS_SUBLIBS), $(eval $(def_VBoxBldProg_libproviders_inherit)))
100
101endif # VBOX_WITH_BLD_RTSIGNTOOL_SIGNING
102
103
104include $(FILE_KBUILD_SUB_FOOTER)
105
106#
107# Re-creates certain openssl headers which exist as templates.
108#
109OSSL_PROVIDERS_HDR_TEMPLATES := \
110 $(VBOX_PATH_CRYPTO_PROVIDERS)/common/include/prov/der_digests.h.in \
111 $(VBOX_PATH_CRYPTO_PROVIDERS)/common/include/prov/der_dsa.h.in \
112 $(VBOX_PATH_CRYPTO_PROVIDERS)/common/include/prov/der_ec.h.in \
113 $(VBOX_PATH_CRYPTO_PROVIDERS)/common/include/prov/der_ecx.h.in \
114 $(VBOX_PATH_CRYPTO_PROVIDERS)/common/include/prov/der_rsa.h.in \
115 $(VBOX_PATH_CRYPTO_PROVIDERS)/common/include/prov/der_sm2.h.in \
116 $(VBOX_PATH_CRYPTO_PROVIDERS)/common/include/prov/der_wrap.h.in
117
118#
119# Big fat @todo:
120# I'm too stupid atm to figure out how to get this executed sequentially
121# instead of getting it expanded and executed at once...
122#
123recreate-providers-headers: $(VBOX_PATH_OPENSSL)/util/dofile.pl \
124 $(OSSL_PROVIDERS_HDR_TEMPLATES) \
125 recreate-providers-der-sources
126 $(foreach header, $(OSSL_PROVIDERS_HDR_TEMPLATES), \
127 perl \
128 -I$(VBOX_PATH_OPENSSL) \
129 -I$(VBOX_PATH_OPENSSL)/util/perl \
130 -I$(VBOX_PATH_CRYPTO_PROVIDERS)/common/der \
131 -Mconfigdata -Moids_to_c $(VBOX_PATH_OPENSSL)/util/dofile.pl -oMakefile \
132 $(header) > $(VBOX_PATH_OPENSSL)/gen-includes/prov/$(basename $(notdir $(header)));))
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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