Commit Graph

171 Commits

Author SHA1 Message Date
tg d62686fdf8 don't scan for revoke() if mksh_small since use_chvt isn't used then 2007-01-26 18:25:01 +00:00
tg dec386d3f5 fix test for flock() on Debian 4.0 2007-01-18 20:40:39 +00:00
tg 9a442d732e oops, persistent history also depends on MKSH_FULL 2007-01-18 16:06:22 +00:00
tg 6d157ffe47 autoscan for persistent history support 2007-01-18 16:05:05 +00:00
tg 7b903e4aa9 header overhaul: replace all #ifdef __OS__ with mirtoconf checks
(except the persistent history one)
2007-01-18 15:50:32 +00:00
tg 44af708ac8 remove a line which shows the other possible values of $s
separate commit for educational & hysteric purposes
2007-01-18 03:31:50 +00:00
tg 1ea10f62cd more ldstatic fuckup, late night reverse logic errors 2007-01-18 03:31:24 +00:00
tg ef81fd0b75 simplify this LDSTATIC shit and fix -nd in the process *sigh*
found on ecce!GNU/Linux 1.0, all tests pass, mksh-current
is exactly half the size of bash 2.01.1(1)r, both dynamic
2007-01-18 02:54:19 +00:00
tg 21bceac32e autoscan for the correct ed(1) type
XXX amend check_categories with stuff like persist history, etc.
2007-01-18 01:10:55 +00:00
tg 9e0001d315 pasto, and add more comments 2007-01-18 00:16:26 +00:00
tg 65a86d2f67 bring back sig_t as void pointer in the rare case we
don't have sighandler_t or __sighandler_t either
2007-01-18 00:10:16 +00:00
tg ecc6beb7d5 scan for sig_t (and friends) 2007-01-17 23:54:39 +00:00
tg 2099f1765d prevent confusion 2007-01-17 23:50:26 +00:00
tg bca0f4d603 * Build.sh, histrap.c: prevent testing of strsignal() if we have sys_siglist[]
* mksh.1: .Nm is never used with "" as argument, fixes GNU groff 1.15
2007-01-17 23:47:15 +00:00
tg 65a2806e81 scan for revoke() 2007-01-17 23:27:47 +00:00
tg af606537e2 if we don't have rlim_t, assume it's long 2007-01-17 23:18:55 +00:00
tg c3de1d7564 <sys/sysmacros.h> contains major/minor/makedev on Linux 2.0 2007-01-17 23:04:19 +00:00
tg 4c82f74d2b new option -nd to force static linking of mksh but not mirtoconf tests 2007-01-17 22:59:25 +00:00
tg da2f916010 remove -x (cross-build) option, use -d instead, it does the same
side effect: TARGET_OS is now honoured without -x too
2007-01-17 22:55:47 +00:00
tg ddd2dac47d * support old environments without libgen.h (ancient GNU/Linux)
and stdbool.h (ancient GNU/Linux; NetBSD® 1.6.1)
* __dead must come after, not before, to accomodate gcc 2.7.2.3
2007-01-17 22:51:47 +00:00
tg 8fea7398d3 we need "$CC -E -" as cpp, not "$CC -E"
found on
Linux ecce 2.0.38 #1 Wed Jul 26 22:05:46 2000 i686 unknown
Reading specs from /usr/lib/gcc-lib/i386-linux/2.7.2.3/specs
gcc version 2.7.2.3

