# HG changeset patch # User John "Elwin" Edwards # Date 1456972114 18000 # Node ID 4f6e056438ebee8110ffdc3fc305a79f061d3f95 # Parent 4d0f53998e8aa25d2fbdd534f13a8da705fd24bb# Parent f54901b9c39b5524f204a28f4888dccbe083eb4c Merge the GCC5 and build fix branches. diff -r f54901b9c39b -r 4f6e056438eb arogue5/Makefile.in --- 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: diff -r f54901b9c39b -r 4f6e056438eb arogue7/Makefile.in --- 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: diff -r f54901b9c39b -r 4f6e056438eb arogue7/arogue77.doc --- 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. - - - - - - - - - - - - - - - - - - - - - - - diff -r f54901b9c39b -r 4f6e056438eb arogue7/configure.ac --- 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) diff -r f54901b9c39b -r 4f6e056438eb config.guess --- 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 . -# Please send patches to . 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 ." - -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 /* 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 - - 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