summaryrefslogtreecommitdiff
path: root/bootstrap.conf
blob: b2326348b5cca49fde59fa784ce09f34c6297ce6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# bootstrap.conf (GNU M4) version 2017-01-03
# Written by Gary V. Vaughan, 2010

# Copyright (C) 2010, 2013-2014, 2017 Free Software Foundation, Inc.

# This file is part of GNU M4.
#
# GNU M4 is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GNU M4 is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.


## -------------- ##
## Configuration. ##
## -------------- ##

copyright_holder="Free Software Foundation, Inc."

# List of programs (and minimum versions) required to bootstrap, maintain
# and release Libtool.
buildreq='
        help2man   1.29        http://www.gnu.org/s/help2man
        makeinfo   4.13        http://www.gnu.org/s/texinfo
        xz         -           http://tukaani.org/xz
'

# Instructions on how to install packages in $buildreq.
buildreq_readme=HACKING

# A file only visible in a vcs working directory.
checkout_only_file=HACKING

# Local gnulib submodule path.
gnulib_path=build-aux/gnulib

# Additional gnulib-tool options to use.
gnulib_tool_options=$gnulib_tool_options'
	--libtool
'

# gnulib_modules must remain empty in order to get --update style
# gnulib-tool invocations, so we add the bootstrap components here.
gnulib_non_module_files=$gnulib_non_module_files"
	build-aux/bootstrap.in
	build-aux/extract-trace
	build-aux/funclib.sh
	build-aux/inline-source
	build-aux/options-parser"

# List dependencies here too; we don't extract them, otherwise dependent
# modules could end up being imported to src/ *and* gnu/!
src_modules='
assure
getopt-gnu
getopt-posix
version-etc-fsf
version-etc
xstrtol
'

# What ignore files to maintain.
vc_ignore=".gitignore"


## --------------- ##
## Hook functions. ##
## --------------- ##


# m4_precopy_git_version_gen
# --------------------------
# Autopoint gets confused if git-version-gen is missing.
m4_precopy_git_version_gen ()
{
    $debug_cmd

    $require_build_aux

    func_gnulib_tool_copy_file build-aux/git-version-gen $build_aux/git-version-gen
}
func_add_hook func_prep m4_precopy_git_version_gen


# m4_install_texinfo_diff_driver
# ------------------------------
# Help git to do a better job of merging texinfo files.
m4_install_texinfo_diff_driver ()
{
    $debug_cmd

    $require_git

    test true = "$GIT" || {
      if $GIT config diff.texinfo.funcname >/dev/null ; then
        :
      else
        func_echo "initializing git texinfo diff driver"
        git config diff.texinfo.funcname '^@node[ \t][ \t]*\\([^,][^,]*\\)'
      fi
    }
}
func_add_hook func_prep m4_install_texinfo_diff_driver


# m4_copy_src_modules
# -------------------
# Copy $src_modules from gnulib to src directory.
m4_copy_src_modules ()
{
    $debug_cmd

    $require_gnulib_tool

    test true = "$gnulib_tool" || {
      $require_macro_dir

      for file in `$gnulib_tool --extract-filelist $src_modules | sort -u`
      do
        maybe_exit_cmd=:

        func_basename $file
        dest=$func_basename_result

        case $file in
          lib/*) dest=src/$dest ;;
          m4/*)  dest=$macro_dir/$dest ;;
          *)     func_error "$file: unknown file"
                 maybe_exit_cmd="exit $EXIT_FAILURE"
                 dest= ;;
        esac

        # Be sure to show all copying errors before bailing out
        if test -n "$dest"; then
          func_gnulib_tool_copy_file "$file" "$dest"
        fi
      done

      $maybe_exit_cmd
    }
}
func_add_hook func_gnulib_tool m4_copy_src_modules


# Local variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "# bootstrap.conf (GNU M4) version "
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "$"
# End: