-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathPackage.swift
More file actions
110 lines (102 loc) · 2.85 KB
/
Package.swift
File metadata and controls
110 lines (102 loc) · 2.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
// swift-tools-version:5.10
import PackageDescription
let package = Package(
name: "swift-libgit2",
products: [
.library(name: "Clibgit2", targets: ["Clibgit2"]),
],
targets: [
.target(
name: "Clibgit2",
exclude: [
"deps/llhttp/CMakeLists.txt",
"deps/llhttp/LICENSE-MIT",
"deps/pcre/CMakeLists.txt",
"deps/pcre/COPYING",
"deps/pcre/LICENCE",
"deps/pcre/cmake",
"deps/pcre/config.h.in",
"deps/xdiff/CMakeLists.txt",
"deps/zlib/CMakeLists.txt",
"deps/zlib/LICENSE",
"src/libgit2/CMakeLists.txt",
"src/libgit2/config.cmake.in",
"src/libgit2/experimental.h.in",
"src/libgit2/git2.rc",
"src/util/CMakeLists.txt",
"src/util/git2_features.h.in",
"src/util/hash/builtin.c",
"src/util/hash/builtin.h",
"src/util/hash/collisiondetect.c",
"src/util/hash/collisiondetect.h",
"src/util/hash/openssl.c",
"src/util/hash/openssl.h",
"src/util/hash/win32.c",
"src/util/hash/win32.h",
"src/util/win32",
],
sources: [
"deps/llhttp",
"deps/pcre",
"deps/xdiff",
"deps/zlib",
"src/libgit2",
"src/util",
],
publicHeadersPath: "include",
cSettings: [
.unsafeFlags([
// fix 'struct entry' causing build conflict
"-fno-modules",
// disable warning: 'Implicit conversion loses integer precision'
"-Wno-shorten-64-to-32",
]),
.headerSearchPath("src/libgit2"),
.headerSearchPath("src/util"),
.headerSearchPath("deps/llhttp"),
.headerSearchPath("deps/pcre"),
.headerSearchPath("deps/xdiff"),
.headerSearchPath("deps/zlib"),
.define("LIBGIT2_NO_FEATURES_H"),
.define("GIT_ARCH_64"),
.define("GIT_QSORT_BSD"),
.define("GIT_IO_POLL"),
.define("GIT_DEPRECATE_HARD"),
.define("GIT_THREADS"),
.define("GIT_QSORT_BSD"),
.define("GIT_IO_POLL"),
// SSH
.define("GIT_SSH"),
.define("GIT_SSH_EXEC"),
.define("GIT_SHA1_COMMON_CRYPTO"),
.define("GIT_SHA256_COMMON_CRYPTO"),
// HTTP
.define("GIT_HTTPS"),
.define("GIT_HTTPS_SECURETRANSPORT"),
.define("GIT_HTTPPARSER_BUILTIN"),
.define("GIT_SECURE_TRANSPORT"),
.define("USE_HTTPS", to: "SecureTransport"),
// PCRE
.define("GIT_REGEX_BUILTIN"),
.define("SUPPORT_PCRE8"),
.define("LINK_SIZE", to: "2"),
.define("PARENS_NEST_LIMIT", to: "250"),
.define("MATCH_LIMIT", to: "10000000"),
.define("MATCH_LIMIT_RECURSION", to: "10000000"),
.define("NO_RECURSE"),
.define("NEWLINE", to: "10"), // line feed
.define("POSIX_MALLOC_THRESHOLD", to: "10"),
.define("BSR_ANYCRLF", to: "0"),
.define("MAX_NAME_SIZE", to: "32"),
.define("MAX_NAME_COUNT", to: "10000"),
// iconv encoding conversion support
.define("GIT_I18N"),
.define("GIT_I18N_ICONV"),
],
linkerSettings: [
.linkedLibrary("iconv"),
.linkedLibrary("z"),
]
),
]
)