Commit Graph

765 Commits

Author SHA1 Message Date
tg 4d2624fd1d add test how to run the C preprocessor and fix the $NOWARN check and docs 2007-01-11 02:37:40 +00:00
tg 546e97621a small mkshs also shouldn't pull in the entire locale package,
so don't even call setlocale, lest alone nl_langinfo (already
disabled before)
2007-01-11 02:11:46 +00:00
tg e269c4ed29 if building a small mksh, don't check for persistent history,
since it's not supported anyway; makes regression tests pass there
2007-01-11 02:08:50 +00:00
tg f3168d3e9d introduce TARGET_OS, for crossbuilds, contains uname -s output 2007-01-11 00:57:56 +00:00
tg 8bfc693178 this double-backtick in double-backtick (SunOS /bin/sh) stuff
looked waay too weird to me, use a temporary variable instead
and make the two occurencies of the code look more alike
2007-01-11 00:47:40 +00:00
tg 8dc1a064fa use the same matching for NSIG as for the others - cut off
everything which doesn't look like a dec/hex/oct number
2007-01-11 00:44:08 +00:00
tg c822cbedd8 oops, match hex numbers; seen while looking at ankon's (FreeBSD) problem 2007-01-11 00:38:37 +00:00
tg a080fc385d add a TODO here 2006-12-11 19:58:37 +00:00
tg 2122e253e7 fix bitching of: gcc version 3.3.5 (Debian 1:3.3.5-13) 2006-11-21 21:45:24 +00:00
tg fa7407a37c __CRAZY=Yes clean autoconf functions 2006-11-12 13:49:22 +00:00
tg 06b5723f83 oops, wrong protos 2006-11-12 13:38:40 +00:00
tg f7ef916ed9 * fix CR-LF accident
* fix gcc4 warnings in autoconf tests
* Debian needs <grp.h> for setgroups, which seems fairly POSIX

Testsuite succeeds on Debian testing/unstable (i386)
2006-11-12 13:35:29 +00:00
tg 2c1ffced08 unbelievably, cygwin doesn't have strcasestr(3) 2006-11-12 13:15:27 +00:00
tg 5267e51098 header checks before function checks 2006-11-12 13:09:09 +00:00
tg c20d203346 check for getmode as well when checking for setmode;
disable this check on winapi systems since their setmode is something else
2006-11-12 13:08:30 +00:00
tg a799f50fea scan for setresuid/setresgid and setgroups
no alternative implementation yet
2006-11-12 12:56:10 +00:00
tg feb7dddd44 * use only macros for ctype stuff any more
XXX one of these uses a gcc extension, ok for now tho
* don't include <ctype.h> any more at all
* don't try nl_langinfo in small mode, just check locale

