-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a new CI step for windows environments #2979
base: master
Are you sure you want to change the base?
Conversation
08143f7
to
76059e5
Compare
7bb7c81
to
c7842c7
Compare
2549f88
to
17ed2a8
Compare
aded3aa
to
6cf78da
Compare
We'll need #2949 |
3b70b8b
to
ad6b741
Compare
@MehdiChinoune Any idea about what is going on here ? From what I understand the standard library requires some win32 functions, I tought linking with |
Looks like those functions come from ws2_32 library. |
In case you need a list of Win32 libraries that official compiler links check https://github.com/rust-lang/rust/blob/360f7d7b731c508c88b7b56921a92d281c05dbf7/compiler/rustc_target/src/spec/base/windows_gnu.rs#L25 and https://github.com/rust-lang/rust/blob/360f7d7b731c508c88b7b56921a92d281c05dbf7/library/windows_targets/src/lib.rs#L37-L41 |
ChangeLog: * .github/workflows/ccpp.yml: Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
Windows platform do not have libpthread and libdl, they instead rely on win32 to provide similar functionnality. ChangeLog: * configure: Regenerate. * configure.ac: Do not error out when missing library for windows target. Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good otherwise from that nit.
configure.ac
Outdated
AC_SEARCH_LIBS([pthread_create], [pthread]) | ||
CRAB1_LIBS="$LIBS" | ||
LIBS="$save_LIBS" | ||
;; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The ;;
indentation is inconsistent with the block above.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wasn't too sure how to indent that. Should the semicolon be aligned with the case ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Honestly, either style is fine (people do a mix) but just have it be consistent. I personally have it aligned with the last statement inside the case usually (so the 1st one).
GCC seems to usually do that too (first variant).
7a47638
to
e656602
Compare
configure.ac
Outdated
LIBS="$save_LIBS" | ||
case "${target}" in | ||
*-*-mingw*) | ||
CRAB1_LIBS="-lkernel32 -luser32 -lmsvcrt -lmingwex -lmingw32 -lmingwex -lws2_32" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This line uses spaces while the line below use tabs.
ChangeLog: * configure: Regenerate. * configure.ac: Link with multiple libs on windows. Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
Add a new CI step on Windows to ensure the project compiles on this platform with mingw.
Motivation: During upstreaming process we discovered some
dlsym
code was incorrectly disabled, the project does not compile using mingw anymore.