Skip to content
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

Fix Windows build #1021

Merged
merged 4 commits into from
Jan 5, 2017
Merged

Fix Windows build #1021

merged 4 commits into from
Jan 5, 2017

Conversation

friedkiwi
Copy link
Contributor

@friedkiwi friedkiwi commented Jan 5, 2017

This PR fixes the following Windows-related build issues:

S_ISLNK usage
S_ISLNK isn't a supported call on Windows due to the lack of filesystem links like they exist on Unix-based systems. Other parts of the code properly check if WIN32 is defined, however, one piece was overlooked. This is fixed in one of the commits in this PR.

MINGW_HAS_SECURE_API Incorrectly Used
The MINGW_HAS_SECURE_API was used incorrectly and broke the Windows build - the correct usage is to define this to '1' instead of just defining it, as evident in the mingw headers.

Add Windows-specific output to .gitignore
Some of the build output files aren't added to the .gitignore, causing a potential source tree pollution when committing to the repository. Most notably, there was no exclusion for *.exe and *.dll files, while there was an exclusion for .so files. This discrepancy has been corrected.


This change is Reviewable

Yvan Janssens and others added 4 commits January 5, 2017 14:04
There is a usage of S_ISLNK in check_rc_sys.c, which breaks the linking
on Windows since this functionality isn't availble on Windows. This
commit adds a compile time check for a WIN32 platform and removes the
code if necessary.
This commit fixes the Windows build again. The mingw headers
(https://github.com/Alexpux/mingw-w64/blob/master/mingw-w64-headers/crt/_mingw_secapi.h)
check if the MINGW_HAS_SECURE_API define is 1, so just defining it isn't
enough; this will result in a compile-time error.

This commit defines the define to 1 instead of nothing.
This commit adds Windows-specific build output to the .gitignore file,
since the current one causes the source tree to be polluted with build
output.
This PR fixes the following Windows-related build issues:

S_ISLNK usage
S_ISLNK isn't a supported call on Windows due to the lack of filesystem links like they exist on Unix-based systems. Other parts of the code properly check if WIN32 is defined, however, one piece was overlooked. This is fixed in one of the commits in this PR.

MINGW_HAS_SECURE_API Incorrectly Used
The MINGW_HAS_SECURE_API was used incorrectly and broke the Windows build - the correct usage is to define this to '1' instead of just defining it, as evident in the mingw headers.

Add Windows-specific output to .gitignore
Some of the build output files aren't added to the .gitignore, causing a potential source tree pollution when committing to the repository. Most notably, there was no exclusion for *.exe and *.dll files, while there was an exclusion for .so files. This discrepancy has been corrected.
@ddpbsd ddpbsd merged commit 6bd858e into ossec:master Jan 5, 2017
@ddpbsd
Copy link
Member

ddpbsd commented Jan 5, 2017

Thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants