Skip to content

Commit fec81af

Browse files
committed
Added circleci build for mingw
Signed-off-by: Cervenka Dusan <cervenka@acrios.com>
1 parent 87bd47c commit fec81af

File tree

6 files changed

+71
-41
lines changed

6 files changed

+71
-41
lines changed

.circleci/config.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
version: 2.1
22

3+
orbs:
4+
win: circleci/windows@5.0 # The Windows orb gives you everything you need to start using the
5+
36
jobs:
47
build-linux-gcc:
58
machine:
@@ -39,7 +42,16 @@ jobs:
3942
- run: chmod u+x run_tests.sh && ./run_tests.sh clang
4043
- store_artifacts:
4144
path: ./Release/Darwin/erpcgen/erpcgen
42-
45+
build-windows-mingw:
46+
executor:
47+
name: win/default
48+
size: large
49+
steps:
50+
- checkout
51+
- run: powershell.exe -ExecutionPolicy Bypass -File install_dependencies.ps1
52+
- run: powershell.exe .\mingw64\bin\mingw32-make erpcgen
53+
- store_artifacts:
54+
path: ./Release/MINGW/erpcgen/erpcgen.exe
4355

4456
workflows:
4557
build-workflow:
@@ -48,3 +60,4 @@ workflows:
4860
- build-linux-clang
4961
- build-mac-gcc
5062
- build-mac-clang
63+
- build-windows-mingw

erpcgen/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,9 @@ ifeq "$(build)" "release"
139139
endif
140140
endif
141141

142+
ifeq "$(is_mingw)" "1"
142143
CXXFLAGS += -DBOOST_FILESYSTEM_VERSION=4
144+
endif
143145

144146
# Run flex
145147
$(OBJS_ROOT)/erpcgen_lexer.cpp: $(ERPC_ROOT)/erpcgen/src/erpcgen_lexer.l $(OBJS_ROOT)/erpcgen_parser.tab.hpp | $(OBJECTS_DIRS)

erpcgen/VisualStudio_v14/erpcgen.vcxproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@
1414
<ProjectGuid>{B314F839-7BC9-471E-AA64-78FC946473F6}</ProjectGuid>
1515
<Keyword>Win32Proj</Keyword>
1616
<RootNamespace>erpcgen</RootNamespace>
17-
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
17+
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
1818
</PropertyGroup>
1919
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
2020
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
2121
<ConfigurationType>Application</ConfigurationType>
2222
<UseDebugLibraries>true</UseDebugLibraries>
23-
<PlatformToolset>v141</PlatformToolset>
23+
<PlatformToolset>v143</PlatformToolset>
2424
<CharacterSet>Unicode</CharacterSet>
2525
</PropertyGroup>
2626
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
2727
<ConfigurationType>Application</ConfigurationType>
2828
<UseDebugLibraries>false</UseDebugLibraries>
29-
<PlatformToolset>v141</PlatformToolset>
29+
<PlatformToolset>v143</PlatformToolset>
3030
<WholeProgramOptimization>true</WholeProgramOptimization>
3131
<CharacterSet>Unicode</CharacterSet>
3232
</PropertyGroup>
@@ -72,7 +72,7 @@
7272
<Link>
7373
<SubSystem>Console</SubSystem>
7474
<GenerateDebugInformation>true</GenerateDebugInformation>
75-
<AdditionalLibraryDirectories>$(ProjectDir)\boost_1_81_0\lib32-msvc-14.1;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
75+
<AdditionalLibraryDirectories>$(ProjectDir)\boost_1_81_0\lib32-msvc-14.3;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
7676
</Link>
7777
<Bison>
7878
<OutputFile>$(ProjectDir)\%(Filename).tab.cpp</OutputFile>
@@ -132,7 +132,7 @@ python.exe ..\bin\txt_to_c.py --output .\py_global_init.cpp ..\src\templates\py_
132132
<GenerateDebugInformation>false</GenerateDebugInformation>
133133
<EnableCOMDATFolding>true</EnableCOMDATFolding>
134134
<OptimizeReferences>true</OptimizeReferences>
135-
<AdditionalLibraryDirectories>$(ProjectDir)\boost_1_81_0\lib32-msvc-14.1;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
135+
<AdditionalLibraryDirectories>$(ProjectDir)\boost_1_81_0\lib32-msvc-14.3;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
136136
</Link>
137137
<PreBuildEvent>
138138
<Command>python.exe ..\bin\txt_to_c.py --output .\c_coders.cpp ..\src\templates\c_coders.template

