You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* includes a fix/workaround for ongoing `gcc` library issues
- see github:rust-lang/rust#47048 and github:rust-lang/rust#53454
- note: this fix is required for successful gcc/gnu compilation of `expr` on windows
* improves clarity and logging of the AppVeyor config
* "install" phase is more generic and more easily usable within other rust crates
- ps: $env:TOOLCHAIN = $("$(rustup show active-toolchain)" -split '\s+')[0]
105
+
# * set RUST_BACKTRACE for enhanced error messages
106
+
- set RUST_BACKTRACE=1
107
+
# * show rust versions
78
108
- rustc -vV
79
109
- cargo -vV
80
110
81
-
# finalize FEATURES
82
-
- if /I "%CHANNEL%"=="nightly" set "FEATURES=nightly %FEATURES%"
83
-
84
-
# "gnu" toolchain setup
85
-
- if /I "%TOOLCHAIN%"=="gnu" set "PATH=%PATH%;C:\MinGW\bin"
86
-
# * use the system MSYS if we can
87
-
- if /I "%TOOLCHAIN%"=="gnu" if /I "%ARCH%"=="i686" set "MSYS_BITS=32"
88
-
- if /I "%TOOLCHAIN%"=="gnu" if /I "%ARCH%"=="x86_64" set "MSYS_BITS=64"
89
-
- if defined MSYS_BITS set PATH=C:\msys64\mingw%MSYS_BITS%\bin;C:\msys64\usr\bin;%PATH%
111
+
# "gnu" ABI setup
112
+
# * use the system MinGW/MSYS if we can
113
+
- if /i "%ABI%"=="gnu" set MSYS_BINDIR=C:\msys64\usr\bin
114
+
- if /i "%ABI%"=="gnu" if /i "%ARCH%"=="i686" set "MSYS_BITS=32"
115
+
- if /i "%ABI%"=="gnu" if /i "%ARCH%"=="x86_64" set "MSYS_BITS=64"
116
+
- if defined MSYS_BITS set "MSYS_MINGWDIR=C:\msys64\mingw%MSYS_BITS%"
117
+
- if defined MSYS_MINGWDIR set "MSYS_BINDIR=C:\msys64\usr\bin"
118
+
## * workaround for rust-lang/rust#47048 / rust-lang/rust#53454 ## !maint: remove when resolved
119
+
- if /i "%ABI%"=="gnu" if /i "%ARCH%"=="i686" if not DEFINED MINGW_URL set "MINGW_URL=https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Personal Builds/mingw-builds/8.1.0/threads-posix/dwarf/i686-8.1.0-release-posix-dwarf-rt_v6-rev0.7z"
120
+
- if /i "%ABI%"=="gnu" if /i "%ARCH%"=="x86_64" if not DEFINED MINGW_URL set "MINGW_URL=https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win64/Personal Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z"
121
+
## (end workaround)
90
122
# * specific MinGW, if specified
91
-
- ps: |
92
-
if ((Test-Path Env:\MINGW_ARCHIVE) -and -not (Test-Path "${env:DIR_TEMP_MINGW}\${env:MINGW_ARCHIVE}")) {
- if /i "%ABI%"=="gnu" rustup install %CHANNEL%-%ARCH%-pc-windows-msvc
136
+
- if /i "%ABI%"=="gnu" rustup default %CHANNEL%-%ARCH%-pc-windows-msvc
137
+
- if /i "%ABI%"=="gnu" rustup target add %TARGET%
138
+
- ps: $env:TOOLCHAIN = $("$(rustup show active-toolchain)" -split '\s+')[0]
139
+
- if /i "%ABI%"=="gnu" rustup show
140
+
- if /i "%ABI%"=="gnu" rustc -vV
141
+
# ** copy libs from gcc toolchain to rust toolchain (more specifically, "crt2.o" and "dllcrt2.o" are needed)
142
+
- if defined MSYS_MINGWDIR copy /y "%MSYS_MINGWDIR%\%ARCH%-w64-mingw32\lib\*.o" "%USERPROFILE%\.rustup\toolchains\%TOOLCHAIN%\lib\rustlib\%TARGET%\lib" >NUL
143
+
## (end workaround)
144
+
# * show `gcc` info
145
+
- if /i "%ABI%"=="gnu" ( where gcc && gcc --version )
107
146
108
-
artifacts:
109
-
- path: target\debug\uutils.exe
110
-
name: uutils.exe
147
+
# "msvc" ABI setup
148
+
- if /i "%ABI%" == "msvc" if /i "%ARCH%" == "i686" call "%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat"
149
+
- if /i "%ABI%" == "msvc" if /i "%ARCH%" == "x86_64" call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64
150
+
- if /i "%ABI%" == "msvc" if /i "%ARCH%" == "x86_64" call "%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat" x86_amd64
151
+
# * show `cl` info
152
+
- if /i "%ABI%"=="msvc" ( where cl && cl 2>&1 | findstr /i /c:"version" )
0 commit comments