saves 171 .text, 4 .data, 256 .bss, 1 import
2006-11-10 07:18:58 +00:00
tg 625928f9f1 make autoconf checks more verbose as well 2006-11-09 23:09:05 +00:00
tg e49b50f8f1 check for a few more things 2006-11-09 23:04:34 +00:00
tg 7148a691e0 simplify 2006-11-09 22:56:55 +00:00
tg ee55f29a31 new function ac_testn() does the same as ac_test() but doesn't amend CPPFLAGS 2006-11-09 22:56:09 +00:00
tg 2bdcd71ef0 unbreak -d (was broken in R28) 2006-11-09 22:53:21 +00:00
tg a48a880c00 ac_test for MKSH_SMALL presence in CPPFLAGS
if present, don't even look for setmode as it's only used by mknod builtin
2006-11-09 22:51:49 +00:00
tg 36ac8dc0f7 get rid of the need of strlcat() altogether (only one use was left) 2006-11-09 15:02:31 +00:00
tg 1ffa722d73 optic sugar 2006-11-09 00:13:27 +00:00
tg 0307ecb492 * instead of including <sys/cdefs.h> (not in Solaris), we hope <sys/types.h>
includes it for us
* autoconf-test for <sys/param.h> (not in SUSv3) existence
2006-11-09 00:11:39 +00:00
tg 9b0dbaddbf oops, missed syntactic change 2006-11-09 00:08:25 +00:00
tg 1c7e58a9d9 use \u0060...\u0060 instead of $(...)
demanded by solaris /bin/sh
2006-11-09 00:06:33 +00:00
tg 84088b91d0 there is no compat.c any more 2006-11-09 00:03:37 +00:00
tg e97ddf1eef some build issues 2006-11-09 00:01:04 +00:00
tg 11fbdb4378 implement autoconf tests for langstuff; sync date 2006-11-08 23:45:47 +00:00
tg d5c0de53e3 use shell macros instead of dupe code 2006-11-08 23:38:28 +00:00
tg 0e0782c856 first attempts at more autoconf'isation 2006-11-08 23:23:41 +00:00
tg 367186ecbc something about the strength-reduce bug being fixed 2006-09-29 19:33:48 +00:00
tg c65efd6fd4 of course, I had to screw up
tested on Debian stale:
| Total failed: 1 (as expected)
| Total passed: 213
| tg@flyingfish:~/mk b $ uname -a
| Linux flyingfish 2.6.13.1-grsec-aurisp #1 Wed Sep 28 15:13:07 CEST 2005 i686 GNU/Linux
2006-09-21 22:12:05 +00:00
tg 582aebf1c4 shebang, she don't work with spaces 2006-09-21 22:09:41 +00:00
tg 74efecaff0 no _POSIX_C_SOURCE=200112L for now, it works without on Solaris 8
and only without on "opensolaris build47 x86 32-bit"

