if the OS does not provide sig_atomic_t and/or ssize_t, you can now define
MKSH_TYPEDEF_SIG_ATOMIC_T and MKSH_TYPEDEF_SSIZE_T via CPPFLAGS to the *correct* definitions (it’s absolutely critical they be correct!)
This commit is contained in:
		
							
								
								
									
										8
									
								
								Build.sh
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								Build.sh
									
									
									
									
									
								
							@@ -1,5 +1,5 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
srcversion='$MirOS: src/bin/mksh/Build.sh,v 1.544 2012/04/08 20:02:33 tg Exp $'
 | 
			
		||||
srcversion='$MirOS: src/bin/mksh/Build.sh,v 1.545 2012/04/14 14:02:39 tg Exp $'
 | 
			
		||||
#-
 | 
			
		||||
# Copyright (c) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
 | 
			
		||||
#		2011, 2012
 | 
			
		||||
@@ -649,7 +649,7 @@ syllable)
 | 
			
		||||
	;;
 | 
			
		||||
ULTRIX)
 | 
			
		||||
	: ${CC=cc -YPOSIX}
 | 
			
		||||
	add_cppflags -Dssize_t=int
 | 
			
		||||
	add_cppflags -DMKSH_TYPEDEF_SSIZE_T=int
 | 
			
		||||
	: ${HAVE_SETLOCALE_CTYPE=0}
 | 
			
		||||
	;;
 | 
			
		||||
UnixWare|UNIX_SV)
 | 
			
		||||
@@ -1392,7 +1392,7 @@ else
 | 
			
		||||
		#define EXTERN
 | 
			
		||||
		#define MKSH_INCLUDES_ONLY
 | 
			
		||||
		#include "sh.h"
 | 
			
		||||
		__RCSID("$MirOS: src/bin/mksh/Build.sh,v 1.544 2012/04/08 20:02:33 tg Exp $");
 | 
			
		||||
		__RCSID("$MirOS: src/bin/mksh/Build.sh,v 1.545 2012/04/14 14:02:39 tg Exp $");
 | 
			
		||||
		int main(void) { printf("Hello, World!\n"); return (0); }
 | 
			
		||||
EOF
 | 
			
		||||
	case $cm in
 | 
			
		||||
@@ -2092,6 +2092,8 @@ MKSH_NO_EXTERNAL_CAT		omit hack to skip cat builtin when flags passed
 | 
			
		||||
MKSH_NO_LIMITS			omit ulimit code
 | 
			
		||||
MKSH_SMALL			omit some code, optimise hard for size (slower)
 | 
			
		||||
MKSH_S_NOVI			disable Vi editing mode (default if MKSH_SMALL)
 | 
			
		||||
MKSH_TYPEDEF_SIG_ATOMIC_T	define to e.g. 'int' if sig_atomic_t is missing
 | 
			
		||||
MKSH_TYPEDEF_SSIZE_T		define to e.g. 'long' if your OS has no ssize_t
 | 
			
		||||
MKSH_UNEMPLOYED			disable job control (but not jobs/co-processes)
 | 
			
		||||
 | 
			
		||||
=== generic installation instructions ===
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								sh.h
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								sh.h
									
									
									
									
									
								
							@@ -152,7 +152,7 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef EXTERN
 | 
			
		||||
__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.545 2012/04/07 11:19:51 tg Exp $");
 | 
			
		||||
__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.546 2012/04/14 14:02:40 tg Exp $");
 | 
			
		||||
#endif
 | 
			
		||||
#define MKSH_VERSION "R40 2012/04/07"
 | 
			
		||||
 | 
			
		||||
@@ -212,6 +212,14 @@ typedef unsigned long rlim_t;
 | 
			
		||||
typedef void (*sig_t)(int);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef MKSH_TYPEDEF_SIG_ATOMIC_T
 | 
			
		||||
typedef MKSH_TYPEDEF_SIG_ATOMIC_T sig_atomic_t;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef MKSH_TYPEDEF_SSIZE_T
 | 
			
		||||
typedef MKSH_TYPEDEF_SSIZE_T ssize_t;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* un-do vendor damage */
 | 
			
		||||
 | 
			
		||||
#undef BAD		/* AIX defines that somewhere */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user