VirtualBox

source: vbox/trunk/src/libs/curl-7.64.0/Makefile.kmk@ 88557

Last change on this file since 88557 was 85671, checked in by vboxsync, 4 years ago

Export out internal curl copy to make it a lot simpler to build VBox (OSE) on Windows. bugref:9814

File size: 3.5 KB
Line 
1# $Id: Makefile.kmk 118412 2017-10-17 14:26:02Z bird $
2## @file
3# Sub-Makefile for the libcurl library.
4#
5
6#
7# Copyright (C) 2009-2017 Oracle Corporation
8#
9# Oracle Corporation confidential
10# All rights reserved
11#
12
13SUB_DEPTH = ../../..
14include $(KBUILD_PATH)/subheader.kmk
15
16VBOX_PATH_LIBCURL = $(PATH_ROOT)/src/libs/curl-7.64.0
17
18LIBRARIES += VBox-libcurl
19VBox-libcurl_TEMPLATE = VBoxR3RuntimeDllNonPedantic
20VBox-libcurl_SDKS = VBOX_ZLIB VBOX_OPENSSL
21VBox-libcurl_DEFS = \
22 IN_RT_R3 \
23 CURL_STATICLIB \
24 OPENSSL_NO_ENGINE \
25 BUILDING_LIBCURL \
26 HAVE_CONFIG_H \
27 CURL_DISABLE_GOPHER \
28 CURL_DISABLE_FILE \
29 CURL_DISABLE_DICT \
30 CURL_DISABLE_IMAP \
31 CURL_DISABLE_NTLM \
32 CURL_DISABLE_POP3 \
33 CURL_DISABLE_RTSP \
34 CURL_DISABLE_SMTP \
35 CURL_DISABLE_TELNET
36VBox-libcurl_DEPS = $(VBox-libcurl_0_OUTDIR)/lib/curl_config.h
37VBox-libcurl_CLEAN = $(VBox-libcurl_DEPS)
38VBox-libcurl_CFLAGS.win += -wd4826 # formdata.c(390) : warning C4826: Conversion from 'char *' to 'curl_off_t' is sign-extended. This may cause unexpected runtime behavior.
39VBox-libcurl_CFLAGS.win += -wd4310 # warnless.c(189) : warning C4310: cast truncates constant value
40VBox-libcurl_CFLAGS.win += -wd4090 # openssl/lhash.h(198) : warning C4090: 'function' : different 'const' qualifiers
41if "$(VBOX_VCC_TOOL_STEM)" >= "VCC140"
42 VBox-libcurl_CFLAGS.win += -wd4774 # mprintf.c(949): warning C4774: 'sprintf' : format string expected in argument 2 is not a string literal
43endif
44VBox-libcurl_INCS = include $(VBox-libcurl_0_OUTDIR)/lib $(VBOX_PATH_LIBCURL)/lib
45VBox-libcurl_SOURCES = \
46 lib/base64.c \
47 lib/conncache.c \
48 lib/connect.c \
49 lib/content_encoding.c \
50 lib/cookie.c \
51 lib/curl_addrinfo.c \
52 lib/curl_ctype.c \
53 lib/curl_fnmatch.c \
54 lib/curl_memrchr.c \
55 lib/curl_sasl.c \
56 lib/curl_range.c \
57 lib/doh.c \
58 lib/dotdot.c \
59 lib/easy.c \
60 lib/escape.c \
61 lib/fileinfo.c \
62 lib/formdata.c \
63 lib/ftp.c \
64 lib/ftplistparser.c \
65 lib/getenv.c \
66 lib/getinfo.c \
67 lib/hash.c \
68 lib/hmac.c \
69 lib/hostcheck.c \
70 lib/hostip.c \
71 lib/hostip4.c \
72 lib/hostip6.c \
73 lib/hostsyn.c \
74 lib/http.c \
75 lib/http_chunks.c \
76 lib/http_digest.c \
77 lib/http_proxy.c \
78 lib/if2ip.c \
79 lib/inet_ntop.c \
80 lib/inet_pton.c \
81 lib/llist.c \
82 lib/md5.c \
83 lib/mime.c \
84 lib/mprintf.c \
85 lib/multi.c \
86 lib/netrc.c \
87 lib/nonblock.c \
88 lib/parsedate.c \
89 lib/pingpong.c \
90 lib/pipeline.c \
91 lib/progress.c \
92 lib/rand.c \
93 lib/select.c \
94 lib/sendf.c \
95 lib/setopt.c \
96 lib/sha256.c \
97 lib/share.c \
98 lib/slist.c \
99 lib/socks.c \
100 lib/speedcheck.c \
101 lib/splay.c \
102 lib/strcase.c \
103 lib/strdup.c \
104 lib/strerror.c \
105 lib/strtok.c \
106 lib/strtoofft.c \
107 lib/tftp.c \
108 lib/timeval.c \
109 lib/transfer.c \
110 lib/url.c \
111 lib/urlapi.c \
112 lib/vtls/openssl.c \
113 lib/vtls/vtls.c \
114 lib/warnless.c \
115 lib/wildcard.c \
116 lib/version.c \
117 lib/vauth/digest.c \
118 lib/vauth/vauth.c
119VBox-libcurl_SOURCES.win = \
120 lib/system_win32.c
121
122ifdef VBOX_WITH_32_ON_64_MAIN_API # 32-bit edition.
123 LIBRARIES += VBox-libcurl-x86
124 VBox-libcurl-x86_TEMPLATE = VBoxR3DllNonPedantic-x86
125 VBox-libcurl-x86_EXTENDS = VBox-libcurl
126endif
127
128include $(FILE_KBUILD_SUB_FOOTER)
129
130#
131# Use checked in config.h instead of running ./configure for it.
132#
133libcurl_config.h.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH) := $(VBOX_PATH_LIBCURL)/config.h.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)
134
135$$(VBox-libcurl_0_OUTDIR)/lib/curl_config.h: $(libcurl_config.h.$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)) | $$(dir $$@)
136 $(CP) -f $^ $@
137
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