It is necessary to modify hmacros.h to avoid very poor performance and DBG error messages on the Hercules console due to calling select() with a non-socket file descriptor. The other changes are not essential but recommended, otherwise different parts of Hercules may fail to work correctly.
If panel.c is not modified, the control panel does not accept keyboard input and Hercules can only be controlled using it's web interface (which is tricky to configure correctly but can be done. See controlling Hercules on VMS via the web interace.)
If cardrdr.c is not modified, card readers do not work.
If hetlib.c is not modified, HET tapes do not work.
If hscutl.c is not modified, use of 2703 communication adaptors may cause Hercules to hang.
If hostopts.h is not modified, there will be many warnings that default host options are being used but few consequences.
The changes to hdlmain.c avoids two undefined symbols at link time due to lack of TUN/TAP support. However, there do not appear to be any ill effects if this issue is ignored.