Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Dec 1995 23:14:50 +0000 ()
From:      James Raynard <james@parody.tecc.co.uk>
To:        freebsd-ports@freebsd.org
Cc:        gpalmer@freebsd.org
Subject:   GNU Smalltalk patches
Message-ID:  <Pine.BSF.3.91.951210221945.1671A-100000@parody.tecc.co.uk>

next in thread | raw e-mail | index | archive | help
Hello, here are some patches for the Smalltalk port.

patch-ab enables the Emacs interactor to work; this allows you to edit
Smalltalk files in one window and have this window interacting with the
interpreter running in another window! To get this working, copy the
resulting st.el file into your Emacs Lisp directory
(/usr/local/lib/emacs/19.28/lisp on my system).

patch-ac enables readline, so that Emacs-style commands can be used to
edit the command-line in the Smalltalk interpreter.

patch-ad forces compilation with optimisation instead of debugging flags;
as version 1.1.1 is nearly 5 five years old, hopefully it should be fairly
stable by now 8-)

Finally patch-ae should allow stix to work. To get this running, 
change into the stix directory and build it by hand as for mst:-

./config.mst fbsd-2; make; ./mst -iV

The install process could also be made a little more friendly (particularly
as 'makeinfo mst.texinfo' doesn't work properly!). How about something like
(warning - untested)

do_install:
	@echo "Installing Smalltalk interpreter and method definitions..."
	@(cd ${WRKSRC}; cp mst ${PREFIX}/bin; cp *.st ${PREFIX}/lib/smalltalk)
	@echo "To complete the installation of GNU Smalltalk, do"
	@echo "		cd ${WRKSRC}; ./mst -iV"
	@echo "to build the image and test the interpreter."
	@echo
	@echo "When you are satisfied everything works, do Control-D"
	@echo "to quit and copy mst.im to ${PREFIX}/lib/smalltalk."	
	@echo
	@echo "If emacs is installed, you may also wish to copy the st.el 
 	@echo "file to the Emacs Lisp directory to enable Interactor mode."

It would be nice to change the top-level Makefile to add the stix target.
(To avoid re-inventing the wheel, are there any other ports which have
targets in different directories that I can look at?) Or perhaps stix 
should be the target instead?

Comments welcomed!

James

Segmentation fault (core dumped): cannot find file '.signature'

patch-ab
========
*** st.el.orig  Sun Dec 10 17:55:54 1995
--- st.el       Sun Dec 10 17:42:16 1995
***************
*** 708,720 ****
          nil
        (if proc (delete-process proc))
        (setq proc (apply 'start-process name buffer
!                         (concat exec-directory "env")
                          ;; I'm choosing to leave these here
                          (format "TERMCAP=emacs:co#%d:tc=unknown:"
                                  (screen-width))
                          "TERM=emacs"
                          "EMACS=t"
-                         "-"
                          "mst"
                          switches))
        (setq name (process-name proc)))
--- 708,719 ----
          nil
        (if proc (delete-process proc))
        (setq proc (apply 'start-process name buffer
!                         "/usr/bin/env"
                          ;; I'm choosing to leave these here
                          (format "TERMCAP=emacs:co#%d:tc=unknown:"
                                  (screen-width))
                          "TERM=emacs"
                          "EMACS=t"
                          "mst"
                          switches))
        (setq name (process-name proc)))

patch-ac
========

*** Makefile.orig       Sun Dec 10 18:08:36 1995
--- Makefile    Sun Dec 10 17:17:59 1995
***************
*** 56,62 ****
  CPP = cc -E
  
  # Uncomment this line to enable the ultra-winning readline-reader
! #READLINE = -DUSE_READLINE
  
  ######################################################################
  ######################################################################
--- 56,62 ----
  CPP = cc -E
  
  # Uncomment this line to enable the ultra-winning readline-reader
! READLINE = -DUSE_READLINE
  
  ######################################################################
  ######################################################################

patch-ad
========

*** ymakefile.orig      Sun Dec 10 17:56:09 1995
--- ymakefile   Sun Dec 10 17:57:22 1995
***************
*** 121,130 ****
  /* Compilation flags definitions */
  CFLAGS_NORMAL   = -g EXTRA_CC_FLAGS 
  CFLAGS_PROFILE  = -g -pg -DUSE_MONCONTROL EXTRA_CC_FLAGS 
! CFLAGS_OPTIMIZE = -O -DOPTIMIZE EXTRA_CC_FLAGS 
  
  /* Actual compilation flags and compiler definition */
! CFLAGS = $(CFLAGS_NORMAL) $(READLINEDEF)
  
  
  
--- 121,130 ----
  /* Compilation flags definitions */
  CFLAGS_NORMAL   = -g EXTRA_CC_FLAGS 
  CFLAGS_PROFILE  = -g -pg -DUSE_MONCONTROL EXTRA_CC_FLAGS 
! CFLAGS_OPTIMIZE = -O2 -fno-strength-reduce -fomit-frame-pointer 
-DOPTIMIZE EXT
RA_CC_FLAGS 
  
  /* Actual compilation flags and compiler definition */
! CFLAGS = $(CFLAGS_OPTIMIZE) $(READLINEDEF)


patch-ae
========

*** stix/Makefile.orig  Sun Dec 10 18:06:36 1995
--- stix/Makefile       Sun Dec 10 17:09:12 1995
***************
*** 56,62 ****
  CPP = cc -E
  
  # Uncomment this line to enable the ultra-winning readline-reader
! #READLINE = -DUSE_READLINE
  
  ######################################################################
  ######################################################################
--- 56,62 ----
  CPP = cc -E
  
  # Uncomment this line to enable the ultra-winning readline-reader
! READLINE = -DUSE_READLINE
  
  ######################################################################
  ######################################################################
***************
*** 88,94 ****
  
  # Edit this to reflect the path on your system where the X include files
  # may be found.
! XINCLUDE = /usr/include/X11
  
  socket.o: socket.c
        $(CC) -I$(XINCLUDE) $(CFLAGS) -DUNIXCONN -c socket.c
--- 88,94 ----
  
  # Edit this to reflect the path on your system where the X include files
  # may be found.
! XINCLUDE = /usr/X11R6/include
  
  socket.o: socket.c
        $(CC) -I$(XINCLUDE) $(CFLAGS) -DUNIXCONN -c socket.c




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.91.951210221945.1671A-100000>