reported in irc #ksh by <IvanR_> ivan@babylon-5.seppuku.net (Ivan Richwalski)
thanks
2006-09-13 23:07:10 +00:00
tg 6ec5e11ff2 in the case of BSD software, the F in RTFM is not vulgar... 2006-08-28 01:37:29 +00:00
tg 2b4f10b424 * move functions to top
* remove a few immature or redundant comments
* variablise better; use /usr/ucb/install on Solaris
2006-08-28 01:30:37 +00:00
tg 606909d6f6 Solaris 8 friendliness 2006-08-26 20:48:29 +00:00
tg 695503952f use an autoconf-like approach to check for arc4random(3)
after gecko2 told me his mac recently has it and I found
out that Interix has it in -lcrypt and soon -lmirmake (:
2006-08-26 20:30:27 +00:00
tg c81966621a merge non-Plan9-specific stuff from the branch, add KNF, etc. 2006-08-24 20:32:53 +00:00
tg e20d82c4d1 * rename the (generated) Test.sh to test.sh
* point to it, TFM and the sample more
2006-08-22 22:01:59 +00:00
tg b208f76525 fix quoting levels of backthingies 2006-08-12 20:30:22 +00:00
tg 36b7c841d3 some help from the autoconf portable shell docs 2006-08-12 20:19:36 +00:00
tg 70babe6b0c fix and simplify further 2006-08-12 20:01:35 +00:00
tg d1dfe9657f simplify further 2006-08-12 19:53:39 +00:00
tg cca3f93e59 a probably-Solaris-/bin/sh-workable improved algorithm 2006-08-12 19:51:09 +00:00
tg 0eb31f6a82 optimise signames.inc output (shrinks binary size) 2006-08-12 19:38:44 +00:00
tg e7fab65d5b -D_ANSI_SOURCE no longer needed, verified on all platforms which
actually need signame.inc
2006-08-12 19:26:20 +00:00
tg 2950eea78d mirbsdksh -> mksh 2006-08-12 18:49:21 +00:00
tg 9bda688f59 sanitise variable handling and nroff vs gnroff detection 2006-08-12 18:48:39 +00:00
tg 24000a4fb2 gensigs.sh was called with $SHELL (or /bin/sh if $SHELL was a csh),
which failed for Han Boetes using zsh as user shell (to test). Now,
the code is integrated into Build.sh as-is, and Test.sh uses $SHELL
no longer either but the mksh just built, in the shebang line.
2006-08-12 18:43:55 +00:00
tg e2e1a01610 use $SHELL for Test.sh too 2006-08-02 14:17:13 +00:00
tg bef8651936 * Build.sh: fix manpage generation defaults under Cygwin
* mksh.1: rework prompt ($PS1) section, simplify example,
  point to packaged dot.mkshrc example
* mksh.1: fix description of 'redraw' regarding redrawal
  of prompts longer than one screen line
* all: bump version/date
2006-08-02 11:50:30 +00:00
tg df54522223 * Build.sh: fix accidental CR-LF catastrophe
(yeah, that's what you get from developing with a
  16-bit MS-DOS(R) executable of your favourite text editor)
* lex.c, mksh.1: do not print the delimiting character for
  not-to-be-counted character sequences (i.e. ANSI escapes)
  in prompts any more, mostly because ASCII 01h is printable
  on both Interix and Cygwin and I'm lazy
  (this also fixes prompt width counting if a printable character
  such as 'x' is used as delimiting character)
* lex.c: through printing the prompt character by character,
  also print the delimited sequences if skipping, fixes some
  prompt redrawal not honouring colours stuff while not totally
  redrawing the entire prompt
2006-08-02 10:41:03 +00:00
tg ce8fd25903 fix build on Cygwin, has been broken for quite some time apparently 2006-08-02 10:02:21 +00:00
tg e65d9edc11 * use strsignal(3) not strerror(3), oops
* on GNU, that needs -D_GNU_SOURCE
* a little style(9) KNF while here
2006-08-01 12:57:07 +00:00
tg f1e8f970c4 * get dot.mkshrc sample from Debian mksh-27.4-2
* sync dot.mkshrc sample with FreeWRT r383
* add some stuff from src/etc/profile and contrib/samples/etc_profile
* sync the latter two with reality and shorten
* teach the user in the mksh installation instructions to install the sample

NB: the sample is also covered by the MirOS licence
2006-07-23 18:44:22 +00:00
tg 8f2400d002 allow Test.sh to be passed arguments 2006-07-03 12:17:08 +00:00
tg c9953f0ace adding -Wno-char-subscripts for Solaris is wrong
- I saw it on NetBSD®/alpha too
- these ought to be fixed

I've got to investigate that later.
2006-07-01 14:39:41 +00:00
tg fc87ecb1dd add a little portability 2006-06-23 15:05:39 +00:00
tg 51d6772800 move -D_FILE_OFFSET_BITS=64 (not on interix tho, sadly) - XXX where else?
and -DNEED_COMPAT
2006-05-27 20:33:01 +00:00
tg ea102ef66e fix build under Solaris 10
From: Tonnerre LOMBARD <tonnerre@bsdprojects.net>

doesn't break Solaris 8 on stinky.trash.net (tested)
2006-05-27 11:30:07 +00:00
tg 576e19b39e need confstr proto on Debian 2006-05-26 22:24:20 +00:00
tg f4ea190e65 why do I suddenly need -D_BSD_SOURCE on GNU where I didn't before? 2006-05-10 20:34:28 +00:00
tg 5726a50ab9 * shuffle around _*_SOURCE definitions (sh.h -> Build.sh), per OS
* Tonnerre Lombard reports that Solaris 10 needs _BSD_SOURCE
2006-03-19 18:06:32 +00:00
tg 8301a9bd51 flesh out regression test into an on-the-fly-generated ./Test.sh
so that the user doesn't have to copy and paste a super-long line

idea by Han Boetes and others
2006-01-27 00:50:12 +00:00
tg a0e618395e only add /bin/mksh to /etc/shells once, hint from Han Boetes 2005-10-26 08:47:19 +00:00
tg dba27d6ef4 this commentary is no longer needed 2005-10-25 21:07:21 +00:00
tg 3e688e426e Solaris and GNU/Linux have fucked up PAM, so no -static there 2005-10-25 20:59:00 +00:00
tg 7d5d3d8440 no LDSTATIC on Darwin 2005-10-25 20:54:29 +00:00
tg 91303fe9d1 if we have some C shell, use /bin/sh instead 2005-10-25 19:46:52 +00:00
tg df22a0fb1b Shuffle some stuff around to the compat functions and add glue 2005-10-25 19:46:11 +00:00
tg 309b8d635f * make 64-bit clean on GNU/Linux by default
* clean up and remove some .Xr from the man page
* bump version
2005-08-21 13:02:17 +00:00
tg ee7992988b * move <sys/param.h> include to sh.h
* fix compilation and invocation of test suite with whitespace in
  the pathnames for real, this time
* clean up (especially whitespace)
2005-07-07 23:27:52 +00:00
tg c4629baed6 adjust "hints" 2005-06-08 23:02:08 +00:00
tg eaed948075 error messages to stderr
from Han Boetes
2005-06-08 22:47:54 +00:00
tg 3b5d75318d fix -r logic 2005-06-08 22:46:06 +00:00
tg d790bd7094 Han Boetes wants a parameter for dynamically linked binaries
so I'll re-code a getopt clone

This _still_ works with Solaris /bin/sh, even if both source
and build (current) directory contain spaces.
2005-06-08 22:42:31 +00:00
tg 521da70fc8 * major revamp of build system
* whitespace cleanup; junk comment removal
* syndicate debian/copyright file from my port (shrinks sh.h)
* bump to R23
2005-06-08 21:51:22 +00:00
tg ba682b02aa adjust comments 2005-06-08 10:19:33 +00:00
tg 0df992276b mksh R22d 2005-06-05 16:38:20 +00:00
tg 0ee7babfdf * allow build without nroff
* /usr/share/man except in some very weird GNU distributions
2005-06-05 16:34:59 +00:00
tg f860e80cbc this commit made my dedicated server reboot spontaneously,
but the Pentium 120 with a Hercules graphics card (anno 1981)
survives it:

allow building and running the testsuite if the source or
build directory contain spaces (not unusual on Windows®)
2005-05-30 07:05:29 +00:00
tg a2d62f743e fix building in separate directory under non-MirOS 2005-05-28 21:30:32 +00:00
tg 7f4297f3d0 add a "quiet mode" to the build script 2005-05-25 23:44:50 +00:00
tg 1dd37a1086 need -D_FILE_OFFSET_BITS=64 on some weird OS
Debian PR 237038
2005-05-25 09:53:02 +00:00
tg 1c0262455c * Mac OSX 10.4 "Tiger"
- has an antiquated ed(1)
	  (I'm lucky it has one, some GNU/Linux don't...)
	- cannot build mksh statically linked
* Solaris (SunOS 5.8)
	- needs libdl when statically linked (NSSwitch problem)
	- /bin/sh is not XPG.4 compatible, don't use test -e
2005-05-23 17:24:23 +00:00
tg 3f7fe0e4dc though shalt not leave in debugging blahblah 2005-05-23 16:56:22 +00:00
tg 452dd16298 add a new, easier, faster build script 2005-05-23 16:48:52 +00:00
tg a90702a5a1 Initial revision 2005-03-06 15:42:55 +00:00
tg e8307f4a45 get rid of manually generated signal lists 2004-12-31 19:24:20 +00:00
tg 4c4a9323f8 unifdef: KSH
no binary change
2004-12-18 18:58:32 +00:00
tg 978a1d53a1 * reduce amount of empty lines
* replace some spaces by tabs
* shuffle code around (shrink)
2004-12-13 18:53:25 +00:00
tg 85a62c2ea2 shrink a bit 2004-12-13 17:33:35 +00:00
tg 97d9512149 bump to mksh R19 2004-12-10 18:12:32 +00:00
tg 7920708324 Initial revision 2004-12-10 18:12:29 +00:00
tg 2aaea3d8d2 regenerate and auto-build h2ph test stuff,
to cope with broken OSes which don't h2ph.
2004-12-10 15:32:58 +00:00
tg d3e5bf1ef2 * replace all occurences of old eMail addresses of mine
with their more recent counterparts
* no $Log keyword!
* update licence template to most recent version in files touched
* in some places, don't add our own licence boilerplate, just
  add my name to the others
* make dev/rndvar.h suitable for inclusion in asm code
* include dev/rndvar.h by in_cksum.s instead of
  hardcoding pool size
* ENTRY(a); ENTRY(b) -> NENTRY(a); ENTRY(b)
* RCS IDs belong into .comment not .text
2004-12-05 13:24:34 +00:00
tg 6b85a22986 leave stripping to the user 2004-11-13 17:16:22 +00:00
tg c53499b45e * Build.sh: bail out early if build failure
* Build.sh: fix manpage name
* chvt.c: Solaris:
   chvt.c:57: `TIOCSCTTY' undeclared (first use in this function)
* chvt.c: GNU/Linux:
   /tmp/ccrAeq0h.o(.text+0x5e): In function `chvt':
   : warning: warning: revoke is not implemented and will always fail
* sh.h: let it only change to .section .comment ifdef __ELF__
2004-11-10 19:58:06 +00:00
tg ff8192c9b9 remove mail check functionality (everybody SANE uses uw, imaps and mbx now)
update notes
fix Build.sh
2004-11-10 17:13:11 +00:00
tg 78a5e1d662 fixes for stuff, better display of mksh version, etc. 2004-10-28 16:35:03 +00:00
tg f69ea9226a mirbsdksh (portable) now installs as mksh(1) 2004-10-28 16:08:32 +00:00
tg 6c341ba97b advice to use mksh, not mirbsdksh, as the executable name
as per shell naming convention
2004-09-11 18:32:26 +00:00
tg d78fc404ff since some Debian GNU/Something people don't get it, add another
explicit notice to the already existing notice to set $SHELL in
the build environment to a compatible shell

argumenting with POSIX doesn't count: it doesn't count leap seconds.
2004-09-03 20:02:49 +00:00
tg 6b5d33de78 * I got tricked by <gecko2> to add install documentation!
(Well, he's a Mac user, so let's help these poor children
   if they don't know how to do it themselfes ;-)
* fix stripping (now that I know elf.sc by heart...)
* fix catmanpage generation
* detect if catmanpage or stripped binary are generated
2004-08-27 20:05:42 +00:00
tg 44d697ade6 * Build.sh: fix a bug preventing build on MirOS #7-stable (sparc)
* rnd.c, sh.h: style
2004-08-27 14:55:45 +00:00
tg bb84d64807 mop licence 2004-06-02 15:06:50 +00:00
tg aa12424a89 * use -mdoc macros directly
* use test instead of [ (for portability to slowlaris) constantly
* improve stripping process
* try basic stripping even on weird OSes
2004-05-25 22:19:30 +00:00
tg 7582374138 blärgh 2004-05-24 20:17:50 +00:00
tg be0b2c7aed build fixes *sigh* 2004-05-24 20:13:03 +00:00
tg 6c8eabf72e polish, mop up whitespace, etc.
passes regressions on MirOS
2004-05-24 19:56:25 +00:00
tg c3babfb63d * mirbsdksh is now maintained in the HEAD branch again
* remove aclocal.m4-local copy of the GNU GPL'd AC_TRY_RUN macro
  (makes no difference, except maybe on OS/2)
2004-05-24 16:24:42 +00:00