/* This file should define __BYTE_ORDER as appropriate for the machine
   in question.  See string/endian.h for how to define it.

   If only the stub bits/endian.h applies to a particular configuration,
   bytesex.h is generated by running a program on the host machine.
   So if cross-compiling to a machine with a different byte order,
   the bits/endian.h file for that machine must exist.  */

#ifndef _ENDIAN_H
# error "Never use <bits/endian.h> directly; include <endian.h> instead."
#endif

#error Machine byte order unknown.
