digarok / gsplus

Modern cross-platform Apple IIgs emulator and tools based on KEGS
http://apple2.gs/plus
GNU General Public License v2.0
151 stars 45 forks source link

Support for WITH_RAWNET? #109

Closed webspacecreations closed 3 years ago

webspacecreations commented 4 years ago

When I pass WITH_RAWNET as a compiler option, compilation of the current codebase fails with error messages related to not being able to find functions declared within header files contained in the rawnet folder. I'm guessing some additional hinting within the CMakeLists.txt is needed in order for the functions to be recognized, but with the move to cmake, I'm a lot less clear on what needs to happen.

Based on output from make, rawnet and atbridge are being successfully compiled without the WITH_RAWNET option, but proper linkage seems to be the issue. Has anyone successfully incorporated ethernet functionality into the current (post 0.14) codebase and, if so, would you mind sharing any tips?

ksherlock commented 3 years ago

Do you have the libpcap headers installed?

webspacecreations commented 3 years ago

Definitely. Tested both on Pi and x86 (Raspbian / Ubuntu). Looks like WITH_RAWNET switch needs to be passed at compile time, but in moving from v014 to current, build system moved to cmake (I'm not sure how to pass WITH_RAWNET). If I "hard-code" the switch, then I get the errors related to not finding functions. My guess is that there's an unresolved linkage issue associated with the move from make to cmake (at least on Linux), but I haven't used cmake enough to know how to resolve.

This is somewhat complicated by the fact that, coinciding with the switch to cmake, was a switch from ATBRIDGE to RAWNET. v014 compiles (with ethernet support) just fine.

ksherlock commented 3 years ago

cmake .. -DWITH_RAWNET=ON or use ccmake .. (after cmake has run the first time)

webspacecreations commented 3 years ago

Awesome, that works! Might be worth noting in the README, but this resolves the issue. Thanks!