Mercurial > octave
annotate bootstrap @ 31580:2ea12c5732ac
maint: merge stable to default
author | Rik <rik@octave.org> |
---|---|
date | Mon, 28 Nov 2022 13:37:49 -0800 |
parents | e98fb9b4be86 |
children | e6d339b9309d |
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 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
4 # Copyright (C) 2003-2022 Free Software Foundation, Inc. |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
5 # |
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
|
6 # 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
|
7 # 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
|
8 # 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
|
9 # (at your option) any later version. |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
10 # |
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
|
11 # 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
|
12 # 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
|
13 # 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
|
14 # GNU General Public License for more details. |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
15 # |
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
|
16 # 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
|
17 # 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
|
18 |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
19 # 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
|
20 # 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
|
21 # 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
|
22 # 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
|
23 # 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
|
24 # 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
|
25 # 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
|
26 |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
27 # 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
|
28 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
29 scriptversion=2022-07-29.23; # UTC |
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
|
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. |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
48 GNULIB_URL Cloneable URL of the gnulib repository. |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
49 |
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
|
50 Options: |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
51 --gnulib-srcdir=DIRNAME specify the local directory where gnulib |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
52 sources reside. Use this if you already |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
53 have gnulib sources on your machine, and |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
54 you want to use these sources. Defaults |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
55 to \$GNULIB_SRCDIR |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
56 --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
|
57 repository (with a .git subdirectory) resides. |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
58 Use this if you already have gnulib sources |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
59 and history on your machine, and do not want |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
60 to waste your bandwidth downloading them again. |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
61 Defaults to \$GNULIB_REFDIR |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
62 --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
|
63 the version in the local gnulib sources, |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
64 update this script, and then restart it with |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
65 /bin/sh or the shell \$CONFIG_SHELL |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
66 --no-bootstrap-sync do not check whether bootstrap is out of sync |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
67 --copy copy files instead of creating symbolic links |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
68 --force attempt to bootstrap even if the sources seem |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
69 not to have been checked out |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
70 --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
|
71 \$GNULIB_SRCDIR or the --gnulib-srcdir option |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
72 points to a gnulib repository with the correct |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
73 revision |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
74 --skip-po do not download po files |
29495 | 75 EOF |
76 bootstrap_print_option_usage_hook | |
77 cat <<EOF | |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
78 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
|
79 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
|
80 |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
81 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
|
82 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
|
83 |
26416
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
84 Gnulib sources can be fetched in various ways: |
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
85 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
86 * 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
|
87 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
|
88 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
|
89 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
|
90 then that revision is checked out. |
26416
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
91 |
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
92 * 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
|
93 submodule configured, then that submodule is initialized and updated |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
94 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
|
95 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
|
96 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
|
97 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
98 * 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
|
99 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
|
100 to $default_gnulib_url. |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
101 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
|
102 then that revision is checked out. |
26416
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
103 |
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
104 * 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
|
105 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
|
106 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
|
107 checked out. |
26416
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
108 |
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
109 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
|
110 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
|
111 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
|
112 appropriate revision, or set GNULIB_REVISION (and if necessary |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
113 GNULIB_URL) in bootstrap.conf. |
26416
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
114 |
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
|
115 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
|
116 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
|
117 } |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
118 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
119 # 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
|
120 |
b91fc9348e2e
use hook functions for gnulib's bootrap script instead of our wrapper script
John W. Eaton <jwe@octave.org>
parents:
15414
diff
changeset
|
121 # 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
|
122 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
|
123 |
17299
a801d0ab5830
bootstrap: Update from gnulib sources, make portable to OpenBSD (bug #35580)
Mike Miller <mtmiller@ieee.org>
parents:
15920
diff
changeset
|
124 # 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
|
125 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
|
126 |
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
|
127 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
|
128 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
|
129 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
|
130 --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
|
131 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
|
132 exit;; |
29666 | 133 --version) |
134 set -e | |
135 echo "bootstrap $scriptversion" | |
136 echo "$copyright" | |
137 exit 0 | |
138 ;; | |
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
|
139 --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
|
140 GNULIB_SRCDIR=${option#--gnulib-srcdir=};; |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
141 --gnulib-refdir=*) |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
142 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
|
143 --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
|
144 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
|
145 --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
|
146 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
|
147 --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
|
148 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
|
149 --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
|
150 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
|
151 --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
|
152 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
|
153 --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
|
154 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
|
155 *) |
29495 | 156 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
|
157 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
|
158 done |
9794
0d4613a736e9
convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
9645
diff
changeset
|
159 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
160 $use_git || test -n "$GNULIB_SRCDIR" \ |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
161 || die "Error: --no-git requires \$GNULIB_SRCDIR environment variable or --gnulib-srcdir option" |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
162 test -z "$GNULIB_SRCDIR" || test -d "$GNULIB_SRCDIR" \ |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
163 || die "Error: \$GNULIB_SRCDIR environment variable or --gnulib-srcdir 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
|
164 |
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 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
|
166 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
|
167 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
|
168 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
169 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
|
170 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
171 if ! test -f "$medir"/bootstrap-funclib.sh; then |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
172 # We have only completed the first phase of an upgrade from a bootstrap |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
173 # version < 2022-07-24. Need to do the second phase now. |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
174 bootstrap_sync=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
|
175 fi |
9794
0d4613a736e9
convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
9645
diff
changeset
|
176 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
177 if $bootstrap_sync; then |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
178 prepare_GNULIB_SRCDIR |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
179 upgrade_bootstrap |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
180 # 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
|
181 bootstrap_sync=false |
20460
2de0eb7405e4
* bootstrap: Update from gnulib sources.
John W. Eaton <jwe@octave.org>
parents:
17299
diff
changeset
|
182 fi |
2de0eb7405e4
* bootstrap: Update from gnulib sources.
John W. Eaton <jwe@octave.org>
parents:
17299
diff
changeset
|
183 |
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
|
184 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
|
185 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
186 # Pass GNULIB_SRCDIR to autopull.sh and autogen.sh. |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
187 export GNULIB_SRCDIR |
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
|
188 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
189 # Pass GNULIB_REFDIR to autopull.sh. |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
190 export GNULIB_REFDIR |
29666 | 191 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
192 if $use_git || test -z "$SKIP_PO"; then |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
193 "$medir"/autopull.sh \ |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
194 `if $bootstrap_sync; then echo ' --bootstrap-sync'; else echo ' --no-bootstrap-sync'; fi` \ |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
195 `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
|
196 `if ! $use_git; then echo ' --no-git'; fi` \ |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
197 `if test -n "$SKIP_PO"; then echo ' --skip-po'; fi` \ |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
198 || die "autopull.sh failed." |
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
|
199 fi |
9794
0d4613a736e9
convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents:
9645
diff
changeset
|
200 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
201 "$medir"/autogen.sh \ |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
202 `if $copy; then echo ' --copy'; fi` \ |
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
203 `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
|
204 || die "autogen.sh failed." |
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
|
205 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
206 # ---------------------------------------------------------------------------- |
28016
626ba7cc1d6c
update bootstrap script with changes from gnulib version
John W. Eaton <jwe@octave.org>
parents:
28013
diff
changeset
|
207 |
31420
e98fb9b4be86
maint: Update gnulib.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29666
diff
changeset
|
208 # Local Variables: |
26416
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
209 # 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
|
210 # 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
|
211 # time-stamp-format: "%:y-%02m-%02d.%02H" |
26416
c36321a88d17
* bootstrap: update from gnulib source repository
Mike Miller <mtmiller@octave.org>
parents:
25054
diff
changeset
|
212 # 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
|
213 # 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
|
214 # End: |