Rather than early-include sys/socket.h, let's allow the includer to
tell cody no networking.
libcody/
* cody.hh: Allow user to set CODY_NETWORKING.
gcc/cp/
* mapper-resolver.cc: Remove early include of
sys/socket.h. Specify no CODY_NETWORKING instead.
* module.cc: Specify no CODY_NETWORKING.
/* Forward to the resolver in c++tools. */
#include "config.h"
-#if defined (__unix__)
-// Solaris11's socket header used bcopy, which we poison. cody.hh
-// will include it later under the above check
-#include <sys/socket.h>
-#endif
-
#define INCLUDE_ALGORITHM
#include "system.h"
+// We don't want or need to be aware of networking
+#define CODY_NETWORKING 0
#include "../../c++tools/resolver.cc"
#define _DEFAULT_SOURCE 1 /* To get TZ field of struct tm, if available. */
#include "config.h"
-
#include "system.h"
#include "coretypes.h"
#include "cp-tree.h"
#include "attribs.h"
#include "intl.h"
#include "langhooks.h"
+/* This TU doesn't need or want to see the networking. */
+#define CODY_NETWORKING 0
#include "mapper-client.h"
#if HAVE_MMAP_FILE && _POSIX_MAPPED_FILES > 0
#ifndef CODY_HH
#define CODY_HH 1
+// If the user specifies this as non-zero, it must be what we expect,
+// generally only good for requesting no networking
+#if !defined (CODY_NETWORKING)
// Have a known-good list of networking systems
#if defined (__unix__) || defined (__MACH__)
#define CODY_NETWORKING 1
#undef CODY_NETWORKING
#define CODY_NETWORKING 0
#endif
+#endif
// C++
#include <memory>