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

Win32 (and friends) #3

Open
wants to merge 107 commits into
base: master
Choose a base branch
from
Open

Win32 (and friends) #3

wants to merge 107 commits into from

Conversation

sgeto
Copy link
Owner

@sgeto sgeto commented May 4, 2017

No description provided.

sgeto added 30 commits November 17, 2016 04:27
improved MSVC x64 support suggested by robertolarcher (Pull Request libnet#58), README.win32 adjustments, added (Linux only) Travis test yml as well as other tiny fixes.
last chance, appveyor1
msvcbuild.bat now builds libnet from ANY cmd/powershell not just the Developer Command Prompt
goto %1 didn't apply anymore...
batch file now creates "lib" folder, libs have version number and other minor changes; lua bindings doesn't work (yet)
Samples are in need of additional linking (-lws2_32, -lpcap) and are complaining about code in libnet_resolve.c, libnet_write.c and libnet_raw.c. Not sure how concerning that is... I better get my pcap manual :-D
Libnet now builds gracefully with MinGW (including samples). There's a lot of fine tuning to be done and it needs testing on my other MinGW distros (including cross). This push is therefore just to see if Linux, Mac and Windows (MSVC) are still happy.
the build system should be up to the latest standards with this one. Except for docs, that's up next...
still ugly, but at least it works again
This was suprisingly easy. Hail clang!
On Linux at least, most if not all ethertypes defined in libnet-headers.h are also defined in the compiler's standard include files (net/ethertypes.h, linux/if_ether.h and maybe others too)
That's not a problem because ethertypes are a IEEE 802.3 standard. But for some reason, the Hex letter digits in libnet-headers.h are all lowercase but those in the standard include files are all uppercase (as they are throughout all RFCs(see RFC7042 and RFC2464). This harmless macro redefinition causes clang (and maybe others too) to go berserk.
Maybe it's time to let the standard include files handle ethertypes instead of libnet-headers.h. For now, I am just going to add diagnostic pragmas to the conflicting ethertypes to suppress macro redefinition warnings caused this way.
Even though libnet.h is always regenerated by configure, having it around still has some benefits (with respect to documentation)

- Docs can be created independently from building (by running doxygen doc/libnet.doxygen.conf)

- Docs can be hosted from within the repo (via codedocs.xyz)
yet another attempt to come after Travis build error by updating autoconf and libnet before building
@sgeto sgeto force-pushed the master branch 4 times, most recently from 7de8795 to 41eb411 Compare June 9, 2018 12:37
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.

1 participant