changeset 225:4f6e056438eb

Merge the GCC5 and build fix branches.
author John "Elwin" Edwards
date Wed, 02 Mar 2016 21:28:34 -0500
parents 4d0f53998e8a (diff) f54901b9c39b (current diff)
children b922f66acf4d
files
diffstat 20 files changed, 283 insertions(+), 6050 deletions(-) [+]
line wrap: on
line diff
--- a/arogue5/Makefile.in	Wed Mar 02 21:13:26 2016 -0500
+++ b/arogue5/Makefile.in	Wed Mar 02 21:28:34 2016 -0500
@@ -54,7 +54,7 @@
 CC    = gcc
 CPPFLAGS =@DEFS@
 CFLAGS=
-CRLIB = -lcurses
+CRLIB = @LIBS@
 RM    = rm -f
 TAR   = tar
 INSTALL=@INSTALL@
@@ -75,14 +75,17 @@
 	lint -hxbc $(CFILES) $(CRLIB) > linterrs
 
 install: $(PROGRAM)
-	-touch test
-	-if test ! -f $(DESTDIR)$(SCOREFILE) ; \
-	 then $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi
-	-if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \
-	$(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi
-	-if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \
-	mkdir -p $(DESTDIR)$(SAVEDIR) ; fi
-	-$(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM)
+	touch test
+	if test ! -f $(DESTDIR)$(SCOREFILE) ; then \
+	    mkdir -p `dirname $(DESTDIR)$(SCOREFILE)` ; \
+	    $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi
+	if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \
+	    mkdir -p `dirname $(DESTDIR)$(LOGFILE)` ; \
+	    $(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi
+	if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \
+	    mkdir -p $(DESTDIR)$(SAVEDIR) ; fi
+	mkdir -p $(DESTDIR)$(bindir)
+	$(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM)
 	-if test "x$(GROUPOWNER)" != "x" ; then \
 	    chgrp $(GROUPOWNER) $(DESTDIR)$(SCOREFILE) ; \
 	    chgrp $(GROUPOWNER) $(DESTDIR)$(LOGFILE) ; \
@@ -92,17 +95,17 @@
 	    chmod 0464 $(DESTDIR)$(SCOREFILE) ; \
 	    chmod 0464 $(DESTDIR)$(LOGFILE) ; \
 	    chmod 0775 $(DESTDIR)$(SAVEDIR) ; \
-         fi
-	-if test ! -d $(DESTDIR)$(docdir) ; \
+        fi
+	if test ! -d $(DESTDIR)$(docdir) ; \
 	    then mkdir -p $(DESTDIR)$(docdir) ; fi
-	-$(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT
-	-$(INSTALL) -m 0644 $(DOCS) $(DESTDIR)$(docdir)
-	-$(RM) test
+	$(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT
+	$(INSTALL) -m 0644 $(DOCS) $(DESTDIR)$(docdir)
+	$(RM) test
 
 uninstall:	
-	-$(RM) $(DESTDIR)$(bindir)/$(PROGRAM)
-	-$(RM) -r $(DESTDIR)$(docdir)
-    
+	$(RM) $(DESTDIR)$(bindir)/$(PROGRAM)
+	$(RM) -r $(DESTDIR)$(docdir)
+
 reinstall: uninstall install
 
 clean:
--- a/arogue7/Makefile.in	Wed Mar 02 21:13:26 2016 -0500
+++ b/arogue7/Makefile.in	Wed Mar 02 21:28:34 2016 -0500
@@ -57,7 +57,7 @@
 MISC_C=	
 DOCSRC= aguide.mm
 #DOCS  = $(PROGRAM).doc $(PROGRAM).html
-DOCS  = arogue77.doc arogue77.html
+DOCS  = $(PROGRAM).doc arogue77.html
 MISC  =	Makefile $(MISC_C) LICENSE.TXT $(PROGRAM).sln $(PROGRAM).vcproj $(DOCS)\
         $(DOCSRC)
 
@@ -69,23 +69,41 @@
 LIBS =	@LIBS@
 RM    = rm -f
 INSTALL=@INSTALL@
+GROFF=@GROFF@
+NROFF=@NROFF@
+COLCRT=@COLCRT@
+TBL=@TBL@
 
 .SUFFIXES: .obj
 
 .c.obj:
 	$(CC) $(CFLAGS) /c $*.c
     
+all: $(PROGRAM) docs
+
 $(PROGRAM): $(HDRS) $(OBJS)
 	$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
     
-install: $(PROGRAM)
-	-touch test
-	-if test ! -f $(DESTDIR)$(SCOREFILE) ; \
-	 then $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi
-	-if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \
-	$(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi
-	-if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \
-	mkdir -p $(DESTDIR)$(SAVEDIR) ; fi
+docs: $(DOCS)
+
+$(PROGRAM).doc: aguide.mm
+	if test "x$(GROFF)" != "x" ; then \
+	$(GROFF) -P-c -P-b -P-u -t -mm -Tascii aguide.mm > $(PROGRAM).doc ;\
+	elif test "x$(NROFF)" != "x" && test "x$(TBL)" != "x" && test "x$(COLCRT)" != "x" ; then \
+	$(TBL) aguide.mm | $(NROFF) -mm | $(COLCRT) - > $(PROGRAM).doc ;\
+	fi
+
+install: all
+	touch test
+	if test ! -f $(DESTDIR)$(SCOREFILE) ; then \
+	    mkdir -p `dirname $(DESTDIR)$(SCOREFILE)` ; \
+	    $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi
+	if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \
+	    mkdir -p `dirname $(DESTDIR)$(LOGFILE)` ; \
+	    $(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi
+	if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \
+	    mkdir -p $(DESTDIR)$(SAVEDIR) ; fi
+	mkdir -p $(DESTDIR)$(bindir)
 	$(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM)
 	-if test "x$(GROUPOWNER)" != "x" ; then \
 	    chgrp $(GROUPOWNER) $(DESTDIR)$(SCOREFILE) ; \
@@ -96,23 +114,23 @@
 	    chmod 0464 $(DESTDIR)$(SCOREFILE) ; \
 	    chmod 0464 $(DESTDIR)$(LOGFILE) ; \
 	    chmod 0775 $(DESTDIR)$(SAVEDIR) ; \
-         fi
-	-if test ! -d $(DESTDIR)$(docdir) ; \
+        fi
+	if test ! -d $(DESTDIR)$(docdir) ; \
 	    then mkdir -p $(DESTDIR)$(docdir) ; fi
-	-$(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT
-	-$(INSTALL) -m 0644 $(DOCS) $(DESTDIR)$(docdir)
-	-$(RM) test
+	$(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT
+	$(INSTALL) -m 0644 $(DOCS) $(DOCSRC) $(DESTDIR)$(docdir)
+	$(RM) test
 
-uninstall:	
-	-$(RM) $(DESTDIR)$(bindir)/$(PROGRAM)
-	-$(RM) -r $(DESTDIR)$(docdir)
-    
+uninstall:
+	$(RM) $(DESTDIR)$(bindir)/$(PROGRAM)
+	$(RM) -r $(DESTDIR)$(docdir)
+
 reinstall: uninstall install
 
 clean:
 	$(RM) $(OBJS1)
 	$(RM) $(OBJS2)
-	$(RM) core a.exe a.out a.exe.stackdump $(PROGRAM) $(PROGRAM).exe $(PROGRAM).lck
+	$(RM) core a.exe a.out a.exe.stackdump $(PROGRAM) $(PROGRAM).exe $(PROGRAM).lck $(PROGRAM).doc
 	$(RM) $(PROGRAM).tar $(PROGRAM).tar.gz $(PROGRAM).zip 
     
 dist.src:
--- a/arogue7/arogue77.doc	Wed Mar 02 21:13:26 2016 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1122 +0,0 @@
-       
-
-
-
-
-
-                           The Dungeons of Doom
-
-                                Toolchest
-
-
-
-
-
-
-       1.  INTRODUCTION
-
-            Rogue  is  a  screen-oriented  fantasy  game set in the
-       ever-changing Dungeons of Doom.   The  game  comes  complete
-       with  monsters,  spells,  weapons, armor, potions, and other
-       magical items.  The dungeon's geography changes  with  every
-       game,   and   although   many  magical  items  have  certain
-       identifiable  properties,  such  as   turning   the   player
-       invisible,  the  physical manifestation of the magic changes
-       each game.  A red potion, for example, will cause  the  same
-       reaction throughout a given game, but it may be a completely
-       different potion in a new game.
-
-            Entering the dungeon with only a  little  food,  armor,
-       and  a  weapon,  the  player must develop a good strategy of
-       when to fight, when to run, and how to best use any  magical
-       items found in the dungeon.  To make things interesting, the
-       player  has  a  quest  to  return  one  of  several   unique
-       artifacts,  rumored  to  lie  deep  in the dungeon's bowels.
-       Returning with this artifact  brings  great  glory  and  the
-       title  of  Complete  Winner.   But  even  after  finding the
-       artifact, the player may wish to continue further  to  match
-       wits with an arch-devil, demon prince, or even a deity found
-       far down in the dungeon.  Defeating  such  a  creature  will
-       gain  the  player  many  experience  points,  the  basis for
-       scoring in Rogue.
-
-            It is very difficult to return  from  the  Dungeons  of
-       Doom.   Few  people  ever  make  it  out alive.  Should this
-       unlikely event occur,  the  player  would  be  proclaimed  a
-       complete  winner  and  handsomely  rewarded  for  any  booty
-       removed from the dungeon.
-
-
-       2.  CHARACTER CLASSES
-
-            Before placing the player  in  the  dungeon,  the  game
-       requests  the  player  to select what type of character they
-       would like to be:  a fighter, a  magic  user,  a  cleric,  a
-       druid, a thief, a paladin, a ranger, a monk, or an assassin.
-
-       2.1  The Fighter
-
-            A fighter is very strong and will have a high  strength
-       rating.   This  great strength gives a fighter the best odds
-       of winning a battle with  a  monster.   At  high  experience
-
-
-
-
-
-
-
-
-                                   - 2 -
-
-
-
-       levels  the  fighter also gets to attack multiple times in a
-       single turn.  This obviously further increases  his  chances
-       at  winning  battles.   Intrinsic  to the fighter class is a
-       robustness which results in 1 to 12  extra  hit  points  for
-       every new experience level.
-
-       2.2  The Magician
-
-            A  Magician  is  able to "cast" spells.  The number and
-       variety of spells increases as the magician gains experience
-       and   intelligence.   Magic  users  are  not  as  hearty  as
-       fighters; they receive 1 to 6 extra hit points for every new
-       experience level.
-
-       2.3  The Cleric
-
-            A  cleric  is  able to "pray" to his god for help.  The
-       number and variety of prayers which the gods are willing  to
-       grant  to  a  cleric increase as the cleric gains experience
-       and wisdom.
-
-            Because of their religious  nature,  clerics  can  also
-       affect  the  "undead" beings, like zombies and ghouls, which
-       became monsters after they died.  If an "undead" creature is
-       next to a cleric, the cleric may try to turn it and cause it
-       to flee.  If the cleric is sufficiently powerful relative to
-       the  monster,  the  cleric  will  destroy  it.  This ability
-       increases as the character gains experience levels.
-
-            Clerics can gain from  1  to  8  extra  hit  points  on
-       reaching a new experience level.
-
-       2.4  The Druid
-
-            The  druid  is  a  cleric  of sorts but worships nature
-       rather than a god.  The druid is able to "chant" and thereby
-       recieve  certain  types  of  spells.  Most of the chants are
-       targeted more towards the elements and nature.
-
-            Druids gain from 1 to 8 hit points when  they  gain  an
-       experience level.
-
-       2.5  The Thief
-
-            A thief is exceptionally dextrous and has a good chance
-       to set a trap or rob a monster.
-
-            By their nature, thieves can automatically  detect  all
-       the gold on the current level of the dungeon.  They are also
-       good at  detecting  hidden  traps.   Because  thieves  slink
-       along,  they  are  not as likely as other characters to wake
-       sleeping monsters.  If a thief manages  to  sneak  up  on  a
-       creature without waking it, he will get a chance to backstab
-       the monster. When this is done, the damage done by the thief
-
-
-
-
-
-
-
-
-                                   - 3 -
-
-
-
-       greatly increases based on his experience level.
-
-            Thieves  gain  from  1 to 6 extra hit points from a new
-       experience level.
-
-       2.6  The Paladin
-
-            The paladin is a type of holy warrior.  Somewhat  of  a
-       cross between a fighter and a cleric. He is able to pray and
-       turn undead as a cleric, (but to a lesser degree) but fights
-       as  a  fighter.  He  is  on the side of all that is good and
-       righteous. Therefore he would never attack a  creature  that
-       would  not  attack  him first. If he does kill a non-violent
-       creature inadvertantly he will feel "uneasy" and his god may
-       retaliate by making him a mere fighter.
-
-            Paladins  gain 1 to 10 hit points per experience level.
-
-       2.7  The Ranger
-
-            The ranger is somewhat of a cross between a druid and a
-       fighter.  He  too  is on the side of righteousness and good.
-       Therefore, the same same restrictions apply to his  as  they
-       do  to a paladin. The ranger can "chant" and "cast" but to a
-       lesser degree than the druid and magician.
-
-            Rangers gain 1 to 8 hit points per experience level.
-
-       2.8  The Monk
-
-            The Monk is a martial arts expert. He  wears  no  armor
-       but  has  an  effective  armor class based on his ability to
-       dodge attacks.  He does not need a weapon in combat for  his
-       hands and feet are a formidable weapon. His ability to dodge
-       and use his hands as weapons increases as he gains in level.
-
-            Monks gain 1 to 6 hit points per experience level.
-
-       2.9  The Assassin
-
-            The  assassin is a person trained in the art of killing
-       people by surprise. He has most  of  the  abilities  of  the
-       thief  except  the "backstab". Instead, the assassin has the
-       chance to kill an opponent outright with one strike.  He  is
-       also  a ruthless character and trained in the use of poison.
-       He can recognize poison on sight and  can  coat  his  weapon
-       with  it  thereby  making  his  next attack an exceptionally
-       lethal one.
-
-            Assassins gain 1 to 6 hit points per experience  level.
-
-
-       3.  ATTRIBUTES
-
-
-
-
-
-
-
-
-
-                                   - 4 -
-
-
-
-       3.1  Intelligence
-
-            Intelligence  is  the primary attribute associated with
-       casting spells. With higher intelligence comes the knowledge
-       of  more spells, the ability to cast more spells, and faster
-       recovery of spells that have been cast.
-
-       3.2  Strength
-
-            This is,  of  course,  the  measure  of  a  character's
-       physical  strength.   With  higher  strength a character can
-       carry more, cause more damage when striking, have  a  better
-       chance  to  strike  an opponent, and move about more quickly
-       when carrying a load.
-
-       3.3  Wisdom
-
-            Wisdom is the primary attribute associated with Praying
-       to  a  god.  With  higher wisdom comes the knowledge of more
-       prayers, the ability to pray more often, and faster recovery
-       of prayer ability.
-
-       3.4  Dexterity
-
-            Dexterity  is  a measure of a character's agility. With
-       higher dexterity a character is harder to  hit,  can  hit  a
-       opponent  more  easily, and can move about more quickly when
-       carrying a load.
-
-       3.5  Constitution
-
-            Every character has a constitution rating.  A character
-       with  an exceptionally good constitution will gain more than
-       the  normal  amount  of  hit  points  associated  with   the
-       character's   class   when   the  character  reaches  a  new
-       experience level.  Exceptional  constitution  also  provides
-       better  protection versus poison-based attacks and diseases.
-
-       3.6  Charisma
-
-            Charisma is a measure of a characters looks and general
-       likeableness.    It  effects  transactions  when  trying  to
-       purchase things.
-
-       3.7  Experience Levels
-
-            Characters  gain  experience  for   killing   monsters,
-       stealing   from   monsters,   and  turning  monsters.   Each
-       character class has a set of thresholds associated with  it.
-       When  a character reaches a threshold, the character attains
-       the next experience level.  This new level brings extra  hit
-       points  and  a  greater  chance of success in performing the
-       abilities  associated  with  the  character's  class.    For
-       example,  magicians  receive new spells, and clerics receive
-
-
-
-
-
-
-
-
-                                   - 5 -
-
-
-
-       new prayers.
-
-       3.8  Allocating Attributes
-
-            The player starts with 72 "attribute points" to  create
-       a  character and can distribute them in any manner among the
-       six attributes described above.  When prompting  the  player
-       for  each  attribute,  the  game  displays  the  minimum and
-       maximum allowable values for that attribute.  The player can
-       type  a backspace (control-H) to go back and change a value;
-       typing an escape (ESC) sets the remaining attributes to  the
-       maximum value possible given the remaining attribute points.
-
-
-       4.  THE SCREEN
-
-            During the normal course of play, the  screen  consists
-       of  three  separate sections:  the top line of the terminal,
-       the bottom two lines of  the  terminal,  and  the  remaining
-       middle  lines.   The  top  line  reports actions which occur
-       during the game, the middle section depicts the dungeon, and
-       the bottom lines describe the player's current condition.
-
-       4.1  The Top Line
-
-            Whenever  anything  happens  to  the  player,  such  as
-       finding a scroll or hitting or being hit  by  a  monster,  a
-       short  report  of  the occurrence appears on the top line of
-       the screen.  When such  reports  occur  quickly,  one  right
-       after  another, the game displays the notice followed by the
-       prompt '--More--.'  After reading this  notice,  the  player
-       can  press  a  space to display the next message.  At such a
-       point, the  game  ignores  all  commands  until  the  player
-       presses a space.
-
-       4.2  The Dungeon Section
-
-            The  large  middle  section  of the screen displays the
-       player's surroundings using the following symbols:
-
-       |         A wall of a room.
-
-       -         A wall of a room.
-
-       *         A pile of gold.
-
-       %         A way to the next level.
-
-       +         A doorway.
-
-       .         The floor in a room.
-
-       @         The player.
-
-
-
-
-
-
-
-
-
-                                   - 6 -
-
-
-
-       _         The player, when invisible.
-
-       #         The floor in a passageway.
-
-       !         A flask containing a potion.
-
-       ?         A sealed scroll.
-
-       :         Some food.
-
-       )         A weapon.
-
-                 Solid rock (denoted by a space).
-
-       ]         Some armor.
-
-       ;         A miscellaneous magic item
-
-       ,         An artifact
-
-       =         A ring.
-
-       /         A wand or a staff.
-
-       ^         The entrance to a trading post
-
-       >         A trapdoor leading to the next level
-
-       {         An arrow trap
-
-       $         A sleeping gas trap
-
-       }         A beartrap
-
-       ~         A trap that teleports you somewhere else
-
-       `         A poison dart trap
-
-       "         A shimmering magic pool
-
-       '         An entrance to a maze
-
-       $         Any magical item. (During magic detection)
-
-       >         A blessed magical item. (During magic detection)
-
-       <         A cursed magical item. (During magic detection)
-
-       A letter  A monster.  Note that a given letter  may  signify
-                 multiple  monsters,  depending on the level of the
-                 dungeon.  The player can always identify a current
-                 monster by using the identify command ('/').
-
-
-
-
-
-
-
-
-
-
-                                   - 7 -
-
-
-
-       4.3  The Status Section
-
-            The  bottom  two  lines  of  the  screen  describe  the
-       player's current status.  The first line gives the  player's
-       characteristics:
-
-          o Intelligence (Int)
-
-          o Strength (Str)
-
-          o Wisdom (Wis)
-
-          o Dexterity (Dxt)
-
-          o Constitution (Const)
-
-          o Charisma (Char)
-
-          o Encumberance (Carry)
-
-            Intelligence,  strength,  wisdom,  dexterity, charisma,
-       and constitution have a normal maximum of  25,  but  can  be
-       higher   when  augmented  by  a  ring.   Encumberance  is  a
-       measurement of how much the player can carry versus how much
-       he  is  currently  carrying.  The more you carry relative to
-       your maximum causes you to use more food.
-
-            The  second  status   line   provides   the   following
-       information:
-
-          o The  current  level  (Lvl) in the dungeon.  This number
-            increases as the player goes further down.
-
-          o The  player's  current  number  of  hit  points   (Hp),
-            followed in parentheses by the player's current maximum
-            number of hit points.  Hit points express the  player's
-            health.   As  a  player  heals by resting, the player's
-            current hit points gradually  increase  until  reaching
-            the  current maximum.  This maximum increases each time
-            a player  attains  a  new  experience  level.   If  the
-            player's current hit points reach 0, the player dies.
-
-          o The  player's  armor class (Ac).  This number describes
-            the amount of protection provided by the armor, cloaks,
-            and/or  rings currently worn by the player.  It is also
-            affected by high or low dexterity.  Wearing no armor is
-            equivalent  to  an  armor  class of 10.  The protection
-            level increases as the armor class decreases.
-
-          o The player's current experience level (Exp) followed by
-            the  player's  experience  points.  The player can gain
-            experience points  by  killing  monsters,  successfully
-            stealing  from  monsters, and turning monsters.  When a
-            player gains enough  experience  points  to  surpass  a
-
-
-
-
-
-
-
-
-                                   - 8 -
-
-
-
-            threshold  that depends on the player's character type,
-            the player reaches  a  new  experience  level.   A  new
-            experience  level  brings extra hit points and possibly
-            added abilities, such as a new spell for a magician  or
-            a new prayer for a cleric.
-
-          o A   description   of   the  player's  character.   This
-            description depends on the player's character type  and
-            experience level.
-
-
-       5.  COMMANDS
-
-            A  player  can  invoke  most Rogue commands by typing a
-       single  character.   Some  commands,  however,   require   a
-       direction,  in  which  case  the  player  types  the command
-       character followed by a directional command.  Many  commands
-       can  be  prefaced by a number, indicating how many times the
-       command should be executed.
-
-            When the player invokes a command referring to an  item
-       in  the  player's  pack (such as reading a scroll), the game
-       prompts for the item.   The  player  should  then  type  the
-       letter  associated  with  the  item,  as  displayed  by  the
-       inventory command.  Typing a '*' at this  point  produces  a
-       list of the eligible items.
-
-            Rogue understands the following commands:
-
-       ?   Preceding   a   command   by  a  '?'  produces  a  brief
-           explanation of the command.  The command '?*'  gives  an
-           explanation of all the commands.
-
-       /   Preceding a symbol by a '/' identifies the symbol.
-
-       =   Clarify.   After  typing an '=' sign, the player can use
-           the movement keys to position the cursor anywhere on the
-           current  level.   As long as the player can normally see
-           the selected position, Rogue will identify  whatever  is
-           at that space.  Examples include a sleeping giant rat, a
-           blue potion, and a food ration.
-
-       h   Move one position to the left.
-
-       j   Move one position down.
-
-       k   Move one position up.
-
-       l   Move one position to the right.
-
-       y   Move one position to the top left.
-
-       u   Move one position to the top right.
-
-
-
-
-
-
-
-
-
-                                   - 9 -
-
-
-
-       b   Move one position to the bottom left.
-
-       n   Move one position to the bottom right.
-
-       H   Run to the left until reaching something interesting.
-
-       J   Run down until reaching something interesting.
-
-       K   Run up until reaching something interesting.
-
-       L   Run to the right until reaching something interesting.
-
-       Y   Run  to  the   top   left   until   reaching   something
-           interesting.
-
-       U   Run   to   the   top   right  until  reaching  something
-           interesting.
-
-       B   Run  to  the  bottom  left  until   reaching   something
-           interesting.
-
-       N   Run   to  the  bottom  right  until  reaching  something
-           interesting.
-
-       t   This command prompts for  an  object  from  the  players
-           pack.    The  player  then  throws  the  object  in  the
-           specified direction.
-
-       f   When this command precedes a  directional  command,  the
-           player  moves  in  the specified direction until passing
-           something interesting.
-
-       z   This command prompts  for  a  wand  or  staff  from  the
-           player's pack and zaps it in the specified direction.
-
-       >   Go down to the next level.
-
-       <   Go up to the next level.
-
-       s   Search  for  a  secret  door  or  a  trap  in the circle
-           surrounding the player.
-
-       .   This command (a dot) causes the player to rest a turn.
-
-       i   Display an inventory of the player's pack.
-
-       I   This command prompts for an item from the player's  pack
-           and displays the inventory information for that item.
-
-       q   Quaff a potion from the player's pack.
-
-       r   Read a scroll from the player's pack.
-
-
-
-
-
-
-
-
-
-
-                                  - 10 -
-
-
-
-       e   Eat some food from the player's pack.
-
-       w   Wield a weapon from the player's pack.
-
-       W   Wear  some armor, ring, or miscellaneous magic item from
-           the player's pack.  The player can  wear  a  maximum  of
-           eight rings.
-
-       T   Take off whatever the player is wearing.
-
-       ^U  Use a magic item in the player's pack.
-
-       d   Drop an item from the player's pack.
-
-       P   Pick up the items currently under the player.
-
-       ^N  When  the player types this command, Rogue prompts for a
-           monster or an item from the player's pack and a one-line
-           name.   For  monsters,  the  player can use the movement
-           keys to position the cursor over  the  desired  monster,
-           and  Rogue  will  use  the  given  name to refer to that
-           monster.  For items, Rogue gives all similar items (such
-           as all the blue potions) the specified name.
-
-       m   When the player types this command, Rogue prompts for an
-           item from the player's pack and a one-line name.   Rogue
-           then marks the specified item with the given name.
-
-       o   Typing  this  command  causes  Rogue  to display all the
-           settable options.  The player can  then  merely  examine
-           the options or change any or all of them.
-
-       C   This   command,  restricted  to  magicians  and  rangers
-           produces a listing of the current supply of spells.  The
-           player  can  select  one of the displayed spells and, if
-           the player's energy level is sufficiently high, Cast it.
-           The  more  complicated  the  spell,  the  more energy it
-           takes.
-
-       c   This command, restricted to druids and rangers  produces
-           a  listing  of the current supply of chants.  The player
-           can select one of  the  displayed  chants  and,  if  the
-           player's  energy  level  is sufficiently high, chant it.
-           The more complicated  the  spell,  the  more  energy  it
-           takes.
-
-       p   This   command,  restricted  to  clerics  and  paladins,
-           produces a listing of  the  character's  known  prayers.
-           The  player  can  then offer one of these prayers to the
-           character's deity.  Deities are not known  for  favoring
-           characters  which continually pray to them, and they are
-           most likely to answer the least "ambitious" prayers.
-
-
-
-
-
-
-
-
-
-
-                                  - 11 -
-
-
-
-       a   This command is restricted to clerics and paladins  must
-           be  followed  by  a directional command.  If there is an
-           "undead" monster standing next  to  the  player  in  the
-           specified  direction,  there is a chance the player will
-           affect the monster by causing it  to  flee  or  possibly
-           even destroying it.
-
-       *   Count the gold in the player's pack.
-
-       ^   This  command  sets a trap and is limited to thieves and
-           assassins.   If  the  character  is  successful,   Rogue
-           prompts  the player for a type of trap and sets it where
-           the player is standing.
-
-       G   This command is restricted to thieves and assassins.  It
-           causes  Rogue  to  display  all  the gold on the current
-           level.
-
-       D   Dip something into a magic pool.
-
-       ^T  This command is restricted to thieves and assassins.  It
-           must  be followed by a directional command.  If there is
-           a monster standing next to the player in  the  specified
-           direction,  the  player  tries to steal an item from the
-           monster's  pack.   If  the  player  is  successful,  the
-           monster  does  not notice anything, but if the player is
-           unsuccessful, there is a chance the  monster  will  wake
-           up.
-
-       ^L  Redraw the screen.
-
-       ^R  Repeat  the  last  message that was displayed on the top
-           line of the screen.
-
-       ^[  Typing an escape will usually cause Rogue to cancel  the
-           current command.
-
-       v   Print the current Rogue version number.
-
-       !   Escape to the shell.
-
-       S   Quit and save the game for resumption at a later time.
-
-       Q   Quit without saving the game.
-
-
-       6.  IMPLICIT COMMANDS
-
-            There  is  no  "attack" command.  If a player wishes to
-       attack a monster, the player simply tries to move  onto  the
-       spot  where  the monster is standing.  The game then assumes
-       that the player wishes to attack the monster  with  whatever
-       weapon the player is wielding.
-
-
-
-
-
-
-
-
-
-                                  - 12 -
-
-
-
-            When   the   player   moves  onto  an  item,  the  game
-       automatically places the object into the player's pack.   If
-       there  is  no room left in the pack, the game announces that
-       fact and leaves the item on the floor.
-
-
-       7.  TIME
-
-            All actions except  for  purely  bookkeeping  commands,
-       such  as taking an inventory, take time.  The amount of time
-       varies with the command.  Swinging a  weapon,  for  example,
-       takes  more time than simply moving; so a monster could move
-       several spaces in the time it takes the player to  make  one
-       attack.   The  time  it  takes to swing a weapon also varies
-       based on the bulk of the weapon, and the time  it  takes  to
-       simply  move  a  space  varies  with the type of armor worn.
-       Movement is always faster when flying.
-
-            Since actions take time, some of them can be disrupted.
-       If  the player is casting a spell, for example, and gets hit
-       before finishing it, the  spell  is  lost.   Similarly,  the
-       player  might  choke if hit while trying to eat.  Of course,
-       the same rule applies when the player hits a monster.
-
-            Magical  hasting  (or  slowing)   will   decrease   (or
-       increase) the time it takes to perform an action.
-
-
-       8.  LIGHT
-
-            Some  rooms  in  the  dungeon  possess  a natural light
-       source.  In other rooms and in corridors the player can  see
-       only those things within a one space radius from the player.
-       These dark rooms can be lit with magical light or by a  fire
-       beetle.
-
-
-       9.  WEAPONS AND ARMOR
-
-            The  player  can  wield  exactly  one weapon at a time.
-       When the player attacks a  monster,  the  amount  of  damage
-       depends on the particular weapon the player is wielding.  To
-       fire a projectile weapon, such as a crossbow or a short bow,
-       the  player  should  wield  the  bow and "throw" the bolt or
-       arrow at the monster.
-
-            A weapon  may  be  cursed  or  blessed,  affecting  the
-       likelihood  of  hitting  a  monster  with the weapon and the
-       damage the weapon will  inflict  on  the  monster.   If  the
-       player has identified a weapon, the "to hit" and "to damage"
-       bonuses appear in that order before the weapon's name in  an
-       inventory  listing.   A  positive  bonus indicates a blessed
-       weapon, and a negative  bonus  usually  indicates  a  cursed
-       weapon.  The player cannot release a cursed weapon.
-
-
-
-
-
-
-
-
-                                  - 13 -
-
-
-
-            Without  any armor the player has an armor class of 10.
-       The lower the player's armor class, the harder it is  for  a
-       monster  to hit the player, so wearing armor can improve the
-       player's armor class.  A  cursed  suit  of  armor,  however,
-       offers  poor  protection  and may sometimes be worse than no
-       armor at all.
-
-            After the player has identified a suit  of  armor,  the
-       protection  bonus  appears  before  the  armor's  name in an
-       inventory listing.  If the bonus is positive  the  armor  is
-       blessed, and if it is negative, the armor is usually cursed.
-       The player cannot remove a cursed suit of armor.
-
-            Some monsters can corrode armor when they hit  it.   If
-       such  a  monster  hits the player when the player is wearing
-       metal armor, the armor loses some of its  protection  value,
-       but  the corrosion does not curse the armor.  This corrosive
-       property can also apply to weapons when the player hits such
-       a monster.
-
-
-       10.  POTIONS AND SCROLLS
-
-            The  player  can frequently find potions and scrolls in
-       the  dungeon.   In  any  given  dungeon,  the   player   can
-       distinguish  among  the  different  types  of  potions  by a
-       potion's color and among the different types of scrolls by a
-       scroll's  name.   Quaffing  a  potion  or  reading  a scroll
-       usually causes some magical occurrence.   Most  potions  and
-       scrolls may be cursed or blessed.
-
-
-       11.  RINGS
-
-            The  player can wear a maximum of eight rings, and they
-       have a magical effect on the player  as  long  as  they  are
-       worn.   Some  rings  also  speed up the player's metabolism,
-       making the player require food more often.  Many  rings  can
-       be  cursed or blessed, and the player cannot remove a cursed
-       ring.  The player can distinguish among different  types  of
-       rings by a ring's jewel.
-
-
-       12.  WANDS AND STAVES
-
-            Wands  and staves affect the player's environment.  The
-       player can zap a wand or  staff  at  something  and  perhaps
-       shoot  a  bolt  of lightning at it or teleport it away.  All
-       wands or staves of the same type are  constructed  with  the
-       same  type  of wood.  Some wands and staves may be cursed or
-       blessed.
-
-
-
-
-
-
-
-
-
-
-
-                                  - 14 -
-
-
-
-       13.  FOOD
-
-            The player must be careful not to run out of food since
-       moving  through the dungeon fighting monsters consumes a lot
-       of energy.  Starving results in the  player's  fainting  for
-       increasingly longer periods of time, during which any nearby
-       monster can attack the player freely.
-
-            Food comes in the form of standard  rations  and  as  a
-       variety  of  berries.   Some  berries  have  side effects in
-       addition to satisfying one's hunger.
-
-
-       14.  GOLD
-
-            Gold has one use in a dungeon:  buying things.  One can
-       buy  things  in two ways, either in a trading post or from a
-       quartermaster.  A trading post is  a  place  that  sometimes
-       occurs "between levels" of the dungeon and can be entered by
-       stepping on the entrance.  A quartermaster is a  person  who
-       will  sometimes  appear and will try to sell the player some
-       of his wares.  These wares are never cursed  and  frequently
-       blessed,  though  blessed goods cost more than normal goods.
-       If the player chooses to  buy  one  of  the  quartermaster's
-       items,  the  quartermaster trades the item for the specified
-       amount of gold and disappears.   Attacking  a  quartermaster
-       causes him to vanish without offering a trade.
-
-            The  player  starts  the  game in a trading post with a
-       class-dependent  allotment  of  gold.   Although  there  are
-       restrictions  on  the  use of some items (eg. only fighters,
-       paladins, and rangers  can  wield  two-handed  swords),  the
-       market  will  happily  sell  the player anything that he can
-       afford.
-
-
-
-       15.  MISCELLANEOUS MAGIC ITEMS
-
-            Miscellaneous items such as a pair of boots or  a  book
-       may be found within the dungeon.  These items can usually be
-       used to  the  player's  advantage  (assuming  they  are  not
-       cursed).   Some of these items can be worn, such as a cloak,
-       while others are to be used, such as a book.
-
-
-       16.  ARTIFACTS
-
-            Some monsters down in the depths of the  dungeon  carry
-       unique  artifacts.   The  game begins as a quest to retrieve
-       one of these items.   Each  artifact  appears  only  on  its
-       owner's person.  These items also can usually be used to the
-       player's  advantage.  However,  care  must  be  taken   when
-       handling  them  for  they  are  intelligent  and will reject
-
-
-
-
-
-
-
-
-                                  - 15 -
-
-
-
-       mishandling or abuse. These items consume  food  and  merely
-       carrying them will result in increased food use.
-
-
-       17.  TRAPS
-
-            A  variety  of traps, including trap doors, bear traps,
-       and sleeping traps, are hidden in the dungeon.  They  remain
-       hidden  until  sprung  by a monster or the player.  A sprung
-       trap continues to function, but  since  it  is  visible,  an
-       intelligent monster is not likely to tread on it.
-
-
-       18.  THE MONSTERS
-
-            Each  monster  except  for  the  merchant quartermaster
-       appears in a limited range of dungeon levels.  All  monsters
-       of  the  same type share the same abilities; all giant rats,
-       for  example,  can  give  the  player  a  disease,  and  all
-       jackalweres  can  put  the player to sleep.  Monsters of the
-       same type can vary, however, such that  one  kobold  may  be
-       much  more  difficult to kill than another one.  In general,
-       the more difficult  it  is  to  kill  a  monster,  the  more
-       experience points the monster is worth.
-
-            Most  monsters  attack  by biting and clawing, but some
-       monsters carry weapons, including such projectile weapons as
-       short  bows  and  crossbows,  and  some monsters have breath
-       weapons.  Some monsters even  use  magical  items,  such  as
-       wands.   Monsters  with distance weapons or magic can attack
-       the player from across a room or down a corridor.
-
-            Some monsters are more intelligent than others, and the
-       more intelligent a monster, the more likely that the monster
-       will run away if it is about to die.  A fleeing monster will
-       not attack the player unless cornered.
-
-            It  is  sometimes  possible  to enlist a monster's aid.
-       Reading a charm monster scroll, for example,  or  singing  a
-       charm monster chant can make a monster believe the player is
-       its friend.  A charmed monster will fight  hostile  monsters
-       for the player as long as they are not of its race.
-
-            As  the  player moves down in the dungeon, the monsters
-       get more powerful.  Deep down in  the  dungeon  there  exist
-       some  one-of-a-kind  monsters.   These  monsters are greatly
-       feared.  However, once a "unique  monster"  is  killed,  the
-       player will not find another in the current dungeon.
-
-
-       19.  OPTIONS
-
-            Rogue  has  several  options  which  may  be set by the
-       player:
-
-
-
-
-
-
-
-
-                                  - 16 -
-
-
-
-       terse  Setting  this  Boolean  option  results  in   shorter
-              messages appearing on the top line of the screen.
-
-       jump   Setting  this Boolean option results in waiting until
-              the player has finished running to draw the  player's
-              path.   Otherwise  the  game always displays the path
-              one step at a time.
-
-       step   Setting this Boolean option results in most listings,
-              such as an inventory, appearing one item at a time on
-              the top line of the screen.  When this option is  not
-              set,  the  game clears the screen, displays the list,
-              and then redraws the dungeon.
-
-       flush  Setting this Boolean option results in  flushing  all
-              typeahead   (pending)   commands   when   the  player
-              encounters a monster.
-
-       askme  Setting this  Boolean  option  results  in  the  game
-              prompting  the  player for a name upon encountering a
-              new type of scroll, potion, ring, staff, or wand.
-
-       pickup This option specifys whether items should  be  picked
-              up  automatically  as  the rogue steps over them.  In
-              the non-automatic mode, the player may still pick  up
-              items   via  the  pickup  (P)  command.   The  option
-              defaults to true.
-
-       name   This string is the player's name and defaults to  the
-              player's account name.
-
-       file   This  string, which defaults to rogue.save, specifies
-              the file to use for saving the game.
-
-       score  This string identifies the top-twenty score  file  to
-              use for the game.
-
-       class  This  option  specifies  the  character  class of the
-              rogue.   It  can  be  set  only  in   the   ROGUEOPTS
-              environment variable.
-
-       quested item
-              This  option  is  set  by  the  game at the start and
-              cannot be reset by the player.  It is  merely  listed
-              to remind the player of his quest.
-
-            The  player  can set options at the beginning of a game
-       via the ROGUEOPTS environment variable.   Naming  a  Boolean
-       option  sets  it,  and  preceding the Boolean option name by
-       "no" clears  it.   The  syntax  "stringoption=name"  sets  a
-       string  option  to  "name."  So setting ROGUEOPTS to "terse,
-       jump, nostep, flush,  askme,  name=Ivan the Terrible"  would
-       set the terse, jump, flush, and askme Boolean options, clear
-       the step Boolean option, set the player's name to "Ivan  the
-
-
-
-
-
-
-
-
-                                  - 17 -
-
-
-
-       Terrible,"  and  use  the defaults for the save file and the
-       score file.
-
-            The player may change an option at any time during  the
-       game  via  the option command, which results in a listing of
-       the current options.  Typing a new value changes the option,
-       a  RETURN  moves  to  the  next  option,  a '-' moves to the
-       previous option, and an ESCAPE returns  the  player  to  the
-       dungeon.
-
-
-       20.  SCORING
-
-            The  player  receives  experience  points  for stealing
-       items from monsters, turning monsters (a clerical  ability),
-       and  killing  monsters.   When  the  player gets killed, the
-       player's score equals the  player's  experience  points.   A
-       player  who  quits  gets  a  score  equal  to  the  player's
-       experience points and gold.  If the player makes it back  up
-       out  of  the dungeon, the player's score equals the player's
-       experience points plus the gold the player carried  and  the
-       gold received from selling the player's possessions.
-
-            Rogue  maintains  a  list  of  the top twenty scores to
-       date, together with the name of  the  player  obtaining  the
-       score,  the  level where the player finished, and the manner
-       in which the player ended  the  game.   As  an  installation
-       option,  the  game  may  record only one entry per character
-       type and login; this restriction encourages a greater number
-       of different players in the scorechart.
-
-
-       21.  ACKNOWLEDGEMENTS
-
-            This  version  of Rogue is based on a version developed
-       at the University of California.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
--- a/arogue7/configure.ac	Wed Mar 02 21:13:26 2016 -0500
+++ b/arogue7/configure.ac	Wed Mar 02 21:28:34 2016 -0500
@@ -25,6 +25,11 @@
 AC_CHECK_FUNCS([erasechar killchar alarm getpass memset setenv strchr _spawnl spawnl getpwuid loadav strerror setgid setuid getuid getgid])
 AC_PROG_INSTALL
 
+AC_CHECK_PROG([NROFF], [nroff], [nroff],)
+AC_CHECK_PROG([GROFF], [groff], [groff],)
+AC_CHECK_PROG([COLCRT], [colcrt], [colcrt],)
+AC_CHECK_PROG([TBL], [tbl], [tbl],)
+
 AC_ARG_WITH(program-name, AC_HELP_STRING([--with-program-name=NAME],[alternate executable name]),[progname="$withval" ], [progname="arogue7"] )
 PROGRAM=$progname
 AC_SUBST(PROGRAM)
--- a/config.guess	Wed Mar 02 21:13:26 2016 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1500 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-#   Inc.
-
-timestamp='2006-07-02'
-
-# This file 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 2 of the License, or
-# (at your option) any later version.
-#
-# This program 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 this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner <per@bothner.com>.
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )	# Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help" >&2
-       exit 1 ;;
-    * )
-       break ;;
-  esac
-done
-
-if test $# != 0; then
-  echo "$me: too many arguments$help" >&2
-  exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
-	for c in cc gcc c89 c99 ; do
-	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
-	     CC_FOR_BUILD="$c"; break ;
-	  fi ;
-	done ;
-	if test x"$CC_FOR_BUILD" = x ; then
-	  CC_FOR_BUILD=no_compiler_found ;
-	fi
-	;;
- ,,*)   CC_FOR_BUILD=$CC ;;
- ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-	PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-    *:NetBSD:*:*)
-	# NetBSD (nbsd) targets should (where applicable) match one or
-	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
-	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
-	# switched to ELF, *-*-netbsd* would select the old
-	# object file format.  This provides both forward
-	# compatibility and a consistent mechanism for selecting the
-	# object file format.
-	#
-	# Note: NetBSD doesn't particularly care about the vendor
-	# portion of the name.  We always set it to "unknown".
-	sysctl="sysctl -n hw.machine_arch"
-	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
-	case "${UNAME_MACHINE_ARCH}" in
-	    armeb) machine=armeb-unknown ;;
-	    arm*) machine=arm-unknown ;;
-	    sh3el) machine=shl-unknown ;;
-	    sh3eb) machine=sh-unknown ;;
-	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
-	esac
-	# The Operating System including object format, if it has switched
-	# to ELF recently, or will in the future.
-	case "${UNAME_MACHINE_ARCH}" in
-	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-		eval $set_cc_for_build
-		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-			| grep __ELF__ >/dev/null
-		then
-		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-		    # Return netbsd for either.  FIX?
-		    os=netbsd
-		else
-		    os=netbsdelf
-		fi
-		;;
-	    *)
-	        os=netbsd
-		;;
-	esac
-	# The OS release
-	# Debian GNU/NetBSD machines have a different userland, and
-	# thus, need a distinct triplet. However, they do not need
-	# kernel version information, so it can be replaced with a
-	# suitable tag, in the style of linux-gnu.
-	case "${UNAME_VERSION}" in
-	    Debian*)
-		release='-gnu'
-		;;
-	    *)
-		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-		;;
-	esac
-	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-	# contains redundant information, the shorter form:
-	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-	echo "${machine}-${os}${release}"
-	exit ;;
-    *:OpenBSD:*:*)
-	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
-	exit ;;
-    *:ekkoBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
-	exit ;;
-    *:SolidBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
-	exit ;;
-    macppc:MirBSD:*:*)
-	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
-	exit ;;
-    *:MirBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
-	exit ;;
-    alpha:OSF1:*:*)
-	case $UNAME_RELEASE in
-	*4.0)
-		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-		;;
-	*5.*)
-	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
-		;;
-	esac
-	# According to Compaq, /usr/sbin/psrinfo has been available on
-	# OSF/1 and Tru64 systems produced since 1995.  I hope that
-	# covers most systems running today.  This code pipes the CPU
-	# types through head -n 1, so we only detect the type of CPU 0.
-	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
-	case "$ALPHA_CPU_TYPE" in
-	    "EV4 (21064)")
-		UNAME_MACHINE="alpha" ;;
-	    "EV4.5 (21064)")
-		UNAME_MACHINE="alpha" ;;
-	    "LCA4 (21066/21068)")
-		UNAME_MACHINE="alpha" ;;
-	    "EV5 (21164)")
-		UNAME_MACHINE="alphaev5" ;;
-	    "EV5.6 (21164A)")
-		UNAME_MACHINE="alphaev56" ;;
-	    "EV5.6 (21164PC)")
-		UNAME_MACHINE="alphapca56" ;;
-	    "EV5.7 (21164PC)")
-		UNAME_MACHINE="alphapca57" ;;
-	    "EV6 (21264)")
-		UNAME_MACHINE="alphaev6" ;;
-	    "EV6.7 (21264A)")
-		UNAME_MACHINE="alphaev67" ;;
-	    "EV6.8CB (21264C)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.8AL (21264B)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.8CX (21264D)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.9A (21264/EV69A)")
-		UNAME_MACHINE="alphaev69" ;;
-	    "EV7 (21364)")
-		UNAME_MACHINE="alphaev7" ;;
-	    "EV7.9 (21364A)")
-		UNAME_MACHINE="alphaev79" ;;
-	esac
-	# A Pn.n version is a patched version.
-	# A Vn.n version is a released version.
-	# A Tn.n version is a released field test version.
-	# A Xn.n version is an unreleased experimental baselevel.
-	# 1.2 uses "1.2" for uname -r.
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	exit ;;
-    Alpha\ *:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# Should we change UNAME_MACHINE based on the output of uname instead
-	# of the specific Alpha model?
-	echo alpha-pc-interix
-	exit ;;
-    21064:Windows_NT:50:3)
-	echo alpha-dec-winnt3.5
-	exit ;;
-    Amiga*:UNIX_System_V:4.0:*)
-	echo m68k-unknown-sysv4
-	exit ;;
-    *:[Aa]miga[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-amigaos
-	exit ;;
-    *:[Mm]orph[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-morphos
-	exit ;;
-    *:OS/390:*:*)
-	echo i370-ibm-openedition
-	exit ;;
-    *:z/VM:*:*)
-	echo s390-ibm-zvmoe
-	exit ;;
-    *:OS400:*:*)
-        echo powerpc-ibm-os400
-	exit ;;
-    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-	echo arm-acorn-riscix${UNAME_RELEASE}
-	exit ;;
-    arm:riscos:*:*|arm:RISCOS:*:*)
-	echo arm-unknown-riscos
-	exit ;;
-    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-	echo hppa1.1-hitachi-hiuxmpp
-	exit ;;
-    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-	if test "`(/bin/universe) 2>/dev/null`" = att ; then
-		echo pyramid-pyramid-sysv3
-	else
-		echo pyramid-pyramid-bsd
-	fi
-	exit ;;
-    NILE*:*:*:dcosx)
-	echo pyramid-pyramid-svr4
-	exit ;;
-    DRS?6000:unix:4.0:6*)
-	echo sparc-icl-nx6
-	exit ;;
-    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
-	case `/usr/bin/uname -p` in
-	    sparc) echo sparc-icl-nx7; exit ;;
-	esac ;;
-    sun4H:SunOS:5.*:*)
-	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    i86pc:SunOS:5.*:*)
-	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4*:SunOS:6*:*)
-	# According to config.sub, this is the proper way to canonicalize
-	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
-	# it's likely to be more like Solaris than SunOS4.
-	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4*:SunOS:*:*)
-	case "`/usr/bin/arch -k`" in
-	    Series*|S4*)
-		UNAME_RELEASE=`uname -v`
-		;;
-	esac
-	# Japanese Language versions have a version number like `4.1.3-JL'.
-	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-	exit ;;
-    sun3*:SunOS:*:*)
-	echo m68k-sun-sunos${UNAME_RELEASE}
-	exit ;;
-    sun*:*:4.2BSD:*)
-	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-	case "`/bin/arch`" in
-	    sun3)
-		echo m68k-sun-sunos${UNAME_RELEASE}
-		;;
-	    sun4)
-		echo sparc-sun-sunos${UNAME_RELEASE}
-		;;
-	esac
-	exit ;;
-    aushp:SunOS:*:*)
-	echo sparc-auspex-sunos${UNAME_RELEASE}
-	exit ;;
-    # The situation for MiNT is a little confusing.  The machine name
-    # can be virtually everything (everything which is not
-    # "atarist" or "atariste" at least should have a processor
-    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
-    # to the lowercase version "mint" (or "freemint").  Finally
-    # the system name "TOS" denotes a system which is actually not
-    # MiNT.  But MiNT is downward compatible to TOS, so this should
-    # be no problem.
-    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-	exit ;;
-    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
-        exit ;;
-    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-	exit ;;
-    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-        echo m68k-milan-mint${UNAME_RELEASE}
-        exit ;;
-    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-        echo m68k-hades-mint${UNAME_RELEASE}
-        exit ;;
-    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-        echo m68k-unknown-mint${UNAME_RELEASE}
-        exit ;;
-    m68k:machten:*:*)
-	echo m68k-apple-machten${UNAME_RELEASE}
-	exit ;;
-    powerpc:machten:*:*)
-	echo powerpc-apple-machten${UNAME_RELEASE}
-	exit ;;
-    RISC*:Mach:*:*)
-	echo mips-dec-mach_bsd4.3
-	exit ;;
-    RISC*:ULTRIX:*:*)
-	echo mips-dec-ultrix${UNAME_RELEASE}
-	exit ;;
-    VAX*:ULTRIX*:*:*)
-	echo vax-dec-ultrix${UNAME_RELEASE}
-	exit ;;
-    2020:CLIX:*:* | 2430:CLIX:*:*)
-	echo clipper-intergraph-clix${UNAME_RELEASE}
-	exit ;;
-    mips:*:*:UMIPS | mips:*:*:RISCos)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-	int main (int argc, char *argv[]) {
-#else
-	int main (argc, argv) int argc; char *argv[]; {
-#endif
-	#if defined (host_mips) && defined (MIPSEB)
-	#if defined (SYSTYPE_SYSV)
-	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_SVR4)
-	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-	#endif
-	#endif
-	  exit (-1);
-	}
-EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c &&
-	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-	  SYSTEM_NAME=`$dummy $dummyarg` &&
-	    { echo "$SYSTEM_NAME"; exit; }
-	echo mips-mips-riscos${UNAME_RELEASE}
-	exit ;;
-    Motorola:PowerMAX_OS:*:*)
-	echo powerpc-motorola-powermax
-	exit ;;
-    Motorola:*:4.3:PL8-*)
-	echo powerpc-harris-powermax
-	exit ;;
-    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-	echo powerpc-harris-powermax
-	exit ;;
-    Night_Hawk:Power_UNIX:*:*)
-	echo powerpc-harris-powerunix
-	exit ;;
-    m88k:CX/UX:7*:*)
-	echo m88k-harris-cxux7
-	exit ;;
-    m88k:*:4*:R4*)
-	echo m88k-motorola-sysv4
-	exit ;;
-    m88k:*:3*:R3*)
-	echo m88k-motorola-sysv3
-	exit ;;
-    AViiON:dgux:*:*)
-        # DG/UX returns AViiON for all architectures
-        UNAME_PROCESSOR=`/usr/bin/uname -p`
-	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-	then
-	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-	       [ ${TARGET_BINARY_INTERFACE}x = x ]
-	    then
-		echo m88k-dg-dgux${UNAME_RELEASE}
-	    else
-		echo m88k-dg-dguxbcs${UNAME_RELEASE}
-	    fi
-	else
-	    echo i586-dg-dgux${UNAME_RELEASE}
-	fi
- 	exit ;;
-    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
-	echo m88k-dolphin-sysv3
-	exit ;;
-    M88*:*:R3*:*)
-	# Delta 88k system running SVR3
-	echo m88k-motorola-sysv3
-	exit ;;
-    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-	echo m88k-tektronix-sysv3
-	exit ;;
-    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-	echo m68k-tektronix-bsd
-	exit ;;
-    *:IRIX*:*:*)
-	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-	exit ;;
-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
-	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
-    i*86:AIX:*:*)
-	echo i386-ibm-aix
-	exit ;;
-    ia64:AIX:*:*)
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
-	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-	fi
-	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-	exit ;;
-    *:AIX:2:3)
-	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-		eval $set_cc_for_build
-		sed 's/^		//' << EOF >$dummy.c
-		#include <sys/systemcfg.h>
-
-		main()
-			{
-			if (!__power_pc())
-				exit(1);
-			puts("powerpc-ibm-aix3.2.5");
-			exit(0);
-			}
-EOF
-		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
-		then
-			echo "$SYSTEM_NAME"
-		else
-			echo rs6000-ibm-aix3.2.5
-		fi
-	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-		echo rs6000-ibm-aix3.2.4
-	else
-		echo rs6000-ibm-aix3.2
-	fi
-	exit ;;
-    *:AIX:*:[45])
-	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
-		IBM_ARCH=rs6000
-	else
-		IBM_ARCH=powerpc
-	fi
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
-	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-	fi
-	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-	exit ;;
-    *:AIX:*:*)
-	echo rs6000-ibm-aix
-	exit ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-	echo romp-ibm-bsd4.4
-	exit ;;
-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-	exit ;;                             # report: romp-ibm BSD 4.3
-    *:BOSX:*:*)
-	echo rs6000-bull-bosx
-	exit ;;
-    DPX/2?00:B.O.S.:*:*)
-	echo m68k-bull-sysv3
-	exit ;;
-    9000/[34]??:4.3bsd:1.*:*)
-	echo m68k-hp-bsd
-	exit ;;
-    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-	echo m68k-hp-bsd4.4
-	exit ;;
-    9000/[34678]??:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	case "${UNAME_MACHINE}" in
-	    9000/31? )            HP_ARCH=m68000 ;;
-	    9000/[34]?? )         HP_ARCH=m68k ;;
-	    9000/[678][0-9][0-9])
-		if [ -x /usr/bin/getconf ]; then
-		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                    case "${sc_cpu_version}" in
-                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-                      532)                      # CPU_PA_RISC2_0
-                        case "${sc_kernel_bits}" in
-                          32) HP_ARCH="hppa2.0n" ;;
-                          64) HP_ARCH="hppa2.0w" ;;
-			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
-                        esac ;;
-                    esac
-		fi
-		if [ "${HP_ARCH}" = "" ]; then
-		    eval $set_cc_for_build
-		    sed 's/^              //' << EOF >$dummy.c
-
-              #define _HPUX_SOURCE
-              #include <stdlib.h>
-              #include <unistd.h>
-
-              int main ()
-              {
-              #if defined(_SC_KERNEL_BITS)
-                  long bits = sysconf(_SC_KERNEL_BITS);
-              #endif
-                  long cpu  = sysconf (_SC_CPU_VERSION);
-
-                  switch (cpu)
-              	{
-              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-              	case CPU_PA_RISC2_0:
-              #if defined(_SC_KERNEL_BITS)
-              	    switch (bits)
-              		{
-              		case 64: puts ("hppa2.0w"); break;
-              		case 32: puts ("hppa2.0n"); break;
-              		default: puts ("hppa2.0"); break;
-              		} break;
-              #else  /* !defined(_SC_KERNEL_BITS) */
-              	    puts ("hppa2.0"); break;
-              #endif
-              	default: puts ("hppa1.0"); break;
-              	}
-                  exit (0);
-              }
-EOF
-		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-		    test -z "$HP_ARCH" && HP_ARCH=hppa
-		fi ;;
-	esac
-	if [ ${HP_ARCH} = "hppa2.0w" ]
-	then
-	    eval $set_cc_for_build
-
-	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
-	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
-	    # generating 64-bit code.  GNU and HP use different nomenclature:
-	    #
-	    # $ CC_FOR_BUILD=cc ./config.guess
-	    # => hppa2.0w-hp-hpux11.23
-	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
-	    # => hppa64-hp-hpux11.23
-
-	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
-		grep __LP64__ >/dev/null
-	    then
-		HP_ARCH="hppa2.0w"
-	    else
-		HP_ARCH="hppa64"
-	    fi
-	fi
-	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-	exit ;;
-    ia64:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	echo ia64-hp-hpux${HPUX_REV}
-	exit ;;
-    3050*:HI-UX:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#include <unistd.h>
-	int
-	main ()
-	{
-	  long cpu = sysconf (_SC_CPU_VERSION);
-	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
-	     results, however.  */
-	  if (CPU_IS_PA_RISC (cpu))
-	    {
-	      switch (cpu)
-		{
-		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-		  default: puts ("hppa-hitachi-hiuxwe2"); break;
-		}
-	    }
-	  else if (CPU_IS_HP_MC68K (cpu))
-	    puts ("m68k-hitachi-hiuxwe2");
-	  else puts ("unknown-hitachi-hiuxwe2");
-	  exit (0);
-	}
-EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
-		{ echo "$SYSTEM_NAME"; exit; }
-	echo unknown-hitachi-hiuxwe2
-	exit ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-	echo hppa1.1-hp-bsd
-	exit ;;
-    9000/8??:4.3bsd:*:*)
-	echo hppa1.0-hp-bsd
-	exit ;;
-    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-	echo hppa1.0-hp-mpeix
-	exit ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-	echo hppa1.1-hp-osf
-	exit ;;
-    hp8??:OSF1:*:*)
-	echo hppa1.0-hp-osf
-	exit ;;
-    i*86:OSF1:*:*)
-	if [ -x /usr/sbin/sysversion ] ; then
-	    echo ${UNAME_MACHINE}-unknown-osf1mk
-	else
-	    echo ${UNAME_MACHINE}-unknown-osf1
-	fi
-	exit ;;
-    parisc*:Lites*:*:*)
-	echo hppa1.1-hp-lites
-	exit ;;
-    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-	echo c1-convex-bsd
-        exit ;;
-    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-        exit ;;
-    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-	echo c34-convex-bsd
-        exit ;;
-    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-	echo c38-convex-bsd
-        exit ;;
-    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-	echo c4-convex-bsd
-        exit ;;
-    CRAY*Y-MP:*:*:*)
-	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*[A-Z]90:*:*:*)
-	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-	      -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*TS:*:*:*)
-	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*T3E:*:*:*)
-	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*SV1:*:*:*)
-	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    *:UNICOS/mp:*:*)
-	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit ;;
-    5000:UNIX_System_V:4.*:*)
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-	exit ;;
-    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-	exit ;;
-    sparc*:BSD/OS:*:*)
-	echo sparc-unknown-bsdi${UNAME_RELEASE}
-	exit ;;
-    *:BSD/OS:*:*)
-	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-	exit ;;
-    *:FreeBSD:*:*)
-	case ${UNAME_MACHINE} in
-	    pc98)
-		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	    amd64)
-		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	    *)
-		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	esac
-	exit ;;
-    i*:CYGWIN*:*)
-	echo ${UNAME_MACHINE}-pc-cygwin
-	exit ;;
-    i*:MINGW*:*)
-	echo ${UNAME_MACHINE}-pc-mingw32
-	exit ;;
-    i*:windows32*:*)
-    	# uname -m includes "-pc" on this system.
-    	echo ${UNAME_MACHINE}-mingw32
-	exit ;;
-    i*:PW*:*)
-	echo ${UNAME_MACHINE}-pc-pw32
-	exit ;;
-    x86:Interix*:[3456]*)
-	echo i586-pc-interix${UNAME_RELEASE}
-	exit ;;
-    EM64T:Interix*:[3456]*)
-	echo x86_64-unknown-interix${UNAME_RELEASE}
-	exit ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-	echo i${UNAME_MACHINE}-pc-mks
-	exit ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-	# UNAME_MACHINE based on the output of uname instead of i386?
-	echo i586-pc-interix
-	exit ;;
-    i*:UWIN*:*)
-	echo ${UNAME_MACHINE}-pc-uwin
-	exit ;;
-    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-	echo x86_64-unknown-cygwin
-	exit ;;
-    p*:CYGWIN*:*)
-	echo powerpcle-unknown-cygwin
-	exit ;;
-    prep*:SunOS:5.*:*)
-	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    *:GNU:*:*)
-	# the GNU system
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-	exit ;;
-    *:GNU/*:*:*)
-	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
-	exit ;;
-    i*86:Minix:*:*)
-	echo ${UNAME_MACHINE}-pc-minix
-	exit ;;
-    arm*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    avr32*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    cris:Linux:*:*)
-	echo cris-axis-linux-gnu
-	exit ;;
-    crisv32:Linux:*:*)
-	echo crisv32-axis-linux-gnu
-	exit ;;
-    frv:Linux:*:*)
-    	echo frv-unknown-linux-gnu
-	exit ;;
-    ia64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    m32r*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    m68*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    mips:Linux:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#undef CPU
-	#undef mips
-	#undef mipsel
-	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-	CPU=mipsel
-	#else
-	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-	CPU=mips
-	#else
-	CPU=
-	#endif
-	#endif
-EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-	    /^CPU/{
-		s: ::g
-		p
-	    }'`"
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
-	;;
-    mips64:Linux:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#undef CPU
-	#undef mips64
-	#undef mips64el
-	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-	CPU=mips64el
-	#else
-	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-	CPU=mips64
-	#else
-	CPU=
-	#endif
-	#endif
-EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-	    /^CPU/{
-		s: ::g
-		p
-	    }'`"
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
-	;;
-    or32:Linux:*:*)
-	echo or32-unknown-linux-gnu
-	exit ;;
-    ppc:Linux:*:*)
-	echo powerpc-unknown-linux-gnu
-	exit ;;
-    ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-gnu
-	exit ;;
-    alpha:Linux:*:*)
-	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-	  EV5)   UNAME_MACHINE=alphaev5 ;;
-	  EV56)  UNAME_MACHINE=alphaev56 ;;
-	  PCA56) UNAME_MACHINE=alphapca56 ;;
-	  PCA57) UNAME_MACHINE=alphapca56 ;;
-	  EV6)   UNAME_MACHINE=alphaev6 ;;
-	  EV67)  UNAME_MACHINE=alphaev67 ;;
-	  EV68*) UNAME_MACHINE=alphaev68 ;;
-        esac
-	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
-	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-	exit ;;
-    parisc:Linux:*:* | hppa:Linux:*:*)
-	# Look for CPU level
-	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
-	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
-	  *)    echo hppa-unknown-linux-gnu ;;
-	esac
-	exit ;;
-    parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-gnu
-	exit ;;
-    s390:Linux:*:* | s390x:Linux:*:*)
-	echo ${UNAME_MACHINE}-ibm-linux
-	exit ;;
-    sh64*:Linux:*:*)
-    	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    sh*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    sparc:Linux:*:* | sparc64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    vax:Linux:*:*)
-	echo ${UNAME_MACHINE}-dec-linux-gnu
-	exit ;;
-    x86_64:Linux:*:*)
-	echo x86_64-unknown-linux-gnu
-	exit ;;
-    i*86:Linux:*:*)
-	# The BFD linker knows what the default object file format is, so
-	# first see if it will tell us. cd to the root directory to prevent
-	# problems with other programs or directories called `ld' in the path.
-	# Set LC_ALL=C to ensure ld outputs messages in English.
-	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
-			 | sed -ne '/supported targets:/!d
-				    s/[ 	][ 	]*/ /g
-				    s/.*supported targets: *//
-				    s/ .*//
-				    p'`
-        case "$ld_supported_targets" in
-	  elf32-i386)
-		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
-		;;
-	  a.out-i386-linux)
-		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-		exit ;;
-	  coff-i386)
-		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-		exit ;;
-	  "")
-		# Either a pre-BFD a.out linker (linux-gnuoldld) or
-		# one that does not give us useful --help.
-		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
-		exit ;;
-	esac
-	# Determine whether the default compiler is a.out or elf
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#include <features.h>
-	#ifdef __ELF__
-	# ifdef __GLIBC__
-	#  if __GLIBC__ >= 2
-	LIBC=gnu
-	#  else
-	LIBC=gnulibc1
-	#  endif
-	# else
-	LIBC=gnulibc1
-	# endif
-	#else
-	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-	LIBC=gnu
-	#else
-	LIBC=gnuaout
-	#endif
-	#endif
-	#ifdef __dietlibc__
-	LIBC=dietlibc
-	#endif
-EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-	    /^LIBC/{
-		s: ::g
-		p
-	    }'`"
-	test x"${LIBC}" != x && {
-		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
-		exit
-	}
-	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
-	;;
-    i*86:DYNIX/ptx:4*:*)
-	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
-	# earlier versions are messed up and put the nodename in both
-	# sysname and nodename.
-	echo i386-sequent-sysv4
-	exit ;;
-    i*86:UNIX_SV:4.2MP:2.*)
-        # Unixware is an offshoot of SVR4, but it has its own version
-        # number series starting with 2...
-        # I am not positive that other SVR4 systems won't match this,
-	# I just have to hope.  -- rms.
-        # Use sysv4.2uw... so that sysv4* matches it.
-	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-	exit ;;
-    i*86:OS/2:*:*)
-	# If we were able to find `uname', then EMX Unix compatibility
-	# is probably installed.
-	echo ${UNAME_MACHINE}-pc-os2-emx
-	exit ;;
-    i*86:XTS-300:*:STOP)
-	echo ${UNAME_MACHINE}-unknown-stop
-	exit ;;
-    i*86:atheos:*:*)
-	echo ${UNAME_MACHINE}-unknown-atheos
-	exit ;;
-    i*86:syllable:*:*)
-	echo ${UNAME_MACHINE}-pc-syllable
-	exit ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
-	echo i386-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    i*86:*DOS:*:*)
-	echo ${UNAME_MACHINE}-pc-msdosdjgpp
-	exit ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
-	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
-	else
-		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
-	fi
-	exit ;;
-    i*86:*:5:[678]*)
-    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
-	case `/bin/uname -X | grep "^Machine"` in
-	    *486*)	     UNAME_MACHINE=i486 ;;
-	    *Pentium)	     UNAME_MACHINE=i586 ;;
-	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
-	esac
-	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
-	exit ;;
-    i*86:*:3.2:*)
-	if test -f /usr/options/cb.name; then
-		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-	elif /bin/uname -X 2>/dev/null >/dev/null ; then
-		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
-		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
-		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
-			&& UNAME_MACHINE=i586
-		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
-	else
-		echo ${UNAME_MACHINE}-pc-sysv32
-	fi
-	exit ;;
-    pc:*:*:*)
-	# Left here for compatibility:
-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i386.
-	echo i386-pc-msdosdjgpp
-        exit ;;
-    Intel:Mach:3*:*)
-	echo i386-pc-mach3
-	exit ;;
-    paragon:*:*:*)
-	echo i860-intel-osf1
-	exit ;;
-    i860:*:4.*:*) # i860-SVR4
-	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
-	else # Add other i860-SVR4 vendors below as they are discovered.
-	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
-	fi
-	exit ;;
-    mini*:CTIX:SYS*5:*)
-	# "miniframe"
-	echo m68010-convergent-sysv
-	exit ;;
-    mc68k:UNIX:SYSTEM5:3.51m)
-	echo m68k-convergent-sysv
-	exit ;;
-    M680?0:D-NIX:5.3:*)
-	echo m68k-diab-dnix
-	exit ;;
-    M68*:*:R3V[5678]*:*)
-	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
-    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
-	OS_REL=''
-	test -r /etc/.relid \
-	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && { echo i486-ncr-sysv4; exit; } ;;
-    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-	echo m68k-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    mc68030:UNIX_System_V:4.*:*)
-	echo m68k-atari-sysv4
-	exit ;;
-    TSUNAMI:LynxOS:2.*:*)
-	echo sparc-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    rs6000:LynxOS:2.*:*)
-	echo rs6000-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
-	echo powerpc-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    SM[BE]S:UNIX_SV:*:*)
-	echo mips-dde-sysv${UNAME_RELEASE}
-	exit ;;
-    RM*:ReliantUNIX-*:*:*)
-	echo mips-sni-sysv4
-	exit ;;
-    RM*:SINIX-*:*:*)
-	echo mips-sni-sysv4
-	exit ;;
-    *:SINIX-*:*:*)
-	if uname -p 2>/dev/null >/dev/null ; then
-		UNAME_MACHINE=`(uname -p) 2>/dev/null`
-		echo ${UNAME_MACHINE}-sni-sysv4
-	else
-		echo ns32k-sni-sysv
-	fi
-	exit ;;
-    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                      # says <Richard.M.Bartel@ccMail.Census.GOV>
-        echo i586-unisys-sysv4
-        exit ;;
-    *:UNIX_System_V:4*:FTX*)
-	# From Gerald Hewes <hewes@openmarket.com>.
-	# How about differentiating between stratus architectures? -djm
-	echo hppa1.1-stratus-sysv4
-	exit ;;
-    *:*:*:FTX*)
-	# From seanf@swdc.stratus.com.
-	echo i860-stratus-sysv4
-	exit ;;
-    i*86:VOS:*:*)
-	# From Paul.Green@stratus.com.
-	echo ${UNAME_MACHINE}-stratus-vos
-	exit ;;
-    *:VOS:*:*)
-	# From Paul.Green@stratus.com.
-	echo hppa1.1-stratus-vos
-	exit ;;
-    mc68*:A/UX:*:*)
-	echo m68k-apple-aux${UNAME_RELEASE}
-	exit ;;
-    news*:NEWS-OS:6*:*)
-	echo mips-sony-newsos6
-	exit ;;
-    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-	if [ -d /usr/nec ]; then
-	        echo mips-nec-sysv${UNAME_RELEASE}
-	else
-	        echo mips-unknown-sysv${UNAME_RELEASE}
-	fi
-        exit ;;
-    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
-	echo powerpc-be-beos
-	exit ;;
-    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
-	echo powerpc-apple-beos
-	exit ;;
-    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
-	echo i586-pc-beos
-	exit ;;
-    SX-4:SUPER-UX:*:*)
-	echo sx4-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-5:SUPER-UX:*:*)
-	echo sx5-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-6:SUPER-UX:*:*)
-	echo sx6-nec-superux${UNAME_RELEASE}
-	exit ;;
-    Power*:Rhapsody:*:*)
-	echo powerpc-apple-rhapsody${UNAME_RELEASE}
-	exit ;;
-    *:Rhapsody:*:*)
-	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-	exit ;;
-    *:Darwin:*:*)
-	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-	case $UNAME_PROCESSOR in
-	    unknown) UNAME_PROCESSOR=powerpc ;;
-	esac
-	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
-	exit ;;
-    *:procnto*:*:* | *:QNX:[0123456789]*:*)
-	UNAME_PROCESSOR=`uname -p`
-	if test "$UNAME_PROCESSOR" = "x86"; then
-		UNAME_PROCESSOR=i386
-		UNAME_MACHINE=pc
-	fi
-	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
-	exit ;;
-    *:QNX:*:4*)
-	echo i386-pc-qnx
-	exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
-	echo nse-tandem-nsk${UNAME_RELEASE}
-	exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
-	echo nsr-tandem-nsk${UNAME_RELEASE}
-	exit ;;
-    *:NonStop-UX:*:*)
-	echo mips-compaq-nonstopux
-	exit ;;
-    BS2000:POSIX*:*:*)
-	echo bs2000-siemens-sysv
-	exit ;;
-    DS/*:UNIX_System_V:*:*)
-	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-	exit ;;
-    *:Plan9:*:*)
-	# "uname -m" is not consistent, so use $cputype instead. 386
-	# is converted to i386 for consistency with other x86
-	# operating systems.
-	if test "$cputype" = "386"; then
-	    UNAME_MACHINE=i386
-	else
-	    UNAME_MACHINE="$cputype"
-	fi
-	echo ${UNAME_MACHINE}-unknown-plan9
-	exit ;;
-    *:TOPS-10:*:*)
-	echo pdp10-unknown-tops10
-	exit ;;
-    *:TENEX:*:*)
-	echo pdp10-unknown-tenex
-	exit ;;
-    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-	echo pdp10-dec-tops20
-	exit ;;
-    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-	echo pdp10-xkl-tops20
-	exit ;;
-    *:TOPS-20:*:*)
-	echo pdp10-unknown-tops20
-	exit ;;
-    *:ITS:*:*)
-	echo pdp10-unknown-its
-	exit ;;
-    SEI:*:*:SEIUX)
-        echo mips-sei-seiux${UNAME_RELEASE}
-	exit ;;
-    *:DragonFly:*:*)
-	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-	exit ;;
-    *:*VMS:*:*)
-    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
-	case "${UNAME_MACHINE}" in
-	    A*) echo alpha-dec-vms ; exit ;;
-	    I*) echo ia64-dec-vms ; exit ;;
-	    V*) echo vax-dec-vms ; exit ;;
-	esac ;;
-    *:XENIX:*:SysV)
-	echo i386-pc-xenix
-	exit ;;
-    i*86:skyos:*:*)
-	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
-	exit ;;
-    i*86:rdos:*:*)
-	echo ${UNAME_MACHINE}-pc-rdos
-	exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-          "4"
-#else
-	  ""
-#endif
-         ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-	printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-	printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-#  include <sys/param.h>
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
-	{ echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-	echo c1-convex-bsd
-	exit ;;
-    c2*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-	exit ;;
-    c34*)
-	echo c34-convex-bsd
-	exit ;;
-    c38*)
-	echo c38-convex-bsd
-	exit ;;
-    c4*)
-	echo c4-convex-bsd
-	exit ;;
-    esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
-  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
-and
-  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo               = `(hostinfo) 2>/dev/null`
-/bin/universe          = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch              = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
--- a/config.sub	Wed Mar 02 21:13:26 2016 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1608 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-#   Inc.
-
-timestamp='2006-07-02'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file 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 2 of the License, or
-# (at your option) any later version.
-#
-# This program 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 this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support.  The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )	# Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help"
-       exit 1 ;;
-
-    *local*)
-       # First pass through any local machine types.
-       echo $1
-       exit ;;
-
-    * )
-       break ;;
-  esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
-    exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
-    exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
-  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
-  storm-chaos* | os2-emx* | rtmk-nova*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-	-sun*os*)
-		# Prevent following clause from handling this invalid input.
-		;;
-	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple | -axis | -knuth | -cray)
-		os=
-		basic_machine=$1
-		;;
-	-sim | -cisco | -oki | -wec | -winbond)
-		os=
-		basic_machine=$1
-		;;
-	-scout)
-		;;
-	-wrs)
-		os=-vxworks
-		basic_machine=$1
-		;;
-	-chorusos*)
-		os=-chorusos
-		basic_machine=$1
-		;;
- 	-chorusrdb)
- 		os=-chorusrdb
-		basic_machine=$1
- 		;;
-	-hiux*)
-		os=-hiuxwe2
-		;;
-	-sco6)
-		os=-sco5v6
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco5)
-		os=-sco3.2v5
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco4)
-		os=-sco3.2v4
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2.[4-9]*)
-		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2v[4-9]*)
-		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco5v6*)
-		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco*)
-		os=-sco3.2v2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-udk*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-isc)
-		os=-isc2.2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-clix*)
-		basic_machine=clipper-intergraph
-		;;
-	-isc*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-lynx*)
-		os=-lynxos
-		;;
-	-ptx*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
-		;;
-	-windowsnt*)
-		os=`echo $os | sed -e 's/windowsnt/winnt/'`
-		;;
-	-psos*)
-		os=-psos
-		;;
-	-mint | -mint[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
-		;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
-	# Recognize the basic CPU types without company name.
-	# Some are omitted here because they have special meanings below.
-	1750a | 580 \
-	| a29k \
-	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-	| am33_2.0 \
-	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-	| bfin \
-	| c4x | clipper \
-	| d10v | d30v | dlx | dsp16xx \
-	| fr30 | frv \
-	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-	| i370 | i860 | i960 | ia64 \
-	| ip2k | iq2000 \
-	| m32c | m32r | m32rle | m68000 | m68k | m88k \
-	| maxq | mb | microblaze | mcore \
-	| mips | mipsbe | mipseb | mipsel | mipsle \
-	| mips16 \
-	| mips64 | mips64el \
-	| mips64vr | mips64vrel \
-	| mips64orion | mips64orionel \
-	| mips64vr4100 | mips64vr4100el \
-	| mips64vr4300 | mips64vr4300el \
-	| mips64vr5000 | mips64vr5000el \
-	| mips64vr5900 | mips64vr5900el \
-	| mipsisa32 | mipsisa32el \
-	| mipsisa32r2 | mipsisa32r2el \
-	| mipsisa64 | mipsisa64el \
-	| mipsisa64r2 | mipsisa64r2el \
-	| mipsisa64sb1 | mipsisa64sb1el \
-	| mipsisa64sr71k | mipsisa64sr71kel \
-	| mipstx39 | mipstx39el \
-	| mn10200 | mn10300 \
-	| mt \
-	| msp430 \
-	| nios | nios2 \
-	| ns16k | ns32k \
-	| or32 \
-	| pdp10 | pdp11 | pj | pjl \
-	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
-	| pyramid \
-	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
-	| sh64 | sh64le \
-	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
-	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-	| spu | strongarm \
-	| tahoe | thumb | tic4x | tic80 | tron \
-	| v850 | v850e \
-	| we32k \
-	| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
-	| z8k)
-		basic_machine=$basic_machine-unknown
-		;;
-	m6811 | m68hc11 | m6812 | m68hc12)
-		# Motorola 68HC11/12.
-		basic_machine=$basic_machine-unknown
-		os=-none
-		;;
-	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
-		;;
-	ms1)
-		basic_machine=mt-unknown
-		;;
-
-	# We use `pc' rather than `unknown'
-	# because (1) that's what they normally are, and
-	# (2) the word "unknown" tends to confuse beginning users.
-	i*86 | x86_64)
-	  basic_machine=$basic_machine-pc
-	  ;;
-	# Object if more than one company name word.
-	*-*-*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-	# Recognize the basic CPU types with company name.
-	580-* \
-	| a29k-* \
-	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
-	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-	| avr-* | avr32-* \
-	| bfin-* | bs2000-* \
-	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
-	| clipper-* | craynv-* | cydra-* \
-	| d10v-* | d30v-* | dlx-* \
-	| elxsi-* \
-	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
-	| h8300-* | h8500-* \
-	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-	| i*86-* | i860-* | i960-* | ia64-* \
-	| ip2k-* | iq2000-* \
-	| m32c-* | m32r-* | m32rle-* \
-	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-	| m88110-* | m88k-* | maxq-* | mcore-* \
-	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-	| mips16-* \
-	| mips64-* | mips64el-* \
-	| mips64vr-* | mips64vrel-* \
-	| mips64orion-* | mips64orionel-* \
-	| mips64vr4100-* | mips64vr4100el-* \
-	| mips64vr4300-* | mips64vr4300el-* \
-	| mips64vr5000-* | mips64vr5000el-* \
-	| mips64vr5900-* | mips64vr5900el-* \
-	| mipsisa32-* | mipsisa32el-* \
-	| mipsisa32r2-* | mipsisa32r2el-* \
-	| mipsisa64-* | mipsisa64el-* \
-	| mipsisa64r2-* | mipsisa64r2el-* \
-	| mipsisa64sb1-* | mipsisa64sb1el-* \
-	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
-	| mipstx39-* | mipstx39el-* \
-	| mmix-* \
-	| mt-* \
-	| msp430-* \
-	| nios-* | nios2-* \
-	| none-* | np1-* | ns16k-* | ns32k-* \
-	| orion-* \
-	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
-	| pyramid-* \
-	| romp-* | rs6000-* \
-	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
-	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
-	| sparclite-* \
-	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
-	| tahoe-* | thumb-* \
-	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-	| tron-* \
-	| v850-* | v850e-* | vax-* \
-	| we32k-* \
-	| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
-	| xstormy16-* | xtensa-* \
-	| ymp-* \
-	| z8k-*)
-		;;
-	# Recognize the various machine names and aliases which stand
-	# for a CPU type and a company and sometimes even an OS.
-	386bsd)
-		basic_machine=i386-unknown
-		os=-bsd
-		;;
-	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-		basic_machine=m68000-att
-		;;
-	3b*)
-		basic_machine=we32k-att
-		;;
-	a29khif)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-    	abacus)
-		basic_machine=abacus-unknown
-		;;
-	adobe68k)
-		basic_machine=m68010-adobe
-		os=-scout
-		;;
-	alliant | fx80)
-		basic_machine=fx80-alliant
-		;;
-	altos | altos3068)
-		basic_machine=m68k-altos
-		;;
-	am29k)
-		basic_machine=a29k-none
-		os=-bsd
-		;;
-	amd64)
-		basic_machine=x86_64-pc
-		;;
-	amd64-*)
-		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	amdahl)
-		basic_machine=580-amdahl
-		os=-sysv
-		;;
-	amiga | amiga-*)
-		basic_machine=m68k-unknown
-		;;
-	amigaos | amigados)
-		basic_machine=m68k-unknown
-		os=-amigaos
-		;;
-	amigaunix | amix)
-		basic_machine=m68k-unknown
-		os=-sysv4
-		;;
-	apollo68)
-		basic_machine=m68k-apollo
-		os=-sysv
-		;;
-	apollo68bsd)
-		basic_machine=m68k-apollo
-		os=-bsd
-		;;
-	aux)
-		basic_machine=m68k-apple
-		os=-aux
-		;;
-	balance)
-		basic_machine=ns32k-sequent
-		os=-dynix
-		;;
-	c90)
-		basic_machine=c90-cray
-		os=-unicos
-		;;
-	convex-c1)
-		basic_machine=c1-convex
-		os=-bsd
-		;;
-	convex-c2)
-		basic_machine=c2-convex
-		os=-bsd
-		;;
-	convex-c32)
-		basic_machine=c32-convex
-		os=-bsd
-		;;
-	convex-c34)
-		basic_machine=c34-convex
-		os=-bsd
-		;;
-	convex-c38)
-		basic_machine=c38-convex
-		os=-bsd
-		;;
-	cray | j90)
-		basic_machine=j90-cray
-		os=-unicos
-		;;
-	craynv)
-		basic_machine=craynv-cray
-		os=-unicosmp
-		;;
-	cr16c)
-		basic_machine=cr16c-unknown
-		os=-elf
-		;;
-	crds | unos)
-		basic_machine=m68k-crds
-		;;
-	crisv32 | crisv32-* | etraxfs*)
-		basic_machine=crisv32-axis
-		;;
-	cris | cris-* | etrax*)
-		basic_machine=cris-axis
-		;;
-	crx)
-		basic_machine=crx-unknown
-		os=-elf
-		;;
-	da30 | da30-*)
-		basic_machine=m68k-da30
-		;;
-	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-		basic_machine=mips-dec
-		;;
-	decsystem10* | dec10*)
-		basic_machine=pdp10-dec
-		os=-tops10
-		;;
-	decsystem20* | dec20*)
-		basic_machine=pdp10-dec
-		os=-tops20
-		;;
-	delta | 3300 | motorola-3300 | motorola-delta \
-	      | 3300-motorola | delta-motorola)
-		basic_machine=m68k-motorola
-		;;
-	delta88)
-		basic_machine=m88k-motorola
-		os=-sysv3
-		;;
-	djgpp)
-		basic_machine=i586-pc
-		os=-msdosdjgpp
-		;;
-	dpx20 | dpx20-*)
-		basic_machine=rs6000-bull
-		os=-bosx
-		;;
-	dpx2* | dpx2*-bull)
-		basic_machine=m68k-bull
-		os=-sysv3
-		;;
-	ebmon29k)
-		basic_machine=a29k-amd
-		os=-ebmon
-		;;
-	elxsi)
-		basic_machine=elxsi-elxsi
-		os=-bsd
-		;;
-	encore | umax | mmax)
-		basic_machine=ns32k-encore
-		;;
-	es1800 | OSE68k | ose68k | ose | OSE)
-		basic_machine=m68k-ericsson
-		os=-ose
-		;;
-	fx2800)
-		basic_machine=i860-alliant
-		;;
-	genix)
-		basic_machine=ns32k-ns
-		;;
-	gmicro)
-		basic_machine=tron-gmicro
-		os=-sysv
-		;;
-	go32)
-		basic_machine=i386-pc
-		os=-go32
-		;;
-	h3050r* | hiux*)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	h8300hms)
-		basic_machine=h8300-hitachi
-		os=-hms
-		;;
-	h8300xray)
-		basic_machine=h8300-hitachi
-		os=-xray
-		;;
-	h8500hms)
-		basic_machine=h8500-hitachi
-		os=-hms
-		;;
-	harris)
-		basic_machine=m88k-harris
-		os=-sysv3
-		;;
-	hp300-*)
-		basic_machine=m68k-hp
-		;;
-	hp300bsd)
-		basic_machine=m68k-hp
-		os=-bsd
-		;;
-	hp300hpux)
-		basic_machine=m68k-hp
-		os=-hpux
-		;;
-	hp3k9[0-9][0-9] | hp9[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hp9k2[0-9][0-9] | hp9k31[0-9])
-		basic_machine=m68000-hp
-		;;
-	hp9k3[2-9][0-9])
-		basic_machine=m68k-hp
-		;;
-	hp9k6[0-9][0-9] | hp6[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hp9k7[0-79][0-9] | hp7[0-79][0-9])
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k78[0-9] | hp78[0-9])
-		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
-		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[0-9][13679] | hp8[0-9][13679])
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[0-9][0-9] | hp8[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hppa-next)
-		os=-nextstep3
-		;;
-	hppaosf)
-		basic_machine=hppa1.1-hp
-		os=-osf
-		;;
-	hppro)
-		basic_machine=hppa1.1-hp
-		os=-proelf
-		;;
-	i370-ibm* | ibm*)
-		basic_machine=i370-ibm
-		;;
-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
-	i*86v32)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv32
-		;;
-	i*86v4*)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv4
-		;;
-	i*86v)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv
-		;;
-	i*86sol2)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-solaris2
-		;;
-	i386mach)
-		basic_machine=i386-mach
-		os=-mach
-		;;
-	i386-vsta | vsta)
-		basic_machine=i386-unknown
-		os=-vsta
-		;;
-	iris | iris4d)
-		basic_machine=mips-sgi
-		case $os in
-		    -irix*)
-			;;
-		    *)
-			os=-irix4
-			;;
-		esac
-		;;
-	isi68 | isi)
-		basic_machine=m68k-isi
-		os=-sysv
-		;;
-	m88k-omron*)
-		basic_machine=m88k-omron
-		;;
-	magnum | m3230)
-		basic_machine=mips-mips
-		os=-sysv
-		;;
-	merlin)
-		basic_machine=ns32k-utek
-		os=-sysv
-		;;
-	mingw32)
-		basic_machine=i386-pc
-		os=-mingw32
-		;;
-	miniframe)
-		basic_machine=m68000-convergent
-		;;
-	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
-		;;
-	mips3*-*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-		;;
-	mips3*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-		;;
-	monitor)
-		basic_machine=m68k-rom68k
-		os=-coff
-		;;
-	morphos)
-		basic_machine=powerpc-unknown
-		os=-morphos
-		;;
-	msdos)
-		basic_machine=i386-pc
-		os=-msdos
-		;;
-	ms1-*)
-		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
-		;;
-	mvs)
-		basic_machine=i370-ibm
-		os=-mvs
-		;;
-	ncr3000)
-		basic_machine=i486-ncr
-		os=-sysv4
-		;;
-	netbsd386)
-		basic_machine=i386-unknown
-		os=-netbsd
-		;;
-	netwinder)
-		basic_machine=armv4l-rebel
-		os=-linux
-		;;
-	news | news700 | news800 | news900)
-		basic_machine=m68k-sony
-		os=-newsos
-		;;
-	news1000)
-		basic_machine=m68030-sony
-		os=-newsos
-		;;
-	news-3600 | risc-news)
-		basic_machine=mips-sony
-		os=-newsos
-		;;
-	necv70)
-		basic_machine=v70-nec
-		os=-sysv
-		;;
-	next | m*-next )
-		basic_machine=m68k-next
-		case $os in
-		    -nextstep* )
-			;;
-		    -ns2*)
-		      os=-nextstep2
-			;;
-		    *)
-		      os=-nextstep3
-			;;
-		esac
-		;;
-	nh3000)
-		basic_machine=m68k-harris
-		os=-cxux
-		;;
-	nh[45]000)
-		basic_machine=m88k-harris
-		os=-cxux
-		;;
-	nindy960)
-		basic_machine=i960-intel
-		os=-nindy
-		;;
-	mon960)
-		basic_machine=i960-intel
-		os=-mon960
-		;;
-	nonstopux)
-		basic_machine=mips-compaq
-		os=-nonstopux
-		;;
-	np1)
-		basic_machine=np1-gould
-		;;
-	nsr-tandem)
-		basic_machine=nsr-tandem
-		;;
-	op50n-* | op60c-*)
-		basic_machine=hppa1.1-oki
-		os=-proelf
-		;;
-	openrisc | openrisc-*)
-		basic_machine=or32-unknown
-		;;
-	os400)
-		basic_machine=powerpc-ibm
-		os=-os400
-		;;
-	OSE68000 | ose68000)
-		basic_machine=m68000-ericsson
-		os=-ose
-		;;
-	os68k)
-		basic_machine=m68k-none
-		os=-os68k
-		;;
-	pa-hitachi)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	paragon)
-		basic_machine=i860-intel
-		os=-osf
-		;;
-	pbd)
-		basic_machine=sparc-tti
-		;;
-	pbb)
-		basic_machine=m68k-tti
-		;;
-	pc532 | pc532-*)
-		basic_machine=ns32k-pc532
-		;;
-	pc98)
-		basic_machine=i386-pc
-		;;
-	pc98-*)
-		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentium | p5 | k5 | k6 | nexgen | viac3)
-		basic_machine=i586-pc
-		;;
-	pentiumpro | p6 | 6x86 | athlon | athlon_*)
-		basic_machine=i686-pc
-		;;
-	pentiumii | pentium2 | pentiumiii | pentium3)
-		basic_machine=i686-pc
-		;;
-	pentium4)
-		basic_machine=i786-pc
-		;;
-	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumpro-* | p6-* | 6x86-* | athlon-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentium4-*)
-		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pn)
-		basic_machine=pn-gould
-		;;
-	power)	basic_machine=power-ibm
-		;;
-	ppc)	basic_machine=powerpc-unknown
-		;;
-	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppcle | powerpclittle | ppc-le | powerpc-little)
-		basic_machine=powerpcle-unknown
-		;;
-	ppcle-* | powerpclittle-*)
-		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppc64)	basic_machine=powerpc64-unknown
-		;;
-	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
-		basic_machine=powerpc64le-unknown
-		;;
-	ppc64le-* | powerpc64little-*)
-		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ps2)
-		basic_machine=i386-ibm
-		;;
-	pw32)
-		basic_machine=i586-unknown
-		os=-pw32
-		;;
-	rdos)
-		basic_machine=i386-pc
-		os=-rdos
-		;;
-	rom68k)
-		basic_machine=m68k-rom68k
-		os=-coff
-		;;
-	rm[46]00)
-		basic_machine=mips-siemens
-		;;
-	rtpc | rtpc-*)
-		basic_machine=romp-ibm
-		;;
-	s390 | s390-*)
-		basic_machine=s390-ibm
-		;;
-	s390x | s390x-*)
-		basic_machine=s390x-ibm
-		;;
-	sa29200)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	sb1)
-		basic_machine=mipsisa64sb1-unknown
-		;;
-	sb1el)
-		basic_machine=mipsisa64sb1el-unknown
-		;;
-	sei)
-		basic_machine=mips-sei
-		os=-seiux
-		;;
-	sequent)
-		basic_machine=i386-sequent
-		;;
-	sh)
-		basic_machine=sh-hitachi
-		os=-hms
-		;;
-	sh64)
-		basic_machine=sh64-unknown
-		;;
-	sparclite-wrs | simso-wrs)
-		basic_machine=sparclite-wrs
-		os=-vxworks
-		;;
-	sps7)
-		basic_machine=m68k-bull
-		os=-sysv2
-		;;
-	spur)
-		basic_machine=spur-unknown
-		;;
-	st2000)
-		basic_machine=m68k-tandem
-		;;
-	stratus)
-		basic_machine=i860-stratus
-		os=-sysv4
-		;;
-	sun2)
-		basic_machine=m68000-sun
-		;;
-	sun2os3)
-		basic_machine=m68000-sun
-		os=-sunos3
-		;;
-	sun2os4)
-		basic_machine=m68000-sun
-		os=-sunos4
-		;;
-	sun3os3)
-		basic_machine=m68k-sun
-		os=-sunos3
-		;;
-	sun3os4)
-		basic_machine=m68k-sun
-		os=-sunos4
-		;;
-	sun4os3)
-		basic_machine=sparc-sun
-		os=-sunos3
-		;;
-	sun4os4)
-		basic_machine=sparc-sun
-		os=-sunos4
-		;;
-	sun4sol2)
-		basic_machine=sparc-sun
-		os=-solaris2
-		;;
-	sun3 | sun3-*)
-		basic_machine=m68k-sun
-		;;
-	sun4)
-		basic_machine=sparc-sun
-		;;
-	sun386 | sun386i | roadrunner)
-		basic_machine=i386-sun
-		;;
-	sv1)
-		basic_machine=sv1-cray
-		os=-unicos
-		;;
-	symmetry)
-		basic_machine=i386-sequent
-		os=-dynix
-		;;
-	t3e)
-		basic_machine=alphaev5-cray
-		os=-unicos
-		;;
-	t90)
-		basic_machine=t90-cray
-		os=-unicos
-		;;
-	tic54x | c54x*)
-		basic_machine=tic54x-unknown
-		os=-coff
-		;;
-	tic55x | c55x*)
-		basic_machine=tic55x-unknown
-		os=-coff
-		;;
-	tic6x | c6x*)
-		basic_machine=tic6x-unknown
-		os=-coff
-		;;
-	tx39)
-		basic_machine=mipstx39-unknown
-		;;
-	tx39el)
-		basic_machine=mipstx39el-unknown
-		;;
-	toad1)
-		basic_machine=pdp10-xkl
-		os=-tops20
-		;;
-	tower | tower-32)
-		basic_machine=m68k-ncr
-		;;
-	tpf)
-		basic_machine=s390x-ibm
-		os=-tpf
-		;;
-	udi29k)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	ultra3)
-		basic_machine=a29k-nyu
-		os=-sym1
-		;;
-	v810 | necv810)
-		basic_machine=v810-nec
-		os=-none
-		;;
-	vaxv)
-		basic_machine=vax-dec
-		os=-sysv
-		;;
-	vms)
-		basic_machine=vax-dec
-		os=-vms
-		;;
-	vpp*|vx|vx-*)
-		basic_machine=f301-fujitsu
-		;;
-	vxworks960)
-		basic_machine=i960-wrs
-		os=-vxworks
-		;;
-	vxworks68)
-		basic_machine=m68k-wrs
-		os=-vxworks
-		;;
-	vxworks29k)
-		basic_machine=a29k-wrs
-		os=-vxworks
-		;;
-	w65*)
-		basic_machine=w65-wdc
-		os=-none
-		;;
-	w89k-*)
-		basic_machine=hppa1.1-winbond
-		os=-proelf
-		;;
-	xbox)
-		basic_machine=i686-pc
-		os=-mingw32
-		;;
-	xps | xps100)
-		basic_machine=xps100-honeywell
-		;;
-	ymp)
-		basic_machine=ymp-cray
-		os=-unicos
-		;;
-	z8k-*-coff)
-		basic_machine=z8k-unknown
-		os=-sim
-		;;
-	none)
-		basic_machine=none-none
-		os=-none
-		;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-	w89k)
-		basic_machine=hppa1.1-winbond
-		;;
-	op50n)
-		basic_machine=hppa1.1-oki
-		;;
-	op60c)
-		basic_machine=hppa1.1-oki
-		;;
-	romp)
-		basic_machine=romp-ibm
-		;;
-	mmix)
-		basic_machine=mmix-knuth
-		;;
-	rs6000)
-		basic_machine=rs6000-ibm
-		;;
-	vax)
-		basic_machine=vax-dec
-		;;
-	pdp10)
-		# there are many clones, so DEC is not a safe bet
-		basic_machine=pdp10-unknown
-		;;
-	pdp11)
-		basic_machine=pdp11-dec
-		;;
-	we32k)
-		basic_machine=we32k-att
-		;;
-	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
-		basic_machine=sh-unknown
-		;;
-	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
-		basic_machine=sparc-sun
-		;;
-	cydra)
-		basic_machine=cydra-cydrome
-		;;
-	orion)
-		basic_machine=orion-highlevel
-		;;
-	orion105)
-		basic_machine=clipper-highlevel
-		;;
-	mac | mpw | mac-mpw)
-		basic_machine=m68k-apple
-		;;
-	pmac | pmac-mpw)
-		basic_machine=powerpc-apple
-		;;
-	*-unknown)
-		# Make sure to match an already-canonicalized machine name.
-		;;
-	*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-	*-digital*)
-		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
-		;;
-	*-commodore*)
-		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
-		;;
-	*)
-		;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
-        # First match some system type aliases
-        # that might get confused with valid system types.
-	# -solaris* is a basic system type, with this one exception.
-	-solaris1 | -solaris1.*)
-		os=`echo $os | sed -e 's|solaris1|sunos4|'`
-		;;
-	-solaris)
-		os=-solaris2
-		;;
-	-svr4*)
-		os=-sysv4
-		;;
-	-unixware*)
-		os=-sysv4.2uw
-		;;
-	-gnu/linux*)
-		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-		;;
-	# First accept the basic system types.
-	# The portable systems comes first.
-	# Each alternative MUST END IN A *, to match a version number.
-	# -sysv* is not here because it comes later, after sysvr4.
-	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
-	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
-	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* \
-	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-	      | -openbsd* | -solidbsd* \
-	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
-	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-	      | -chorusos* | -chorusrdb* \
-	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
-	      | -uxpv* | -beos* | -mpeix* | -udk* \
-	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku* | -rdos* | -toppers*)
-	# Remember, each alternative MUST END IN *, to match a version number.
-		;;
-	-qnx*)
-		case $basic_machine in
-		    x86-* | i*86-*)
-			;;
-		    *)
-			os=-nto$os
-			;;
-		esac
-		;;
-	-nto-qnx*)
-		;;
-	-nto*)
-		os=`echo $os | sed -e 's|nto|nto-qnx|'`
-		;;
-	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
-	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
-		;;
-	-mac*)
-		os=`echo $os | sed -e 's|mac|macos|'`
-		;;
-	-linux-dietlibc)
-		os=-linux-dietlibc
-		;;
-	-linux*)
-		os=`echo $os | sed -e 's|linux|linux-gnu|'`
-		;;
-	-sunos5*)
-		os=`echo $os | sed -e 's|sunos5|solaris2|'`
-		;;
-	-sunos6*)
-		os=`echo $os | sed -e 's|sunos6|solaris3|'`
-		;;
-	-opened*)
-		os=-openedition
-		;;
-        -os400*)
-		os=-os400
-		;;
-	-wince*)
-		os=-wince
-		;;
-	-osfrose*)
-		os=-osfrose
-		;;
-	-osf*)
-		os=-osf
-		;;
-	-utek*)
-		os=-bsd
-		;;
-	-dynix*)
-		os=-bsd
-		;;
-	-acis*)
-		os=-aos
-		;;
-	-atheos*)
-		os=-atheos
-		;;
-	-syllable*)
-		os=-syllable
-		;;
-	-386bsd)
-		os=-bsd
-		;;
-	-ctix* | -uts*)
-		os=-sysv
-		;;
-	-nova*)
-		os=-rtmk-nova
-		;;
-	-ns2 )
-		os=-nextstep2
-		;;
-	-nsk*)
-		os=-nsk
-		;;
-	# Preserve the version number of sinix5.
-	-sinix5.*)
-		os=`echo $os | sed -e 's|sinix|sysv|'`
-		;;
-	-sinix*)
-		os=-sysv4
-		;;
-        -tpf*)
-		os=-tpf
-		;;
-	-triton*)
-		os=-sysv3
-		;;
-	-oss*)
-		os=-sysv3
-		;;
-	-svr4)
-		os=-sysv4
-		;;
-	-svr3)
-		os=-sysv3
-		;;
-	-sysvr4)
-		os=-sysv4
-		;;
-	# This must come after -sysvr4.
-	-sysv*)
-		;;
-	-ose*)
-		os=-ose
-		;;
-	-es1800*)
-		os=-ose
-		;;
-	-xenix)
-		os=-xenix
-		;;
-	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-		os=-mint
-		;;
-	-aros*)
-		os=-aros
-		;;
-	-kaos*)
-		os=-kaos
-		;;
-	-zvmoe)
-		os=-zvmoe
-		;;
-	-none)
-		;;
-	*)
-		# Get rid of the `-' at the beginning of $os.
-		os=`echo $os | sed 's/[^-]*-//'`
-		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
-		exit 1
-		;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system.  Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
-        spu-*)
-		os=-elf
-		;;
-	*-acorn)
-		os=-riscix1.2
-		;;
-	arm*-rebel)
-		os=-linux
-		;;
-	arm*-semi)
-		os=-aout
-		;;
-        c4x-* | tic4x-*)
-        	os=-coff
-		;;
-	# This must come before the *-dec entry.
-	pdp10-*)
-		os=-tops20
-		;;
-	pdp11-*)
-		os=-none
-		;;
-	*-dec | vax-*)
-		os=-ultrix4.2
-		;;
-	m68*-apollo)
-		os=-domain
-		;;
-	i386-sun)
-		os=-sunos4.0.2
-		;;
-	m68000-sun)
-		os=-sunos3
-		# This also exists in the configure program, but was not the
-		# default.
-		# os=-sunos4
-		;;
-	m68*-cisco)
-		os=-aout
-		;;
-	mips*-cisco)
-		os=-elf
-		;;
-	mips*-*)
-		os=-elf
-		;;
-	or32-*)
-		os=-coff
-		;;
-	*-tti)	# must be before sparc entry or we get the wrong os.
-		os=-sysv3
-		;;
-	sparc-* | *-sun)
-		os=-sunos4.1.1
-		;;
-	*-be)
-		os=-beos
-		;;
-	*-haiku)
-		os=-haiku
-		;;
-	*-ibm)
-		os=-aix
-		;;
-    	*-knuth)
-		os=-mmixware
-		;;
-	*-wec)
-		os=-proelf
-		;;
-	*-winbond)
-		os=-proelf
-		;;
-	*-oki)
-		os=-proelf
-		;;
-	*-hp)
-		os=-hpux
-		;;
-	*-hitachi)
-		os=-hiux
-		;;
-	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-		os=-sysv
-		;;
-	*-cbm)
-		os=-amigaos
-		;;
-	*-dg)
-		os=-dgux
-		;;
-	*-dolphin)
-		os=-sysv3
-		;;
-	m68k-ccur)
-		os=-rtu
-		;;
-	m88k-omron*)
-		os=-luna
-		;;
-	*-next )
-		os=-nextstep
-		;;
-	*-sequent)
-		os=-ptx
-		;;
-	*-crds)
-		os=-unos
-		;;
-	*-ns)
-		os=-genix
-		;;
-	i370-*)
-		os=-mvs
-		;;
-	*-next)
-		os=-nextstep3
-		;;
-	*-gould)
-		os=-sysv
-		;;
-	*-highlevel)
-		os=-bsd
-		;;
-	*-encore)
-		os=-bsd
-		;;
-	*-sgi)
-		os=-irix
-		;;
-	*-siemens)
-		os=-sysv4
-		;;
-	*-masscomp)
-		os=-rtu
-		;;
-	f30[01]-fujitsu | f700-fujitsu)
-		os=-uxpv
-		;;
-	*-rom68k)
-		os=-coff
-		;;
-	*-*bug)
-		os=-coff
-		;;
-	*-apple)
-		os=-macos
-		;;
-	*-atari*)
-		os=-mint
-		;;
-	*)
-		os=-none
-		;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-	*-unknown)
-		case $os in
-			-riscix*)
-				vendor=acorn
-				;;
-			-sunos*)
-				vendor=sun
-				;;
-			-aix*)
-				vendor=ibm
-				;;
-			-beos*)
-				vendor=be
-				;;
-			-hpux*)
-				vendor=hp
-				;;
-			-mpeix*)
-				vendor=hp
-				;;
-			-hiux*)
-				vendor=hitachi
-				;;
-			-unos*)
-				vendor=crds
-				;;
-			-dgux*)
-				vendor=dg
-				;;
-			-luna*)
-				vendor=omron
-				;;
-			-genix*)
-				vendor=ns
-				;;
-			-mvs* | -opened*)
-				vendor=ibm
-				;;
-			-os400*)
-				vendor=ibm
-				;;
-			-ptx*)
-				vendor=sequent
-				;;
-			-tpf*)
-				vendor=ibm
-				;;
-			-vxsim* | -vxworks* | -windiss*)
-				vendor=wrs
-				;;
-			-aux*)
-				vendor=apple
-				;;
-			-hms*)
-				vendor=hitachi
-				;;
-			-mpw* | -macos*)
-				vendor=apple
-				;;
-			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-				vendor=atari
-				;;
-			-vos*)
-				vendor=stratus
-				;;
-		esac
-		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
-		;;
-esac
-
-echo $basic_machine$os
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
--- a/rogue3/Makefile.in	Wed Mar 02 21:13:26 2016 -0500
+++ b/rogue3/Makefile.in	Wed Mar 02 21:28:34 2016 -0500
@@ -48,8 +48,9 @@
 
 MISC_C=
 DOCSRC= rogue.6 rogue.r
-DOCS  = $(PROGRAM).doc $(PROGRAM).cat $(PROGRAM).html readme36.html
-MISC  =	Makefile $(MISC_C) LICENSE.TXT $(PROGRAM).sln $(PROGRAM).vcproj $(DOCS)\
+DOCS  = $(PROGRAM).doc $(PROGRAM).cat
+RAWDOCS = LICENSE.TXT rogue36.html readme36.html
+MISC  =	Makefile $(MISC_C) $(PROGRAM).sln $(PROGRAM).vcproj $(RAWDOCS) $(DOCS)\
 	$(DOCSRC)
 
 CC    = gcc
@@ -57,35 +58,60 @@
 ROPTS =
 COPTS =
 CFLAGS= $(COPTS) $(ROPTS)
-LIBS  = -lcurses
+LIBS  = @LIBS@
 RM    = rm -f
 LD    = $(CC)
 LDOUT = -o 
 INSTALL=@INSTALL@
+GROFF=@GROFF@
+NROFF=@NROFF@
+COLCRT=@COLCRT@
+TBL=@TBL@
 
 .SUFFIXES: .obj
 
 .c.obj:
 	$(CC) $(CFLAGS) /c $*.c
 
+all: $(PROGRAM)$(EXE) docs
+
 $(PROGRAM)$(EXE): $(HDRS) $(OBJS)
 	$(LD) $(LDFLAGS) $(OBJS) $(LIBS) $(LDOUT)$@
 
 clean:
 	$(RM) $(OBJS1)
 	$(RM) $(OBJS2)
-	$(RM) core $(PROGRAM) $(PROGRAM).exe $(DISTNAME).tar $(DISTNAME).tar.gz 
+	$(RM) core $(PROGRAM) $(PROGRAM).exe $(DOCS) $(DISTNAME).tar $(DISTNAME).tar.gz 
 	$(RM) $(DISTNAME).zip
 
-install: $(PROGRAM)
-	-touch test
-	-if test ! -f $(DESTDIR)$(SCOREFILE) ; \
-	 then $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi
-	-if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \
-	$(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi
-	-if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \
-	mkdir -p $(DESTDIR)$(SAVEDIR) ; fi
-	-$(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM)
+docs: $(DOCS)
+
+$(PROGRAM).doc: rogue.r
+	if test "x$(GROFF)" != "x" ; then \
+	$(GROFF) -P-c -P-b -P-u -t -ms -Tutf8 rogue.r > $(PROGRAM).doc ;\
+	elif test "x$(NROFF)" != "x" && test "x$(TBL)" != "x" && test "x$(COLCRT)" != "x" ; then \
+	$(TBL) rogue.r | $(NROFF) -ms | $(COLCRT) - > $(PROGRAM).doc ;\
+	fi
+
+$(PROGRAM).cat: rogue.6
+	if test "x$(GROFF)" != "x" ; then \
+	$(GROFF) -P-c -P-b -P-u -Tascii -man rogue.6 > $(PROGRAM).cat ;\
+	elif test "x$(NROFF)" != "x" && test "x$(COLCRT)" != "x" ; then \
+	$(NROFF) -man rogue.6 | $(COLCRT) - > $(PROGRAM).cat ;\
+	fi
+
+install: all
+	touch test
+	if test ! -f $(DESTDIR)$(SCOREFILE) ; then \
+	    mkdir -p `dirname $(DESTDIR)$(SCOREFILE)` ; \
+	    $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi
+	if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \
+	    mkdir -p `dirname $(DESTDIR)$(LOGFILE)` ; \
+	    $(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi
+	if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \
+	    mkdir -p $(DESTDIR)$(SAVEDIR) ; fi
+	mkdir -p $(DESTDIR)$(bindir)
+	$(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM)
 	-if test "x$(GROUPOWNER)" != "x" ; then \
 	    chgrp $(GROUPOWNER) $(DESTDIR)$(SCOREFILE) ; \
 	    chgrp $(GROUPOWNER) $(DESTDIR)$(LOGFILE) ; \
@@ -95,22 +121,22 @@
 	    chmod 0464 $(DESTDIR)$(SCOREFILE) ; \
 	    chmod 0464 $(DESTDIR)$(LOGFILE) ; \
 	    chmod 0775 $(DESTDIR)$(SAVEDIR) ; \
-         fi
-	-if test -d $(DESTDIR)$(man6dir) ; \
-	 then $(INSTALL) -m 0644 rogue.6 $(DESTDIR)$(man6dir)/$(PROGRAM).6 ; fi
-	-if test ! -d $(DESTDIR)$(man6dir) ; \
-	 then $(INSTALL) -m 0644 rogue.6 $(DESTDIR)$(mandir)/$(PROGRAM).6 ; fi
-	-if test ! -d $(DESTDIR)$(docdir) ; \
+        fi
+	if test ! -d $(DESTDIR)$(man6dir) && test -d $(DESTDIR)$(mandir) ; \
+	    then $(INSTALL) -m 0644 rogue.6 $(DESTDIR)$(mandir)/$(PROGRAM).6 ; \
+	    else mkdir -p $(DESTDIR)$(man6dir) ; \
+	    $(INSTALL) -m 0644 rogue.6 $(DESTDIR)$(man6dir)/$(PROGRAM).6 ; fi
+	if test ! -d $(DESTDIR)$(docdir) ; \
 	    then mkdir -p $(DESTDIR)$(docdir) ; fi
-	-$(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT
-	-$(INSTALL) -m 0644 rogue.r $(DESTDIR)$(docdir)/$(PROGRAM).r
-	-$(RM) test
+	$(INSTALL) -m 0644 rogue.r $(DESTDIR)$(docdir)/$(PROGRAM).r
+	$(INSTALL) -m 0644 $(DOCS) $(RAWDOCS) $(DESTDIR)$(docdir)
+	$(RM) test
 
 uninstall:	
-	-$(RM) $(DESTDIR)$(bindir)/$(PROGRAM)
-	-$(RM) $(DESTDIR)$(man6dir)/$(PROGRAM).6
-	-$(RM) $(DESTDIR)$(docdir)$(PROGRAM)/$(PROGRAM).doc
-	-$(RMDIR) $(DESTDIR)$(docdir)$(PROGRAM)
+	$(RM) $(DESTDIR)$(bindir)/$(PROGRAM)
+	$(RM) $(DESTDIR)$(man6dir)/$(PROGRAM).6
+	$(RM) $(DESTDIR)$(mandir)/$(PROGRAM).6
+	$(RM) -r $(DESTDIR)$(docdir)
     
 reinstall: uninstall install
 
--- a/rogue3/configure.ac	Wed Mar 02 21:13:26 2016 -0500
+++ b/rogue3/configure.ac	Wed Mar 02 21:28:34 2016 -0500
@@ -4,7 +4,6 @@
 AC_PREREQ(2.56)
 AC_INIT([Rogue],[3.6.4], [yendor@rogueforge.net])
 AC_CONFIG_HEADERS([config.h])
-# May not be needed for the documentation
 AC_CONFIG_FILES([Makefile rogue.6 rogue.r])
 
 # Checks for programs.
@@ -37,7 +36,6 @@
 AC_CHECK_PROG([GROFF], [groff], [groff],)
 AC_CHECK_PROG([COLCRT], [colcrt], [colcrt],)
 AC_CHECK_PROG([TBL], [tbl], [tbl],)
-AC_CHECK_PROG([SED], [sed], [sed],)
 
 AC_ARG_WITH(program-name, AC_HELP_STRING([--with-program-name=NAME],[alternate executable name]),[progname="$withval" ], [progname="rogue3"] )
 PROGRAM=$progname
--- a/rogue3/rogue36.cat	Wed Mar 02 21:13:26 2016 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-ROGUE(6)                                                              ROGUE(6)
-
-
-
-NAME
-       rogue - Exploring The Dungeons of Doom
-
-SYNOPSIS
-       rogue [ -s ] [ save_file ] [ -n playername ]
-
-DESCRIPTION
-       Rogue  is a computer fantasy game with a new twist.  It is crt oriented
-       and the object of the game is to survive the attacks  of  various  mon-
-       sters and get a lot of gold, rather than the puzzle solving orientation
-       of most computer fantasy games.
-
-       To get started you really only need to know two commands.  The  command
-       ?   will  give  you  a list of the available commands and the command /
-       will identify the things you see on the screen.
-
-       To win the game (as opposed to merely playing to  beat  other  people's
-       high  scores)  you  must locate the Amulet of Yendor which is somewhere
-       below the 20th level of  the  dungeon  and  get  it  out.   Nobody  has
-       achieved  this  yet and if somebody does, they will probably go down in
-       history as a hero among heros.
-
-       When the game ends, either by your death, when you quit, or if you  (by
-       some  miracle) manage to win, rogue will give you a list of the top-ten
-       scorers.  The scoring is based entirely upon how  much  gold  you  get.
-       There is a 10% penalty for getting yourself killed.
-
-       For more detailed directions, read the document A Guide to the Dungeons
-       of Doom.
-
-OPTIONS
-       If a save_file argument is given, rogue will attempt to load  a  previ-
-       ously saved game from that file.
-
-       With  the  -n  option,  rogue will load a game with the name playername
-       from a location defined at compile time.  If no such  game  exists,  it
-       will start one.
-
-       The -s option prints the top-ten scores list and exits.
-
-
-FILES
-       /usr/local/games/roguelike/rogue3.scr   Score file
-       ~/rogue3.save                           Default save file
-       /usr/local/games/roguelike/rogue3save   System savefiles
-
-SEE ALSO
-       Michael C. Toy, A Guide to the Dungeons of Doom
-
-BUGS
-       Probably  infinite.   Currently known bugs are: Sometimes you are still
-       hungry even after you eat food and sometimes you get a monster  on  the
-       screen in reverse video which may or may not cause a core dump.
-
-COPYRIGHT
-       Rogue: Exploring the Dungeons of Doom
-       Copyright (C) 1980, 1981 Michael Toy, Ken Arnold and Glenn Wichman
-       All rights reserved.
-       License: 3-clause BSD, see LICENSE.txt for details.
-
-
-
-3rd Berkeley Distribution                                             ROGUE(6)
--- a/rogue3/rogue36.doc	Wed Mar 02 21:13:26 2016 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,660 +0,0 @@
-
-
-
-
-
-
-
-
-
-              A Guide to the Dungeons of Doom
-
-                       Michael C. Toy
-              Computer Systems Research Group
- Department of Electrical Engineering and Computer Science
-                  University of California
-                Berkeley, California  94720
-
-
-
-                          ABSTRACT
-
-          Rogue  is  a  visual  CRT  based fantasy game
-     which runs  under  the  UNIX  timesharing  system.
-     This paper describes how to play rogue and gives a
-     few hints for those who might otherwise  get  lost
-     in the Dungeons of Doom.
-
-
-
-24 October 2009
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-              A Guide to the Dungeons of Doom
-
-                       Michael C. Toy
-              Computer Systems Research Group
- Department of Electrical Engineering and Computer Science
-                  University of California
-                Berkeley, California  94720
-
-
-1.  Introduction
-
-     You  have  just finished your years as a student at the
-local fighter's guild.  After much practice  and  sweat  you
-have finally completed your training and are ready to embark
-upon a perilous adventure.  As a test of  your  skills,  the
-local  guildmasters have sent you into the Dungeons of Doom.
-Your task is to return with  the  Amulet  of  Yendor.   Your
-reward  for  the completion of this task will be a full mem-
-bership in the local guild. In addition, you are allowed  to
-keep all the loot you bring back from the dungeons.
-
-     In  preparation  for  your  journey,  you  are given an
-enchanted sword, taken from a dragon's hoard in the far  off
-Dark  Mountains.   You  are  also outfitted with elf-crafted
-armor and given enough food to reach the dungeons.  You  say
-goodbye  to family and friends for what may be the last time
-and head up the road.
-
-     You set out on your way to the dungeons and after  sev-
-eral  days  of  uneventful travel, you see the ancient ruins
-that mark the entrance to the Dungeons of Doom.  It is  late
-at  night  so  you  make  camp at the entrance and spend the
-night sleeping under the open skies.   In  the  morning  you
-gather  your  sword,  put  on your armor, eat what is almost
-your last food and enter the dungeons.
-
-2.  What is going on here?
-
-     You have just begun a game of rogue.  Your goal  is  to
-grab as much treasure as you can, find the Amulet of Yendor,
-and get out of the Dungeons of Doom alive.  On the screen, a
-map  of  where  you  have been and what you have seen on the
-current dungeon level is kept.  As you explore more  of  the
-level, it appears on the screen in front of you.
-
-     Rogue  differs from most computer fantasy games in that
-it  is  screen  oriented.   Commands  are  all  one  or  two
-keystrokes  and  the  results of your commands are displayed
-graphically on the screen rather  than  being  explained  in
------------
-As opposed to pseudo English sentences.
-
-
-
-                            - 1 -
-
-
-
-
-
-                             A Guide to the Dungeons of Doom
-
-
-words.
-
-     Another  major  difference between rogue and other com-
-puter fantasy games is that once you  have  solved  all  the
-puzzles  in a standard fantasy game, it has lost most of its
-excitement and it ceases to be fun.  Rogue on the other hand
-generates  a new dungeon every time you play it and even the
-author finds it an entertaining and exciting game.
-
-3.  What do all those things on the screen mean?
-
-     In order to understand what is going on  in  rogue  you
-have to first get some grasp of what rogue is doing with the
-screen.  The rogue screen is intended to  replace  the  "You
-can  see  ..." descriptions of standard fantasy games.  Here
-is a sample of what a rogue screen might look like.
-                            ---------------------
-                            |...................+
-                            |...@...........[...|
-                            |........B..........|
-                            |...................|
-                            --------+------------
-
-
-          Level: 1  Gold: 0      Hp: 12(12)  Str: 16  Ac: 6  Exp: 1/0
-
-3.1.  The bottom line
-
-     At the bottom line of the screen is  a  few  pieces  of
-cryptic  information,  describing your current status.  Here
-is an explanation of what these things mean:
-
-Level   This number indicates how deep you have gone in  the
-        dungeon.  It starts at one and goes up forever.
-
-Gold    The  number  of gold pieces you have managed to find
-        and keep with you so far.
-
-Hp      Your current and maximum  hit  points.   Hit  points
-        indicate  how  much  damage  you can take before you
-        die.  The more you get hit in  a  fight,  the  lower
-        they get.  You can regain hit points by resting. The
-        number in parentheses is the maximum number your hit
-        points can reach.
-
-Str     Your current strength.  This can be any integer less
-        than or equal to eighteen.  The higher  the  number,
-        the stronger you are.
-
-Ac      Your current armor class.  This number indicates how
-        effective your  armor  is  in  stopping  blows  from
-        unfriendly creatures.  The lower this number is, the
------------
-Or until you get killed or decide to quit.
-
-
-
-                            - 2 -
-
-
-
-
-
-                             A Guide to the Dungeons of Doom
-
-
-        more effective the armor.
-
-Exp     These two numbers give your current experience level
-        and  experience  points.  As you do things, you gain
-        experience  points.   At  certain  experience  point
-        totals,  you  gain  an  experience  level.  The more
-        experienced you are, the  better  you  are  able  to
-        fight and to withstand magical attacks.
-
-3.2.  The top line
-
-     The  top  line  of  the screen is reserved for printing
-messages that describe things that are impossible to  repre-
-sent  visually.   If  you  see a "--More--" on the top line,
-this means that rogue wants to print another message on  the
-screen,  but it wants to make certain that you have read the
-one that is there first.  To read  the  next  message,  just
-press a space.
-
-3.3.  The rest of the screen
-
-     The  rest  of the screen is the map of the level as you
-have explored it so far.  Each symbol on the  screen  repre-
-sents something.  Here is a list of what the various symbols
-mean:
-
-@    This symbol represents you, the adventurer.
-
--|    These symbols represent the walls of rooms.
-
-+     A door to/from a room.
-
-.     The floor of a room.
-
-#     The floor of a passage between rooms.
-
-*     A pile or pot of gold.
-
-)     A weapon of some sort.
-
-]     A piece of armor.
-
-!     A flask containing a magic potion.
-
-?     A piece of paper, usually a magic scroll.
-
-^     A trap, watch out for these.
-
-%     The passage leading down to the next level.
-
-:     A piece of food.
-
-A-Z   The uppercase letters represent  the  various  inhabi-
-      tants of the Dungeons of Doom.  Watch out, they can be
-
-
-
-                            - 3 -
-
-
-
-
-
-                             A Guide to the Dungeons of Doom
-
-
-      mean.
-
-4.  Commands
-
-     Commands are given to rogue by pressing single letters.
-Most  commands  can  be  preceded  by a count to repeat them
-(e.g. typing "10s" will do ten searches) The  list  of  com-
-mands  is rather long, but it can be read at any time during
-the game with the ? command.  Here it is for reference, with
-a short explanation of each command.
-
-?     The  help  command.  Asks for a character to give help
-      on.  If you type a "*", it will list all the commands,
-      otherwise it will explain what the character you typed
-      does.
-
-/     This is the "What is that on the screen?"  command.  A
-      "/"  followed  by  any  character  that you see on the
-      level, will tell you  what  that  character  is.   For
-      instance,  typing "/@" will tell you that the @ symbol
-      represents you, the player.
-
-h , H Move left.  You move one space to the  left.   If  you
-      use upper case h, you will continue to move left until
-      you run into something.  This works for  all  movement
-      commands (e.g. "L" means run in direction "l")
-
-j     Move down.
-
-k     Move up.
-
-l     Move right.
-
-y     Move diagonally up and left.
-
-u     Move diagonally up and right.
-
-b     Move diagonally down and left.
-
-n     Move diagonally down and right.
-
-f     Find prefix.  When followed by a direction it means to
-      continue moving in the specified direction  until  you
-      pass something interesting or run into a wall.
-
-t     Throw an object.  This is a prefix command.  Follow it
-      with a direction and you throw an object in the speci-
-      fied  direction.   (e.g.  type "th" to throw something
-      left.)
-
->     If you are standing over the passage down to the  next
-      level, this command means to climb down.
-
-
-
-
-
-                            - 4 -
-
-
-
-
-
-                             A Guide to the Dungeons of Doom
-
-
-s     Search for traps and secret doors.  Examine each space
-      immediately adjacent to you for  the  existence  of  a
-      trap  or  secret  door.   There is a large chance that
-      even if there is something there, you won't find it so
-      you might have to search a while before you find some-
-      thing.
-
-      (space) Rest.  This is the "do nothing" command.  This
-      is good for waiting and healing.
-
-i     Inventory.  List what you are carrying in your pack.
-
-I     Selective  inventory.  Tells you what a single item in
-      your pack is.
-
-q     Quaff.  Drink one of the potions you are carrying.
-
-r     Read.  Read one of the scrolls in your pack.
-
-e     Eat food.  Take some food out of your pack and eat it.
-
-w     Wield  a  weapon.   Take a weapon out of your pack and
-      carry it.  You must be  wielding   weapon  to  use  it
-      (except  to throw things).  To fire an arrow, you must
-      wield the bow.  You can only wield  one  weapon  at  a
-      time.
-
-W     Wear  armor.   Take  a piece of armor out of your pack
-      and put it on.  You can only wear one suit of armor at
-      a time.
-
-T     Take  armor  off.   You  can't  remove  armor  that is
-      cursed.  This takes extra time.
-
-d     Drop an object.  Take something out of your  pack  and
-      leave  it  lying  on  the  floor.  Only one object can
-      occupy each space.
-
-o     Examine and set  options.   This  command  is  further
-      explained in the section on options.
-
-^L    REdraws  the  screen.  Useful  if spurious messages or
-      transmission errors have messed up the display.
-
-v     Prints the program version number.
-
-Q     Quit.  Leave the game.
-
-R     Repeat last message.  Useful when a message disappears
-      before you can read it.
-
-S     Save  the current game in a file.  Caveat: Rogue won't
-      let you start up a  copy  of  a  saved  game,  and  it
-      removes  the  save  file  as  soon  as  you start up a
-
-
-
-                            - 5 -
-
-
-
-
-
-                             A Guide to the Dungeons of Doom
-
-
-      restored game.  This is to prevent people from  saving
-      a  game  just  before  a  dangerous  position and then
-      restarting it if they die.  To restore a  saved  game,
-      give the file name as an argument to rogue. As in
-                % rogue save_file
-
-5.  Dealing with objects
-
-     When you find something in the dungeon, it is common to
-want to pick the object up.  This is accomplished  in  rogue
-by  walking  over  the object.  If you are carrying too many
-things, the program will tell you and it won't pick  up  the
-object,  otherwise  it  will  add it to your pack and if the
-notify option is set, tell you what you just picked up.
-
-     Many of the  commands  that  operate  on  objects  must
-prompt you to find out which object you want to use.  If you
-change your mind and don't want to  do  that  command  after
-all, just press an escape and the command will be aborted.
-
-6.  Light
-
-     Rooms  in  the dungeons are either lit or dark.  If you
-walk into a lit room, the entire room will be drawn  on  the
-screen  as soon as you enter.  If you walk into a dark room,
-it will only be displayed as you explore it.  Upon leaving a
-dark  room, all objects inside the room which might move are
-removed from the screen.  In the darkness you can  only  see
-one space in all directions around you.
-
-7.  Fighting
-
-     If  you  see  a  monster and you wish to fight it, just
-attempt to run into it.  Many times a monster you find  will
-mind its own business unless you attack it.  It is often the
-case that discretion is the better part of valor.
-
-8.  Armor
-
-     There are various sorts of armor lying  around  in  the
-dungeon.   Some  of it is enchanted, some is cursed and some
-is just normal.  Different armor types have different  armor
-classes.  The lower the armor class, the more protection the
-armor affords against the blows of monsters.  If a piece  of
-armor is enchanted or cursed, its armor class will be higher
-or lower than normal.  Here is a list of the  various  armor
-types and their normal armor class.
-
-
-
-
-
-
-
-
-
-
-                            - 6 -
-
-
-
-
-
-                             A Guide to the Dungeons of Doom
-
-
-           +------------------------------------+
-           |           Type               Class |
-           +----------------------------+-------+
-           |Leather armor               |   8   |
-           |Studded leather / Ring mail |   7   |
-           |Scale mail                  |   6   |
-           |Chain mail                  |   5   |
-           |Banded mail / Splint mail   |   4   |
-           |Plate mail                  |   3   |
-           +----------------------------+-------+
-
-9.  Options
-
-     Due to variations in personal tastes and conceptions of
-the way rogue should do things, there are a set  of  options
-you  can set that cause rogue to behave in various different
-ways.
-
-9.1.  Setting the options
-
-     There are basically two ways to set the  options.   The
-first  is  with the "o" command of rogue, the second is with
-the ROGUEOPTS environment variable.  On Version  6  systems,
-there is no equivalent of the ROGUEOPTS feature.
-
-9.1.1.  Using the "o" command
-
-     When  you  press "o" in rogue, it clears the screen and
-displays the current settings for all the options.  It  then
-places the cursor by the value of the first option and waits
-for you to type.  You can type a RETURN which means to go to
-the  next  option,  a  "-" which means to go to the previous
-option, an escape which means to return to the game, or  you
-can  give  the  option  a  value.   For boolean options this
-merely involves pressing "t" for true or "f" for false.  For
-string options, type the new value followed by a return.
-
-9.1.2.  Using the ROGUEOPTS variable
-
-     The  ROGUEOPTS  variable is a string containing a comma
-separated list of initial values for  the  various  options.
-Boolean variables can be turned on by listing their name and
-turned off by putting a "no" in front of the name.  Thus  to
-set  up an environment variable so that jump is on, terse is
-off, the name is set to "Conan the Barbarian" and the  fruit
-is "mango", use the command
-   % setenv ROGUEOPTS "jump,noterse,name=Conan the Barbarian,fruit=mango"
-   %  setenv  ROGUEOPTS "jump,noterse,name=Conan the Barbar-
-ian,fruit=mango"
-
------------
-For those of you who use  the  bourne  shell,  the
-commands would be
-   $ ROGUEOPTS="jump,noterse,name=Conan the Barbarian,fruit=mango"
-
-
-
-                            - 7 -
-
-
-
-
-
-                             A Guide to the Dungeons of Doom
-
-
-9.2.  Option list
-
-     Here  is  a  list  of the options and an explanation of
-what each one  is  for.   The  default  value  for  each  is
-enclosed in square brackets.
-
-terse [noterse]          Useful  for  those who are tired of
-                         the sometimes lengthy  messages  of
-                         rogue.  This is a useful option for
-                         those  on  slow  terminals.    This
-                         option  defaults  to on if your are
-                         on a slow (under 1200 baud)  termi-
-                         nal.
-
-jump [nojump]            If  this  option  is  set,  running
-                         moves will not be  displayed  until
-                         you  reach  the  end  of  the move.
-                         This saves  considerable  cpu  time
-                         and   display  time.   This  option
-                         defaults to on if you are  using  a
-                         slow terminal.
-
-step [nostep]            When  step is set, lists of things,
-                         like inventories or  "*"  responses
-                         to "Which item do you wish to xxxx?
-                         " questions, are displayed one item
-                         at a time on the top of the screen,
-                         rather than  clearing  the  screen,
-                         displaying  the  list, then re-dis-
-                         playing the dungeon level.
-
-flush [noflush]          If flush is set, all  typeahead  is
-                         thrown  away  after  each  round of
-                         battle.  This is useful  for  those
-                         who  type  way  ahead  and watch to
-                         their  dismay  as  a  Kobold  kills
-                         them.
-
-askme [noaskme]          Upon reading a scroll or quaffing a
-                         potion which does not automatically
-                         identify  it  upon  use, rogue will
-                         ask you what to name it so you  can
-                         recognize it in the future.
-
-name [account name]      This is the name of your character.
-                         It is used if you get  on  the  top
-                         ten  scorer's  list.   It should be
-                         less than eighty characters long.
-
-fruit [slime-mold]       This should  hold  the  name  of  a
-                         fruit that you enjoy eating.  It is
-                         basically a whimsy that the program
------------
-   $ export ROGUEOPTS
-
-
-
-                            - 8 -
-
-
-
-
-
-                             A Guide to the Dungeons of Doom
-
-
-                         uses in a couple of places.
-
-file [rogue3.save]       The  default  file  name for saving
-                         the game.  If your phone is hung up
-                         by  accident,  rogue will automati-
-                         cally save the game in  this  file.
-                         The  file name may contain the spe-
-                         cial character "~" which expands to
-                         be your home directory.
-
-10.  Acknowledgements
-
-     Rogue  was originally conceived of by Glenn Wichman and
-Michael Toy.  The help of Ken Arnold in making  the  program
-easier  to  use  and  putting  the  finishing  touches on is
-greatly appreciated.  I  would  also  like  to  thank  Marty
-McNary,  Scott  Nelson,  Daniel  Jensen,  Kipp  Hickman, Joe
-Kalash, Steve Maurer, Bill Joy, Mark Horton and  Jan  Miller
-for their ideas and assistance.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                            - 9 -
-
-
--- a/rogue4/Makefile.in	Wed Mar 02 21:13:26 2016 -0500
+++ b/rogue4/Makefile.in	Wed Mar 02 21:28:34 2016 -0500
@@ -45,6 +45,7 @@
 	rooms.c save.c scrolls.c state.c sticks.c things.c weapons.c wizard.c \
 	mach_dep.c xcrypt.c mdport.c
 MISC=	Makefile LICENSE.TXT rogue.6 rogue.me
+DOCS=	$(PROGRAM).cat $(PROGRAM).doc
 
 CFLAGS=
 CPPFLAGS=@DEFS@
@@ -56,6 +57,10 @@
 CHGRP=chgrp
 CHMOD=chmod
 INSTALL=@INSTALL@
+GROFF=@GROFF@
+NROFF=@NROFF@
+COLCRT=@COLCRT@
+TBL=@TBL@
 
 SF=
 NAMELIST=
@@ -70,7 +75,9 @@
 #	@cc -c $(CFLAGS) x.c
 #	@mv x.o $*.o
 
-@PROGRAM@: $(HDRS) $(OBJS) # xs.o
+all: $(PROGRAM) docs
+
+$(PROGRAM): $(HDRS) $(OBJS) # xs.o
 #	@rm -f x.c
 #	$(CC) $(LDFLAGS) xs.o $(OBJS) $(CRLIB) 
 	$(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
@@ -100,8 +107,24 @@
 prob.o: prob.c rogue.h
 	$(CC) -O -c prob.c
 
+docs: $(DOCS)
+
+$(PROGRAM).cat: rogue.6
+	if test "x$(GROFF)" != "x" ; then \
+	$(GROFF) -P-c -P-b -P-u -Tascii -man rogue.6 > $(PROGRAM).cat ;\
+	elif test "x$(NROFF)" != "x" && test "x$(COLCRT)" != "x" ; then \
+	$(NROFF) -man rogue.6 | colcrt - > $(PROGRAM).cat ;\
+	fi
+
+$(PROGRAM).doc: rogue.me
+	if test "x$(GROFF)" != "x" ; then \
+	$(GROFF) -P-c -P-b -P-u -t -me -Tutf8 rogue.me > $(PROGRAM).doc ;\
+	elif test "x$(NROFF)" != "x" && test "x$(COLCRT)" != "x" && test "x$(TBL)" != "x" ; then \
+	$(TBL) rogue.me | $(NROFF) -me | $(COLCRT) - > $(PROGRAM).doc ;\
+	fi
+
 clean:
-	rm -f $(POBJS) $(OBJS) core a.out p.out @PROGRAM@ strings make.out rogue.tar vgrind.* x.c x.o xs.c xs.o linterrs findpw distmod.o xs.po xstr rogue rogue.exe rogue.tar.gz rogue.cat rogue.doc xstr.exe
+	rm -f $(POBJS) $(OBJS) core a.out p.out $(PROGRAM) strings make.out rogue.tar vgrind.* x.c x.o xs.c xs.o linterrs findpw distmod.o xs.po xstr rogue rogue.exe rogue.tar.gz $(DOCS) xstr.exe
 
 maintainer-clean:
 	make clean
@@ -110,15 +133,18 @@
 	$(RM) $(PROGRAM).scr $(PROGRAM).log $(PROGRAM).lck
 	$(RM) rogue.6 rogue.me
 
-install: $(PROGRAM)
-	-$(TOUCH) test
-	-if test ! -f $(DESTDIR)$(SCOREFILE) ; \
-	 then $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi
-	-if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \
-	$(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi
-	-if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \
-	$(MKDIR) -p $(DESTDIR)$(SAVEDIR) ; fi
-	-$(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM)
+install: all
+	$(TOUCH) test
+	if test ! -f $(DESTDIR)$(SCOREFILE) ; then \
+	    $(MKDIR) -p `dirname $(DESTDIR)$(SCOREFILE)` ; \
+	    $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi
+	if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \
+	    $(MKDIR) -p `dirname $(DESTDIR)$(LOGFILE)` ; \
+	    $(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi
+	if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \
+	    $(MKDIR) -p $(DESTDIR)$(SAVEDIR) ; fi
+	$(MKDIR) -p $(DESTDIR)$(bindir)
+	$(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM)
 	-if test "x$(GROUPOWNER)" != "x" ; then \
 	    $(CHGRP) $(GROUPOWNER) $(DESTDIR)$(SCOREFILE) ; \
 	    $(CHGRP) $(GROUPOWNER) $(DESTDIR)$(LOGFILE) ; \
@@ -128,27 +154,29 @@
 	    $(CHMOD) 0464 $(DESTDIR)$(SCOREFILE) ; \
 	    $(CHMOD) 0464 $(DESTDIR)$(LOGFILE) ; \
 	    $(CHMOD) 0775 $(DESTDIR)$(SAVEDIR) ; \
-         fi
-	-if test -d $(DESTDIR)$(man6dir) ; \
-	 then $(INSTALL) -m 0644 rogue.6 $(DESTDIR)$(man6dir)/$(PROGRAM).6 ; fi
-	-if test ! -d $(DESTDIR)$(man6dir) ; \
-	 then $(INSTALL) -m 0644 rogue.6 $(DESTDIR)$(mandir)/$(PROGRAM).6 ; fi
-	-if test ! -d $(DESTDIR)$(docdir) ; \
+        fi
+	if test ! -d $(DESTDIR)$(man6dir) && test -d $(DESTDIR)$(mandir) ; \
+	    then $(INSTALL) -m 0644 rogue.6 $(DESTDIR)$(mandir)/$(PROGRAM).6 ; \
+	    else $(MKDIR) -p $(DESTDIR)$(man6dir) ; \
+	    $(INSTALL) -m 0644 rogue.6 $(DESTDIR)$(man6dir)/$(PROGRAM).6 ; fi
+	if test ! -d $(DESTDIR)$(docdir) ; \
 	    then $(MKDIR) -p $(DESTDIR)$(docdir) ; fi
-	-$(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT
-	-$(INSTALL) -m 0644 rogue.me $(DESTDIR)$(docdir)/$(PROGRAM).me
-	-if test "x$(LOCKFILE)" != "x" && test ! -f $(DESTDIR)$(LOCKFILE) ; then \
+	$(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT
+	$(INSTALL) -m 0644 rogue.me $(DESTDIR)$(docdir)/$(PROGRAM).me
+	$(INSTALL) -m 0644 $(DOCS) $(DESTDIR)$(docdir)
+	if test "x$(LOCKFILE)" != "x" && test ! -f $(DESTDIR)$(LOCKFILE) ; then \
 	    $(INSTALL) -m 0666 test $(DESTDIR)$(LOCKFILE)  ; \
 	    $(RM) $(DESTDIR)$(LOCKFILE) ; \
-	 fi
-	-$(RM) test
+	fi
+	$(RM) test
 
 uninstall:	
-	-$(RM) $(DESTDIR)$(bindir)/$(PROGRAM)
-	-$(RM) $(DESTDIR)$(man6dir)/$(PROGRAM).6
-	-$(RM) $(DESTDIR)$(docdir)$(PROGRAM)/$(PROGRAM).doc
-	-$(RM) $(DESTDIR)$(LOCKFILE)
-	-$(RMDIR) $(DESTDIR)$(docdir)$(PROGRAM)
+	$(RM) $(DESTDIR)$(bindir)/$(PROGRAM)
+	$(RM) $(DESTDIR)$(man6dir)/$(PROGRAM).6
+	$(RM) $(DESTDIR)$(mandir)/$(PROGRAM).6
+	$(RM) -r $(DESTDIR)$(docdir)
+	if test "x$(LOCKFILE)" != "x" ; then \
+	    $(RM) $(DESTDIR)$(LOCKFILE) ; fi
     
 reinstall: uninstall install
 
--- a/rogue4/configure.ac	Wed Mar 02 21:13:26 2016 -0500
+++ b/rogue4/configure.ac	Wed Mar 02 21:28:34 2016 -0500
@@ -5,7 +5,6 @@
 AC_INIT([Rogue],[5.2.2], [yendor@rogueforge.net])
 AC_CONFIG_SRCDIR([armor.c])
 AC_CONFIG_HEADERS([config.h])
-# May not be needed for the documentation
 AC_CONFIG_FILES([Makefile rogue.6 rogue.me])
 
 # Checks for programs.
@@ -36,7 +35,6 @@
 AC_CHECK_PROG([GROFF], [groff], [groff],)
 AC_CHECK_PROG([COLCRT], [colcrt], [colcrt],)
 AC_CHECK_PROG([TBL], [tbl], [tbl],)
-AC_CHECK_PROG([SED], [sed], [sed],)
 
 AC_ARG_WITH(program-name, AC_HELP_STRING([--with-program-name=NAME],[alternate executable name]),[progname="$withval" ], [progname="rogue4"] )
 PROGRAM=$progname
--- a/rogue4/rogue.6.in	Wed Mar 02 21:13:26 2016 -0500
+++ b/rogue4/rogue.6.in	Wed Mar 02 21:28:34 2016 -0500
@@ -3,7 +3,7 @@
 .SH NAME
 rogue \- Exploring The Dungeons of Doom
 .SH SYNOPSIS
-.B rogue
+.B @PROGRAM@
 [
 .I save_file
 ]
--- a/rogue5/Makefile.in	Wed Mar 02 21:13:26 2016 -0500
+++ b/rogue5/Makefile.in	Wed Mar 02 21:28:34 2016 -0500
@@ -46,9 +46,6 @@
 #COLCRT=colcrt
 COLCRT = @COLCRT@
 
-#SED=sed
-SED   = @SED@
-
 #SCOREFILE=rogue54.scr
 SCOREFILE = @SCOREFILE@
 
@@ -68,7 +65,7 @@
 CPPFLAGS =@DEFS@ @CPPFLAGS@
 
 #DISTFILE = $(PROGRAM)
-DISTFILE = $(DISTNAME)-@TARGET@
+DISTFILE = $(DISTNAME)-@DISTSYS@
 
 INSTALL=@INSTALL@
 
@@ -119,11 +116,10 @@
            rooms.c save.c scrolls.c state.c sticks.c things.c \
            weapons.c wizard.c xcrypt.c
 MISC_C   = findpw.c scedit.c scmisc.c
-DOCSRC   = rogue.me.in rogue.6.in rogue.doc.in rogue.html.in rogue.cat.in
-DOCS     = $(PROGRAM).doc $(PROGRAM).html $(PROGRAM).cat $(PROGRAM).me \
-           $(PROGRAM).6
+DOCSRC   = rogue.me.in rogue.6.in rogue.html.in
+DOCS     = $(PROGRAM).doc $(PROGRAM).cat
 AFILES   = configure Makefile.in configure.ac config.h.in config.sub config.guess \
-           install-sh rogue.6.in rogue.me.in rogue.html.in rogue.doc.in rogue.cat.in
+           install-sh rogue.6.in rogue.me.in rogue.html.in
 MISC     = Makefile.std LICENSE.TXT rogue54.sln rogue54.vcproj rogue.spec \
            rogue.png rogue.desktop
 
@@ -134,6 +130,8 @@
     
 .c.o:
 	$(CC) $(CFLAGS) $(CPPFLAGS) -c $*.c
+
+all: $(PROGRAM) docs
     
 $(PROGRAM): $(HDRS) $(OBJS)
 	$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
@@ -143,6 +141,7 @@
 	$(RM) $(OBJS2)
 	$(RM) core a.exe a.out a.exe.stackdump $(PROGRAM) $(PROGRAM).exe
 	$(RM) $(PROGRAM).tar $(PROGRAM).tar.gz $(PROGRAM).zip 
+	$(RM) $(DOCS)
 	$(RM) $(DISTNAME)/*
 	-rmdir $(DISTNAME)
     
@@ -154,6 +153,8 @@
 	$(RM) config.log
 	$(RM) $(PROGRAM).scr $(PROGRAM).lck
 
+docs: $(DOCS)
+
 stddocs:
 	sed -e 's/@PROGRAM@/rogue/' -e 's/@SCOREFILE@/rogue.scr/' rogue.6.in > rogue.6
 	sed -e 's/@PROGRAM@/rogue/' -e 's/@SCOREFILE@/rogue.scr/' rogue.me.in > rogue.me
@@ -179,16 +180,21 @@
 	$(CC) -O -c $(SF) $*.c
 
 $(PROGRAM).doc: rogue.me
-	if test "x$(GROFF)" != "x" -a "x$(SED)" != "x" ; then \
-	$(GROFF) -P-c -t -me -Tascii rogue.me | $(SED) -e 's/.\x08//g' > $(PROGRAM).doc ;\
-	elif test "x$(NROFF)" != "x" -a "x$(TBL)" != "x" -a "x$(COLCRT)" != "x" ; then \
+	if test "x$(GROFF)" != "x" ; then \
+	$(GROFF) -P-c -P-b -P-u -t -me -Tutf8 rogue.me > $(PROGRAM).doc ;\
+	elif test "x$(NROFF)" != "x" && test "x$(TBL)" != "x" && test "x$(COLCRT)" != "x" ; then \
         tbl rogue.me | $(NROFF) -me | colcrt - > $(PROGRAM).doc ;\
 	fi
 
+#$(PROGRAM).html: rogue.me
+#	if test "x$(GROFF)" != "x" ; then \
+#	$(GROFF) -t -me -Thtml -P-l rogue.me > $(PROGRAM).html ;\
+#	fi
+
 $(PROGRAM).cat: rogue.6
-	if test "x$(GROFF)" != "x" -a "x$(SED)" != "x" ; then \
-	$(GROFF) -Tascii -man rogue.6 | $(SED) -e 's/.\x08//g' > $(PROGRAM).cat ;\
-	elif test "x$(NROFF)" != "x" -a "x$(TBL)" != "x" -a "x$(COLCRT)" != "x" ; then \
+	if test "x$(GROFF)" != "x" ; then \
+	$(GROFF) -P-c -P-b -P-u -Tascii -man rogue.6 > $(PROGRAM).cat ;\
+	elif test "x$(NROFF)" != "x" && test "x$(COLCRT)" != "x" ; then \
 	$(NROFF) -man rogue.6 | $(COLCRT) - > $(PROGRAM).cat ;\
 	fi
 
@@ -196,14 +202,18 @@
 	tar cf $(DISTFILE).tar $(PROGRAM) LICENSE.TXT $(DOCS)
 	gzip -f $(DISTFILE).tar
 
-install: $(PROGRAM)
-	-$(TOUCH) test
-	-if test ! -f $(DESTDIR)$(SCOREFILE) ; then $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi
-	-if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \
-	$(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi
-	-if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \
-	$(MKDIR) -p $(DESTDIR)$(SAVEDIR) ; fi
-	-$(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM)
+install: all
+	$(TOUCH) test
+	if test ! -f $(DESTDIR)$(SCOREFILE) ; then \
+	    $(MKDIR) -p `dirname $(DESTDIR)$(SCOREFILE)` ; \
+	    $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi
+	if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \
+	    $(MKDIR) -p `dirname $(DESTDIR)$(LOGFILE)` ; \
+	    $(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi
+	if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \
+	    $(MKDIR) -p $(DESTDIR)$(SAVEDIR) ; fi
+	$(MKDIR) -p $(DESTDIR)$(bindir)
+	$(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM)
 	-if test "x$(GROUPOWNER)" != "x" ; then \
 	    $(CHGRP) $(GROUPOWNER) $(DESTDIR)$(SCOREFILE) ; \
 	    $(CHGRP) $(GROUPOWNER) $(DESTDIR)$(LOGFILE) ; \
@@ -213,25 +223,28 @@
 	    $(CHMOD) 0464 $(DESTDIR)$(SCOREFILE) ; \
 	    $(CHMOD) 0464 $(DESTDIR)$(LOGFILE) ; \
 	    $(CHMOD) 0775 $(DESTDIR)$(SAVEDIR) ; \
-         fi
-	-if test -d $(DESTDIR)$(man6dir) ; then $(INSTALL) -m 0644 rogue.6 $(DESTDIR)$(man6dir)/$(PROGRAM).6 ; fi
-	-if test ! -d $(DESTDIR)$(man6dir) ; then $(INSTALL) -m 0644 rogue.6 $(DESTDIR)$(mandir)/$(PROGRAM).6 ; fi
-	-$(INSTALL) -m 0644 rogue.doc $(DESTDIR)$(docdir)/$(PROGRAM).doc
-	-$(INSTALL) -m 0644 rogue.html $(DESTDIR)$(docdir)/$(PROGRAM).html
-	-$(INSTALL) -m 0644 rogue.cat $(DESTDIR)$(docdir)/$(PROGRAM).cat
-	-$(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT
-	-$(INSTALL) -m 0644 rogue.me $(DESTDIR)$(docdir)/$(PROGRAM).me
-	-if test "x$(LOCKFILE)" != "x" && test ! -f $(DESTDIR)$(LOCKFILE) ; then \
+        fi
+	if test ! -d $(DESTDIR)$(man6dir) && test -d $(DESTDIR)$(mandir) ; \
+	    then $(INSTALL) -m 0644 rogue.6 $(DESTDIR)$(mandir)/$(PROGRAM).6 ; \
+	    else mkdir -p $(DESTDIR)$(man6dir) ; \
+	    $(INSTALL) -m 0644 rogue.6 $(DESTDIR)$(man6dir)/$(PROGRAM).6 ; fi
+	$(MKDIR) -p $(DESTDIR)$(docdir)
+	$(INSTALL) -m 0644 $(DOCS) $(DESTDIR)$(docdir)
+	$(INSTALL) -m 0644 rogue.html $(DESTDIR)$(docdir)/$(PROGRAM).html
+	$(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT
+	$(INSTALL) -m 0644 rogue.me $(DESTDIR)$(docdir)/$(PROGRAM).me
+	if test "x$(LOCKFILE)" != "x" && test ! -f $(DESTDIR)$(LOCKFILE) ; then \
             $(INSTALL) -m 0666 test $(DESTDIR)$(LOCKFILE)  ; \
             $(RM) $(DESTDIR)$(LOCKFILE) ; \
-         fi
-	-$(RM) test
+        fi
+	$(RM) test
 
 uninstall:	
-	-$(RM) $(DESTDIR)$(bindir)/$(PROGRAM)
-	-$(RM) $(DESTDIR)$(man6dir)/$(PROGRAM).6
-	-$(RM) $(DESTDIR)$(docdir)$(PROGRAM)/$(PROGRAM).doc
-	-$(RM) $(DESTDIR)$(LOCKFILE)
-	-$(RMDIR) $(DESTDIR)$(docdir)$(PROGRAM)
+	$(RM) $(DESTDIR)$(bindir)/$(PROGRAM)
+	$(RM) $(DESTDIR)$(man6dir)/$(PROGRAM).6
+	$(RM) $(DESTDIR)$(mandir)/$(PROGRAM).6
+	$(RM) -r $(DESTDIR)$(docdir)
+	if test "x$(LOCKFILE)" != "x" ; then \
+	    $(RM) $(DESTDIR)$(LOCKFILE) ; fi
     
 reinstall: uninstall install
--- a/rogue5/configure.ac	Wed Mar 02 21:13:26 2016 -0500
+++ b/rogue5/configure.ac	Wed Mar 02 21:28:34 2016 -0500
@@ -5,8 +5,7 @@
 AC_INIT([Rogue],[5.4.5], [yendor@rogueforge.net])
 AC_CONFIG_SRCDIR([armor.c])
 AC_CONFIG_HEADER([config.h])
-AC_CONFIG_FILES([Makefile rogue.6 rogue.cat rogue.doc rogue.html rogue.me])
-AC_CANONICAL_SYSTEM([])
+AC_CONFIG_FILES([Makefile rogue.6 rogue.me rogue.html])
 
 # Checks for programs.
 AC_PROG_CC
@@ -39,7 +38,6 @@
 AC_CHECK_PROG([GROFF], [groff], [groff],)
 AC_CHECK_PROG([COLCRT], [colcrt], [colcrt],)
 AC_CHECK_PROG([TBL], [tbl], [tbl],)
-AC_CHECK_PROG([SED], [sed], [sed],)
 
 AC_ARG_WITH(program-name, AC_HELP_STRING([--with-program-name=NAME],[alternate executable name]),[progname="$withval" ], [progname="rogue5"] )
 PROGRAM=$progname
@@ -276,9 +274,6 @@
 AC_MSG_RESULT([$enable_ucount])
 fi
 
-TARGET=$target
-AC_SUBST(TARGET)
-
 AC_MSG_CHECKING([whether to docdir is defined])
 if test "x$docdir" = "x" ; then
 AC_MSG_RESULT([docdir undefined])
--- a/rogue5/rogue.cat.in	Wed Mar 02 21:13:26 2016 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-ROGUE(6)                                                              ROGUE(6)
-
-
-
-NAME
-       rogue - Exploring The Dungeons of Doom
-
-SYNOPSIS
-       @PROGRAM@ [ -r ] [ save_file ] [ -s ] [ -d ]
-
-DESCRIPTION
-       Rogue  is a computer fantasy game with a new twist.  It is crt oriented
-       and the object of the game is to survive the attacks  of  various  mon-
-       sters and get a lot of gold, rather than the puzzle solving orientation
-       of most computer fantasy games.
-
-       To get started you really only need to know two commands.  The  command
-       ?   will  give  you  a list of the available commands and the command /
-       will identify the things you see on the screen.
-
-       To win the game (as opposed to merely playing to  beat  other  people's
-       high  scores)  you  must locate the Amulet of Yendor which is somewhere
-       below the 20th level of  the  dungeon  and  get  it  out.   Nobody  has
-       achieved  this  yet and if somebody does, they will probably go down in
-       history as a hero among heroes.
-
-       When the game ends, either by your death, when you quit, or if you  (by
-       some  miracle) manage to win, rogue will give you a list of the top-ten
-       scorers.  The scoring is based entirely upon how  much  gold  you  get.
-       There is a 10% penalty for getting yourself killed.
-
-       If  save_file  is  specified, rogue will be restored from the specified
-       saved game file.  If the -r option is used, the save game file is  pre-
-       sumed to be the default.
-
-       The -s option will print out the list of scores.
-
-       The -d option will kill you and try to add you to the score file.
-
-       For more detailed directions, read the document A Guide to the Dungeons
-       of Doom.
-
-AUTHORS
-       Michael C. Toy, Kenneth C. R. C. Arnold, Glenn Wichman
-
-FILES
-       @SCOREFILE@                   Score file
-       ~/rogue.save                Default save file
-
-SEE ALSO
-       Michael C. Toy and Kenneth C. R. C. Arnold, A guide to the Dungeons  of
-       Doom
-
-BUGS
-       Probably  infinite  (although  countably  infinite).  However, that Ice
-       Monsters sometimes transfix you permanently is not a bug.  It's a  fea-
-       ture.
-
-
-
-4th Berkeley Distribution         May 6, 1986                         ROGUE(6)
--- a/rogue5/rogue.doc.in	Wed Mar 02 21:13:26 2016 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,858 +0,0 @@
-
-
-
-
-
-
-
-              A Guide to the Dungeons of Doom
-
-
-                       Michael C. Toy
-                  Kenneth C. R. C. Arnold
-
-
-              Computer Systems Research Group
- Department of Electrical Engineering and Computer Science
-                  University of California
-                Berkeley, California  94720
-
-
-
-
-                          ABSTRACT
-
-    Rogue  is a visual CRT based fantasy game which runs
-    under the UNIX timesharing system.  This  paper  de-
-    scribes how to play rogue, and gives a few hints for
-    those who might otherwise get lost in  the  Dungeons
-    of Doom.
-
-
-
-
-1.  Introduction
-
-     You  have  just finished your years as a student at the
-local fighter's guild.  After much practice  and  sweat  you
-have finally completed your training and are ready to embark
-upon a perilous adventure.  As a test of  your  skills,  the
-local  guildmasters have sent you into the Dungeons of Doom.
-Your task is to return with  the  Amulet  of  Yendor.   Your
-reward  for  the completion of this task will be a full mem-
-bership in the local guild.  In addition, you are allowed to
-keep all the loot you bring back from the dungeons.
-
-     In  preparation  for  your  journey,  you  are given an
-enchanted mace, a bow, and a quiver of arrows taken  from  a
-dragon's  hoard in the far off Dark Mountains.  You are also
-outfitted with elf-crafted armor and given  enough  food  to
-reach  the  dungeons.  You say goodbye to family and friends
-for what may be the last time and head up the road.
-
-     You set out on your way to the dungeons and after  sev-
-eral  days  of  uneventful travel, you see the ancient ruins
-that mark the entrance to the Dungeons of Doom.  It is  late
-at  night,  so  you  make camp at the entrance and spend the
-____________________
-   UNIX is a trademark of Bell Laboratories
-
-
-
-
-
-
-
-
-
-
-
-
-USD:33-2                     A Guide to the Dungeons of Doom
-
-
-night sleeping under the open skies.   In  the  morning  you
-gather  your  weapons, put on your armor, eat what is almost
-your last food, and enter the dungeons.
-
-2.  What is going on here?
-
-     You have just begun a game of rogue.  Your goal  is  to
-grab as much treasure as you can, find the Amulet of Yendor,
-and get out of the Dungeons of Doom alive.  On the screen, a
-map  of  where  you  have been and what you have seen on the
-current dungeon level is kept.  As you explore more  of  the
-level, it appears on the screen in front of you.
-
-     Rogue  differs from most computer fantasy games in that
-it  is  screen  oriented.   Commands  are  all  one  or  two
-keystrokes1  and  the results of your commands are displayed
-graphically on the screen rather  than  being  explained  in
-words.2
-
-     Another  major  difference between rogue and other com-
-puter fantasy games is that once you  have  solved  all  the
-puzzles  in a standard fantasy game, it has lost most of its
-excitement and it ceases to be fun.   Rogue,  on  the  other
-hand,  generates  a  new  dungeon every time you play it and
-even the author finds it an entertaining and exciting  game.
-
-3.  What do all those things on the screen mean?
-
-     In  order  to  understand what is going on in rogue you
-have to first get some grasp of what rogue is doing with the
-screen.   The  rogue  screen is intended to replace the "You
-can see ..." descriptions of standard fantasy games.  Figure
-1 is a sample of what a rogue screen might look like.
-
-3.1.  The bottom line
-
-     At  the  bottom  line of the screen are a few pieces of
-cryptic information describing your current status.  Here is
-an explanation of what these things mean:
-
-Level  This  number  indicates how deep you have gone in the
-       dungeon.  It starts at one and  goes  up  as  you  go
-       deeper into the dungeon.
-
-Gold   The  number  of  gold pieces you have managed to find
-       and keep with you so far.
-____________________
-   1 As opposed to pseudo English sentences.
-   2  A minimum screen size of 24 lines by 80 columns is re-
-quired.  If the screen is larger,  only  the  24x80  section
-will be used for the map.
-
-
-
-
-
-
-
-
-
-
-
-
-A Guide to the Dungeons of Doom                     USD:33-3
-
-
-
-____________________________________________________________
-
-
-                        ------------
-                        |..........+
-                        |..@....]..|
-                        |....B.....|
-                        |..........|
-                        -----+------
-
-
-
-Level: 1  Gold: 0      Hp: 12(12)  Str: 16(16)  Arm: 4  Exp: 1/0
-
-                          Figure 1
-____________________________________________________________
-
-
-Hp     Your  current  and  maximum  health  points.   Health
-       points  indicate  how much damage you can take before
-       you die.  The more you get hit in a fight, the  lower
-       they  get.   You can regain health points by resting.
-       The number in parentheses is the maximum number  your
-       health points can reach.
-
-Str    Your  current  strength  and  maximum  ever strength.
-       This can be any integer less than or equal to 31,  or
-       greater  than or equal to three.  The higher the num-
-       ber, the stronger you are.  The number in the  paren-
-       theses  is  the maximum strength you have attained so
-       far this game.
-
-Arm    Your current armor protection.  This number indicates
-       how  effective  your  armor is in stopping blows from
-       unfriendly creatures.  The higher this number is, the
-       more effective the armor.
-
-Exp    These  two numbers give your current experience level
-       and experience points.  As you do  things,  you  gain
-       experience   points.   At  certain  experience  point
-       totals, you gain an experience level.  The more expe-
-       rienced you are, the better you are able to fight and
-       to withstand magical attacks.
-
-3.2.  The top line
-
-     The top line of the screen  is  reserved  for  printing
-messages  that describe things that are impossible to repre-
-sent visually.  If you see a "--More--"  on  the  top  line,
-this  means that rogue wants to print another message on the
-screen, but it wants to make certain that you have read  the
-one  that  is  there  first.  To read the next message, just
-
-
-
-
-
-
-
-
-
-
-USD:33-4                     A Guide to the Dungeons of Doom
-
-
-type a space.
-
-3.3.  The rest of the screen
-
-     The rest of the screen is the map of the level  as  you
-have  explored  it so far.  Each symbol on the screen repre-
-sents something.  Here is a list of what the various symbols
-mean:
-
-@    This symbol represents you, the adventurer.
-
--|   These symbols represent the walls of rooms.
-
-+    A door to/from a room.
-
-.    The floor of a room.
-
-#    The floor of a passage between rooms.
-
-*    A pile or pot of gold.
-
-)    A weapon of some sort.
-
-]    A piece of armor.
-
-!    A flask containing a magic potion.
-
-?    A piece of paper, usually a magic scroll.
-
-=    A ring with magic properties
-
-/    A magical staff or wand
-
-^    A trap, watch out for these.
-
-%    A staircase to other levels
-
-:    A piece of food.
-
-A-Z  The uppercase letters represent the various inhabitants
-     of the Dungeons of Doom.  Watch out, they can be  nasty
-     and vicious.
-
-4.  Commands
-
-     Commands  are given to rogue by typing one or two char-
-acters.  Most commands can be preceded by a count to  repeat
-them (e.g. typing "10s" will do ten searches).  Commands for
-which counts make no sense have the count ignored.  To  can-
-cel  a  count  or a prefix, type <ESCAPE>.  The list of com-
-mands is rather long, but it can be read at any time  during
-the  game  with the "?"  command.  Here it is for reference,
-with a short explanation of each command.
-
-
-
-
-
-
-
-
-
-
-A Guide to the Dungeons of Doom                     USD:33-5
-
-
-?    The help command.  Asks for a character  to  give  help
-     on.   If you type a "*", it will list all the commands,
-     otherwise it will explain what the character you  typed
-     does.
-
-/    This  is  the "What is that on the screen?" command.  A
-     "/" followed by any  character  that  you  see  on  the
-     level,  will  tell  you  what  that  character is.  For
-     instance, typing "/@" will tell you that the "@" symbol
-     represents you, the player.
-
-h, H, ^H
-     Move left.  You move one space to the left.  If you use
-     upper case "h", you will continue to  move  left  until
-     you  run  into  something.  This works for all movement
-     commands (e.g.  "L" means run in direction "l") If  you
-     use  the "control" "h", you will continue moving in the
-     specified direction until you pass something  interest-
-     ing  or  run  into  a wall.  You should experiment with
-     this, since it is a very useful command, but very  dif-
-     ficult  to  describe.  This also works for all movement
-     commands.
-
-j    Move down.
-
-k    Move up.
-
-l    Move right.
-
-y    Move diagonally up and left.
-
-u    Move diagonally up and right.
-
-b    Move diagonally down and left.
-
-n    Move diagonally down and right.
-
-t    Throw an object.  This is a prefix command.  When  fol-
-     lowed with a direction it throws an object in the spec-
-     ified direction.  (e.g. type "th" to throw something to
-     the left.)
-
-f    Fight  until someone dies.  When followed with a direc-
-     tion this will force you to fight the creature in  that
-     direction until either you or it bites the big one.
-
-m    Move  onto  something without picking it up.  This will
-     move you one space in the direction you specify and, if
-     there  is  an object there you can pick up, it won't do
-     it.
-
-z    Zap prefix.  Point a staff or wand in a given direction
-     and  fire  it.   Even  non-directional  staves  must be
-
-
-
-
-
-
-
-
-
-
-USD:33-6                     A Guide to the Dungeons of Doom
-
-
-     pointed in some direction to be used.
-
-^    Identify trap command.  If a trap is on  your  map  and
-     you  can't  remember what type it is, you can get rogue
-     to remind you by getting next to it and typing "^" fol-
-     lowed  by  the  direction that would move you on top of
-     it.
-
-s    Search for traps and secret doors.  Examine each  space
-     immediately adjacent to you for the existence of a trap
-     or secret door.  There is a large chance that  even  if
-     there  is  something  there,  you won't find it, so you
-     might have to search a while before you find something.
-
->    Climb down a staircase to the next level.  Not surpris-
-     ingly, this can only be done if  you  are  standing  on
-     staircase.
-
-<    Climb up a staircase to the level above.  This can't be
-     done without the Amulet of Yendor in your possession.
-
-.    Rest.  This is the "do nothing" command.  This is  good
-     for waiting and healing.
-
-,    Pick up something.  This picks up whatever you are cur-
-     rently standing on, if you are standing on anything  at
-     all.
-
-i    Inventory.  List what you are carrying in your pack.
-
-I    Selective  inventory.   Tells you what a single item in
-     your pack is.
-
-q    Quaff one of the potions you are carrying.
-
-r    Read one of the scrolls in your pack.
-
-e    Eat food from your pack.
-
-w    Wield a weapon.  Take a weapon out  of  your  pack  and
-     carry  it  for use in combat, replacing the one you are
-     currently using (if any).
-
-W    Wear armor.  You can only wear one suit of armor  at  a
-     time.  This takes extra time.
-
-T    Take armor off.  You can't remove armor that is cursed.
-     This takes extra time.
-
-P    Put on a ring.  You can wear only two rings at  a  time
-     (one  on  each hand).  If you aren't wearing any rings,
-     this command will ask you which hand you want  to  wear
-     it  on, otherwise, it will place it on the unused hand.
-
-
-
-
-
-
-
-
-
-
-A Guide to the Dungeons of Doom                     USD:33-7
-
-
-     The program assumes that you wield your sword  in  your
-     right hand.
-
-R    Remove  a ring.  If you are only wearing one ring, this
-     command takes it off.  If you are wearing two, it  will
-     ask you which one you wish to remove,
-
-d    Drop  an  object.   Take something out of your pack and
-     leave it lying on  the  floor.   Only  one  object  can
-     occupy  each space.  You cannot drop a cursed object at
-     all if you are wielding or wearing it.
-
-c    Call an object something.  If you have a type of object
-     in  your  pack  which  you  wish  to remember something
-     about, you can use the call command to give a  name  to
-     that  type  of  object.   This is usually used when you
-     figure out what a potion, scroll,  ring,  or  staff  is
-     after  you  pick  it  up,  or when you want to remember
-     which of those swords in your pack you were wielding.
-
-D    Print out  which  things  you've  discovered  something
-     about.   This  command  will ask you what type of thing
-     you are interested in.  If you type the character for a
-     given  type  of  object (e.g.  "!"  for potion) it will
-     tell you which kinds of that type of object you've dis-
-     covered  (i.e.,  figured out what they are).  This com-
-     mand works for potions, scrolls, rings, and staves  and
-     wands.
-
-o    Examine  and  set  options.   This  command  is further
-     explained in the section on options.
-
-^R   Redraws the screen.  Useful  if  spurious  messages  or
-     transmission errors have messed up the display.
-
-^P   Print  last  message.  Useful when a message disappears
-     before you can read it.  This  only  repeats  the  last
-     message  that  was  not  a mistyped command so that you
-     don't loose anything by accidentally typing  the  wrong
-     character instead of ^P.
-
-<ESCAPE>
-     Cancel a command, prefix, or count.
-
-!    Escape to a shell for some commands.
-
-Q    Quit.  Leave the game.
-
-S    Save  the  current  game  in  a  file.  It will ask you
-     whether you wish to use the default save file.  Caveat:
-     Rogue  won't  let  you start up a copy of a saved game,
-     and it removes the save file as soon as you start up  a
-     restored game.  This is to prevent people from saving a
-
-
-
-
-
-
-
-
-
-
-USD:33-8                     A Guide to the Dungeons of Doom
-
-
-     game just before a dangerous position and then restart-
-     ing  it if they die.  To restore a saved game, give the
-     file name as an argument to rogue.  As in
-               % rogue save_file
-
-     To restart from the default save file (see below), run
-               % rogue -r
-
-v    Prints the program version number.
-
-)    Print the weapon you are currently wielding
-
-]    Print the armor you are currently wearing
-
-=    Print the rings you are currently wearing
-
-@    Reprint the status line on the message line
-
-5.  Rooms
-
-     Rooms in the dungeons are either lit or dark.   If  you
-walk  into  a lit room, the entire room will be drawn on the
-screen as soon as you enter.  If you walk into a dark  room,
-it will only be displayed as you explore it.  Upon leaving a
-room, all monsters inside  the  room  are  erased  from  the
-screen.   In  the darkness you can only see one space in all
-directions around you.  A corridor is always dark.
-
-6.  Fighting
-
-     If you see a monster and you wish  to  fight  it,  just
-attempt  to run into it.  Many times a monster you find will
-mind its own business unless you attack it.  It is often the
-case that discretion is the better part of valor.
-
-7.  Objects you can find
-
-     When you find something in the dungeon, it is common to
-want to pick the object up.  This is accomplished  in  rogue
-by  walking  over the object (unless you use the "m" prefix,
-see above).  If you are carrying too many things,  the  pro-
-gram  will  tell you and it won't pick up the object, other-
-wise it will add it to your pack and tell you what you  just
-picked up.
-
-     Many  of  the  commands  that  operate  on objects must
-prompt you to find out which object you want to use.  If you
-change  your  mind  and  don't want to do that command after
-all, just type an <ESCAPE> and the command will be  aborted.
-
-     Some  objects,  like armor and weapons, are easily dif-
-ferentiated.  Others, like scrolls and  potions,  are  given
-labels which vary according to type.  During a game, any two
-
-
-
-
-
-
-
-
-
-
-A Guide to the Dungeons of Doom                     USD:33-9
-
-
-of the same kind of object with the same label are the  same
-type.  However, the labels will vary from game to game.
-
-     When  you  use  one  of  these  labeled objects, if its
-effect is obvious, rogue will remember what it is  for  you.
-If  it's  effect  isn't  extremely obvious you will be asked
-what you want to scribble on it so  you  will  recognize  it
-later, or you can use the "call" command (see above).
-
-7.1.  Weapons
-
-     Some  weapons,  like  arrows, come in bunches, but most
-come one at a time.  In order to  use  a  weapon,  you  must
-wield  it.   To  fire  an arrow out of a bow, you must first
-wield the bow, then throw the arrow.  You can only wield one
-weapon  at  a  time, but you can't change weapons if the one
-you are currently wielding is cursed.  The commands  to  use
-weapons are "w" (wield) and "t" (throw).
-
-7.2.  Armor
-
-     There  are  various  sorts of armor lying around in the
-dungeon.  Some of it is enchanted, some is cursed, and  some
-is  just normal.  Different armor types have different armor
-protection.  The higher the armor protection, the more  pro-
-tection  the  armor  affords  against the blows of monsters.
-Here is a list of the various armor types and  their  normal
-armor protection:
-
-
-           +-----------------------------------------+
-           |  Type                        Protection |
-           |None                                   0 |
-           |Leather armor                          2 |
-           |Studded leather / Ring mail            3 |
-           |Scale mail                             4 |
-           |Chain mail                             5 |
-           |Banded mail / Splint mail              6 |
-           |Plate mail                             7 |
-           +-----------------------------------------+
-
-
-If  a piece of armor is enchanted, its armor protection will
-be higher than normal.  If a suit of armor  is  cursed,  its
-armor  protection will be lower, and you will not be able to
-remove it.  However, not all armor with a protection that is
-lower than normal is cursed.
-
-     The  commands  to  use  weapons  are "W" (wear) and "T"
-(take off).
-
-
-
-
-
-
-
-
-
-
-
-
-
-USD:33-10                    A Guide to the Dungeons of Doom
-
-
-7.3.  Scrolls
-
-     Scrolls come with titles in an unknown tongue3.   After
-you  read  a scroll, it disappears from your pack.  The com-
-mand to use a scroll is "r" (read).
-
-7.4.  Potions
-
-     Potions are labeled by the color of the  liquid  inside
-the flask.  They disappear after being quaffed.  The command
-to use a scroll is "q" (quaff).
-
-7.5.  Staves and Wands
-
-     Staves and wands do the same kinds of  things.   Staves
-are  identified  by a type of wood; wands by a type of metal
-or bone.  They are generally things you want to do to  some-
-thing  over  a long distance, so you must point them at what
-you wish to  affect  to  use  them.   Some  staves  are  not
-affected  by the direction they are pointed, though.  Staves
-come with multiple magic charges, the number  being  random,
-and when they are used up, the staff is just a piece of wood
-or metal.
-
-     The command to use a wand or staff is "z" (zap)
-
-7.6.  Rings
-
-     Rings are very useful items, since they are  relatively
-permanent  magic,  unlike  the  usually  fleeting effects of
-potions, scrolls, and staves.  Of course, the bad rings  are
-also  more  powerful.   Most  rings also cause you to use up
-food more rapidly, the rate varying with the type  of  ring.
-Rings  are differentiated by their stone settings.  The com-
-mands to use rings are "P" (put on) and "R" (remove).
-
-7.7.  Food
-
-     Food is necessary to keep you going.   If  you  go  too
-long  without  eating  you will faint, and eventually die of
-starvation.  The command to use food is "e" (eat).
-
-8.  Options
-
-     Due to variations in personal tastes and conceptions of
-the  way  rogue should do things, there are a set of options
-you can set that cause rogue to behave in various  different
-____________________
-   3 Actually, it's a dialect spoken only by the twenty-sev-
-en members of a tribe in Outer Mongolia, but you're not sup-
-posed to know that.
-
-
-
-
-
-
-
-
-
-
-
-
-A Guide to the Dungeons of Doom                    USD:33-11
-
-
-ways.
-
-8.1.  Setting the options
-
-     There  are  two  ways to set the options.  The first is
-with the "o" command  of  rogue;  the  second  is  with  the
-"ROGUEOPTS" environment variable4.
-
-8.1.1.  Using the `o' command
-
-     When you type "o" in rogue, it clears  the  screen  and
-displays  the current settings for all the options.  It then
-places the cursor by the value of the first option and waits
-for  you to type.  You can type a <RETURN> which means to go
-to the next option, a "-" which means to go to the  previous
-option,  an  <ESCAPE>  which means to return to the game, or
-you can give the option a value.  For boolean  options  this
-merely  involves  typing "t" for true or "f" for false.  For
-string options, type the new value followed by a <RETURN>.
-
-8.1.2.  Using the ROGUEOPTS variable
-
-     The ROGUEOPTS variable is a string containing  a  comma
-separated  list  of  initial values for the various options.
-Boolean variables can be turned on by listing their name  or
-turned  off by putting a "no" in front of the name.  Thus to
-set up an environment variable so that jump is on, terse  is
-off, and the name is set to "Blue Meanie", use the command
-   % setenv ROGUEOPTS "jump,noterse,name=Blue Meanie"5
-
-8.2.  Option list
-
-     Here is a list of the options  and  an  explanation  of
-what  each  one  is  for.   The  default  value  for each is
-enclosed in square brackets.  For character string  options,
-input over fifty characters will be ignored.
-
-terse [noterse]
-     Useful for those who are tired of the sometimes lengthy
-     messages of rogue.  This is a useful option for playing
-     on  slow terminals, so this option defaults to terse if
-     you are on a slow (1200 baud or under) terminal.
-
-
-____________________
-   4  On  Version  6  systems, there is no equivalent of the
-ROGUEOPTS feature.
-   5  For  those of you who use the Bourne shell sh (1), the
-commands would be
-   $ ROGUEOPTS="jump,noterse,name=Blue Meanie"
-   $ export ROGUEOPTS
-
-
-
-
-
-
-
-
-
-
-
-
-USD:33-12                    A Guide to the Dungeons of Doom
-
-
-jump [nojump]
-     If this option is set, running moves will not  be  dis-
-     played until you reach the end of the move.  This saves
-     considerable  cpu  and  display  time.    This   option
-     defaults to jump if you are using a slow terminal.
-
-flush [noflush]
-     All  typeahead  is thrown away after each round of bat-
-     tle.  This is useful for those who type far  ahead  and
-     then watch in dismay as a Bat kills them.
-
-seefloor [seefloor]
-     Display  the floor around you on the screen as you move
-     through dark rooms.  Due to the  amount  of  characters
-     generated,  this  option  defaults to noseefloor if you
-     are using a slow terminal.
-
-passgo [nopassgo]
-     Follow turnings in passageways.  If you run in  a  pas-
-     sage  and  you run into stone or a wall, rogue will see
-     if it can turn to the right or left.  If  it  can  only
-     turn  one  way,  it will turn that way.  If it can turn
-     either or neither, it will stop.   This  algorithm  can
-     sometimes  lead to slightly confusing occurrences which
-     is why it defaults to nopassgo.
-
-tombstone [tombstone]
-     Print out the tombstone at the end if you  get  killed.
-     This  is  nice  but slow, so you can turn it off if you
-     like.
-
-inven [overwrite]
-     Inventory type.  This can have  one  of  three  values:
-     overwrite,  slow,  or  clear.   With  overwrite the top
-     lines of the map are overwritten  with  the  list  when
-     inventory  is requested or when "Which item do you wish
-     to . . .? " questions are answered with  a  "*".   How-
-     ever,  if  the  list  is  longer  than a screenful, the
-     screen is cleared.  With slow, lists are displayed  one
-     item  at  a  time  on  the  top of the screen, and with
-     clear, the screen is cleared, the  list  is  displayed,
-     and  then  the  dungeon  level is re-displayed.  Due to
-     speed considerations, clear is the default  for  termi-
-     nals without clear-to-end-of-line capabilities.
-
-name [account name]
-     This  is the name of your character.  It is used if you
-     get on the top ten scorer's list.
-
-fruit [slime-mold]
-     This should hold the name of a  fruit  that  you  enjoy
-     eating.  It is basically a whimsey that rogue uses in a
-     couple of places.
-
-
-
-
-
-
-
-
-
-
-A Guide to the Dungeons of Doom                    USD:33-13
-
-
-file [~/rogue.save]
-     The default file name for saving  the  game.   If  your
-     phone  is hung up by accident, rogue will automatically
-     save the game in this file.  The file  name  may  start
-     with the special character "~" which expands to be your
-     home directory.
-
-9.  Scoring
-
-     Rogue usually maintains a list of the top scoring  peo-
-ple  or  scores on your machine.  Depending on how it is set
-up, it can post either the top scores or  the  top  players.
-In  the  latter  case,  each account on the machine can post
-only one non-winning score  on  this  list.   If  you  score
-higher than someone else on this list, or better your previ-
-ous score on the list, you will be inserted  in  the  proper
-place under your current name.  How many scores are kept can
-also be set up by whoever installs it on your machine.
-
-     If you quit the game, you get out with all of your gold
-intact.   If,  however,  you  get  killed in the Dungeons of
-Doom, your body is forwarded to your next-of-kin, along with
-90%  of  your  gold; ten percent of your gold is kept by the
-Dungeons'  wizard  as a fee6.  This should make you consider
-whether you want to take one last hit at  that  monster  and
-possibly live, or quit and thus stop with whatever you have.
-If you quit, you do get all your gold, but if you swing  and
-live, you might find more.
-
-     If  you  just  want  to  see what the current top play-
-ers/games list is, you can type
-          % @PROGRAM@ -s
-
-10.  Acknowledgements
-
-     Rogue was originally conceived of by Glenn Wichman  and
-Michael  Toy.   Ken Arnold and Michael Toy then smoothed out
-the user interface, and added jillions of new features.   We
-would  like  to  thank  Bob  Arnold,  Michelle  Busch,  Andy
-Hatcher, Kipp Hickman, Mark Horton, Daniel Jensen, Bill Joy,
-Joe  Kalash,  Steve  Maurer,  Marty  McNary, Jan Miller, and
-Scott Nelson for their ideas and assistance;  and  also  the
-teeming  multitudes who graciously ignored work, school, and
-social life to play rogue and send us bugs, complaints, sug-
-gestions, and just plain flames.  And also Mom.
-
-
-
-____________________
-   6 The Dungeon's wizard is named Wally the Wonder  Badger.
-Invocations should be accompanied by a sizable donation.
-
-
-
-
-
-
-
-
--- a/srogue/Makefile.in	Wed Mar 02 21:13:26 2016 -0500
+++ b/srogue/Makefile.in	Wed Mar 02 21:28:34 2016 -0500
@@ -39,15 +39,22 @@
       rings.c rip.c rooms.c save.c scrolls.c state.c sticks.c things.c \
       trader.c weapons.c wizard.c xcrypt.c
 
+DOCS=	$(PROGRAM).doc
 MISC=	Makefile LICENSE.TXT rogue.nr
 
 CC    = gcc
 CFLAGS=
 CPPFLAGS=@DEFS@
-CRLIB = -lcurses
+CRLIB = @LIBS@
 RM    = rm -f
 TAR   = tar
 INSTALL=@INSTALL@
+GROFF=@GROFF@
+NROFF=@NROFF@
+COLCRT=@COLCRT@
+TBL=@TBL@
+
+all: $(PROGRAM) docs
 
 $(PROGRAM): $(HDRS) $(OBJS)
 	$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(CRLIB) -o $@
@@ -62,17 +69,29 @@
 
 clean:
 	rm -f $(OBJS) core 
-	rm -f $(PROGRAM) $(PROGRAM).exe $(PROGRAM) $(PROGRAM).exe $(PROGRAM).tar $(PROGRAM).tar.gz $(PROGRAM).doc
+	rm -f $(PROGRAM) $(PROGRAM).exe $(PROGRAM) $(PROGRAM).exe $(PROGRAM).tar $(PROGRAM).tar.gz $(DOCS)
+
+docs: $(DOCS)
+
+$(PROGRAM).doc: rogue.nr
+	if test "x$(GROFF)" != "x" ; then \
+	$(GROFF) -P-c -P-b -P-u -t -mm -Tascii rogue.nr >$(PROGRAM).doc ;\
+	elif test "x$(NROFF)" != "x" && test "x$(TBL)" != "x" && test "x$(COLCRT)" != "x" ; then \
+	$(TBL) rogue.nr | $(NROFF) -mm | $(COLCRT) - > $(PROGRAM).doc ;\
+	fi
 
-install: $(PROGRAM)
-	-touch test
-	-if test ! -f $(DESTDIR)$(SCOREFILE) ; \
-	 then $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi
-	-if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \
-	$(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi
-	-if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \
-	mkdir -p $(DESTDIR)$(SAVEDIR) ; fi
-	-$(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM)
+install: all
+	touch test
+	if test ! -f $(DESTDIR)$(SCOREFILE) ; then \
+	    mkdir -p `dirname $(DESTDIR)$(SCOREFILE)` ; \
+	    $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi
+	if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \
+	    mkdir -p `dirname $(DESTDIR)$(LOGFILE)` ; \
+	    $(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi
+	if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \
+	    mkdir -p $(DESTDIR)$(SAVEDIR) ; fi
+	mkdir -p $(DESTDIR)$(bindir)
+	$(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM)
 	-if test "x$(GROUPOWNER)" != "x" ; then \
 	    chgrp $(GROUPOWNER) $(DESTDIR)$(SCOREFILE) ; \
 	    chgrp $(GROUPOWNER) $(DESTDIR)$(LOGFILE) ; \
@@ -82,19 +101,18 @@
 	    chmod 0464 $(DESTDIR)$(SCOREFILE) ; \
 	    chmod 0464 $(DESTDIR)$(LOGFILE) ; \
 	    chmod 0775 $(DESTDIR)$(SAVEDIR) ; \
-         fi
-	-if test ! -d $(DESTDIR)$(docdir) ; \
+        fi
+	if test ! -d $(DESTDIR)$(docdir) ; \
 	    then mkdir -p $(DESTDIR)$(docdir) ; fi
-	-$(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT
-	-$(INSTALL) -m 0644 rogue.nr $(DESTDIR)$(docdir)/$(PROGRAM).nr
-	-$(RM) test
+	$(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT
+	$(INSTALL) -m 0644 rogue.nr $(DESTDIR)$(docdir)/$(PROGRAM).nr
+	$(INSTALL) -m 0644 $(PROGRAM).doc $(DESTDIR)$(docdir)/$(PROGRAM).doc
+	$(RM) test
 
 uninstall:	
-	-$(RM) $(DESTDIR)$(bindir)/$(PROGRAM)
-	-$(RM) $(DESTDIR)$(docdir)/LICENSE.TXT
-	-$(RM) $(DESTDIR)$(docdir)/$(PROGRAM).nr
-	-rmdir $(DESTDIR)$(docdir)
-    
+	$(RM) $(DESTDIR)$(bindir)/$(PROGRAM)
+	$(RM) -r $(DESTDIR)$(docdir)
+
 reinstall: uninstall install
 
 count:
--- a/srogue/configure.ac	Wed Mar 02 21:13:26 2016 -0500
+++ b/srogue/configure.ac	Wed Mar 02 21:28:34 2016 -0500
@@ -27,6 +27,11 @@
 AC_CHECK_FUNCS([erasechar killchar alarm getpass memset setenv strchr nlist _spawnl spawnl getpwuid loadav getloadavg strerror setgid setuid getuid getgid lrand48 random srand48 srandom])
 AC_PROG_INSTALL
 
+AC_CHECK_PROG([NROFF], [nroff], [nroff],)
+AC_CHECK_PROG([GROFF], [groff], [groff],)
+AC_CHECK_PROG([COLCRT], [colcrt], [colcrt],)
+AC_CHECK_PROG([TBL], [tbl], [tbl],)
+
 AC_ARG_WITH(program-name, AC_HELP_STRING([--with-program-name=NAME],[alternate executable name]),[progname="$withval" ], [progname="srogue"] )
 PROGRAM=$progname
 AC_SUBST(PROGRAM)
--- a/xrogue/Makefile.in	Wed Mar 02 21:13:26 2016 -0500
+++ b/xrogue/Makefile.in	Wed Mar 02 21:28:34 2016 -0500
@@ -66,13 +66,16 @@
 	$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
 
 install: $(PROGRAM)
-	-touch test
-	-if test ! -f $(DESTDIR)$(SCOREFILE) ; \
-	 then $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi
-	-if test "x$(LOGFILE)" != "x" && test ! -f $(DESTDIR)$(LOGFILE) ; then \
-	$(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi
-	-if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \
-	mkdir -p $(DESTDIR)$(SAVEDIR) ; fi
+	touch test
+	if test ! -f $(DESTDIR)$(SCOREFILE) ; then \
+	    mkdir -p `dirname $(DESTDIR)$(SCOREFILE)` ; \
+	    $(INSTALL) -m 0664 test $(DESTDIR)$(SCOREFILE) ; fi
+	if test ! -f $(DESTDIR)$(LOGFILE) ; then \
+	    mkdir -p `dirname $(DESTDIR)$(LOGFILE)` ; \
+	    $(INSTALL) -m 0664 test $(DESTDIR)$(LOGFILE) ; fi
+	if test "x$(SAVEDIR)" != "x" && test ! -d $(DESTDIR)$(SAVEDIR) ; then \
+	    mkdir -p $(DESTDIR)$(SAVEDIR) ; fi
+	mkdir -p $(DESTDIR)$(bindir)
 	$(INSTALL) -m 0755 $(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM)
 	-if test "x$(GROUPOWNER)" != "x" ; then \
 	    chgrp $(GROUPOWNER) $(DESTDIR)$(SCOREFILE) ; \
@@ -83,17 +86,16 @@
 	    chmod 0464 $(DESTDIR)$(SCOREFILE) ; \
 	    chmod 0464 $(DESTDIR)$(LOGFILE) ; \
 	    chmod 0775 $(DESTDIR)$(SAVEDIR) ; \
-         fi
-	-if test ! -d $(DESTDIR)$(docdir) ; \
+        fi
+	if test ! -d $(DESTDIR)$(docdir) ; \
 	    then mkdir -p $(DESTDIR)$(docdir) ; fi
-	-$(INSTALL) -m 0644 LICENSE.TXT $(DESTDIR)$(docdir)/LICENSE.TXT
-	-$(INSTALL) -m 0644 README.TXT $(DESTDIR)$(docdir)
-	-$(RM) test
+	$(INSTALL) -m 0644 LICENSE.TXT README.TXT $(DESTDIR)$(docdir)
+	$(RM) test
 
 uninstall:	
-	-$(RM) $(DESTDIR)$(bindir)/$(PROGRAM)
-	-$(RM) -r $(DESTDIR)$(docdir)
-    
+	$(RM) $(DESTDIR)$(bindir)/$(PROGRAM)
+	$(RM) -r $(DESTDIR)$(docdir)
+
 reinstall: uninstall install
 
 clean: