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