Mercurial > octave
annotate bootstrap @ 33252:737ab816cb7b bytecode-interpreter
maint: merge default to bytecode-interpreter
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 25 Mar 2024 14:00:49 -0400 |
parents | e6d339b9309d |
children | c51b07a71421 |
rev | line source |
---|---|
3298 | 1 #! /bin/sh |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
2 # Bootstrap this package from checked-out sources. |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
3 |
32477
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
4 scriptversion=2023-08-29.21; # UTC |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
5 |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
6 # Copyright (C) 2003-2023 Free Software Foundation, Inc. |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
7 # |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
8 # This program is free software: you can redistribute it and/or modify |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
9 # it under the terms of the GNU General Public License as published by |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
10 # the Free Software Foundation, either version 3 of the License, or |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
11 # (at your option) any later version. |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
12 # |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
13 # This program is distributed in the hope that it will be useful, |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
16 # GNU General Public License for more details. |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
17 # |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
18 # You should have received a copy of the GNU General Public License |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
19 # along with this program. If not, see <https://www.gnu.org/licenses/>. |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
20 |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
21 # Originally written by Paul Eggert. The canonical version of this |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
22 # script is maintained as top/bootstrap in gnulib. However, to be |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
23 # useful to your package, you should place a copy of it under version |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
24 # control in the top-level directory of your package. The intent is |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
25 # that all customization can be done with a bootstrap.conf file also |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
26 # maintained in your version control; gnulib comes with a template |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
27 # build-aux/bootstrap.conf to get you started. |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
28 |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
29 # Please report bugs or propose patches to bug-gnulib@gnu.org. |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
30 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
31 me="$0" |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
32 medir=`dirname "$me"` |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
33 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
34 # Read the function library and the configuration. |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
35 . "$medir"/bootstrap-funclib.sh |
26416
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
36 |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
37 usage() { |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
38 cat <<EOF |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
39 Usage: $me [OPTION]... |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
40 Bootstrap this package from the checked-out sources. |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
41 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
42 Optional environment variables: |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
43 GNULIB_SRCDIR Specifies the local directory where gnulib |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
44 sources reside. Use this if you already |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
45 have gnulib sources on your machine, and |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
46 do not want to waste your bandwidth downloading |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
47 them again. |
32477
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
48 GNULIB_URL URL of the gnulib repository. The default is |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
49 $default_gnulib_url, |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
50 which is Gnulib's upstream repository. |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
51 |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
52 Options: |
32477
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
53 |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
54 --pull Do phase 1: pull files from network |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
55 --gen Do phase 2: generate from local files. |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
56 (The default is to do both phases.) |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
57 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
58 --gnulib-srcdir=DIRNAME specify the local directory where gnulib |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
59 sources reside. Use this if you already |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
60 have gnulib sources on your machine, and |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
61 you want to use these sources. Defaults |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
62 to \$GNULIB_SRCDIR |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
63 --gnulib-refdir=DIRNAME specify the local directory where a gnulib |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
64 repository (with a .git subdirectory) resides. |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
65 Use this if you already have gnulib sources |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
66 and history on your machine, and do not want |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
67 to waste your bandwidth downloading them again. |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
68 Defaults to \$GNULIB_REFDIR |
32477
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
69 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
70 --bootstrap-sync if this bootstrap script is not identical to |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
71 the version in the local gnulib sources, |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
72 update this script, and then restart it with |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
73 /bin/sh or the shell \$CONFIG_SHELL |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
74 --no-bootstrap-sync do not check whether bootstrap is out of sync |
32477
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
75 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
76 --copy copy files instead of creating symbolic links |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
77 --force attempt to bootstrap even if the sources seem |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
78 not to have been checked out |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
79 --no-git do not use git to update gnulib. Requires that |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
80 \$GNULIB_SRCDIR or the --gnulib-srcdir option |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
81 points to a gnulib repository with the correct |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
82 revision |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
83 --skip-po do not download po files |
29495 | 84 EOF |
85 bootstrap_print_option_usage_hook | |
86 cat <<EOF | |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
87 If the file bootstrap.conf exists in the same directory as this script, its |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
88 contents are read as shell variables to configure the bootstrap. |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
89 |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
90 For build prerequisites, environment variables like \$AUTOCONF and \$AMTAR |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
91 are honored. |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
92 |
26416
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
93 Gnulib sources can be fetched in various ways: |
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
94 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
95 * If the environment variable GNULIB_SRCDIR is set (either as an |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
96 environment variable or via the --gnulib-srcdir option), then sources |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
97 are fetched from that local directory. If it is a git repository and |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
98 the configuration variable GNULIB_REVISION is set in bootstrap.conf, |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
99 then that revision is checked out. |
26416
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
100 |
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
101 * Otherwise, if this package is in a git repository with a 'gnulib' |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
102 submodule configured, then that submodule is initialized and updated |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
103 and sources are fetched from there. If GNULIB_REFDIR is set (either |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
104 as an environment variable or via the --gnulib-refdir option) and is |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
105 a git repository, then it is used as a reference. |
26416
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
106 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
107 * Otherwise, if the 'gnulib' directory does not exist, Gnulib sources |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
108 are cloned into that directory using git from \$GNULIB_URL, defaulting |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
109 to $default_gnulib_url. |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
110 If the configuration variable GNULIB_REVISION is set in bootstrap.conf, |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
111 then that revision is checked out. |
26416
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
112 |
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
113 * Otherwise, the existing Gnulib sources in the 'gnulib' directory are |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
114 used. If it is a git repository and the configuration variable |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
115 GNULIB_REVISION is set in bootstrap.conf, then that revision is |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
116 checked out. |
26416
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
117 |
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
118 If you maintain a package and want to pin a particular revision of the |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
119 Gnulib sources that has been tested with your package, then there are |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
120 two possible approaches: either configure a 'gnulib' submodule with the |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
121 appropriate revision, or set GNULIB_REVISION (and if necessary |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
122 GNULIB_URL) in bootstrap.conf. |
26416
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
123 |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
124 Running without arguments will suffice in most cases. |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
125 EOF |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
126 } |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
127 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
128 # Parse options. |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
129 |
32477
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
130 # Whether to pull and generate. |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
131 pull=false |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
132 gen=false |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
133 |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
134 # Whether to use copies instead of symlinks. |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
135 copy=false |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
136 |
17299
a801d0ab5830
bootstrap: Update from gnulib sources, make portable to OpenBSD (bug #35580)
Mike Miller <mtmiller@ieee.org>
parents:
15920
diff
changeset
|
137 # Use git to update gnulib sources |
a801d0ab5830
bootstrap: Update from gnulib sources, make portable to OpenBSD (bug #35580)
Mike Miller <mtmiller@ieee.org>
parents:
15920
diff
changeset
|
138 use_git=true |
12158
a73df5341f3c
autogen.sh: check for required files instead of having automake do it
John W. Eaton <jwe@octave.org>
parents:
9946
diff
changeset
|
139 |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
140 for option |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
141 do |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
142 case $option in |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
143 --help) |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
144 usage |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
145 exit;; |
29666 | 146 --version) |
147 set -e | |
32477
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
148 echo "bootstrap $scriptversion lib $scriptlibversion" |
29666 | 149 echo "$copyright" |
150 exit 0 | |
151 ;; | |
32477
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
152 --pull) |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
153 pull=true;; |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
154 --gen) |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
155 gen=true;; |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
156 --gnulib-srcdir=*) |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
157 GNULIB_SRCDIR=${option#--gnulib-srcdir=};; |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
158 --gnulib-refdir=*) |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
159 GNULIB_REFDIR=${option#--gnulib-refdir=};; |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
160 --skip-po) |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
161 SKIP_PO=t;; |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
162 --force) |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
163 checkout_only_file=;; |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
164 --copy) |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
165 copy=true;; |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
166 --bootstrap-sync) |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
167 bootstrap_sync=true;; |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
168 --no-bootstrap-sync) |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
169 bootstrap_sync=false;; |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
170 --no-git) |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
171 use_git=false;; |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
172 *) |
29495 | 173 bootstrap_option_hook $option || die "$option: unknown option";; |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
174 esac |
12158
a73df5341f3c
autogen.sh: check for required files instead of having automake do it
John W. Eaton <jwe@octave.org>
parents:
9946
diff
changeset
|
175 done |
9794
0d4613a736e9
convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
9645
diff
changeset
|
176 |
32477
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
177 # Default is to do both. |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
178 $pull || $gen || pull=true gen=true |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
179 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
180 $use_git || test -n "$GNULIB_SRCDIR" \ |
32477
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
181 || die "Error: --no-git requires \$GNULIB_SRCDIR environment variable" \ |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
182 "or --gnulib-srcdir option" |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
183 test -z "$GNULIB_SRCDIR" || test -d "$GNULIB_SRCDIR" \ |
32477
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
184 || die "Error: \$GNULIB_SRCDIR environment variable or --gnulib-srcdir" \ |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
185 "option is specified, but does not denote a directory" |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
186 |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
187 if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
188 die "Bootstrapping from a non-checked-out distribution is risky." |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
189 fi |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
190 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
191 check_build_prerequisites $use_git |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
192 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
193 if $bootstrap_sync; then |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
194 prepare_GNULIB_SRCDIR |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
195 upgrade_bootstrap |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
196 # Since we have now upgraded if needed, no need to try it a second time below. |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
197 bootstrap_sync=false |
20460
2de0eb7405e4
* bootstrap: Update from gnulib sources.
John W. Eaton <jwe@octave.org>
parents:
17299
diff
changeset
|
198 fi |
2de0eb7405e4
* bootstrap: Update from gnulib sources.
John W. Eaton <jwe@octave.org>
parents:
17299
diff
changeset
|
199 |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
200 echo "$0: Bootstrapping from checked-out $package sources..." |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
201 |
32477
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
202 # Pass GNULIB_SRCDIR and GNULIB_REFDIR to any subsidiary commands that care. |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
203 export GNULIB_SRCDIR |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
204 export GNULIB_REFDIR |
29666 | 205 |
32477
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
206 if $pull && { $use_git || test -z "$SKIP_PO"; }; then |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
207 autopull \ |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
208 `if $bootstrap_sync; then |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
209 echo ' --bootstrap-sync' |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
210 else |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
211 echo ' --no-bootstrap-sync' |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
212 fi` \ |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
213 `if test -z "$checkout_only_file"; then echo ' --force'; fi` \ |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
214 `if ! $use_git; then echo ' --no-git'; fi` \ |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
215 `if test -n "$SKIP_PO"; then echo ' --skip-po'; fi` \ |
32477
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
216 || die "could not fetch auxiliary files" |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
217 fi |
9794
0d4613a736e9
convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
9645
diff
changeset
|
218 |
32477
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
219 if $gen; then |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
220 autogen \ |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
221 `if $copy; then echo ' --copy'; fi` \ |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
222 `if test -z "$checkout_only_file"; then echo ' --force'; fi` \ |
32477
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
223 || die "could not generate auxiliary files" |
e6d339b9309d
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
31420
diff
changeset
|
224 fi |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
225 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
226 # ---------------------------------------------------------------------------- |
28016
626ba7cc1d6c
update bootstrap script with changes from gnulib version
John W. Eaton <jwe@octave.org>
parents:
28013
diff
changeset
|
227 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
228 # Local Variables: |
26416
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
229 # eval: (add-hook 'before-save-hook 'time-stamp) |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
230 # time-stamp-start: "scriptversion=" |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
231 # time-stamp-format: "%:y-%02m-%02d.%02H" |
26416
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
232 # time-stamp-time-zone: "UTC0" |
15920
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
233 # time-stamp-end: "; # UTC" |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
234 # End: |