@@ -9,10 +9,13 @@ use std::process::Command;
9
9
fn main ( ) {
10
10
let https = env:: var ( "CARGO_FEATURE_HTTPS" ) . is_ok ( ) ;
11
11
let ssh = env:: var ( "CARGO_FEATURE_SSH" ) . is_ok ( ) ;
12
- let curl = env:: var ( "CARGO_FEATURE_CURL" ) . is_ok ( ) ;
13
12
14
13
if env:: var ( "LIBGIT2_SYS_USE_PKG_CONFIG" ) . is_ok ( ) {
15
- if pkg_config:: find_library ( "libgit2" ) . is_ok ( ) {
14
+ let mut cfg = pkg_config:: Config :: new ( ) ;
15
+ if let Ok ( lib) = cfg. atleast_version ( "0.28.0" ) . probe ( "libgit2" ) {
16
+ for include in & lib. include_paths {
17
+ println ! ( "cargo:root={}" , include. display( ) ) ;
18
+ }
16
19
return
17
20
}
18
21
}
@@ -121,21 +124,14 @@ fn main() {
121
124
}
122
125
}
123
126
} else {
124
- cfg. file ( "libgit2/src/hash/hash_generic.c" ) ;
127
+ features. push_str ( "#define GIT_SHA1_COLLISIONDETECT 1\n " ) ;
128
+ cfg. define ( "SHA1DC_NO_STANDARD_INCLUDES" , "1" ) ;
129
+ cfg. define ( "SHA1DC_CUSTOM_INCLUDE_SHA1_C" , "\" common.h\" " ) ;
130
+ cfg. define ( "SHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C" , "\" common.h\" " ) ;
131
+ cfg. file ( "libgit2/src/hash/sha1dc/sha1.c" ) ;
132
+ cfg. file ( "libgit2/src/hash/sha1dc/ubc_check.c" ) ;
125
133
}
126
134
127
- if curl {
128
- features. push_str ( "#define GIT_CURL 1\n " ) ;
129
- if let Some ( path) = env:: var_os ( "DEP_CURL_INCLUDE" ) {
130
- cfg. include ( path) ;
131
- }
132
- // Handle dllimport/dllexport on windows by making sure that if we built
133
- // curl statically (as told to us by the `curl-sys` crate) we define the
134
- // correct values for curl's header files.
135
- if env:: var_os ( "DEP_CURL_STATIC" ) . is_some ( ) {
136
- cfg. define ( "CURL_STATICLIB" , None ) ;
137
- }
138
- }
139
135
if let Some ( path) = env:: var_os ( "DEP_Z_INCLUDE" ) {
140
136
cfg. include ( path) ;
141
137
}
0 commit comments