annotate lib-src/config.values.sh @ 428:3ecd8885ac67 r21-2-22

Import from CVS: tag r21-2-22
author cvs
date Mon, 13 Aug 2007 11:28:15 +0200
parents
children 9d177e8d4150
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 #! /bin/sh
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2 # config.values.sh --- create config.values.in from ../configure
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 # Author: Martin Buchholz
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 # Maintainer: Martin Buchholz
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 # Keywords: configure elisp report-xemacs-bugs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 # This file is part of XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 # XEmacs is free software; you can redistribute it and/or modify it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 # under the terms of the GNU General Public License as published by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 # the Free Software Foundation; either version 2, or (at your option)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 # any later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 # XEmacs is distributed in the hope that it will be useful, but
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 # WITHOUT ANY WARRANTY; without even the implied warranty of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 # General Public License for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 # You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 # along with XEmacs; see the file COPYING. If not, write to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 # Boston, MA 02111-1307, USA.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 ### Commentary:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 ## Extract all the @foo@ configuration symbols from ../configure
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 ## to make them available to elisp later (see util/config.el)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29 ## Primarily useful for creating ridiculously verbose bug reports.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 ##
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 ## See lisp/utils/config.el, ../configure.in,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 ## and the Autoconf documentation on AC_OUTPUT, for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 ##
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34 ## This script needs only to be run occasionally (before a Net release)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 ## by an XEmacs Maintainer (consider yourself so blessed, if you are
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 ## actually reading this commentary).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37 ##
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 if test ! -r ./configure; then
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 cd ..
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40 if test ! -r ./configure; then
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 echo "Can't find configure!";
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 exit 1;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43 fi
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 fi
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46 exec < ./configure > "lib-src/config.values.in"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 cat <<\EOF
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 ;;; Do not edit this file!
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 ;;; This file was automatically generated, by the config.values.sh script,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 ;;; from configure, which was itself automatically generated from configure.in.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 ;;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 ;;; See lisp/util/config.el for details on how this file is used.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53 ;;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54 ;;; You are trapped in a twisty maze of strange-looking files, all autogenerated...
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 ;;; configure is created, from configure.in, by autoconf
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57 ;;; config.values.in is created, from configure, by config.values.sh
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58 ;;; config.values is created, from config.values.in, by configure
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 ;;; config.values is read by lisp/utils/config.el,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 ;;; to create the (Lisp object) config-value-hash-table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62 ;;; Variables defined in configure by AC_SUBST follow:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 ;;; (These are used in Makefiles)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 EOF
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 sed -n '/^s%@\([A-Za-z_][A-Za-z_]*\)@%\$\1%g$/ {
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67 s/^s%@\([A-Za-z_][A-Za-z_]*\)@%\$\1%g$/\1 "@\1@"/
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 p
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 }' | \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 sort -u
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 cat <<\EOF
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73 ;;; Variables defined in configure by AC_DEFINE and AC_DEFINE_UNQUOTED follow:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74 ;;; (These are used in C code)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76 EOF