Shuffle some stuff around to the compat functions and add glue

This commit is contained in:
tg 2005-10-25 19:46:11 +00:00
parent 181463f990
commit df22a0fb1b
2 changed files with 11 additions and 36 deletions

View File

@ -1,5 +1,5 @@
#!/bin/sh
# $MirOS: src/bin/mksh/Build.sh,v 1.17 2005/08/21 13:02:16 tg Exp $
# $MirOS: src/bin/mksh/Build.sh,v 1.18 2005/10/25 19:46:10 tg Exp $
#-
# This script recognises CC, CFLAGS, CPPFLAGS, LDFLAGS, LIBS and
# NROFF. Add -d for dynamic linkage (on Mac, GNU/Linux and Solaris).
@ -48,12 +48,16 @@ SRCS="$SRCS jobs.c lex.c main.c misc.c shf.c syn.c tree.c var.c"
case "`uname -s 2>/dev/null || uname`" in
Linux)
# Hello Mr Drepper, we all like you too...</sarcasm>
SRCS="$SRCS strlfun.c"
SRCS="$SRCS compat.c strlfun.c"
;;
SunOS)
SRCS="$SRCS compat.c"
CFLAGS="$CFLAGS -Wno-char-subscripts"
;;
esac
v $SHELL "'$srcdir/gensigs.sh'" || exit 1
(v "cd '$srcdir' && exec $CC $CFLAGS -I'$curdir' $CPPFLAGS" \
(v "cd '$srcdir' && exec $CC $CFLAGS -I'$curdir' $CPPFLAGS" -DNEED_COMPAT \
"$LDFLAGS $LDSTATIC -o '$curdir/mksh' $SRCS $LIBS") || exit 1
test -x mksh || exit 1
[ $r = 1 ] || v "${NROFF:-nroff} -mdoc <'$srcdir/mksh.1' >mksh.cat1" \

37
sh.h
View File

@ -1,4 +1,4 @@
/** $MirOS: src/bin/mksh/sh.h,v 1.19 2005/10/21 12:41:56 tg Exp $ */
/** $MirOS: src/bin/mksh/sh.h,v 1.20 2005/10/25 19:46:11 tg Exp $ */
/* $OpenBSD: sh.h,v 1.28 2005/10/04 20:35:11 otto Exp $ */
/* $OpenBSD: shf.h,v 1.5 2005/03/30 17:16:37 deraadt Exp $ */
/* $OpenBSD: table.h,v 1.6 2004/12/18 20:55:52 millert Exp $ */
@ -42,6 +42,9 @@
#if defined(__sun__) || defined(__gnu_linux__)
#include <values.h>
#endif
#if defined(NEED_COMPAT)
#include "compat.h"
#endif
/* some useful #defines */
#ifdef EXTERN
@ -1275,38 +1278,6 @@ extern void tty_close(void);
#endif
#undef I__
#if defined(__gnu_linux__)
size_t strlcat(char *, const char *, size_t);
size_t strlcpy(char *, const char *, size_t);
#endif
#if defined(__sun__)
size_t confstr(int, char *, size_t);
#endif
#ifndef timeradd
#define timeradd(tvp, uvp, vvp) \
do { \
(vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec; \
(vvp)->tv_usec = (tvp)->tv_usec + (uvp)->tv_usec; \
if ((vvp)->tv_usec >= 1000000) { \
(vvp)->tv_sec++; \
(vvp)->tv_usec -= 1000000; \
} \
} while (0)
#endif
#ifndef timersub
#define timersub(tvp, uvp, vvp) \
do { \
(vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; \
(vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec; \
if ((vvp)->tv_usec < 0) { \
(vvp)->tv_sec--; \
(vvp)->tv_usec += 1000000; \
} \
} while (0)
#endif
#ifndef HAVE_ARC4RANDOM
#if defined(__gnu_linux__) || defined(__INTERIX) || defined(__sun__) \
|| (defined(__NetBSD__) && (__NetBSD_Version__ < 106020000)) \