VirtualBox

source: vbox/trunk/src/libs/curl-7.83.1/lib/Makefile.am@ 97623

Last change on this file since 97623 was 95312, checked in by vboxsync, 3 years ago

libs/{curl,libxml2}: OSE export fixes, bugref:8515

  • Property svn:eol-style set to native
File size: 4.9 KB
Line 
1#***************************************************************************
2# _ _ ____ _
3# Project ___| | | | _ \| |
4# / __| | | | |_) | |
5# | (__| |_| | _ <| |___
6# \___|\___/|_| \_\_____|
7#
8# Copyright (C) 1998 - 2022, Daniel Stenberg, <[email protected]>, et al.
9#
10# This software is licensed as described in the file COPYING, which
11# you should have received as part of this distribution. The terms
12# are also available at https://curl.se/docs/copyright.html.
13#
14# You may opt to use, copy, modify, merge, publish, distribute and/or sell
15# copies of the Software, and permit persons to whom the Software is
16# furnished to do so, under the terms of the COPYING file.
17#
18# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19# KIND, either express or implied.
20#
21###########################################################################
22AUTOMAKE_OPTIONS = foreign nostdinc
23
24CMAKE_DIST = CMakeLists.txt curl_config.h.cmake
25
26EXTRA_DIST = Makefile.m32 config-win32.h config-win32ce.h config-plan9.h \
27 config-riscos.h config-mac.h curl_config.h.in makefile.dj config-dos.h \
28 libcurl.plist libcurl.rc config-amigaos.h makefile.amiga config-win32ce.h \
29 config-os400.h setup-os400.h $(CMAKE_DIST) setup-win32.h .checksrc
30
31lib_LTLIBRARIES = libcurl.la
32
33if BUILD_UNITTESTS
34noinst_LTLIBRARIES = libcurlu.la
35else
36noinst_LTLIBRARIES =
37endif
38
39# This might hold -Werror
40CFLAGS += @CURL_CFLAG_EXTRAS@
41
42# Specify our include paths here, and do it relative to $(top_srcdir) and
43# $(top_builddir), to ensure that these paths which belong to the library
44# being currently built and tested are searched before the library which
45# might possibly already be installed in the system.
46#
47# $(top_srcdir)/include is for libcurl's external include files
48# $(top_builddir)/lib is for libcurl's generated lib/curl_config.h file
49# $(top_srcdir)/lib for libcurl's lib/curl_setup.h and other "private" files
50
51AM_CPPFLAGS = -I$(top_srcdir)/include \
52 -I$(top_builddir)/lib \
53 -I$(top_srcdir)/lib
54
55# Prevent LIBS from being used for all link targets
56LIBS = $(BLANK_AT_MAKETIME)
57
58VERSIONINFO=-version-info 12:0:8
59# This flag accepts an argument of the form current[:revision[:age]]. So,
60# passing -version-info 3:12:1 sets current to 3, revision to 12, and age to
61# 1.
62#
63# Here's the simplified rule guide on how to change -version-info:
64# (current version is C:R:A)
65#
66# 1. if there are only source changes, use C:R+1:A
67# 2. if interfaces were added use C+1:0:A+1
68# 3. if interfaces were removed, then use C+1:0:0
69#
70# For the full guide on libcurl ABI rules, see docs/libcurl/ABI
71
72AM_CPPFLAGS += -DBUILDING_LIBCURL
73AM_LDFLAGS =
74AM_CFLAGS =
75
76libcurl_la_CPPFLAGS_EXTRA =
77libcurl_la_LDFLAGS_EXTRA =
78libcurl_la_CFLAGS_EXTRA =
79
80if CURL_LT_SHLIB_USE_VERSION_INFO
81libcurl_la_LDFLAGS_EXTRA += $(VERSIONINFO)
82endif
83
84if CURL_LT_SHLIB_USE_NO_UNDEFINED
85libcurl_la_LDFLAGS_EXTRA += -no-undefined
86endif
87
88if CURL_LT_SHLIB_USE_MIMPURE_TEXT
89libcurl_la_LDFLAGS_EXTRA += -mimpure-text
90endif
91
92if CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS
93libcurl_la_LDFLAGS_EXTRA += -Wl,--version-script=libcurl.vers
94else
95# if symbol-hiding is enabled, hide them!
96if DOING_CURL_SYMBOL_HIDING
97libcurl_la_LDFLAGS_EXTRA += -export-symbols-regex '^curl_.*'
98endif
99endif
100
101if USE_CPPFLAG_CURL_STATICLIB
102libcurl_la_CPPFLAGS_EXTRA += -DCURL_STATICLIB
103endif
104
105if DOING_CURL_SYMBOL_HIDING
106libcurl_la_CPPFLAGS_EXTRA += -DCURL_HIDDEN_SYMBOLS
107libcurl_la_CFLAGS_EXTRA += $(CFLAG_CURL_SYMBOL_HIDING)
108endif
109
110libcurl_la_CPPFLAGS = $(AM_CPPFLAGS) $(libcurl_la_CPPFLAGS_EXTRA)
111libcurl_la_LDFLAGS = $(AM_LDFLAGS) $(libcurl_la_LDFLAGS_EXTRA) $(LDFLAGS) $(LIBCURL_LIBS)
112libcurl_la_CFLAGS = $(AM_CFLAGS) $(libcurl_la_CFLAGS_EXTRA)
113
114libcurlu_la_CPPFLAGS = $(AM_CPPFLAGS) -DCURL_STATICLIB -DUNITTESTS
115libcurlu_la_LDFLAGS = $(AM_LDFLAGS) -static $(LIBCURL_LIBS)
116libcurlu_la_CFLAGS = $(AM_CFLAGS)
117
118# Makefile.inc provides the CSOURCES and HHEADERS defines
119include Makefile.inc
120
121libcurl_la_SOURCES = $(CSOURCES) $(HHEADERS)
122libcurlu_la_SOURCES = $(CSOURCES) $(HHEADERS)
123
124CHECKSRC = $(CS_$(V))
125CS_0 = @echo " RUN " $@;
126CS_1 =
127CS_ = $(CS_0)
128
129checksrc:
130 $(CHECKSRC)(@PERL@ $(top_srcdir)/scripts/checksrc.pl -D$(srcdir) \
131 -W$(srcdir)/curl_config.h $(srcdir)/*.[ch] $(srcdir)/vauth/*.[ch] \
132 $(srcdir)/vtls/*.[ch] $(srcdir)/vquic/*.[ch] $(srcdir)/vssh/*.[ch])
133
134if CURLDEBUG
135# for debug builds, we scan the sources on all regular make invokes
136all-local: checksrc
137endif
138
139# disable the tests that are mostly causing false positives
140TIDYFLAGS=-checks=-clang-analyzer-security.insecureAPI.strcpy,-clang-analyzer-optin.performance.Padding,-clang-analyzer-valist.Uninitialized,-clang-analyzer-core.NonNullParamChecker,-clang-analyzer-core.NullDereference -quiet
141
142TIDY:=clang-tidy
143
144tidy:
145 $(TIDY) $(CSOURCES) $(TIDYFLAGS) -- $(AM_CPPFLAGS) $(CPPFLAGS) -DHAVE_CONFIG_H
146
147optiontable:
148 perl optiontable.pl < $(top_srcdir)/include/curl/curl.h > easyoptions.c
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