erpcgen/VisualStudio_v14/readme_erpcgen.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Requirements
2424
[https://sourceforge.net/projects/boost/files/boost-binaries/1.81.0/]
2525

2626
Install binary for your version of visual studio (x86 architecture)
27-
into current directory (for Visual Studio 2017: boost_1_81_0-msvc-14.1-32.exe):
27+
into current directory (for Visual Studio 2017: boost_1_81_0-msvc-14.3-32.exe):
2828
erpc\erpcgen\VisualStudio_v14\
2929

3030
whole path has to be:

install_dependencies.ps1

Lines changed: 48 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,54 @@
1-
# Install 7zip
2-
$URL7Zip = "https://gist.githubusercontent.com/dansmith65/7dd950f183af5f5deaf9650f2ad3226c/raw/8b8f6e96de7469cea73c9fe63a5da4d44a7c1ba7/Install-7zip.ps1"
3-
$Path7Zip = ".\Install-7zip.ps1"
4-
Remove-Item -ErrorAction Ignore $Path7Zip
5-
Invoke-WebRequest -URI $URL7Zip -OutFile $Path7Zip
6-
powershell $Path7Zip
7-
Remove-Item -ErrorAction Ignore $Path7Zip
8-
$Path7zipApp="C:\Program Files\7-Zip\7z.exe"
1+
$PathBoostFolder="boost_1_81_0"
2+
if ($args[0] -eq "VS")
3+
{
4+
# Prebuild libs for VS
5+
# $URLBoostVs = "https://downloads.sourceforge.net/project/boost/boost-binaries/1.81.0/boost_1_81_0-msvc-14.3-32.exe?ts=gAAAAABj4CrKnWOz1tor2EO1I8BXk_n0FEzGgMqcl_J5LqB9-IKXOXglKXejh8MZTvZuGwX1dE7qGgBGgu5NhN4-DCElUzPprg%3D%3D&r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fboost%2Ffiles%2Fboost-binaries%2F1.81.0%2Fboost_1_81_0-msvc-14.3-32.exe%2Fdownload"
6+
# $PathBoostExe = "boost.exe"
7+
# Invoke-WebRequest -URI $URLBoostVs -OutFile $PathBoostExe
8+
# Start-Process -Wait -FilePath $PathBoostExe /verysilent
9+
# Move-Item -Path C:\local\$PathBoostFolder -Destination .\erpcgen\VisualStudio_v14\$PathBoostFolder -force
910

10-
# Install mingw
11-
$URLMingw = "https://github.com/niXman/mingw-builds-binaries/releases/download/12.2.0-rt_v10-rev2/x86_64-12.2.0-release-win32-seh-ucrt-rt_v10-rev2.7z"
12-
$PathMingw7Zip = "mingw.7z"
13-
$PathMingw = "mingw64"
14-
$UnzipMingw = 'x',$PathMingw7Zip,'-y'
15-
Remove-Item -ErrorAction Ignore $PathMingw7Zip
16-
Remove-Item -ErrorAction Ignore $PathMingw
17-
Invoke-WebRequest -URI $URLMingw -OutFile $PathMingw7Zip
18-
& $Path7zipApp $UnzipMingw
19-
Remove-Item -ErrorAction Ignore $PathMingw7Zip
11+
# "https://aka.ms/vs/17/release/vs_BuildTools.exe"
12+
# ""
13+
}
14+
else
15+
{
16+
# Install 7zip
17+
$URL7Zip = "https://gist.githubusercontent.com/dansmith65/7dd950f183af5f5deaf9650f2ad3226c/raw/8b8f6e96de7469cea73c9fe63a5da4d44a7c1ba7/Install-7zip.ps1"
18+
$Path7Zip = ".\Install-7zip.ps1"
19+
Remove-Item -ErrorAction Ignore $Path7Zip
20+
Invoke-WebRequest -URI $URL7Zip -OutFile $Path7Zip
21+
powershell $Path7Zip
22+
Remove-Item -ErrorAction Ignore $Path7Zip
23+
$Path7zipApp="C:\Program Files\7-Zip\7z.exe"
2024

21-
# Install boost
22-
$PathBoostFolder="boost_1_81_0"
23-
$URLBoost = "https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/" + $PathBoostFolder + ".7z"
24-
$PatHBoost7Zip=".\boost.7z"
25-
$UnzipBoost = 'x',$PatHBoost7Zip,'-y'
26-
Remove-Item -ErrorAction Ignore $PatHBoost7Zip
27-
Remove-Item -ErrorAction Ignore $PathBoostFolder
28-
Invoke-WebRequest -URI $URLBoost -OutFile $PatHBoost7Zip
29-
& $Path7zipApp $UnzipBoost
30-
Remove-Item -ErrorAction Ignore $PatHBoost7Zip
31-
$env:Path += ';'+(Get-Location).tostring() + "\" + $PathMingw+"\bin"
25+
# Install mingw
26+
$URLMingw = "https://github.com/niXman/mingw-builds-binaries/releases/download/12.2.0-rt_v10-rev2/x86_64-12.2.0-release-win32-seh-ucrt-rt_v10-rev2.7z"
27+
$PathMingw7Zip = "mingw.7z"
28+
$PathMingw = "mingw64"
29+
$UnzipMingw = 'x',$PathMingw7Zip,'-y'
30+
Remove-Item -ErrorAction Ignore $PathMingw7Zip
31+
Remove-Item -ErrorAction Ignore $PathMingw
32+
Invoke-WebRequest -URI $URLMingw -OutFile $PathMingw7Zip
33+
& $Path7zipApp $UnzipMingw
34+
Remove-Item -ErrorAction Ignore $PathMingw7Zip
35+
36+
# Install boost
37+
$URLBoost = "https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/" + $PathBoostFolder + ".7z"
38+
$PatHBoost7Zip=".\boost.7z"
39+
$UnzipBoost = 'x',$PatHBoost7Zip,'-y'
40+
Remove-Item -ErrorAction Ignore $PatHBoost7Zip
41+
Remove-Item -ErrorAction Ignore $PathBoostFolder
42+
Invoke-WebRequest -URI $URLBoost -OutFile $PatHBoost7Zip
43+
& $Path7zipApp $UnzipBoost
44+
Remove-Item -ErrorAction Ignore $PatHBoost7Zip
45+
$env:Path += ';'+(Get-Location).tostring() + "\" + $PathMingw+"\bin"
3246

33-
Set-Location ".\"$PathBoostFolder
34-
.\bootstrap.bat gcc
35-
.\b2 --build-type=complete toolset=gcc install
36-
Set-Location "..\"
47+
Set-Location $PathBoostFolder
48+
.\bootstrap.bat gcc
49+
.\b2 toolset=gcc install
50+
Set-Location "..\"
51+
}
3752

3853
# Binson/flex
3954
Set-Location ".\erpcgen\VisualStudio_v14"

mk/paths.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ else ifeq "$(is_mingw)" "1"
102102
endif
103103

104104
ifeq "$(is_mingw)" "1"
105-
MAKE := mingw32-make
105+
MAKE := $(MINGW64)/bin/mingw32-make
106106
POWERSHELL ?= powershell
107107
mkdirc = $(POWERSHELL) mkdir -Force
108108
rmc = $(POWERSHELL) rm -Recurse -Force -ErrorAction Ignore

0 commit comments

Comments
 (0)