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