From xemacs-m  Mon Apr 28 09:45:53 1997
Received: from steadfast.teradyne.com (steadfast.teradyne.com [131.101.1.200])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id JAA04189
	for <xemacs-beta@xemacs.org>; Mon, 28 Apr 1997 09:45:53 -0500 (CDT)
Received: from engine.ecf.teradyne.com (engine.ecf.teradyne.com [131.101.192.6]) by steadfast.teradyne.com (8.7.1/8.7.1) with ESMTP id KAA20085 for <xemacs-beta@xemacs.org>; Mon, 28 Apr 1997 10:49:28 -0400 (EDT)
Received: from midnight.eng.ecf.teradyne.com (midnight.ecf.teradyne.com [131.101.192.49]) by engine.ecf.teradyne.com (8.7.1/8.7.1) with SMTP id QAA14785; Mon, 28 Apr 1997 16:45:10 +0200 (MET DST)
Received: by midnight.eng.ecf.teradyne.com (SMI-8.6/SMI-SVR4)
	id QAA09866; Mon, 28 Apr 1997 16:45:10 +0200
To: XEmacs Beta Mailing List <xemacs-beta@xemacs.org>
Subject: xemacs-create-build-report
X-Face: 4[iHdXiTu\V3u[~\I)<f9HC);%~nG8`oUqv#uzvs6=\V{AjN6Sn
 c/qi;YLwRmEbt8Y*=j5n(urqY@chPh@J'D"QlqD!C8>*}#kYF[-tYl3VZga/HSOP|K,{L
 Rtu@f0y/=O&Cu}\:~d|P$JON?pn?j,&CnPb1z#/TL9bkAJwyol&a:SvYj-VYbM=Dtxhk9
 =w|R6U3_;SH&B<Mfy6Q%#
Mime-Version: 1.0 (generated by tm-edit 7.106)
Content-Type: multipart/mixed;
 boundary="Multipart_Mon_Apr_28_16:45:08_1997-1"
Content-Transfer-Encoding: 7bit
From: Adrian Aichner <aichner@ecf.teradyne.com>
Date: 28 Apr 1997 16:45:08 +0200
Message-ID: <rxsiv17i4ui.fsf@midnight.ecf.teradyne.com>
Lines: 163
X-Mailer: Gnus v5.4.45/XEmacs 20.2(beta1)

--Multipart_Mon_Apr_28_16:45:08_1997-1
Content-Type: text/plain; charset=US-ASCII


Hello All,

please find attached a little module I wrote
(xemacs-build-report.el) to create XEmacs build reports
automatically.

Just include

(load-library "xemacs-build-report")

in your .emacs and place the following file somewhere in your XEmacs's 
load-path.

When you `make' XEmacs, please save STDOUT and STDERR in a file.

I have an alias

alias mk          'make \!* >>&\! \!$.err &'

and just type

mk

in XEmacs's top-level directory after running configure.

What I get is mk.err, hence the default value of

`xemacs-build-report-make-output-file' (buffer: *mail*, mode: Message)

Variable:

  value: "/usr/local/xemacs-20.2-b1/lisp/../mk.err"

  Filename where stdout and stderr of XEmacs make process has been stored.

Now, just start the xemacs you newly built and type
M-x xemacs-create-build-report

Please let me know how you (dis)like what I've done.

Cheers,

Adrian


--Multipart_Mon_Apr_28_16:45:08_1997-1
Content-Type: application/octet-stream; type=emacs-lisp
Content-Disposition: attachment; filename="xemacs-build-report.el"
Content-Transfer-Encoding: 7bit


;; The Idea:
;; Let XEmacs report interesting aspects of how it was built.

;; The Concept:
;; User creates an XEmacs Build Report by just calling
;; M-x xemacs-create-build-report
;; which will initialize a mail buffer with relevant information
;; derived from the XEmacs build process. Point is left at the
;; beginning of the report for user to input some personal notes and
;; send the report.

;; The Status:
;; This is the first `Proof of Concept'.

;; The Author:
;; Adrian Aichner, Teradyne GmbH Munich, Sun., Apr. 20, 1997.

(provide 'xemacs-build-report)

;; Building the version from the RCS Revision keyword was lifted from
;; lisp/packages/auto-save.el.
(defconst xemacs-build-report-version
  (substring "$Revision: 1.6 $" 11 -2)
  "Version number of xemacs-build-report.")

(defvar xemacs-build-report-keep-regexp
  "make\\[\\|warn\\|pure.*\\(space\\|size\\)"
  "Regexp of make process output lines to keep in the report.")

(defvar xemacs-build-report-delete-regexp
  "confl.*with.*auto-inlining"
  "Regexp of make process output lines to delete from the report.")

(defvar xemacs-build-report-make-output-file
  (concat source-directory "/../mk.err")
  "Filename where stdout and stderr of XEmacs make process has been stored.")

(defvar xemacs-build-report-installation-file
  (concat source-directory "/../Installation")
  "Installation file produced by XEmacs configure process.")

(defun xemacs-create-build-report ()
  "Initializes a fresh mail-mode buffer with the contents of XEmacs
Installation file and excerpts from XEmacs make output and errors and
leaves point at the beginning of the message body. See also
`xemacs-build-report-keep-regexp',
`xemacs-build-report-delete-regexp',
`xemacs-build-report-make-output-file' and
`xemacs-build-report-installation-file'."
  (interactive)
  (save-excursion
    (message-mail
     "xemacs-beta@xemacs.org"
     (concat "Build Report of " 
	     emacs-version
	     ", "
	     system-configuration))
    (let ((report-begin (message-goto-body)))
      (if (file-exists-p xemacs-build-report-make-output-file)
	  (progn
	    (insert-file-contents xemacs-build-report-make-output-file)
	    (goto-char report-begin)
	    (delete-non-matching-lines xemacs-build-report-keep-regexp)
	    (goto-char report-begin)
	    (delete-matching-lines xemacs-build-report-delete-regexp)
	    (goto-char report-begin)
	    (insert "> Contents of " 
		    xemacs-build-report-make-output-file
		    "\n> keeping lines matching\n> \""
		    xemacs-build-report-keep-regexp
		    "\"\n> and then deleting lines matching\n> \""
		    xemacs-build-report-delete-regexp
		    "\"\n\n")
	    )
	(insert "> " xemacs-build-report-make-output-file
		" does not exist!\n\n")
	)
      (goto-char report-begin)
      (insert "\n> XEmacs Build Report as generated\n> by "
	      "xemacs-build-report-version "
	      xemacs-build-report-version
	      " follows:\n\n")
      (if (file-exists-p xemacs-build-report-installation-file)
	  (progn
	    (insert "> Contents of "
		    xemacs-build-report-installation-file
		    ":\n\n")
	    (insert-file-contents
	     xemacs-build-report-installation-file))
	(insert "> " xemacs-build-report-installation-file
		" does not exist!\n\n"))
      (message-insert-signature)
      (goto-char report-begin))))

--Multipart_Mon_Apr_28_16:45:08_1997-1
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable


-- 
                            Adrian Aichner
                        Applications Engineer
  Teradyne GmbH
  Semiconductor Test Group    Telephone +49/89/41861(0)-208
  Dingolfinger Stra=DFe 2       Fax       +49/89/41861-217
  D-81673 M=DCNCHEN             E-mail    aichner@ecf.teradyne.com

--Multipart_Mon_Apr_28_16:45:08_1997-1--

