From df22a0fb1b8026486a670ae9bb22b2841b95baea Mon Sep 17 00:00:00 2001 From: tg Date: Tue, 25 Oct 2005 19:46:11 +0000 Subject: [PATCH] Shuffle some stuff around to the compat functions and add glue --- Build.sh | 10 +++++++--- sh.h | 37 ++++--------------------------------- 2 files changed, 11 insertions(+), 36 deletions(-) diff --git a/Build.sh b/Build.sh index 3bc1c2b..dfcdae7 100644 --- a/Build.sh +++ b/Build.sh @@ -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... - 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" \ diff --git a/sh.h b/sh.h index 91689c4..893fdde 100644 --- a/sh.h +++ b/sh.h @@ -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 #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)) \