Add an option allowing the user to determine where the output HTML is built.
Provide a way to set the paper size by name instead of only supporting
separate options for each size.
diff --git a/Doc/tools/mkhowto b/Doc/tools/mkhowto
index 8826924..a1784c9 100755
--- a/Doc/tools/mkhowto
+++ b/Doc/tools/mkhowto
@@ -79,6 +79,7 @@
     program = os.path.basename(sys.argv[0])
     #
     address = ''
+    builddir = None
     debugging = 0
     discard_temps = 1
     have_temps = 0
@@ -117,8 +118,8 @@
                                     "address=", "a4", "letter", "l2h-init=",
                                     "link=", "split=", "logging", "debugging",
                                     "keep", "quiet", "runs=", "image-type=",
-                                    "about=", "numeric", "style=",
-                                    "up-link=", "up-title=",
+                                    "about=", "numeric", "style=", "paper=",
+                                    "up-link=", "up-title=", "dir=",
                                     "global-module-index="]
                                    + list(self.ALL_FORMATS))
         for opt, arg in opts:
@@ -167,6 +168,10 @@
                 self.up_title = arg
             elif opt == "--global-module-index":
                 self.global_module_index = arg
+            elif opt == "--dir":
+                self.builddir = arg
+            elif opt == "--paper":
+                self.paper = arg
             #
             # Format specifiers:
             #
@@ -228,7 +233,7 @@
             self.build_ps()
         if "html" in formats:
             self.require_temps()
-            self.build_html(self.doc)
+            self.build_html(self.options.builddir or self.doc)
             if self.options.icon_server == ".":
                 pattern = os.path.join(TOPDIR, "html", "icons",
                                        "*." + self.options.image_type)