mlibc: Mescc-tools support: endianness.

* mlibc/include/endian.h: New file.
* mlibc/include/ctype.h[!(__GNUC__ && POSIX)]: Include it.
* mlibc/include/stdlib.h: Likewise.
* mlibc/include/sys/types.h: Likewise.
This commit is contained in:
Jan Nieuwenhuizen 2017-11-19 14:06:32 +01:00
parent 7f1aaa9914
commit 2555427610
4 changed files with 42 additions and 1 deletions

View file

@ -28,6 +28,7 @@
#include_next <ctype.h> #include_next <ctype.h>
#else // ! (__GNUC__ && POSIX) #else // ! (__GNUC__ && POSIX)
#include <endian.h>
int isdigit (int); int isdigit (int);
int isxdigit (int); int isxdigit (int);
#endif // ! (__GNUC__ && POSIX) #endif // ! (__GNUC__ && POSIX)

36
mlibc/include/endian.h Normal file
View file

@ -0,0 +1,36 @@
/* -*-comment-start: "//";comment-end:""-*-
* Mes --- Maxwell Equations of Software
* Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
*
* This file is part of Mes.
*
* Mes is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or (at
* your option) any later version.
*
* Mes is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Mes. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __MES_ENDIAN_H
#define __MES_ENDIAN_H 1
#if __GNUC__ && POSIX
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif
#undef __MES_ENDIAN_H
#include_next <endian.h>
#else // ! (__GNUC__ && POSIX)
#define __LITTLE_ENDIAN 1234
#define __BIG_ENDIAN 4321
#define __BYTE_ORDER __LITTLE_ENDIAN
#endif // ! (__GNUC__ && POSIX)
#endif // __MES_ENDIAN_H

View file

@ -49,6 +49,8 @@ unsigned long long strtoull (char const *nptr, char **endptr, int base);
#define EXIT_FAILURE 1 #define EXIT_FAILURE 1
#define EXIT_SUCCESS 0 #define EXIT_SUCCESS 0
#include <endian.h>
#endif // !(__GNUC__ && POSIX) #endif // !(__GNUC__ && POSIX)
#endif // __MES_STDLIB_H #endif // __MES_STDLIB_H

View file

@ -23,7 +23,9 @@
#if __GNUC__ && POSIX #if __GNUC__ && POSIX
#undef __MES_SYS_TYPES_H #undef __MES_SYS_TYPES_H
#include_next <sys/types.h> #include_next <sys/types.h>
#endif // (__GNUC__ && POSIX) #else // ! (__GNUC__ && POSIX)
#include <endian.h>
#endif // ! (__GNUC__ && POSIX)
#endif // __MES_SYS_TYPES_H #endif // __MES_SYS_TYPES_H