1################################################################################
2#
3# libgit2
4#
5################################################################################
6
7LIBGIT2_VERSION = 1.8.0
8LIBGIT2_SITE = $(call github,libgit2,libgit2,v$(LIBGIT2_VERSION))
9LIBGIT2_LICENSE = \
10	GPL-2.0 with linking exception, \
11	MIT (sha1), \
12	BSD-3-Clause (sha256), \
13	wildmatch license (wildmatch), \
14	CC0-1.0 (xoroshiro256), \
15	BSD-2-Clause (basename_r), \
16	LGPL-2.1+ (libxdiff)
17LIBGIT2_LICENSE_FILES = COPYING
18LIBGIT2_CPE_ID_VALID = YES
19LIBGIT2_INSTALL_STAGING = YES
20
21LIBGIT2_CONF_OPTS = \
22	-DUSE_GSSAPI=OFF \
23	-DUSE_ICONV=ON \
24	-DREGEX_BACKEND=regcomp \
25	-DUSE_HTTP_PARSER=system \
26	-DUSE_NTLMCLIENT=OFF \
27	-DUSE_XDIFF=builtin \
28	-DUSE_THREADS=$(if $(BR2_TOOLCHAIN_HAS_THREADS),ON,OFF)
29
30LIBGIT2_SUPPORTS_IN_SOURCE_BUILD = NO
31
32LIBGIT2_DEPENDENCIES = zlib libhttpparser
33
34# If libiconv is available (for !locale toolchains), then we can use
35# it for iconv support. Note that USE_ICONV=ON is still correct even
36# without libiconv because (1) most toolchain have iconv support
37# without libiconv and (2) even if USE_ICONV=ON but iconv support is
38# not available, libgit2 simply avoids using iconv.
39ifeq ($(BR2_PACKAGE_LIBICONV),y)
40LIBGIT2_DEPENDENCIES += libiconv
41endif
42
43ifeq ($(BR2_PACKAGE_LIBSSH2),y)
44LIBGIT2_DEPENDENCIES += libssh2
45LIBGIT2_CONF_OPTS += -DUSE_SSH=libssh2
46else ifeq ($(BR2_PACKAGE_OPENSSH_CLIENT),y)
47LIBGIT2_CONF_OPTS += -DUSE_SSH=exec
48else
49LIBGIT2_CONF_OPTS += -DUSE_SSH=OFF
50endif
51
52ifeq ($(BR2_PACKAGE_OPENSSL),y)
53LIBGIT2_DEPENDENCIES += openssl
54LIBGIT2_CONF_OPTS += -DUSE_HTTPS=OpenSSL
55else
56LIBGIT2_CONF_OPTS += -DUSE_HTTPS=OFF
57endif
58
59ifeq ($(BR2_PACKAGE_LIBGIT2_CLI),y)
60LIBGIT2_CONF_OPTS += -DBUILD_CLI=ON
61else
62LIBGIT2_CONF_OPTS += -DBUILD_CLI=OFF
63endif
64
65ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
66LIBGIT2_CONF_OPTS += \
67	-DCMAKE_EXE_LINKER_FLAGS=-latomic \
68	-DCMAKE_SHARED_LINKER_FLAGS=-latomic
69endif
70
71$(eval $(cmake-package))
72