jbayer@ispi.com (Jonathan Bayer) (08/29/89)
The following are the relatively minor changes to bash necessary
to make it compile under SCO Xenix 2.3.2 using the 2.3 development system.
Please note that I reported a bug regarding a control-d in a seperate
message. That patch is also included in this set of patches (parse.y)
JB
*** /usr/news/sources/gnu/bash/src/bash-1.02/Makefile Sat Jul 1 22:12:29 1989
--- Makefile Mon Aug 28 11:14:08 1989
***************
*** 18,25 ****
# Here is a rule for making .o files from .c files that doesn't force
# the type of the machine (like -sun3) into the flags.
! %.o : %.c
! $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
# Of course, you cannot do this the first time through...
#SHELL=/usr/gnu/bin/bash
--- 18,25 ----
# Here is a rule for making .o files from .c files that doesn't force
# the type of the machine (like -sun3) into the flags.
! #%.o : %.c
! # $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
# Of course, you cannot do this the first time through...
#SHELL=/usr/gnu/bin/bash
***************
*** 33,39 ****
#
# The mailing address of you, the local maintainer. This *must* be
# enclosed in double quotes. Until I make a better Makefile.
! MAINTAINER = '"bfox@ai.mit.edu"'
# Destination installation directory. The shell is copied here if
# you do a `make install'. The directory name does NOT end in a slash.
--- 33,39 ----
#
# The mailing address of you, the local maintainer. This *must* be
# enclosed in double quotes. Until I make a better Makefile.
! MAINTAINER = '"jbayer@ispi.COM"'
# Destination installation directory. The shell is copied here if
# you do a `make install'. The directory name does NOT end in a slash.
***************
*** 44,55 ****
# try one and see how well you do.
# Use i386 for PC type 386 boxes. (Compaq, etc.)
# SUN3, SUN4, SUN386i, VAX, SONY, CONVEX, HP, HP9KS300, i386, NeXT
! TARGET = SUN3
# The name of the target operating system. There isn't such a big
# difference between SUNOS3 and Bsd. But there might be in the future.
# SUNOS3, SUNOS4, SYSV, Bsd, HPUX, UNIXPC
! OS = SUNOS4
# You only need this if you are hacking the shell in a location
# that doesn't do enough backups, or does a poor job. In that
--- 44,55 ----
# try one and see how well you do.
# Use i386 for PC type 386 boxes. (Compaq, etc.)
# SUN3, SUN4, SUN386i, VAX, SONY, CONVEX, HP, HP9KS300, i386, NeXT
! TARGET = i386
# The name of the target operating system. There isn't such a big
# difference between SUNOS3 and Bsd. But there might be in the future.
# SUNOS3, SUNOS4, SYSV, Bsd, HPUX, UNIXPC
! OS = SYSV
# You only need this if you are hacking the shell in a location
# that doesn't do enough backups, or does a poor job. In that
***************
*** 71,87 ****
# HP-UX compilation requires the BSD library.
#LOCAL_LIBS = -lBSD
! GCC_SUNOS4_FLAG = -Bstatic
! DEBUG_FLAGS = $(PROFILE_FLAGS) -g $(GCC_SUNOS4_FLAG)
! LDFLAGS = $(DEBUG_FLAGS)
! CFLAGS = $(DEBUG_FLAGS) -D${TARGET} -DTARGET=${TARGET} -D${OS}
! CPPFLAGS= -I$(LIBSRC)
# If you don't have Bison use "yacc". Otherwise use "bison -y".
! BISON = bison -y
# If you don't have Gcc use cc.
! CC = gcc -traditional
####################################################################
--- 71,88 ----
# HP-UX compilation requires the BSD library.
#LOCAL_LIBS = -lBSD
! #GCC_SUNOS4_FLAG = -Bstatic
! #DEBUG_FLAGS = $(PROFILE_FLAGS) -g $(GCC_SUNOS4_FLAG)
! DEBUG_FLAGS = $(PROFILE_FLAGS)
! LDFLAGS = $(DEBUG_FLAGS) -ltcap -ltermlib -ldir
! CFLAGS = $(DEBUG_FLAGS) -D${TARGET} -DTARGET=${TARGET} -D${OS} -I$(LIBSRC)
! #CPPFLAGS= -I$(LIBSRC)
# If you don't have Bison use "yacc". Otherwise use "bison -y".
! BISON = yacc
# If you don't have Gcc use cc.
! CC = cc
####################################################################
***************
*** 109,115 ****
MALLOC = $(ALLOC_SOURCE)malloc.o
MALLOC_FLAGS = -Drcheck -Dbotch=programming_error
#MALLOC= $(ALLOC_SOURCE)malloc.o
! #ALLOCA= $(ALLOC_SOURCE)alloca.o
ALLOC_HEADERS = $(ALLOC_SOURCE)getpagesize.h
ALLOC_FILES = $(ALLOC_SOURCE)malloc.c $(ALLOC_SOURCE)alloca.c\
--- 110,116 ----
MALLOC = $(ALLOC_SOURCE)malloc.o
MALLOC_FLAGS = -Drcheck -Dbotch=programming_error
#MALLOC= $(ALLOC_SOURCE)malloc.o
! ALLOCA= $(ALLOC_SOURCE)alloca.o
ALLOC_HEADERS = $(ALLOC_SOURCE)getpagesize.h
ALLOC_FILES = $(ALLOC_SOURCE)malloc.c $(ALLOC_SOURCE)alloca.c\
***************
*** 140,146 ****
LIBRARY_TAR = $(LIBRARY_SOURCE) $(LIBSRC)Makefile $(LIBSRC)ChangeLog
# The order is important. Most dependent first.
! LIBRARIES = $(READLINE) $(HISTORY) $(TERMCAP)
CSOURCES = shell.c parse.y general.c make_cmd.c print_cmd.c\
dispose_cmd.c execute_cmd.c variables.c builtins.c\
--- 141,148 ----
LIBRARY_TAR = $(LIBRARY_SOURCE) $(LIBSRC)Makefile $(LIBSRC)ChangeLog
# The order is important. Most dependent first.
! #LIBRARIES = $(READLINE) $(HISTORY) $(TERMCAP)
! LIBRARIES = $(READLINE) $(HISTORY)
CSOURCES = shell.c parse.y general.c make_cmd.c print_cmd.c\
dispose_cmd.c execute_cmd.c variables.c builtins.c\
*** /usr/news/sources/gnu/bash/src/bash-1.02/config.h Mon Jun 26 21:45:35 1989
--- config.h Mon Aug 28 10:41:44 1989
***************
*** 48,54 ****
/* The default value of the PATH variable. */
#define DEFAULT_PATH_VALUE \
! ":/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/etc:/usr/etc"
/* Define V9_ECHO if you want to give the echo builtin backslash-escape
interpretation, in the style of the Bell Labs 9th Edition version of
--- 48,54 ----
/* The default value of the PATH variable. */
#define DEFAULT_PATH_VALUE \
! ":/usr/gnu/bin:/usr/local/bin:/bin:/usr/bin"
/* Define V9_ECHO if you want to give the echo builtin backslash-escape
interpretation, in the style of the Bell Labs 9th Edition version of
*** /usr/news/sources/gnu/bash/src/bash-1.02/parse.y Sat Jul 1 21:42:28 1989
--- parse.y Mon Aug 28 17:09:59 1989
***************
*** 430,439 ****
current_readline_line = readline (current_readline_prompt);
current_readline_line_index = 0;
! current_readline_line =
! (char *)xrealloc (current_readline_line,
! 2 + strlen (current_readline_line));
! strcat (current_readline_line, "\n");
}
if (!current_readline_line[current_readline_line_index])
--- 430,447 ----
current_readline_line = readline (current_readline_prompt);
current_readline_line_index = 0;
!
! if (current_readline_line == (char *)EOF) {
! current_readline_line = (char *)xmalloc(2);
! strcpy(" ",current_readline_line);
! current_readline_line[0] = EOF;
! } else {
!
! current_readline_line =
! (char *)xrealloc (current_readline_line,
! 2 + strlen (current_readline_line));
! strcat (current_readline_line, "\n");
! }
}
if (!current_readline_line[current_readline_line_index])
*** /usr/news/sources/gnu/bash/src/bash-1.02/shell.c Sat Jul 1 14:33:04 1989
--- shell.c Mon Aug 28 10:47:45 1989
***************
*** 301,307 ****
else
{
interactive = 0;
! #ifndef JOB_CONTROL
job_control = 0;
#endif
}
--- 301,308 ----
else
{
interactive = 0;
! #ifndef NOJOBS
! /* #ifndef JOB_CONTROL */
job_control = 0;
#endif
}
*** /usr/news/sources/gnu/bash/src/bash-1.02/trap.c Fri Jun 23 00:42:17 1989
--- trap.c Mon Aug 28 11:22:04 1989
***************
*** 42,51 ****
--- 42,55 ----
"SIGILL", /* illegal instruction (not reset when caught) */
"SIGTRAP", /* trace trap (not reset when caught) */
#ifdef SYSV
+ #ifndef M_XENIX
"SIGABRT",
#else
"SIGIOT", /* IOT instruction */
#endif
+ #else
+ "SIGIOT", /* IOT instruction */
+ #endif
"SIGEMT", /* EMT instruction */
"SIGFPE", /* floating point exception */
"SIGKILL", /* kill (cannot be caught or ignored) */
***************
*** 60,68 ****
--- 64,74 ----
"SIGUSR2",
"SIGCLD",
"SIGPWR",
+ #ifndef M_XENIX
"SIGJUNK1",
"SIGJUNK2",
"SIGPOLL"
+ #endif
#else
"SIGURG", /* urgent condition on IO channel */
"SIGSTOP", /* sendable stop signal not from tty */
*** /usr/news/sources/gnu/bash/src/bash-1.02/variables.c Tue Jun 27 16:40:42 1989
--- variables.c Mon Aug 28 10:52:37 1989
***************
*** 27,33 ****
--- 27,35 ----
#include "version.h"
#ifdef SYSV
+ #ifndef M_XENIX
struct pwd *getpwuid (), *getpwent ();
+ #endif
#endif
/* The list of shell variables that the user has created, or that came from
--
Jonathan Bayer Intelligent Software Products, Inc.
(201) 245-5922 500 Oakwood Ave.
jbayer@ispi.COM Roselle Park, NJ 07204