speed up Generating list of signal names (XXX can we wrap this into one compile, anyway?)
This commit is contained in:
parent
607a2af260
commit
412a96d29a
15
Build.sh
15
Build.sh
@ -1,5 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
srcversion='$MirOS: src/bin/mksh/Build.sh,v 1.532 2012/04/01 04:57:24 tg Exp $'
|
srcversion='$MirOS: src/bin/mksh/Build.sh,v 1.533 2012/04/01 16:40:26 tg Exp $'
|
||||||
#-
|
#-
|
||||||
# Copyright (c) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
# Copyright (c) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
||||||
# 2011, 2012
|
# 2011, 2012
|
||||||
@ -1361,7 +1361,7 @@ else
|
|||||||
#define EXTERN
|
#define EXTERN
|
||||||
#define MKSH_INCLUDES_ONLY
|
#define MKSH_INCLUDES_ONLY
|
||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
__RCSID("$MirOS: src/bin/mksh/Build.sh,v 1.532 2012/04/01 04:57:24 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/Build.sh,v 1.533 2012/04/01 16:40:26 tg Exp $");
|
||||||
int main(void) { printf("Hello, World!\n"); return (0); }
|
int main(void) { printf("Hello, World!\n"); return (0); }
|
||||||
EOF
|
EOF
|
||||||
case $cm in
|
case $cm in
|
||||||
@ -1744,7 +1744,8 @@ if test 0 = $HAVE_SYS_SIGNAME; then
|
|||||||
else
|
else
|
||||||
$e No list of signal names available via cpp. Falling back...
|
$e No list of signal names available via cpp. Falling back...
|
||||||
fi
|
fi
|
||||||
sigseen=:
|
sigseenone=:
|
||||||
|
sigseentwo=:
|
||||||
echo '#include <signal.h>
|
echo '#include <signal.h>
|
||||||
#ifndef NSIG
|
#ifndef NSIG
|
||||||
#if defined(_NSIG)
|
#if defined(_NSIG)
|
||||||
@ -1774,6 +1775,10 @@ mksh_cfg= NSIG
|
|||||||
sed 's/^\(.*[ ]SIG\)\([A-Z0-9]*\)\([ ].*\)$/\2/' | sort`
|
sed 's/^\(.*[ ]SIG\)\([A-Z0-9]*\)\([ ].*\)$/\2/' | sort`
|
||||||
test $NSIG -gt 1 || sigs=
|
test $NSIG -gt 1 || sigs=
|
||||||
for name in $sigs; do
|
for name in $sigs; do
|
||||||
|
case $sigseenone in
|
||||||
|
*:$name:*) continue ;;
|
||||||
|
esac
|
||||||
|
sigseenone=$sigseenone$name:
|
||||||
echo '#include <signal.h>' >conftest.c
|
echo '#include <signal.h>' >conftest.c
|
||||||
echo int >>conftest.c
|
echo int >>conftest.c
|
||||||
echo mksh_cfg= SIG$name >>conftest.c
|
echo mksh_cfg= SIG$name >>conftest.c
|
||||||
@ -1783,10 +1788,10 @@ mksh_cfg= NSIG
|
|||||||
done | sed -e '/^:/d' -e 's/:/ /g' | while read nr name; do
|
done | sed -e '/^:/d' -e 's/:/ /g' | while read nr name; do
|
||||||
test $printf = echo || nr=`printf %d "$nr" 2>/dev/null`
|
test $printf = echo || nr=`printf %d "$nr" 2>/dev/null`
|
||||||
test $nr -gt 0 && test $nr -le $NSIG || continue
|
test $nr -gt 0 && test $nr -le $NSIG || continue
|
||||||
case $sigseen in
|
case $sigseentwo in
|
||||||
*:$nr:*) ;;
|
*:$nr:*) ;;
|
||||||
*) echo " { \"$name\", $nr },"
|
*) echo " { \"$name\", $nr },"
|
||||||
sigseen=$sigseen$nr:
|
sigseentwo=$sigseentwo$nr:
|
||||||
$printf "$name=$nr " >&2
|
$printf "$name=$nr " >&2
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
Loading…
x
Reference in New Issue
Block a user