Commits

adrian  committed 5d525f5

build: Don't contact XEmacs CVS from top-level defcustom, make work vanilla

-------------------- ChangeLog entries follow: --------------------

ChangeLog addition:

2002-12-14 Adrian Aichner <adrian@xemacs.org>

* Makefile (AUTHOR_VERSION): Increment.
* Makefile (ELCS): Include build-report.el
* Makefile (HTML_FILES): Removed.
* Makefile (HTML_DEP): Removed.
* Makefile (INFO_DEP): New.
* Makefile (all): Removed.
* Makefile (compile): Use info target instead of INFO_FILES.
* Makefile (html): New.
* build.el: Move defuns and defcustoms to make package work in
vanilla XEmacs. Update CVS release tags in `build-from-CVS',
istead of defcustom.

  • Participants
  • Parent commits e515bc3

Comments (0)

Files changed (3)

+2002-12-14  Adrian Aichner  <adrian@xemacs.org>
+
+	* Makefile (AUTHOR_VERSION): Increment.
+	* Makefile (ELCS): Include build-report.el
+	* Makefile (HTML_FILES): Removed.
+	* Makefile (HTML_DEP): Removed.
+	* Makefile (INFO_DEP): New.
+	* Makefile (all): Removed.
+	* Makefile (compile): Use info target instead of INFO_FILES.
+	* Makefile (html): New.
+	* build.el: Move defuns and defcustoms to make package work in
+	vanilla XEmacs.  Update CVS release tags in `build-from-CVS',
+	istead of defcustom.
+
 2002-11-29  Ben Wing  <ben@xemacs.org>
 
 	* .cvsignore: Remove files now handled automatically by CVS.
 # building without Mule.
 
 VERSION = 1.08
-AUTHOR_VERSION = 2.00
+AUTHOR_VERSION = 2.01
 MAINTAINER = Adrian Aichner <adrian@xemacs.org>
 PACKAGE = build
 PKG_TYPE = regular
 REQUIRES = xemacs-base pcl-cvs dired w3 prog-modes
 CATEGORY = standard
 
-ELCS = build.elc
-INFO_FILES = $(PACKAGE).info
-HTML_FILES = $(PACKAGE)*.html
-HTML_DEP = $(PACKAGE).html
-TEXI_FILES = $(PACKAGE).texi
+ELCS = build.elc build-report.elc
+INFO_FILES = texi/$(PACKAGE).info*
+INFO_DEP = texi/$(PACKAGE).info
+TEXI_FILES = texi/$(PACKAGE).texi
 
 ifeq ($(BUILD_MULE),t)
 MULE_ELCS = 
 
 GENERATED += custom-load.elc
 
-compile:: $(ELCS) $(MULE_ELCS) auto-autoloads.elc custom-load.elc $(INFO_FILES)
+compile:: $(ELCS) $(MULE_ELCS) auto-autoloads.elc custom-load.elc info
+
+html:
+	cd texi && $(MAKE) PACKAGE=$(PACKAGE) html
 
 binkit: binkit-common
 
 ;;}}}
 
-(defun build-call-process (command infile buffer displayp)
-  (let (exit-status result)
-    (with-temp-buffer
-      (condition-case signal
-          (setq exit-status
-                (apply 'call-process
-                       (append
-                        (list (car command) infile buffer displayp)
-                        (cdr command))))
-        (error
-         (warn "\n%s\ncannot be executed: %S %S\n"
-               (mapconcat 'identity command " ")
-               (car signal) (cdr signal))))
-      ;; return value of result
-      (setq result (cons exit-status (buffer-string))))))
+(defcustom build-from-what
+  "Tarballs"
+  "The Source Code units XEmacs is to be built from (\"Tarballs\" or
+\"CVS\")."
+  :type '(choice
+          :custom-state t
+          (const "Tarballs")
+          (const "CVS"))
+  :group 'build)
+
+(defcustom build-with-what
+  "GNU Tools"
+  "The Toolset XEmacs is to be built with (\"GNU Tools\" or
+\"Microsoft Tools\")."
+  :type '(choice
+          :custom-state t
+          (const "GNU Tools")
+          (const "Microsoft Tools"))
+  :group 'build)
 
 ;;{{{ Version info
 
       build-version)))
 ;;}}}
 
