🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.bug
Article #100006

Simple makefile change for v19?

#100006
From: Skip Montanaro
Date: Fri, 02 Mar 1990 21:14
502 lines
11985 bytes
Rather than editing config.h to set the correct s- and m- files, why not
#include system.h and machine.h, then make those files be links to the
correct m- and s- files? I believe this is the way the GNU C compiler build
stuff is set up. Most of the time, the only change needed to config.h is to
edit in the proper .h files. 

I bring this up because I think the config.gcc stuff is pretty useful,
especially since the proper distinction between system and machine files has
never quite existed in Emacs. (Read the Sun section in etc/MACHINES for a
taste of that.)

Based on the contents of /etc/MACHINES, I hacked config.gcc into
config.emacs a few months ago.  It has not been well-tested, since I only
have access to a couple of Sun architectures.  Do with it as you wish.

Skip (montanaro@crdgw1.ge.com)

------------------------------------------------------------------------------
#!/bin/sh
# Configuration script for GNU Emacs
#   Copyright (C) 1990 Free Software Foundation, Inc.

#This file is NOT part of GNU Emacs

#GNU Emacs is free software; you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation; either version 1, or (at your option)
#any later version.

#GNU Emacs is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#GNU General Public License for more details.

#You should have received a copy of the GNU General Public License
#along with GNU Emacs; see the file COPYING.  If not, write to
#the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.

#
# Shell script to create proper links to machine-dependent files in
# preparation for compiling gcc.
#
# Usage: config.emacs machine
#

progname=`basename $0`

remove=rm
hardlink=ln
symlink='ln -s'

#for Test
#remove="echo rm"
#hardlink="echo ln"
#symlink="echo ln -s"

for arg in $*;
do
  case $arg in
   *)
	machine=$arg
	;;
  esac
done

m_file=unknown
s_file=unknown

