better handling of eval and CPPFLAGS in build system
This commit is contained in:
parent
9eaf6a8e12
commit
d6bf9c197b
81
Build.sh
81
Build.sh
|
@ -1,5 +1,5 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
srcversion='$MirOS: src/bin/mksh/Build.sh,v 1.487 2011/08/26 10:24:51 tg Exp $'
|
srcversion='$MirOS: src/bin/mksh/Build.sh,v 1.488 2011/10/07 19:51:41 tg Exp $'
|
||||||
#-
|
#-
|
||||||
# Copyright (c) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
|
# Copyright (c) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
|
||||||
# Thorsten Glaser <tg@mirbsd.org>
|
# Thorsten Glaser <tg@mirbsd.org>
|
||||||
|
@ -206,11 +206,15 @@ EOF
|
||||||
test x"$fv" = x"1"
|
test x"$fv" = x"1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
add_cppflags() {
|
||||||
|
CPPFLAGS="$CPPFLAGS $*"
|
||||||
|
}
|
||||||
|
|
||||||
ac_cppflags() {
|
ac_cppflags() {
|
||||||
test x"$1" = x"" || fu=$1
|
test x"$1" = x"" || fu=$1
|
||||||
fv=$2
|
fv=$2
|
||||||
test x"$2" = x"" && eval fv=\$HAVE_$fu
|
test x"$2" = x"" && eval fv=\$HAVE_$fu
|
||||||
CPPFLAGS="$CPPFLAGS -DHAVE_$fu=$fv"
|
add_cppflags -DHAVE_$fu=$fv
|
||||||
}
|
}
|
||||||
|
|
||||||
ac_test() {
|
ac_test() {
|
||||||
|
@ -328,7 +332,7 @@ do
|
||||||
;;
|
;;
|
||||||
:-g)
|
:-g)
|
||||||
# checker, debug, valgrind build
|
# checker, debug, valgrind build
|
||||||
CPPFLAGS="$CPPFLAGS -DDEBUG"
|
add_cppflags -DDEBUG
|
||||||
CFLAGS="$CFLAGS -g3 -fno-builtin"
|
CFLAGS="$CFLAGS -g3 -fno-builtin"
|
||||||
;;
|
;;
|
||||||
:-j)
|
:-j)
|
||||||
|
@ -405,7 +409,7 @@ esac
|
||||||
# Configuration depending on OS name
|
# Configuration depending on OS name
|
||||||
case $TARGET_OS in
|
case $TARGET_OS in
|
||||||
AIX)
|
AIX)
|
||||||
CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE"
|
add_cppflags -D_ALL_SOURCE
|
||||||
: ${HAVE_SETLOCALE_CTYPE=0}
|
: ${HAVE_SETLOCALE_CTYPE=0}
|
||||||
;;
|
;;
|
||||||
BeOS)
|
BeOS)
|
||||||
|
@ -425,32 +429,32 @@ FreeBSD)
|
||||||
;;
|
;;
|
||||||
FreeMiNT)
|
FreeMiNT)
|
||||||
oswarn="; it has minor issues"
|
oswarn="; it has minor issues"
|
||||||
CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
|
add_cppflags -D_GNU_SOURCE
|
||||||
: ${HAVE_SETLOCALE_CTYPE=0}
|
: ${HAVE_SETLOCALE_CTYPE=0}
|
||||||
;;
|
;;
|
||||||
GNU)
|
GNU)
|
||||||
case $CC in
|
case $CC in
|
||||||
*tendracc*) ;;
|
*tendracc*) ;;
|
||||||
*) CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" ;;
|
*) add_cppflags -D_GNU_SOURCE ;;
|
||||||
esac
|
esac
|
||||||
# define NO_PATH_MAX to use Hurd-only functions
|
# define NO_PATH_MAX to use Hurd-only functions
|
||||||
CPPFLAGS="$CPPFLAGS -DNO_PATH_MAX"
|
add_cppflags -DNO_PATH_MAX
|
||||||
;;
|
;;
|
||||||
GNU/kFreeBSD)
|
GNU/kFreeBSD)
|
||||||
case $CC in
|
case $CC in
|
||||||
*tendracc*) ;;
|
*tendracc*) ;;
|
||||||
*) CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" ;;
|
*) add_cppflags -D_GNU_SOURCE ;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
Haiku)
|
Haiku)
|
||||||
CPPFLAGS="$CPPFLAGS -DMKSH_ASSUME_UTF8"
|
add_cppflags -DMKSH_ASSUME_UTF8
|
||||||
;;
|
;;
|
||||||
HP-UX)
|
HP-UX)
|
||||||
;;
|
;;
|
||||||
Interix)
|
Interix)
|
||||||
ccpc='-X '
|
ccpc='-X '
|
||||||
ccpl='-Y '
|
ccpl='-Y '
|
||||||
CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE"
|
add_cppflags -D_ALL_SOURCE
|
||||||
: ${LIBS='-lcrypt'}
|
: ${LIBS='-lcrypt'}
|
||||||
: ${HAVE_SETLOCALE_CTYPE=0}
|
: ${HAVE_SETLOCALE_CTYPE=0}
|
||||||
;;
|
;;
|
||||||
|
@ -460,17 +464,18 @@ IRIX*)
|
||||||
Linux)
|
Linux)
|
||||||
case $CC in
|
case $CC in
|
||||||
*tendracc*) ;;
|
*tendracc*) ;;
|
||||||
*) CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" ;;
|
*) add_cppflags -D_GNU_SOURCE ;;
|
||||||
esac
|
esac
|
||||||
CPPFLAGS="$CPPFLAGS -DSETUID_CAN_FAIL_WITH_EAGAIN"
|
add_cppflags -DSETUID_CAN_FAIL_WITH_EAGAIN
|
||||||
: ${HAVE_REVOKE=0}
|
: ${HAVE_REVOKE=0}
|
||||||
;;
|
;;
|
||||||
MidnightBSD)
|
MidnightBSD)
|
||||||
;;
|
;;
|
||||||
Minix)
|
Minix)
|
||||||
CPPFLAGS="$CPPFLAGS -DMKSH_UNEMPLOYED -DMKSH_CONSERVATIVE_FDS"
|
add_cppflags -DMKSH_UNEMPLOYED
|
||||||
CPPFLAGS="$CPPFLAGS -DMKSH_NO_LIMITS"
|
add_cppflags -DMKSH_CONSERVATIVE_FDS
|
||||||
CPPFLAGS="$CPPFLAGS -D_POSIX_SOURCE -D_POSIX_1_SOURCE=2 -D_MINIX"
|
add_cppflags -DMKSH_NO_LIMITS
|
||||||
|
add_cppflags -D_POSIX_SOURCE -D_POSIX_1_SOURCE=2 -D_MINIX
|
||||||
oldish_ed=no-stderr-ed # /usr/bin/ed(!) is broken
|
oldish_ed=no-stderr-ed # /usr/bin/ed(!) is broken
|
||||||
: ${HAVE_SETLOCALE_CTYPE=0}
|
: ${HAVE_SETLOCALE_CTYPE=0}
|
||||||
;;
|
;;
|
||||||
|
@ -487,15 +492,20 @@ OpenBSD)
|
||||||
;;
|
;;
|
||||||
OSF1)
|
OSF1)
|
||||||
HAVE_SIG_T=0 # incompatible
|
HAVE_SIG_T=0 # incompatible
|
||||||
CPPFLAGS="$CPPFLAGS -D_OSF_SOURCE -D_POSIX_C_SOURCE=200112L"
|
add_cppflags -D_OSF_SOURCE
|
||||||
CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED"
|
add_cppflags -D_POSIX_C_SOURCE=200112L
|
||||||
|
add_cppflags -D_XOPEN_SOURCE=600
|
||||||
|
add_cppflags -D_XOPEN_SOURCE_EXTENDED
|
||||||
: ${HAVE_SETLOCALE_CTYPE=0}
|
: ${HAVE_SETLOCALE_CTYPE=0}
|
||||||
;;
|
;;
|
||||||
Plan9)
|
Plan9)
|
||||||
CPPFLAGS="$CPPFLAGS -D_POSIX_SOURCE -D_LIMITS_EXTENSION"
|
add_cppflags -D_POSIX_SOURCE
|
||||||
CPPFLAGS="$CPPFLAGS -D_BSD_EXTENSION -D_SUSV2_SOURCE"
|
add_cppflags -D_LIMITS_EXTENSION
|
||||||
|
add_cppflags -D_BSD_EXTENSION
|
||||||
|
add_cppflags -D_SUSV2_SOURCE
|
||||||
|
add_cppflags -DMKSH_ASSUME_UTF8
|
||||||
oswarn=' and will currently not work'
|
oswarn=' and will currently not work'
|
||||||
CPPFLAGS="$CPPFLAGS -DMKSH_ASSUME_UTF8 -DMKSH_UNEMPLOYED"
|
add_cppflags -DMKSH_UNEMPLOYED
|
||||||
;;
|
;;
|
||||||
PW32*)
|
PW32*)
|
||||||
HAVE_SIG_T=0 # incompatible
|
HAVE_SIG_T=0 # incompatible
|
||||||
|
@ -503,7 +513,7 @@ PW32*)
|
||||||
: ${HAVE_SETLOCALE_CTYPE=0}
|
: ${HAVE_SETLOCALE_CTYPE=0}
|
||||||
;;
|
;;
|
||||||
QNX)
|
QNX)
|
||||||
CPPFLAGS="$CPPFLAGS -D__NO_EXT_QNX"
|
add_cppflags -D__NO_EXT_QNX
|
||||||
case $TARGET_OSREV in
|
case $TARGET_OSREV in
|
||||||
[012345].*|6.[0123].*|6.4.[01])
|
[012345].*|6.[0123].*|6.4.[01])
|
||||||
oldish_ed=no-stderr-ed # oldish /bin/ed is broken
|
oldish_ed=no-stderr-ed # oldish /bin/ed is broken
|
||||||
|
@ -512,15 +522,16 @@ QNX)
|
||||||
: ${HAVE_SETLOCALE_CTYPE=0}
|
: ${HAVE_SETLOCALE_CTYPE=0}
|
||||||
;;
|
;;
|
||||||
SunOS)
|
SunOS)
|
||||||
CPPFLAGS="$CPPFLAGS -D_BSD_SOURCE -D__EXTENSIONS__"
|
add_cppflags -D_BSD_SOURCE
|
||||||
|
add_cppflags -D__EXTENSIONS__
|
||||||
;;
|
;;
|
||||||
syllable)
|
syllable)
|
||||||
CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
|
add_cppflags -D_GNU_SOURCE
|
||||||
oswarn=' and will currently not work'
|
oswarn=' and will currently not work'
|
||||||
;;
|
;;
|
||||||
ULTRIX)
|
ULTRIX)
|
||||||
: ${CC=cc -YPOSIX}
|
: ${CC=cc -YPOSIX}
|
||||||
CPPFLAGS="$CPPFLAGS -Dssize_t=int"
|
add_cppflags -Dssize_t=int
|
||||||
: ${HAVE_SETLOCALE_CTYPE=0}
|
: ${HAVE_SETLOCALE_CTYPE=0}
|
||||||
;;
|
;;
|
||||||
UWIN*)
|
UWIN*)
|
||||||
|
@ -1169,7 +1180,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.487 2011/08/26 10:24:51 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/Build.sh,v 1.488 2011/10/07 19:51:41 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
|
||||||
|
@ -1212,10 +1223,11 @@ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 &&
|
||||||
int main(void) { return (0); }' >lft.c
|
int main(void) { return (0); }' >lft.c
|
||||||
ac_testn can_lfs '' "for large file support" <lft.c
|
ac_testn can_lfs '' "for large file support" <lft.c
|
||||||
save_CPPFLAGS=$CPPFLAGS
|
save_CPPFLAGS=$CPPFLAGS
|
||||||
CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64"
|
add_cppflags -D_FILE_OFFSET_BITS=64
|
||||||
ac_testn can_lfs_sus '!' can_lfs 0 "... with -D_FILE_OFFSET_BITS=64" <lft.c
|
ac_testn can_lfs_sus '!' can_lfs 0 "... with -D_FILE_OFFSET_BITS=64" <lft.c
|
||||||
if test 0 = $HAVE_CAN_LFS_SUS; then
|
if test 0 = $HAVE_CAN_LFS_SUS; then
|
||||||
CPPFLAGS="$save_CPPFLAGS -D_LARGE_FILES=1"
|
CPPFLAGS=$save_CPPFLAGS
|
||||||
|
add_cppflags -D_LARGE_FILES=1
|
||||||
ac_testn can_lfs_aix '!' can_lfs 0 "... with -D_LARGE_FILES=1" <lft.c
|
ac_testn can_lfs_aix '!' can_lfs 0 "... with -D_LARGE_FILES=1" <lft.c
|
||||||
test 1 = $HAVE_CAN_LFS_AIX || CPPFLAGS=$save_CPPFLAGS
|
test 1 = $HAVE_CAN_LFS_AIX || CPPFLAGS=$save_CPPFLAGS
|
||||||
fi
|
fi
|
||||||
|
@ -1268,7 +1280,7 @@ ac_testn sighandler_t '!' sig_t 0 <<-'EOF'
|
||||||
int main(void) { return ((int)(ptrdiff_t)(sighandler_t)(ptrdiff_t)kill(0,0)); }
|
int main(void) { return ((int)(ptrdiff_t)(sighandler_t)(ptrdiff_t)kill(0,0)); }
|
||||||
EOF
|
EOF
|
||||||
if test 1 = $HAVE_SIGHANDLER_T; then
|
if test 1 = $HAVE_SIGHANDLER_T; then
|
||||||
CPPFLAGS="$CPPFLAGS -Dsig_t=sighandler_t"
|
add_cppflags -Dsig_t=sighandler_t
|
||||||
HAVE_SIG_T=1
|
HAVE_SIG_T=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1279,11 +1291,11 @@ ac_testn __sighandler_t '!' sig_t 0 <<-'EOF'
|
||||||
int main(void) { return ((int)(ptrdiff_t)(__sighandler_t)(ptrdiff_t)kill(0,0)); }
|
int main(void) { return ((int)(ptrdiff_t)(__sighandler_t)(ptrdiff_t)kill(0,0)); }
|
||||||
EOF
|
EOF
|
||||||
if test 1 = $HAVE___SIGHANDLER_T; then
|
if test 1 = $HAVE___SIGHANDLER_T; then
|
||||||
CPPFLAGS="$CPPFLAGS -Dsig_t=__sighandler_t"
|
add_cppflags -Dsig_t=__sighandler_t
|
||||||
HAVE_SIG_T=1
|
HAVE_SIG_T=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
test 1 = $HAVE_SIG_T || CPPFLAGS="$CPPFLAGS -Dsig_t=nosig_t"
|
test 1 = $HAVE_SIG_T || add_cppflags -Dsig_t=nosig_t
|
||||||
ac_cppflags SIG_T
|
ac_cppflags SIG_T
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -1301,9 +1313,10 @@ for what in name list; do
|
||||||
extern const char *const _sys_sig${what}[];
|
extern const char *const _sys_sig${what}[];
|
||||||
int main(void) { return (_sys_sig${what}[0][0]); }
|
int main(void) { return (_sys_sig${what}[0][0]); }
|
||||||
EOF
|
EOF
|
||||||
if eval "test 1 = \$HAVE__SYS_SIG$uwhat"; then
|
eval uwhat_v=\$HAVE__SYS_SIG$uwhat
|
||||||
CPPFLAGS="$CPPFLAGS -Dsys_sig$what=_sys_sig$what"
|
if test 1 = "$uwhat_v"; then
|
||||||
eval "HAVE_SYS_SIG$uwhat=1"
|
add_cppflags -Dsys_sig$what=_sys_sig$what
|
||||||
|
eval HAVE_SYS_SIG$uwhat=1
|
||||||
fi
|
fi
|
||||||
ac_cppflags SYS_SIG$uwhat
|
ac_cppflags SYS_SIG$uwhat
|
||||||
done
|
done
|
||||||
|
@ -1562,7 +1575,7 @@ fi
|
||||||
|
|
||||||
addsrcs '!' HAVE_STRLCPY strlcpy.c
|
addsrcs '!' HAVE_STRLCPY strlcpy.c
|
||||||
addsrcs USE_PRINTF_BUILTIN printf.c
|
addsrcs USE_PRINTF_BUILTIN printf.c
|
||||||
test 1 = "$USE_PRINTF_BUILTIN" && CPPFLAGS="$CPPFLAGS -DMKSH_PRINTF_BUILTIN"
|
test 1 = "$USE_PRINTF_BUILTIN" && add_cppflags -DMKSH_PRINTF_BUILTIN
|
||||||
test 1 = "$HAVE_CAN_VERB" && CFLAGS="$CFLAGS -verbose"
|
test 1 = "$HAVE_CAN_VERB" && CFLAGS="$CFLAGS -verbose"
|
||||||
|
|
||||||
$e $bi$me: Finished configuration testing, now producing output.$ao
|
$e $bi$me: Finished configuration testing, now producing output.$ao
|
||||||
|
|
4
check.t
4
check.t
|
@ -1,4 +1,4 @@
|
||||||
# $MirOS: src/bin/mksh/check.t,v 1.482 2011/09/07 15:24:10 tg Exp $
|
# $MirOS: src/bin/mksh/check.t,v 1.483 2011/10/07 19:51:42 tg Exp $
|
||||||
# $OpenBSD: bksl-nl.t,v 1.2 2001/01/28 23:04:56 niklas 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: 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 $
|
# $OpenBSD: read.t,v 1.3 2003/03/10 03:48:16 david Exp $
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
# http://www.research.att.com/~gsf/public/ifs.sh
|
# http://www.research.att.com/~gsf/public/ifs.sh
|
||||||
|
|
||||||
expected-stdout:
|
expected-stdout:
|
||||||
@(#)MIRBSD KSH R40 2011/09/07
|
@(#)MIRBSD KSH R40 2011/10/07
|
||||||
description:
|
description:
|
||||||
Check version of shell.
|
Check version of shell.
|
||||||
stdin:
|
stdin:
|
||||||
|
|
4
sh.h
4
sh.h
|
@ -151,9 +151,9 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef EXTERN
|
#ifdef EXTERN
|
||||||
__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.494 2011/09/07 15:24:19 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.495 2011/10/07 19:51:44 tg Exp $");
|
||||||
#endif
|
#endif
|
||||||
#define MKSH_VERSION "R40 2011/09/07"
|
#define MKSH_VERSION "R40 2011/10/07"
|
||||||
|
|
||||||
#ifndef MKSH_INCLUDES_ONLY
|
#ifndef MKSH_INCLUDES_ONLY
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue