diff --git a/Build.sh b/Build.sh index c39105a..5cbb0ea 100644 --- a/Build.sh +++ b/Build.sh @@ -1,5 +1,5 @@ #!/bin/sh -# $MirOS: src/bin/mksh/Build.sh,v 1.143 2007/01/18 15:50:31 tg Exp $ +# $MirOS: src/bin/mksh/Build.sh,v 1.144 2007/01/18 16:05:04 tg Exp $ #- # Env: CC, CFLAGS, CPP, CPPFLAGS, LDFLAGS, LIBS, NOWARN, NROFF, TARGET_OS # CPPFLAGS recognised: MKSH_SMALL MKSH_NOPWNAM @@ -418,6 +418,12 @@ ac_test arc4random_push arc4random 0 <<-'EOF' int main(void) { arc4random_push(1); return (0); } EOF +ac_test flock_ex '' 'flock and LOCK_EX' <<-'EOF' + #include + int main(void) { return (flock(0, LOCK_EX)); } +EOF +test 1 = $HAVE_FLOCK_EX || check_categories=$check_categories,no-histfile + ac_test setlocale_ctype '' 'setlocale(LC_CTYPE, "")' <<-'EOF' #include #include diff --git a/Makefile b/Makefile index c7fda99..8befbf0 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# $MirOS: src/bin/mksh/Makefile,v 1.28 2007/01/18 15:50:32 tg Exp $ +# $MirOS: src/bin/mksh/Makefile,v 1.29 2007/01/18 16:05:05 tg Exp $ PROG= mksh SRCS= alloc.c edit.c eval.c exec.c expr.c funcs.c histrap.c \ @@ -12,10 +12,11 @@ CPPFLAGS+= -DHAVE_ATTRIBUTE=1 -DHAVE_ATTRIBUTE_BOUNDED=1 \ -DHAVE_RLIM_T=1 -DHAVE_SIG_T=1 -DHAVE_MKSH_SIGNAME=0 \ -DHAVE_SYS_SIGNAME=1 -DHAVE__SYS_SIGNAME=0 \ -DHAVE_SYS_SIGLIST=1 -DHAVE_STRSIGNAL=0 -DHAVE_ARC4RANDOM=1 \ - -DHAVE_ARC4RANDOM_PUSH=1 -DHAVE_SETLOCALE_CTYPE=1 \ - -DHAVE_LANGINFO_CODESET=1 -DHAVE_REVOKE=1 -DHAVE_SETMODE=1 \ - -DHAVE_SETRESUGID=1 -DHAVE_SETGROUPS=1 -DHAVE_STRCASESTR=1 \ - -DHAVE_STRLCPY=1 -DHAVE_MULTI_IDSTRING=1 + -DHAVE_ARC4RANDOM_PUSH=1 -DHAVE_FLOCK_EX=1 \ + -DHAVE_SETLOCALE_CTYPE=1 -DHAVE_LANGINFO_CODESET=1 \ + -DHAVE_REVOKE=1 -DHAVE_SETMODE=1 -DHAVE_SETRESUGID=1 \ + -DHAVE_SETGROUPS=1 -DHAVE_STRCASESTR=1 -DHAVE_STRLCPY=1 \ + -DHAVE_MULTI_IDSTRING=1 .endif CDIAGFLAGS+= -Wno-cast-qual diff --git a/check.t b/check.t index e5d648d..1466dcf 100644 --- a/check.t +++ b/check.t @@ -1,4 +1,4 @@ -# $MirOS: src/bin/mksh/check.t,v 1.86 2007/01/18 15:50:32 tg Exp $ +# $MirOS: src/bin/mksh/check.t,v 1.87 2007/01/18 16:05:05 tg Exp $ # $OpenBSD: bksl-nl.t,v 1.2 2001/01/28 23:04:56 niklas Exp $ # $OpenBSD: history.t,v 1.5 2001/01/28 23:04:56 niklas Exp $ # $OpenBSD: read.t,v 1.3 2003/03/10 03:48:16 david Exp $ @@ -1961,8 +1961,7 @@ name: history-ed-1 description: Basic (ed) editing works (assumes you have generic ed editor that prints no prompts). This is for newish ed(1) and stderr. -# we don't have persistent history on Solaris (no flock) -category: !os:solaris,!oldish-ed +category: !no-histfile,!oldish-ed arguments: !-i! env-setup: !ENV=./Env!HISTFILE=hist.file! file-setup: file 644 "Env" @@ -1982,7 +1981,7 @@ expected-stderr-pattern: name: history-ed-2 description: Correct command is edited when number given -category: !os:solaris,!oldish-ed +category: !no-histfile,!oldish-ed arguments: !-i! env-setup: !ENV=./Env!HISTFILE=hist.file! file-setup: file 644 "Env" @@ -2009,7 +2008,7 @@ name: history-ed-3 description: Newly created multi line commands show up as single command in history. -category: !os:solaris,!oldish-ed +category: !no-histfile,!oldish-ed arguments: !-i! env-setup: !ENV=./Env!HISTFILE=hist.file! file-setup: file 644 "Env" @@ -3860,8 +3859,7 @@ expected-stdout: name: persist-history-1 description: Check if persistent history saving works -# we don't have persistent history on Solaris (no flock) -category: !os:solaris,!os:plan9,pdksh,!smksh +category: !no-histfile,pdksh,!smksh arguments: !-i! env-setup: !ENV=./Env!HISTFILE=hist.file! file-setup: file 644 "Env" diff --git a/sh.h b/sh.h index 2a8ec9c..f11bbba 100644 --- a/sh.h +++ b/sh.h @@ -8,7 +8,7 @@ /* $OpenBSD: c_test.h,v 1.4 2004/12/20 11:34:26 otto Exp $ */ /* $OpenBSD: tty.h,v 1.5 2004/12/20 11:34:26 otto Exp $ */ -#define MKSH_SH_H_ID "$MirOS: src/bin/mksh/sh.h,v 1.108 2007/01/18 15:50:32 tg Exp $" +#define MKSH_SH_H_ID "$MirOS: src/bin/mksh/sh.h,v 1.109 2007/01/18 16:05:05 tg Exp $" #define MKSH_VERSION "R29 2007/01/18" #if HAVE_SYS_PARAM_H @@ -740,7 +740,7 @@ extern const struct builtin shbuiltins [], kshbuiltins []; #define V_RANDOM 8 #define V_HISTSIZE 9 /* this is defined when we support persistent history, undefined otherwise */ -#if !defined(__sun__) && !defined(MKSH_SMALL) +#if HAVE_FLOCK_EX && !defined(MKSH_SMALL) #define V_HISTFILE 10 #endif #define V_COLUMNS 13