if [ x$machine != x ];
then
	case $machine in		# start-of-machines
	tahoe-4.2)			# Tahoe running 4.2bsd
		m_file=m-tahoe.h
		s_file=s-bsd4-2.h
                ;;
	tahoe-4.3)			# Tahoe running 4.3bsd
		m_file=m-tahoe.h
		s_file=s-bsd4-3.h
                ;;
	tek-6130)			# Tektronix 6130
		m_file=m-ns16000.h
		s_file=s-bsd4-2.h
		;;
	tek-4300)			# Tektronix 4300
		m_file-m-tek4300.h
		s_file=s-bsd4-3.h
		;;
	ustation)			# Ustation E30
		m_file=m-ustation.h
		s_file=s-unipl5-2.h
		;;
	vax-4.1)			# VAX running 4.1bsd
		m_file=m-vax.h
		s_file=s-bsd4-1.h
		;;
	vax-4.2)			# VAX running 4.2bsd
		m_file=m-vax.h
		s_file=s-bsd4-2.h
		;;
	vax-ultrix-2.x)			# VAX running Ultrix 2.x (4.2bsd)
		m_file=m-vax.h
		s_file=s-bsd4-2.h
		;;
	vax-4.3)			# VAX running 4.3bsd
		m_file=m-vax.h
		s_file=s-bsd4-3.h
		;;
	vax-ultrix-3.x)			# VAX running Ultrix 3.x (4.3bsd)
		m_file=m-vax.h
		s_file=s-bsd4-3.h
		;;
	vax-sysv.2)			# VAX running USG 5.2
		m_file=m-vax.h
		s_file=s-usg5-2.h
		;;
	vax-sysv.0)			# VAX running USG 5.0
		m_file=m-vax.h
		s_file=s-usg5-0.h
		;;
	vax-vms)			# VAX running VMS 4.x (5.x too?)
		m_file=m-vax.h
		s_file=s-vms.h
		;;
	vms)				# VAX running VMS 4.x (5.x too?)
		m_file=m-vax.h
		s_file=s-vms.h
		;;
	whitechapel)			# Whitechapel MG1
		m_file=m-mg1.h
		s_file=unknown
		;;
	mg1)				# Whitechapel MG1
		m_file=m-mg1.h
		s_file=unknown
		;;
	wicat)				# Wicat running USG 5.2
		m_file=m-wicat.h
		s_file=s-usg5-2.h
		;;
	i386-sysv)			# Intel 386 running USG 5.3
		m_file=m-intel386.h
		s_file=s-usg5-3.h
		;;
	i386-sysv.3)			# Intel 386 running USG 5.3
		m_file=m-intel386.h
		s_file=s-usg5-3.h
		;;
	i386v)				# Intel 386 running USG 5.3
		m_file=m-intel386.h
		s_file=s-usg5-3.h
		;;
	i386-sysv.2)			# Intel 386 running USG 5.2
		m_file=m-intel386.h
		s_file=s-usg5-2-2.h
		;;
	i386-bsd)			# Intel 386 running 4.2bsd
		m_file=m-intel386.h
		s_file=s-bsd4-2.h
		;;
	i386-xenix)			# Intel 386 running Xenix
		m_file=m-intel386.h
		s_file=s-xenix.h
		;;
	ps2-aix)			# IBM PS/2 running AIX
		m_file=m-ibmps2-aix.h
		s_file=s-usg5-2-2.h
		;;
	aix386)				# IBM PS/2 running AIX
		m_file=m-ibmps2-aix.h
		s_file=s-usg5-2-2.h
		;;
	ibmrt-aix)			# IBM-RT/PC running AIX
		m_file=m-ibmrt-aix.h
		s_file=s-usg5-2-2.h
		;;
	ibmrt-bsd)			# IBM-RT/PC running 4.2bsd
		m_file=m-ibmrt.h
		s_file=s-bsd4-2.h
		;;
	isi-ov)				# Integrated Solutions Optimum V
		m_file=m-isi-ov.h
		s_file=s-bsd4-2.h
		;;
	isi)				# Integrated Solutions Optimum V
		m_file=m-isi-ov.h
		s_file=s-bsd4-2.h
		;;
	sun2)				# Sun-2 running SunOS 3.x
		m_file=m-sun3.h
		s_file=s-bsd4-2.h
		;;
	sun-2-os3)			# Sun-2 running SunOS 3.x
		m_file=m-sun3.h
		s_file=s-bsd4-2.h
		;;
	sun-3-os4)			# Sun-3 running SunOS 4.x
		m_file=m-sun3.h
		s_file=s-sunos4.h
		;;
	sun-3-os3)			# Sun-3 running SunOS 3.x
		m_file=m-sun3.h
		s_file=s-bsd4-2.h
		;;
	sun-4-os4)			# Sun-4 running SunOS 4.x
		m_file=m-sparc.h
		s_file=s-sunos4.h
		;;
	sun-4-os3)			# Sun-4 running SunOS 3.2
		m_file=m-sparc.h
		s_file=s-bsd4-2.h
		;;
	sun386)				# Sun-386i running SunOS 4.x
		m_file=m-sun386.h
		s_file=s-sunos4.h
		;;
	roadrunner)			# Sun-386i running SunOS 4.x
		m_file=m-sun386.h
		s_file=s-sunos4.h
		;;
	hp9k200)			# HP 9000 Series 200 runing HP-UX
		m_file=m-hp9000s300.h
		s_file=s-hpux.h
		;;
	hp9k300)			# HP 9000 Series 300 runing HP-UX
		m_file=m-hp9000s300.h
		s_file=s-hpux.h
		;;
	hp9k800)			# HP 9000 Series 800 runing HP-UX
		m_file=m-hp9000s800.h
		s_file=s-hpux.h
		;;
	hp-spectrum)			# HP 9000 Series 800 runing HP-UX
		m_file=m-hp9000s800.h
		s_file=s-hpux.h
		;;
	spectrum)			# HP 9000 Series 800 runing HP-UX
		m_file=m-hp9000s800.h
		s_file=s-hpux.h
		;;
	news-2)				# Sony News running system release 2
		m_file=m-news.h
		s_file=s-bsd4-2.h
		;;
	news-3)				# Sony News running system release 3
		m_file=m-news.h
		s_file=s-bsd4-3.h
		;;
	news)				# Sony News running system release 3
		m_file=m-news.h
		s_file=s-bsd4-3.h
		;;
	stride)				# Stride running release 2.0 (USG 5.2)
		m_file=m-stride.h
		s_file=s-usg5-2.h
		;;
	altos)				# Altos 3068 running USG 5.2
		m_file=m-altos.h
		s_file=s-usg5-2.h
	        ;;
	altos3068)			# Altos 3068 running USG 5.2
		m_file=m-altos.h
		s_file=s-usg5-2.h
	        ;;
	amdahl)				# Amdahl running UTS
		m_file=m-amdahl.h
		s_file=s-usg5-2-2.h
		;;
	3b1)				# AT&T 3b1 (7300) running USG 5.2.2
		m_file=m-7300.h
		s_file=s-usg5-2-2.h
		;;
	att7300)			# AT&T 3b1 (7300) running USG 5.2.2
		m_file=m-7300.h
		s_file=s-usg5-2-2.h
		;;
	3b2)				# AT&T 3b2 running USG 5.2.2
		m_file=m-att3b.h
		s_file=s-usg5-2-2.h
		;;
	3b5)				# AT&T 3b5 running USG 5.2.2
		m_file=m-att3b.h
		s_file=s-usg5-2-2.h
		;;
	3b15)				# AT&T 3b15 running USG 5.2.2
		m_file=m-att3b.h
		s_file=s-usg5-2-2.h
		;;
	3b20)				# AT&T 3b20 running USG 5.2.2
		m_file=m-att3b.h
		s_file=s-usg5-2-2.h
		;;
	balance)			# Sequent Balance running system 3.0
		m_file=m-sequent.h
		s_file=s-bsd4-2.h
		;;
	symmetry)			# Sequent Symmetry running system 3.0
		m_file=m-sequent.h
		s_file=s-bsd4-2.h
		;;
	orion)				# High Level Hardware Orion (uprogrammed)
		m_file=m-orion.h
		s_file=s-bsd4-2.h
		;;
	orion-1/05)			# High Level Hardware Orion 1/05
		m_file=m-orion105.h
		s_file=s-bsd4-2.h
		;;
	encore)				# Encore running UMAX
		m_file=m-ns16000.h
		s_file=s-umax.h
		;;
	gec)				# GEC 93 running USG 5.2
		m_file=m-gec93.h
		s_file=s-usg5-2.h
		;;
	gec93)				# GEC 93 running USG 5.2
		m_file=m-gec93.h
		s_file=s-usg5-2.h
		;;
	gould1.0)			# Gould running UTX/32S
		m_file=m-gould.h
		s_file=s-bsd4-2.h
		;;
	gould1.2)			# Gould running UTX/32 1.2
		m_file=m-gould.h
		s_file=s-bsd4-2.h
		;;
	gould1.3)			# Gould running UTX/32 1.3
		m_file=m-gould.h
		s_file=s-bsd4-2.h
		;;
	gould2.0)			# Gould running UTX/32 2.0
		m_file=m-gould.h
		s_file=s-bsd4-3.h
		;;
	alliant-1)			# Alliant running system version 1
		m_file=m-alliant1.h
		s_file=s-bsd4-2.h
		;;
	alliant-2)			# Alliant running system version 2
		m_file=m-alliant.h
		s_file=s-bsd4-2.h
		;;
	alliant-3)			# Alliant running system version 3
		m_file=m-alliant.h
		s_file=s-bsd4-2.h
		;;
	alliant-4)			# Alliant running system version 4
		m_file=m-alliant4.h
		s_file=s-bsd4-2.h
		;;
	convex)				# Convex C-1 or C-2
		m_file=m-convex.h
		s_file=s-bsd4-3.h
		;;
	cydra)				# Cydra 5
		m_file=m-cydra.h
		s_file=s-usg5-3.h
		;;
	iris-2500-3.5)
		m_file=m-irist.h
		s_file=s-iris3-5.h
		;;
	iris-2500-3.6)
		m_file=m-irist.h
		s_file=s-iris3-6.h
		;;
	iris4d)
		m_file=m-iris4d.h
		s_file=s-iris3-6.h
		;;
	dual-sysv)
		m_file=m-dual.h
		s_file=s-usg5-2.h
		;;
	dual-uniplus)
		m_file=m-dual.h
		s_file=s-unipl5-2.h
		;;
	masscomp)
		m_file=m-masscomp.h
		s_file=s-rtu.h
		;;
	megatest)
		m_file=m-mega68.h
		s_file=s-bsd4-2.h
		;;
	mips)				# Default MIPS environment
		m_file=m-mips.h
		s_file=s-usg5-2.h
		;;
	tower)
		m_file=m-tower32.h
		s_file=s-usg5-2.h
		;;
	ncr)
		m_file=m-tower32.h
		s_file=s-usg5-2.h
		;;
	nixdorf)
		m_file=m-targon31.h
		s_file=s-usg5-2-2.h
		;;
	targon)
		m_file=m-targon31.h
		s_file=s-usg5-2-2.h
		;;
	targon31)
		m_file=m-targon31.h
		s_file=s-usg5-2-2.h
		;;
	nu)
		m_file=m-nu.h
		s_file=s-usg5-2.h
		;;
	ti)
		m_file=m-nu.h
		s_file=s-usg5-2.h
		;;
	lmi)
		m_file=m-nu.h
		s_file=s-usg5-2.h
		;;
	plexus)
		m_file=m-plexus.h
		s_file=s-usg5-2.h
		;;
	pmax)
		m_file=m-pmax.h
		s_file=s-bsd4-3.h
	        ;;
	dec-3100)
		m_file=m-pmax.h
		s_file=s-bsd4-3.h
	        ;;
	decstation)			# Decstation or pmax.
		m_file=m-pmax.h
		s_file=s-bsd4-3.h
	        ;;
	prime)
		m_file=m-intel386.h
		s_file=s-usg5-3.h
		;;
	prime-exl)
		m_file=m-intel386.h
		s_file=s-usg5-3.h
		;;
	apollo)
		m_file=m-apollo.h
		s_file=s-bsd4-2.h
		;;
	apollo68)
		m_file=m-apollo.h
		s_file=s-bsd4-2.h
		;;
	elxsi)
		m_file=m-elxsi.h
		s_file=s-usg5-2.h
		;;
	elxsi6400)
		m_file=m-elxsi.h
		s_file=s-usg5-2.h
		;;
	celerity)
		m_file=m-celerity.h
		s_file=s-bsd4-2.h
		;;
	pyr)
		m_file=m-pyramid.h
		s_file=s-bsd4-2.h
		;;
	pyramid)
		m_file=m-pyramid.h
		s_file=s-bsd4-2.h
		;;
	esac		# end-of-machines

	if [ $m_file = unknown -o $s_file = unknown ] ; then
		echo "Usage: $progname machine"
		echo "Where \`machine' is one of"
		sed -n -e '/start-of-machines$/,/end-of-machines$/p' < $0 | \
			egrep "\)" | sed -e 's/^[	 ]*//' | \
			sort -u |  more
		echo "If your machine type fails, consult etc/MACHINES for details."
		exit 1
	fi

	$remove -f machine.h system.h
	$symlink $m_file machine.h || $hardlink $m_file machine.h
	$symlink $s_file system.h  || $hardlink $s_file system.h

	exit 0

