@@ -300,12 +300,14 @@ CFG_LDPATH_arm-linux-androideabi :=
300
300
CFG_RUN_arm-linux-androideabi =
301
301
CFG_RUN_TARG_arm-linux-androideabi =
302
302
RUSTC_FLAGS_arm-linux-androideabi :=--android-cross-path=$(CFG_ANDROID_CROSS_PATH )
303
+ RUSTC_CROSS_FLAGS_arm-linux-androideabi :=--android-cross-path=$(CFG_ANDROID_CROSS_PATH )
303
304
304
305
# arm-unknown-linux-gnueabihf configuration
305
- CC_arm-unknown-linux-gnueabihf =arm-linux-gnueabihf-gcc
306
- CXX_arm-unknown-linux-gnueabihf =arm-linux-gnueabihf-g++
307
- CPP_arm-unknown-linux-gnueabihf =arm-linux-gnueabihf-gcc -E
308
- AR_arm-unknown-linux-gnueabihf =arm-linux-gnueabihf-ar
306
+ CROSS_PREFIX_arm-unknown-linux-gnueabihf =arm-linux-gnueabihf-
307
+ CC_arm-unknown-linux-gnueabihf =gcc
308
+ CXX_arm-unknown-linux-gnueabihf =g++
309
+ CPP_arm-unknown-linux-gnueabihf =gcc -E
310
+ AR_arm-unknown-linux-gnueabihf =ar
309
311
CFG_LIB_NAME_arm-unknown-linux-gnueabihf =lib$(1 ) .so
310
312
CFG_STATIC_LIB_NAME_arm-unknown-linux-gnueabihf =lib$(1 ) .a
311
313
CFG_LIB_GLOB_arm-unknown-linux-gnueabihf =lib$(1 ) -*.so
@@ -324,15 +326,17 @@ CFG_WINDOWSY_arm-unknown-linux-gnueabihf :=
324
326
CFG_UNIXY_arm-unknown-linux-gnueabihf := 1
325
327
CFG_PATH_MUNGE_arm-unknown-linux-gnueabihf := true
326
328
CFG_LDPATH_arm-unknown-linux-gnueabihf :=
327
- CFG_RUN_arm-unknown-linux-gnueabihf =
328
- CFG_RUN_TARG_arm-unknown-linux-gnueabihf =
329
- RUSTC_FLAGS_arm-unknown-linux-gnueabihf := --linker=$(CC_arm-unknown-linux-gnueabihf )
329
+ CFG_RUN_arm-unknown-linux-gnueabihf =$(2 )
330
+ CFG_RUN_TARG_arm-unknown-linux-gnueabihf =$(call CFG_RUN_arm-unknown-linux-gnueabihf,,$(2 ) )
331
+ RUSTC_FLAGS_arm-unknown-linux-gnueabihf :=
332
+ RUSTC_CROSS_FLAGS_arm-unknown-linux-gnueabihf := --linker=$(CROSS_PREFIX_arm-unknown-linux-gnueabihf )$(CXX_arm-unknown-linux-gnueabihf )
330
333
331
334
# arm-unknown-linux-gnueabi configuration
332
- CC_arm-unknown-linux-gnueabi =arm-linux-gnueabi-gcc
333
- CXX_arm-unknown-linux-gnueabi =arm-linux-gnueabi-g++
334
- CPP_arm-unknown-linux-gnueabi =arm-linux-gnueabi-gcc -E
335
- AR_arm-unknown-linux-gnueabi =arm-linux-gnueabi-ar
335
+ CROSS_PREFIX_arm-unknown-linux-gnueabi =arm-linux-gnueabi-
336
+ CC_arm-unknown-linux-gnueabi =gcc
337
+ CXX_arm-unknown-linux-gnueabi =g++
338
+ CPP_arm-unknown-linux-gnueabi =gcc -E
339
+ AR_arm-unknown-linux-gnueabi =ar
336
340
CFG_LIB_NAME_arm-unknown-linux-gnueabi =lib$(1 ) .so
337
341
CFG_STATIC_LIB_NAME_arm-unknown-linux-gnueabi =lib$(1 ) .a
338
342
CFG_LIB_GLOB_arm-unknown-linux-gnueabi =lib$(1 ) -*.so
@@ -351,9 +355,10 @@ CFG_WINDOWSY_arm-unknown-linux-gnueabi :=
351
355
CFG_UNIXY_arm-unknown-linux-gnueabi := 1
352
356
CFG_PATH_MUNGE_arm-unknown-linux-gnueabi := true
353
357
CFG_LDPATH_arm-unknown-linux-gnueabi :=
354
- CFG_RUN_arm-unknown-linux-gnueabi =
355
- CFG_RUN_TARG_arm-unknown-linux-gnueabi =
356
- RUSTC_FLAGS_arm-unknown-linux-gnueabi := --linker=$(CC_arm-unknown-linux-gnueabi )
358
+ CFG_RUN_arm-unknown-linux-gnueabi =$(2 )
359
+ CFG_RUN_TARG_arm-unknown-linux-gnueabi =$(call CFG_RUN_arm-unknown-linux-gnueabi,,$(2 ) )
360
+ RUSTC_FLAGS_arm-unknown-linux-gnueabi :=
361
+ RUSTC_CROSS_FLAGS_arm-unknown-linux-gnueabi := --linker=$(CROSS_PREFIX_arm-unknown-linux-gnueabi )$(CXX_arm-unknown-linux-gnueabi )
357
362
358
363
# mips-unknown-linux-gnu configuration
359
364
CC_mips-unknown-linux-gnu =mips-linux-gnu-gcc
@@ -399,7 +404,7 @@ CFG_GCCISH_PRE_LIB_FLAGS_i686-pc-mingw32 :=
399
404
CFG_GCCISH_POST_LIB_FLAGS_i686-pc-mingw32 :=
400
405
CFG_DEF_SUFFIX_i686-pc-mingw32 := .mingw32.def
401
406
CFG_INSTALL_NAME_i686-pc-mingw32 =
402
- CFG_LIBUV_LINK_FLAGS_i686-pc-mingw32 := -lWs2_32 -lpsapi -liphlpapi
407
+ CFG_LIBUV_LINK_FLAGS_i686-pc-mingw32 := -lws2_32 -lpsapi -liphlpapi
403
408
CFG_LLVM_BUILD_ENV_i686-pc-mingw32 := CPATH=$(CFG_SRC_DIR ) src/etc/mingw-fix-include
404
409
CFG_EXE_SUFFIX_i686-pc-mingw32 := .exe
405
410
CFG_WINDOWSY_i686-pc-mingw32 := 1
@@ -437,31 +442,61 @@ CFG_LDPATH_i586-mingw32msvc :=
437
442
CFG_RUN_i586-mingw32msvc =
438
443
CFG_RUN_TARG_i586-mingw32msvc =
439
444
445
+ # i686-w64-mingw32 configuration
446
+ CROSS_PREFIX_i686-w64-mingw32 =i686-w64-mingw32-
447
+ CC_i686-w64-mingw32 =gcc
448
+ CXX_i686-w64-mingw32 =g++
449
+ CPP_i686-w64-mingw32 =gcc -E
450
+ AR_i686-w64-mingw32 =ar
451
+ CFG_LIB_NAME_i686-w64-mingw32 =$(1 ) .dll
452
+ CFG_STATIC_LIB_NAME_i686-w64-mingw32 =$(1 ) .lib
453
+ CFG_LIB_GLOB_i686-w64-mingw32 =$(1 ) -*.dll
454
+ CFG_LIB_DSYM_GLOB_i686-w64-mingw32 =$(1 ) -*.dylib.dSYM
455
+ CFG_GCCISH_CFLAGS_i686-w64-mingw32 := -Wall -Werror -g -m32 -D_WIN32_WINNT=0x0600
456
+ CFG_GCCISH_CXXFLAGS_i686-w64-mingw32 := -fno-rtti
457
+ CFG_GCCISH_LINK_FLAGS_i686-w64-mingw32 := -shared -g -m32
458
+ CFG_GCCISH_DEF_FLAG_i686-w64-mingw32 :=
459
+ CFG_GCCISH_PRE_LIB_FLAGS_i686-w64-mingw32 :=
460
+ CFG_GCCISH_POST_LIB_FLAGS_i686-w64-mingw32 :=
461
+ CFG_DEF_SUFFIX_i686-w64-mingw32 := .mingw32.def
462
+ CFG_INSTALL_NAME_i686-w64-mingw32 =
463
+ CFG_LIBUV_LINK_FLAGS_i686-w64-mingw32 := -lws2_32 -lpsapi -liphlpapi
464
+ CFG_EXE_SUFFIX_i686-w64-mingw32 := .exe
465
+ CFG_WINDOWSY_i686-w64-mingw32 := 1
466
+ CFG_UNIXY_i686-w64-mingw32 :=
467
+ CFG_PATH_MUNGE_i686-w64-mingw32 :=
468
+ CFG_LDPATH_i686-w64-mingw32 :=$(CFG_LDPATH_i686-w64-mingw32 ) :$(PATH )
469
+ CFG_RUN_i686-w64-mingw32=PATH ="$(CFG_LDPATH_i686-w64-mingw32 ) :$(1 ) " $(2 )
470
+ CFG_RUN_TARG_i686-w64-mingw32 =$(call CFG_RUN_i686-w64-mingw32,$(HLIB$(1 ) _H_$(CFG_BUILD ) ) ,$(2 ) )
471
+ RUSTC_CROSS_FLAGS_i686-w64-mingw32 := --linker=$(CROSS_PREFIX_i686-w64-mingw32 )$(CXX_i686-w64-mingw32 )
472
+
440
473
# x86_64-w64-mingw32 configuration
441
- CC_x86_64-w64-mingw32 =$(CC )
442
- CXX_x86_64-w64-mingw32 =$(CXX )
443
- CPP_x86_64-w64-mingw32 =$(CPP )
444
- AR_x86_64-w64-mingw32 =$(AR )
474
+ CROSS_PREFIX_x86_64-w64-mingw32 =x86_64-w64-mingw32-
475
+ CC_x86_64-w64-mingw32 =gcc
476
+ CXX_x86_64-w64-mingw32 =g++
477
+ CPP_x86_64-w64-mingw32 =gcc -E
478
+ AR_x86_64-w64-mingw32 =ar
445
479
CFG_LIB_NAME_x86_64-w64-mingw32 =$(1 ) .dll
446
480
CFG_STATIC_LIB_NAME_x86_64-w64-mingw32 =$(1 ) .lib
447
481
CFG_LIB_GLOB_x86_64-w64-mingw32 =$(1 ) -*.dll
448
482
CFG_LIB_DSYM_GLOB_x86_64-w64-mingw32 =$(1 ) -*.dylib.dSYM
449
483
CFG_GCCISH_CFLAGS_x86_64-w64-mingw32 := -Wall -Werror -g -m64 -D_WIN32_WINNT=0x0600
450
484
CFG_GCCISH_CXXFLAGS_x86_64-w64-mingw32 := -fno-rtti
451
- CFG_GCCISH_LINK_FLAGS_x86_64-w64-mingw32 := -shared -fPIC - g -m64
485
+ CFG_GCCISH_LINK_FLAGS_x86_64-w64-mingw32 := -shared -g -m64
452
486
CFG_GCCISH_DEF_FLAG_x86_64-w64-mingw32 :=
453
487
CFG_GCCISH_PRE_LIB_FLAGS_x86_64-w64-mingw32 :=
454
488
CFG_GCCISH_POST_LIB_FLAGS_x86_64-w64-mingw32 :=
455
489
CFG_DEF_SUFFIX_x86_64-w64-mingw32 := .mingw32.def
456
490
CFG_INSTALL_NAME_x86_64-w64-mingw32 =
457
- CFG_LIBUV_LINK_FLAGS_x86_64-w64-mingw32 := -lWs2_32 -lpsapi -liphlpapi
491
+ CFG_LIBUV_LINK_FLAGS_x86_64-w64-mingw32 := -lws2_32 -lpsapi -liphlpapi
458
492
CFG_EXE_SUFFIX_x86_64-w64-mingw32 := .exe
459
493
CFG_WINDOWSY_x86_64-w64-mingw32 := 1
460
494
CFG_UNIXY_x86_64-w64-mingw32 :=
461
495
CFG_PATH_MUNGE_x86_64-w64-mingw32 :=
462
496
CFG_LDPATH_x86_64-w64-mingw32 :=$(CFG_LDPATH_x86_64-w64-mingw32 ) :$(PATH )
463
497
CFG_RUN_x86_64-w64-mingw32=PATH ="$(CFG_LDPATH_x86_64-w64-mingw32 ) :$(1 ) " $(2 )
464
498
CFG_RUN_TARG_x86_64-w64-mingw32 =$(call CFG_RUN_x86_64-w64-mingw32,$(HLIB$(1 ) _H_$(CFG_BUILD ) ) ,$(2 ) )
499
+ RUSTC_CROSS_FLAGS_x86_64-w64-mingw32 := --linker=$(CROSS_PREFIX_x86_64-w64-mingw32 )$(CXX_x86_64-w64-mingw32 )
465
500
466
501
# x86_64-unknown-freebsd configuration
467
502
CC_x86_64-unknown-freebsd =$(CC )
@@ -499,6 +534,16 @@ ifdef CFG_CCACHE_BASEDIR
499
534
endif
500
535
501
536
define CFG_MAKE_TOOLCHAIN
537
+ # Prepend the tools with their prefix if cross compiling
538
+ ifneq ($(CFG_BUILD ) ,$(1 ) )
539
+ CC_$(1 ) =$(CROSS_PREFIX_$(1 ) )$(CC_$(1 ) )
540
+ CXX_$(1 ) =$(CROSS_PREFIX_$(1 ) )$(CXX_$(1 ) )
541
+ CPP_$(1 ) =$(CROSS_PREFIX_$(1 ) )$(CPP_$(1 ) )
542
+ AR_$(1 ) =$(CROSS_PREFIX_$(1 ) )$(AR_$(1 ) )
543
+
544
+ RUSTC_FLAGS_$(1 ) =$(RUSTC_CROSS_FLAGS_$(1 ) )
545
+ endif
546
+
502
547
CFG_COMPILE_C_$(1 ) = $$(CC_$(1 ) ) \
503
548
$$(CFG_GCCISH_CFLAGS ) \
504
549
$$(CFG_GCCISH_CFLAGS_$(1 ) ) \
0 commit comments