Commit Graph

122 Commits

Author SHA1 Message Date
tg 70eb6d19c2 solaris /bin/sh:
| v() { ... }
| v=1
undefines v()
2007-01-12 01:44:32 +00:00
tg 636ef70a24 underline actual autoconf results (test names are in bold)
FWIW, works ATM, even with spaces in directory name
2007-01-12 01:32:27 +00:00
tg 6fb4af0a9d * typo
* include path
2007-01-12 01:27:28 +00:00
tg 5309e33974 implement colouring of "autoconf" output. yay!
NB: only if stdout isatty
2007-01-12 01:17:10 +00:00
tg 2f15a11c55 Clean up the signal mess, saves 172 Bytes:
* 'sigseen' in Build.sh goes away
* Signal name existence is checked in this order:
  have our own¹ -> sys_signame[] -> _sys_signame[] -> build our own²
* Signal description existence is checked in this order:
  sys_siglist[] -> _sys_siglist[] -> strsignal() -> NULL³
¹ Predefined list of items, for operating systems where we
  cannot build² them, i.e. Plan 9 and Minix 3 (e.g. no $CPP -dD)
² The usual cpp(1) stuff
³ Changed later, see below
* Make $CPP test dependent on $NEED_MKSH_SIGNAME (others can
  be added here, this is not absolute)
* Make signal name list generation² dependent on $NEED_MKSH_SIGNAME
* Fix check if the generation worked
* Guarantee that sigtraps[*].name and sigtraps[*].mess are valid
  C strings; this makes the code shorter *and* removes a few pos-
  sible nil pointer dereferences
* Embed autoconf'd usages of sys_sig* / strsignal / mksh_sigpairs
  into inittraps()
* Check for each signal 0<=i<=NSIG that
  name is not NULL or "" -> replace with ("%d", i)
  mess is not NULL or "" -> replace with ("Signal %d", i)
  name does not start (case-insensitive) with "SIG" -> name += 3
* In gettrap(), fix check if signal name starts, case-sensitive
  or case-insensitive, depending on need, with "SIG" (bug from millert@)

Other changes:
* Build.sh: ac_test[n]() are documented
* Build.sh: ac_test[n]() can have negative prereqs as well now
* Build.sh: use <<-'EOF' consistently
* bump patchlevel to today
2007-01-12 00:25:40 +00:00
tg 3b63b986c3 * pasto (patcho?)
* improve output readability

I wonder if I should use ANSI escapes to make the results
from the configuration bold… but then, this'd look worse
in e.g. mc or less. Suggestions?
2007-01-11 03:03:34 +00:00
tg 3b6b37c671 make use of the new $CPP variable (and enable the cpp check if needed)
@Benny:	this is why I don't use GNU autoconf: writing configure.in
	files is, supposedly, easy - but nobody teaches you which
	changes you have to apply to your source files. Here I know.
2007-01-11 02:41:53 +00:00
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