+;;{{{ Build
+
+(defgroup build nil
+  "Simplifies Building XEmacs; i.e. Fetching, Configuring, Making, and
+Reporting."
+  :link '(url-link :tag "XEmacs Build Reference Manual"
+                   "http://www.xemacs.org/Documentation/packages/html/build.html")
+  :link '(url-link :tag "XEmacs Beta README"
+                   "ftp://ftp@ftp.xemacs.org/pub/xemacs/beta/README")
+  :link '(url-link :tag "XEmacs Gamma README"
+                   "ftp://ftp@ftp.xemacs.org/pub/xemacs/gamma/README")
+  :link '(url-link :tag "XEmacs Stable README"
+                   "ftp://ftp@ftp.xemacs.org/pub/xemacs/stable/README")
+  :group 'emacs)
+
+
+(defun build-call-process (command infile buffer displayp)
+  (let (exit-status result)
+    (with-temp-buffer
+      (condition-case signal
+          (setq exit-status
+                (apply 'call-process
+                       (append
+                        (list (car command) infile buffer displayp)
+                        (cdr command))))
+        (error
+         (warn "\n%s\ncannot be executed: %S %S\n"
+               (mapconcat 'identity command " ")
+               (car signal) (cdr signal))))
+      ;; return value of result
+      (setq result (cons exit-status (buffer-string))))))
+
+;;;###autoload
+(defun build ()
+  "Creates a widget-based interface to build a beta/release version of
+XEmacs.  All aspects of fetching tarballs, configuring, making and
+reporting can be customized and executed from the newly created buffer
+*Build*."
+  (interactive)
+  (let
+      (exit-status
+       (command
+        (list
+         "cvs" "-v"))
+       infile
+       (buffer (list t t))
+       displayp
+       result
+;        build-from-cvs-button-widget
+;        build-from-tarballs-button-widget
+       (name "*Build XEmacs*"))
+    (kill-buffer (get-buffer-create name))
+    (switch-to-buffer (get-buffer-create name))
+    (kill-all-local-variables)
+    ;; Determine availability of CVS client.
+    (message-or-box
+     "build: checking whether you have cvs, please wait")
+    (setq result
+          (build-call-process command infile buffer displayp))
+    (cond
+     ((null (car result))
+      (setq build-cvs-available-p nil)
+      (warn "\nprogram %s cannot be found or executed\n"
+            (car command))
+      (setq build-from-what "Tarballs"))
+     ((/= (car result) 0)
+      (setq build-cvs-available-p nil)
+      (warn "\n%s\nfailed with following output:\n%s\n"
+            (mapconcat 'identity command " ")
+            (cdr result))
+      (setq build-from-what "Tarballs")
+      (widget-insert
+       "\n\nPlease install cvs, unless you want to build from our tary balls.\n"))
+     (t
+      (setq build-cvs-available-p t)
+      (setq build-from-what "CVS")
+      (message-or-box
+       "build: cvs is available")))
+    ;; Create widget-based interface.
+    (widget-insert
+     "Visit info documentation for the XEmacs build package inside ")
+    (widget-create
+     'info-link
+     :tag "XEmacs"
+     :value "(build)")
+    (widget-insert "\nor on the XEmacs website at\n")
+    (widget-create
+     'url-link
+     :value
+     "http://www.xemacs.org/Documentation/packages/html/build.html")
+    (widget-insert "\n\n")
+    (let
+	((inhibit-read-only t))
+      (setq build-current-build-settings-widget
+	    (widget-create
+	     'string
+	     :tag "Current Build Settings"
+	     :value
+	     "unknown")))
+    (widget-apply
+     build-current-build-settings-widget
+     :deactivate)
+    (widget-insert "\n")
+    (widget-create 'push-button
+		   :notify (lambda (&rest ignore)
+                             (let
+                                 ((name (widget-value build-settings-widget)))
+                               (widget-apply
+                                build-current-build-settings-widget
+                                :activate)
+                               (widget-value-set
+                                build-current-build-settings-widget
+                                name)
+                               (widget-apply
+                                build-current-build-settings-widget
+                                :deactivate)
+                               (widget-setup)
+                               (build-settings-load name build-settings)
+                               (message-or-box
+                                "loaded \"%s\" build-settings"
+                                name)))
+                   "Load")
+    (widget-insert " ")
+    (widget-create 'push-button
+		   :notify (lambda (&rest ignore)
+                             (let*
+                                 ((args
+                                   (widget-get build-settings-widget :args))
+                                  (value (widget-value build-settings-widget))
+                                  new-args)
+                               (if (string= value "default")
+                                   (message-or-box
+                                    "cannot delete \"%s\" build-settings"
+                                    value)
+                                 (when
+                                     (yes-or-no-p
+                                      (format "delete \"%s\" build-settings? " value))
+                                   (setq
+                                    new-args
+                                    (remrassoc
+                                     (list
+                                      :value
+                                      value)
+                                     args))
+                                   (widget-put
+                                    build-settings-widget
+                                    :args new-args)
+                                   (widget-put
+                                    build-settings-name-widget
+                                    :args
+                                    (cons (list 'string :value "default")
+                                          new-args))
+                                   (widget-value-set
+                                    build-settings-widget
+                                    (widget-get
+                                     (first (widget-get build-settings-widget :args))
+                                     :value))
+                                   (widget-setup)
+                                   (setq
+                                    build-settings
+                                    (remassoc
+                                     value
+                                     build-settings))
+                                   (message-or-box
+                                    "deleted \"%s\" build-settings"
+                                    value)))))
+		   "Delete")
+    (widget-insert " ")
+    (setq build-settings-widget
+	  (widget-create 'choice
+			 :tag "build settings"
+                         :value "default"
+                         :args
+                         (cons
+                          (list 'item :value "default")
+                          (mapcar
+                           (function
+                            (lambda (setting)
+                              (let ((name setting))
+                                (list 'item :value (car setting))))) 
+                           build-settings))
+; 			 :notify (lambda (widget &rest ignore)
+; 				   (setq build-settings (widget-value widget)))
+			 '(item :value "default")))
+    (widget-value-set
+     build-settings-widget
+     (widget-get
+      (first (widget-get build-settings-widget :args))
+      :value))
+    (widget-create 'push-button
+		   :notify (lambda (&rest ignore)
+                             (let
+                                 ((name
+                                   (widget-value build-settings-name-widget)))
+                               (unless
+                                   (and
+                                    (assoc name build-settings)
+                                    (not
+                                     (yes-or-no-p
+                                      (format "overwrite current \"%s\" build-settings? " name))))
+                                 (setq
+                                  build-settings
+                                  (build-settings-save-custom-group
+                                   'build
+                                   name
+                                   build-settings))
+                                 (unless
+                                     (rassoc
+                                      (cdr (list 'item :value name))
+                                      (widget-get build-settings-widget :args))
+                                   (widget-put
+                                    build-settings-widget
+                                    :args
+                                    (cons (list 'item :value name)
+                                          (widget-get build-settings-widget :args)))
+                                   (widget-put
+                                    build-settings-name-widget
+                                    :args
+                                    (cons (list 'item :value name)
+                                          (widget-get build-settings-name-widget :args))))
+                                 (customize-save-variable 'build-settings build-settings)
+                                 (message-or-box
+                                  "saved \"%s\" build-settings"
+                                  name))))
+		   "Save")
+    (widget-insert " ")
+    (setq build-settings-name-widget
+	  (widget-create 'choice
+			 :tag "current build settings as"
+			 :value "default"
+                         :args
+                         (cons
+                          (list 'string :value "default")
+                          (mapcar
+                           (function
+                            (lambda (setting)
+                              (let ((name setting))
+                                (list 'item :value (car setting))))) 
+                           build-settings))
+; 			 :notify (lambda (widget &rest ignore)
+; 				   (setq build-settings (widget-value widget)))
+                         ))
+    (widget-insert "Build settings are named build configurations allowing you to switch\nbetween them quickly, once you have set them up and saved them.  Please\nmake sure you have gone through all required customizations of the\nbuild process before you save them.  You may change existing settings\nat a later time, though.\n\n")
+    (widget-create 'push-button
+		   :notify (lambda (&rest ignore)
+			     (customize-browse 'build))
+		   "Browse Build Options ...")
+    (widget-insert "\nBrowse and customize any options of the build process according to\nyour current choices for the sources to build from and the tools to\nbuild with.\n")
+    (setq build-from-what-choice-widget
+	  (widget-create 'choice
+			 :tag "Build from"
+			 :value build-from-what
+			 :notify (lambda (widget &rest ignore)
+				   (setq build-from-what (widget-value widget))
+				   (cond
+				    ((string-equal build-from-what "CVS")
+				     (widget-apply
+				      build-from-cvs-button-widget
+				      :activate)
+				     (widget-apply
+				      build-from-tarballs-button-widget
+				      :deactivate))
+				    ((string-equal build-from-what "Tarballs")
+				     (widget-apply
+				      build-from-cvs-button-widget
+				      :deactivate)
+				     (widget-apply
+				      build-from-tarballs-button-widget
+				      :activate))))
+			 '(item :value "CVS")
+			 '(item :value "Tarballs")))
+    (widget-insert
+     "Please decide now whether to build XEmacs from tarballs in .tar.gz\nformat or from CVS sources.  Using CVS is highly recommended.")
+    (widget-insert "\n\n")
+    (setq build-with-what-choice-widget
+	  (widget-create 'choice
+			 :tag "Build with"
+			 :value build-with-what
+			 :notify (lambda (widget &rest ignore)
+				   (setq build-with-what (widget-value widget)))
+			 '(item :value "GNU Tools")
+			 '(item :value "Microsoft Tools")
+			 ))
+    (widget-insert
+     "Furthermore, please specify whether you will build with GNU tools\nusing configure and make or Microsoft Tools using nt\\xemacs.mak and\nVC++ 4.0 or higher.")
+    (widget-insert "\n\n")
+    (setq
+     build-from-cvs-button-widget
+     (widget-create 'push-button
+		    :notify (lambda (&rest ignore)
+			      (build-from-CVS))
+		    "Build XEmacs From CVS Now"))
+    (widget-insert "\n")
+    ;; Recommend installation of CVS or provide cvs version
+    ;; information.
+    (if build-cvs-available-p
+        (widget-insert (format "cvs -v returns this:\n%s\n" (cdr result)))
+      (widget-insert
+       "\n\nPlease install cvs, unless you want to build from our tary balls.\n"))
+    ;; Building XEmacs from tarballs.
+    (setq
+     build-from-tarballs-button-widget
+     (widget-create 'push-button
+		    :notify (lambda (&rest ignore)
+			      (build-from-tarballs))
+		    "Build XEmacs From Tarballs Now"))
+    ;; Initialize these buttons according to `build-from-what'.
+    (cond
+     ((string-equal build-from-what "CVS")
+      (widget-apply
+       build-from-cvs-button-widget
+       :activate)
+      (widget-apply
+       build-from-tarballs-button-widget
+       :deactivate))
+     ((string-equal build-from-what "Tarballs")
+      (widget-apply
+       build-from-cvs-button-widget
+       :deactivate)
+      (widget-apply
+       build-from-tarballs-button-widget
+       :activate)))
+    (widget-insert
+     "\nProceed after you have chosen what sources to build from and what\ntools to build with.\n")
+;    (widget-browse-other-window build-settings-widget)
+    (use-local-map widget-keymap)
+    (widget-setup)
+    (custom-mode)
+    (goto-char (point-min))))
+
+;;}}}
+
 ;;{{{ Build Compilation
 
 ;;{{{ Compilation
 
 (defcustom build-cvs-xemacs-release
   "HEAD"
-  "CVS XEmacs release to be checked out.  Use \"Specify Tag Name\" to fill in
-the name of a release tag not yet in the list of choices."
-  :type (append
-         '(choice
-           :custom-state t)
-         (cons
-          '(string :tag "Unlisted Release Name" "")
-          (mapcar
-           (function
-            (lambda (tag)
-              (list
-               'const
-               :tag (format "%s %s" (first tag) (second tag)) (first tag))))
-           (build-cvs-get-branch-and-release-tags))))
+  "CVS XEmacs release to be checked out.
+Use \"Specify Tag Name\" to fill in the name of a release tag not yet
+in the list of choices.  The list of available releases is updated via
+cvs, if installed, when `build' is started."
+  :type '(choice :custom-state t
+                 (string :tag "Unlisted Release Name" "")
+                 (const :tag "release-21-1 (branch: 1.165.2)" "release-21-1")
+                 (const :tag "release-21-4 (branch: 1.166.2)" "release-21-4")
+                 (const :tag "r21-5-9 (revision: 1.183)" "r21-5-9"))
   :set 'build-cvs-set-var-and-update-buffer
   :group 'build-cvs)
 
 
 ;;{{{ Build From
 
-(defcustom build-from-what
-  "Tarballs"
-  "The Source Code units XEmacs is to be built from (\"Tarballs\" or
-\"CVS\")."
-  :type '(choice
-          :custom-state t
-          (const "Tarballs")
-          (const "CVS"))
-  :group 'build)
-
 (defun build-from-CVS ()
   (interactive)
   (let
     ;; events as it should be!
     (setq build-cvs-checkout-dir
           (eval build-cvs-working-dir-naming))
+    (put 'build-cvs-xemacs-release 'custom-type
+         (append
+          '(choice
+            :custom-state t)
+          (cons
+           '(string :tag "Unlisted Release Name" "")
+           (mapcar
+            (function
+             (lambda (tag)
+               (list
+                'const
+                :tag (format "%s %s" (first tag) (second tag)) (first tag))))
+            (build-cvs-get-branch-and-release-tags)))))
     (widget-insert "\n")
     (widget-create 'push-button
                    :notify (lambda (&rest ignore)
 
 ;;}}}
 
-;;{{{ Build
-
-(defgroup build nil
-  "Simplifies Building XEmacs; i.e. Fetching, Configuring, Making, and
-Reporting."
-  :link '(url-link :tag "XEmacs Build Reference Manual"
-                   "http://www.xemacs.org/Documentation/packages/html/build.html")
-  :link '(url-link :tag "XEmacs Beta README"
-                   "ftp://ftp@ftp.xemacs.org/pub/xemacs/beta/README")
-  :link '(url-link :tag "XEmacs Gamma README"
-                   "ftp://ftp@ftp.xemacs.org/pub/xemacs/gamma/README")
-  :link '(url-link :tag "XEmacs Stable README"
-                   "ftp://ftp@ftp.xemacs.org/pub/xemacs/stable/README")
-  :group 'emacs)
-
-;;;###autoload
-(defun build ()
-  "Creates a widget-based interface to build a beta/release version of
-XEmacs.  All aspects of fetching tarballs, configuring, making and
-reporting can be customized and executed from the newly created buffer
-*Build*."
-  (interactive)
-  (let
-      (exit-status
-       (command
-        (list
-         "cvs" "-v"))
-       infile
-       (buffer (list t t))
-       displayp
-       result
-;        build-from-cvs-button-widget
-;        build-from-tarballs-button-widget
-       (name "*Build XEmacs*"))
-    (kill-buffer (get-buffer-create name))
-    (switch-to-buffer (get-buffer-create name))
-    (kill-all-local-variables)
-    ;; Determine availability of CVS client.
-    (message-or-box
-     "build: checking whether you have cvs, please wait")
-    (setq result
-          (build-call-process command infile buffer displayp))
-    (cond
-     ((null (car result))
-      (setq build-cvs-available-p nil)
-      (warn "\nprogram %s cannot be found or executed\n"
-            (car command))
-      (setq build-from-what "Tarballs"))
-     ((/= (car result) 0)
-      (setq build-cvs-available-p nil)
-      (warn "\n%s\nfailed with following output:\n%s\n"
-            (mapconcat 'identity command " ")
-            (cdr result))
-      (setq build-from-what "Tarballs")
-      (widget-insert
-       "\n\nPlease install cvs, unless you want to build from our tary balls.\n"))
-     (t
-      (setq build-cvs-available-p t)
-      (setq build-from-what "CVS")
-      (message-or-box
-       "build: cvs is available")))
-    ;; Create widget-based interface.
-    (widget-insert
-     "Visit info documentation for the XEmacs build package inside ")
-    (widget-create
-     'info-link
-     :tag "XEmacs"
-     :value "(build)")
-    (widget-insert "\nor on the XEmacs website at\n")
-    (widget-create
-     'url-link
-     :value
-     "http://www.xemacs.org/Documentation/packages/html/build.html")
-    (widget-insert "\n\n")
-    (let
-	((inhibit-read-only t))
-      (setq build-current-build-settings-widget
-	    (widget-create
-	     'string
-	     :tag "Current Build Settings"
-	     :value
-	     "unknown")))
-    (widget-apply
-     build-current-build-settings-widget
-     :deactivate)
-    (widget-insert "\n")
-    (widget-create 'push-button
-		   :notify (lambda (&rest ignore)
-                             (let
-                                 ((name (widget-value build-settings-widget)))
-                               (widget-apply
-                                build-current-build-settings-widget
-                                :activate)
-                               (widget-value-set
-                                build-current-build-settings-widget
-                                name)
-                               (widget-apply
-                                build-current-build-settings-widget
-                                :deactivate)
-                               (widget-setup)
-                               (build-settings-load name build-settings)
-                               (message-or-box
-                                "loaded \"%s\" build-settings"
-                                name)))
-                   "Load")
-    (widget-insert " ")
-    (widget-create 'push-button
-		   :notify (lambda (&rest ignore)
-                             (let*
-                                 ((args
-                                   (widget-get build-settings-widget :args))
-                                  (value (widget-value build-settings-widget))
-                                  new-args)
-                               (if (string= value "default")
-                                   (message-or-box
-                                    "cannot delete \"%s\" build-settings"
-                                    value)
-                                 (when
-                                     (yes-or-no-p
-                                      (format "delete \"%s\" build-settings? " value))
-                                   (setq
-                                    new-args
-                                    (remrassoc
-                                     (list
-                                      :value
-                                      value)
-                                     args))
-                                   (widget-put
-                                    build-settings-widget
-                                    :args new-args)
-                                   (widget-put
-                                    build-settings-name-widget
-                                    :args
-                                    (cons (list 'string :value "default")
-                                          new-args))
-                                   (widget-value-set
-                                    build-settings-widget
-                                    (widget-get
-                                     (first (widget-get build-settings-widget :args))
-                                     :value))
-                                   (widget-setup)
-                                   (setq
-                                    build-settings
-                                    (remassoc
-                                     value
-                                     build-settings))
-                                   (message-or-box
-                                    "deleted \"%s\" build-settings"
-                                    value)))))
-		   "Delete")
-    (widget-insert " ")
-    (setq build-settings-widget
-	  (widget-create 'choice
-			 :tag "build settings"
-                         :value "default"
-                         :args
-                         (cons
-                          (list 'item :value "default")
-                          (mapcar
-                           (function
-                            (lambda (setting)
-                              (let ((name setting))
-                                (list 'item :value (car setting))))) 
-                           build-settings))
-; 			 :notify (lambda (widget &rest ignore)
-; 				   (setq build-settings (widget-value widget)))
-			 '(item :value "default")))
-    (widget-value-set
-     build-settings-widget
-     (widget-get
-      (first (widget-get build-settings-widget :args))
-      :value))
-    (widget-create 'push-button
-		   :notify (lambda (&rest ignore)
-                             (let
-                                 ((name
-                                   (widget-value build-settings-name-widget)))
-                               (unless
-                                   (and
-                                    (assoc name build-settings)
-                                    (not
-                                     (yes-or-no-p
-                                      (format "overwrite current \"%s\" build-settings? " name))))
-                                 (setq
-                                  build-settings
-                                  (build-settings-save-custom-group
-                                   'build
-                                   name
-                                   build-settings))
-                                 (unless
-                                     (rassoc
-                                      (cdr (list 'item :value name))
-                                      (widget-get build-settings-widget :args))
-                                   (widget-put
-                                    build-settings-widget
-                                    :args
-                                    (cons (list 'item :value name)
-                                          (widget-get build-settings-widget :args)))
-                                   (widget-put
-                                    build-settings-name-widget
-                                    :args
-                                    (cons (list 'item :value name)
-                                          (widget-get build-settings-name-widget :args))))
-                                 (customize-save-variable 'build-settings build-settings)
-                                 (message-or-box
-                                  "saved \"%s\" build-settings"
-                                  name))))
-		   "Save")
-    (widget-insert " ")
-    (setq build-settings-name-widget
-	  (widget-create 'choice
-			 :tag "current build settings as"
-			 :value "default"
-                         :args
-                         (cons
-                          (list 'string :value "default")
-                          (mapcar
-                           (function
-                            (lambda (setting)
-                              (let ((name setting))
-                                (list 'item :value (car setting))))) 
-                           build-settings))
-; 			 :notify (lambda (widget &rest ignore)
-; 				   (setq build-settings (widget-value widget)))
-                         ))
-    (widget-insert "Build settings are named build configurations allowing you to switch\nbetween them quickly, once you have set them up and saved them.  Please\nmake sure you have gone through all required customizations of the\nbuild process before you save them.  You may change existing settings\nat a later time, though.\n\n")
-    (widget-create 'push-button
-		   :notify (lambda (&rest ignore)
-			     (customize-browse 'build))
-		   "Browse Build Options ...")
-    (widget-insert "\nBrowse and customize any options of the build process according to\nyour current choices for the sources to build from and the tools to\nbuild with.\n")
-    (setq build-from-what-choice-widget
-	  (widget-create 'choice
-			 :tag "Build from"
-			 :value build-from-what
-			 :notify (lambda (widget &rest ignore)
-				   (setq build-from-what (widget-value widget))
-				   (cond
-				    ((string-equal build-from-what "CVS")
-				     (widget-apply
-				      build-from-cvs-button-widget
-				      :activate)
-				     (widget-apply
-				      build-from-tarballs-button-widget
-				      :deactivate))
-				    ((string-equal build-from-what "Tarballs")
-				     (widget-apply
-				      build-from-cvs-button-widget
-				      :deactivate)
-				     (widget-apply
-				      build-from-tarballs-button-widget
-				      :activate))))
-			 '(item :value "CVS")
-			 '(item :value "Tarballs")))
-    (widget-insert
-     "Please decide now whether to build XEmacs from tarballs in .tar.gz\nformat or from CVS sources.  Using CVS is highly recommended.")
-    (widget-insert "\n\n")
-    (setq build-with-what-choice-widget
-	  (widget-create 'choice
-			 :tag "Build with"
-			 :value build-with-what
-			 :notify (lambda (widget &rest ignore)
-				   (setq build-with-what (widget-value widget)))
-			 '(item :value "GNU Tools")
-			 '(item :value "Microsoft Tools")
-			 ))
-    (widget-insert
-     "Furthermore, please specify whether you will build with GNU tools\nusing configure and make or Microsoft Tools using nt\\xemacs.mak and\nVC++ 4.0 or higher.")
-    (widget-insert "\n\n")
-    (setq
-     build-from-cvs-button-widget
-     (widget-create 'push-button
-		    :notify (lambda (&rest ignore)
-			      (build-from-CVS))
-		    "Build XEmacs From CVS Now"))
-    (widget-insert "\n")
-    ;; Recommend installation of CVS or provide cvs version
-    ;; information.
-    (if build-cvs-available-p
-        (widget-insert (format "cvs -v returns this:\n%s\n" (cdr result)))
-      (widget-insert
-       "\n\nPlease install cvs, unless you want to build from our tary balls.\n"))
-    ;; Building XEmacs from tarballs.
-    (setq
-     build-from-tarballs-button-widget
-     (widget-create 'push-button
-		    :notify (lambda (&rest ignore)
-			      (build-from-tarballs))
-		    "Build XEmacs From Tarballs Now"))
-    ;; Initialize these buttons according to `build-from-what'.
-    (cond
-     ((string-equal build-from-what "CVS")
-      (widget-apply
-       build-from-cvs-button-widget
-       :activate)
-      (widget-apply
-       build-from-tarballs-button-widget
-       :deactivate))
-     ((string-equal build-from-what "Tarballs")
-      (widget-apply
-       build-from-cvs-button-widget
-       :deactivate)
-      (widget-apply
-       build-from-tarballs-button-widget
-       :activate)))
-    (widget-insert
-     "\nProceed after you have chosen what sources to build from and what\ntools to build with.\n")
-;    (widget-browse-other-window build-settings-widget)
-    (use-local-map widget-keymap)
-    (widget-setup)
-    (custom-mode)
-    (goto-char (point-min))))
-
-;;}}}
-
 ;;{{{ Build With
 
 (defvar build-with-MS-has-config-inc
   "Internal variable indicating whether the XEmacs to be built has
 support for config.inc.")
 
-(defcustom build-with-what
-  "GNU Tools"
-  "The Toolset XEmacs is to be built with (\"GNU Tools\" or
-\"Microsoft Tools\")."
-  :type '(choice
-          :custom-state t
-          (const "GNU Tools")
-          (const "Microsoft Tools"))
-  :group 'build)
-
 (defgroup build-with-MS nil
   "Standardizes the building of XEmacs with MiroSoft tools."
   :group 'build)