Bug 575870 - Enable the firefox button on xp themed, classic, and aero basic. r=dao...
[mozilla-central.git] / build / autoconf / mozconfig2client-mk
blob6b06dd88d96a03b52d7ec673b0124ab45526a27b
1 #! /bin/sh
3 # ***** BEGIN LICENSE BLOCK *****
4 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
6 # The contents of this file are subject to the Mozilla Public License Version
7 # 1.1 (the "License"); you may not use this file except in compliance with
8 # the License. You may obtain a copy of the License at
9 # http://www.mozilla.org/MPL/
11 # Software distributed under the License is distributed on an "AS IS" basis,
12 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13 # for the specific language governing rights and limitations under the
14 # License.
16 # The Original Code is mozilla.org code.
18 # The Initial Developer of the Original Code is
19 # Netscape Communications Corporation.
20 # Portions created by the Initial Developer are Copyright (C) 1999
21 # the Initial Developer. All Rights Reserved.
23 # Contributor(s):
24 # Stephen Lamm <slamm@netscape.com>
26 # Alternatively, the contents of this file may be used under the terms of
27 # either of the GNU General Public License Version 2 or later (the "GPL"),
28 # or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
29 # in which case the provisions of the GPL or the LGPL are applicable instead
30 # of those above. If you wish to allow use of your version of this file only
31 # under the terms of either the GPL or the LGPL, and not to allow others to
32 # use your version of this file under the terms of the MPL, indicate your
33 # decision by deleting the provisions above and replace them with the notice
34 # and other provisions required by the GPL or the LGPL. If you do not delete
35 # the provisions above, a recipient may use your version of this file under
36 # the terms of any one of the MPL, the GPL or the LGPL.
38 # ***** END LICENSE BLOCK *****
40 # mozconfig2client-mk - Translates .mozconfig into options for client.mk.
41 # Prints defines to stdout.
43 # See mozconfig2configure for more details
45 print_header() {
46 _mozconfig=${MOZCONFIG:-$HOME/.mozconfig}
47 cat >> $tmp_file <<EOF
48 # gmake
49 # This file is automatically generated for client.mk.
50 # Do not edit. Edit $_mozconfig instead.
51 # To create a new .mozconfig file, you can visit,
52 # http://webtools.mozilla.org/build/config.cgi
54 EOF
57 ac_add_options() {
58 echo "# $* is used by configure (not client.mk)" >> $tmp_file
61 ac_add_app_options() {
62 echo "# $* is used by configure (not client.mk)" >> $tmp_file
65 mk_add_options() {
66 for _opt
68 # Escape shell characters, space, tab, dollar, quote, backslash,
69 # and substitute '@<word>@' with '$(<word>)'.
70 _opt=`echo "$_opt" | sed -e 's/\([\"\\]\)/\\\1/g; s/@\([^@]*\)@/\$(\1)/g;'`
71 echo $_opt;
72 opts="${opts:+$opts^}$_opt";
73 done >> $tmp_file
76 mk_echo_options() {
77 echo "Adding client.mk options from $MOZCONFIG:"
78 IFS=^
79 for _opt in $opts; do
80 echo " $_opt"
81 done
84 # Main
85 #--------------------------------------------------
87 scriptdir=`dirname $0`
88 topsrcdir=$1
89 out_file=$2
90 tmp_file="$out_file-tmp$$"
91 opts=""
93 trap "rm -f $tmp_file; exit 1" 1 2 15
95 MOZCONFIG=`$scriptdir/mozconfig-find $topsrcdir`
97 print_header > $tmp_file
99 # If the path changes, configure should be rerun
100 echo "# PATH=$PATH" >> $tmp_file
102 if [ "$MOZCONFIG" ]
103 then
104 . "$MOZCONFIG"
107 if [ "$opts" ]; then
108 mk_echo_options
111 if test -f $out_file && cmp -s $tmp_file $out_file; then
112 rm $tmp_file
113 else
114 mv -f $tmp_file $out_file