else
	echo "Usage: $progname machine"
	echo "Where \`machine' is one of"
	sed -n -e '/start-of-machines$/,/end-of-machines$/p' < $0 | \
		egrep "\)" | sed -e 's/^[	 ]*//' | \
		sort -u |  more
	echo "If your machine type fails, consult etc/MACHINES for details."
	exit 1
fi
Technical Details
Message-ID: <9003022114.AA01511@moose.crd.Ge.Com>
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!bu.edu!snorkelwacker!think!zaphod.mps.ohio-state.edu!tut.cis.ohio-state.edu!moose.crd.ge.com!montnaro

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: fb2f1,a812c09c9f3b2f6a,start
X-Google-Attributes: gidfb2f1,public
X-Google-ArrivalTime: 1990-03-02 13:14:44 PST
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!bu.edu!snorkelwacker!think!zaphod.mps.ohio-state.edu!tut.cis.ohio-state.edu!moose.crd.ge.com!montnaro
From: montnaro@moose.crd.ge.com (Skip Montanaro)
Newsgroups: gnu.emacs.bug
Subject: Simple makefile change for v19?
Message-ID: <9003022114.AA01511@moose.crd.Ge.Com>
Date: 2 Mar 90 21:14:44 GMT
Sender: daemon@tut.cis.ohio-state.edu
Reply-To: montanaro@crdgw1.ge.com (Skip Montanaro)
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 502
Posted: Fri Mar  2 22:14:44 1990