@@ -15,10 +15,12 @@ macro_rules! debug_log {
15
15
} ;
16
16
}
17
17
18
- const CARGO_PKG_NAME : & str = env ! ( "CARGO_PKG_NAME" ) ;
18
+ // const CARGO_PKG_NAME: &str = env!("CARGO_PKG_NAME");
19
+ const CARGO_PKG_NAME : & str = "bitnet-cpp-sys" ; // this has to be hardcoded to enable `bitnet-cpp` build
19
20
const CARGO_MANIFEST_DIR : & str = env ! ( "CARGO_MANIFEST_DIR" ) ;
20
21
const BITNET_DIR : & str = "bitnet" ;
21
22
const LLAMA_CPP_DIR : & str = "bitnet/3rdparty/llama.cpp" ;
23
+ const PATCHES_DIR : & str = "patches" ;
22
24
23
25
#[ cfg( target_os = "windows" ) ]
24
26
const OS_EXTRA_ARGS : [ ( & str , & str ) ; 1 ] = [ ( "-T" , "ClangCL" ) ] ; // these are cflags, so should be defined as .cflag("-foo")
@@ -210,12 +212,16 @@ fn macos_link_search_path() -> Option<String> {
210
212
fn build ( ) {
211
213
let target = env:: var ( "TARGET" ) . unwrap ( ) ;
212
214
let out_dir = get_out_dir ( ) ;
215
+ let src_dir = get_src_dir ( ) ;
213
216
214
217
let target_dir = get_cargo_target_dir ( ) . unwrap ( ) ;
215
218
216
219
let bitnet_dst = out_dir. join ( BITNET_DIR ) ;
217
220
let bitnet_src = Path :: new ( & CARGO_MANIFEST_DIR ) . join ( BITNET_DIR ) ;
218
221
222
+ let patches_dst = out_dir. join ( PATCHES_DIR ) ;
223
+ let patches_src = Path :: new ( & src_dir) . join ( PATCHES_DIR ) ;
224
+
219
225
let build_shared_libs = cfg ! ( feature = "cuda" ) || cfg ! ( feature = "dynamic-link" ) ;
220
226
221
227
let build_shared_libs = std:: env:: var ( "LLAMA_BUILD_SHARED_LIBS" )
@@ -232,6 +238,15 @@ fn build() {
232
238
debug_log ! ( "OUT_DIR: {}" , out_dir. display( ) ) ;
233
239
debug_log ! ( "BUILD_SHARED: {}" , build_shared_libs) ;
234
240
241
+ if !patches_dst. exists ( ) {
242
+ debug_log ! (
243
+ "Copy {} to {}" ,
244
+ patches_src. display( ) ,
245
+ patches_dst. display( )
246
+ ) ;
247
+ copy_folder ( & patches_src, & patches_dst) ;
248
+ }
249
+
235
250
if !bitnet_dst. exists ( ) {
236
251
debug_log ! ( "Copy {} to {}" , bitnet_src. display( ) , bitnet_dst. display( ) ) ;
237
252
copy_folder ( & bitnet_src, & bitnet_dst) ;
@@ -451,10 +466,11 @@ fn build() {
451
466
}
452
467
453
468
fn apply_patch ( patch_name : & str , output_dir : & str ) {
454
- let src_dir = get_src_dir ( ) ;
469
+ // let src_dir = get_src_dir();
455
470
let out_dir = get_out_dir ( ) ;
456
471
457
- let patches_dir = src_dir. join ( "patches" ) ;
472
+ // let patches_dir = src_dir.join("patches");
473
+ let patches_dir = out_dir. join ( PATCHES_DIR ) ;
458
474
459
475
let content = fs:: read_to_string ( patches_dir. join ( patch_name) ) . unwrap ( ) ;
460
476
// uncomment this if you want to see atomic commits in the main git repo
0 commit comments