Note: during the entire compile, there are warnings like
| gcc: unrecognized option `-std=gnu99'
but these won't trigger -Werror since they are in the driver,
not in the front-end, so they are harmless, I guess. (I don't
know of a way to make them vanish, either.)
2007-01-17 22:35:09 +00:00
tg ceb5a7dba0 check if __RCSID() can be used multiple times; req'd eg. on Mac 2007-01-17 21:42:23 +00:00
tg 42783fdfd9 only call nroff to see if it's gnroff if -r is not given 2007-01-17 17:57:31 +00:00
tg f077c0ab5a list all "known good" OSes in the $TARGET_OS switch,
echo a warning (but continue) for unknown OSes, with
the desire the porter should send in diffs
2007-01-17 17:46:18 +00:00
tg 8620379fcc * add #ifdef MKSH_NOPWNAM to prevent pulling in getpwnam()
* document possible "functionality omission defines" in Build.sh
* sort and sectionise mirtoconf checks; add big comments
2007-01-17 17:42:22 +00:00
tg c231ab8cc4 * order tests: we want to use correct NOWARN as much as possible
* "$e" and "echo" fixes for if the stuff begins with a -, and
  quoting cleanup (where feasible, feel free to send diffs)
* cosmetics

I hereby name this baby "Mirtoconf".
2007-01-17 17:31:59 +00:00
tg f946d405f8 if both "$CPP" (from parent) and "$CC -E" fail, try "cpp" (from $PATH) and
"/usr/libexec/cpp" and "/lib/cpp" last
2007-01-17 17:14:25 +00:00
tg 8211416e5a make a loop (removes dup code) 2007-01-17 17:12:43 +00:00
tg 478374ba3b autoscan for c præprocessor now prefers $CPP to "$CC -E" 2007-01-17 17:08:34 +00:00
tg da03ad5be2 autoconf for -O2 (if CFLAGS is _empty_), -Wall, -fwrapv, -fno-strict-aliasing
XXX untested
2007-01-17 17:03:59 +00:00
tg d4b4ca5e92 simplify 2007-01-17 16:57:41 +00:00
tg e19a99efaf more creative use of ac_flags() 2007-01-17 16:52:00 +00:00
tg f6dbde5115 thinko 2007-01-17 16:44:19 +00:00
tg bcb0852dcc new shell function for autoconfing compiler flags, reduces redundancy 2007-01-17 16:39:55 +00:00
tg 69584be3bb add two TODOs 2007-01-17 01:59:38 +00:00
tg 263f518dfd * Build.sh: add -fwrapv to standard CFLAGS, just to be on the safe
side (I don't have capacities to scan 71711 files in MirOS for a
  standards-compliance whack)
* copyright: mention CVS changelogs as place of contributors' name
  and credit information, too
* check.t, sh.h: bump
2007-01-17 01:24:29 +00:00
tg a00fbd3eb7 autoconf for -std=gnu99 (not c99 because of brokenness in the field)
from ankon -> solaris 10 with gcc 3.4.6 from sunfreeware
2007-01-14 21:38:25 +00:00
tg 03e8f0ec83 CPP is honoured now as well (but only needed for the siglist) 2007-01-12 03:30:40 +00:00
tg 9c888e103a oops… really unbreak -d 2007-01-12 03:20:07 +00:00
tg 22538dcf0d unbreak -d 2007-01-12 03:17:08 +00:00
tg e9d944e825 user should be able to override if he wants setlocale calls in his
extra small mksh…
2007-01-12 02:46:27 +00:00
tg ca7a9c3eb0 ] scn.c:1: warning: ISO C forbids an empty source file
yeaaah, we #error out anyway, but…
2007-01-12 02:40:18 +00:00
tg e768017c58 gcc 4.1.2 pedantic warning free configure 2007-01-12 02:37:32 +00:00
tg 2c46d96042 * instead of setting LDSTATIC='' for OSes which did not support it
until now, set it to '@'
* if LDSTATIC is '@' make it '-static' if MKSH_SMALL, '' otherwise

Yep, this might break, e.g. Darwin or Cygwin. But let's test that.
2007-01-12 02:34:46 +00:00
tg 21e2397c1b disallow the user to specify (overload) SRCS, if there is special
target platform specific crap, it belongs into LIBS instead
2007-01-12 02:27:40 +00:00
tg 6e5437f86b interesting way to break things… oeps ☺ 2007-01-12 02:12:16 +00:00
tg 552aebd24f more verbose 2007-01-12 02:09:10 +00:00
tg 80393db1b6 fix configuration on solaris 8 with whitespaces in both curdir and
srcdir, mostly due to 'eval' issues and a picky /bin/sh (yeaaah…)
2007-01-12 02:01:48 +00:00
tg 5891915f1b * Scan for __attribute__((...)) in general (the earliest was 2.5,
where we had 'noreturn' etc. but no '__noreturn__')
* Scan for __attribute__((bounded)) and __attribute__((used))
  if we have __attribute__((noreturn))
* To be able to scan if certain attributes give warnings,
  scan for -Werror with a simple programme which hopefully triggers none
* Convert __attribute__((unused)) to __unused, noreturn -> __dead
* Unify other attributes
* Clean up typography a little more
2007-01-12 01:49:29 +00:00
tg 70eb6d19c2 solaris /bin/sh:
| v() { ... }
| v=1
undefines v()
2007-01-12 01:44:32 +00:00