summaryrefslogtreecommitdiff
path: root/bootstrap.conf
blob: ae9ecb403956b474b210c569a8592d10fcee3460 (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
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
# Bootstrap configuration.

# Copyright (C) 2010-2014 Red Hat, Inc.

# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.

# This program 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 Lesser General Public License for more details.

# You should have received a copy of the GNU Lesser General Public
# License along with this library.  If not, see
# <http://www.gnu.org/licenses/>.

# gnulib modules used by this package.

# NB the GSocket conversion is non-trivial due to the
# different FD vs HANDLE usage in gnulib vs glib. Need
# to find a way to duplicate a socket HANDLE before
# turning it into a FD, since closing an FD also closes
# the original HANDLE.

# -> GSocket
gnulib_modules="$gnulib_modules accept"
# -> GSocket
gnulib_modules="$gnulib_modules bind"
# -> conditional build to avoid Win32
gnulib_modules="$gnulib_modules chown"
# -> GSocket
gnulib_modules="$gnulib_modules close"
# -> GSocket
gnulib_modules="$gnulib_modules connect"
# -> Meson
gnulib_modules="$gnulib_modules configmake"
# -> eliminate usage in some manner
gnulib_modules="$gnulib_modules environ"
# -> GSocket
gnulib_modules="$gnulib_modules fcntl"
# -> conditional build avoid win32
gnulib_modules="$gnulib_modules fcntl-h"
# -> GSocket
gnulib_modules="$gnulib_modules getaddrinfo"
# -> copy gnuliub win32 impl
gnulib_modules="$gnulib_modules getpass"
# -> GSocket
gnulib_modules="$gnulib_modules getpeername"
# -> GSocket
gnulib_modules="$gnulib_modules getsockname"
# -> copy gnulib STRBUFLEN macro
gnulib_modules="$gnulib_modules intprops"
# -> GSocket
gnulib_modules="$gnulib_modules ioctl"
# -> Meson
gnulib_modules="$gnulib_modules largefile"
# -> GSocket
gnulib_modules="$gnulib_modules listen"
# -> custom configure check
gnulib_modules="$gnulib_modules localeconv"
# -> Meson
gnulib_modules="$gnulib_modules manywarnings"
# -> painful copy gnulib
gnulib_modules="$gnulib_modules mgetgroups"
# -> GSocket
gnulib_modules="$gnulib_modules net_if"
# -> GSocket
gnulib_modules="$gnulib_modules netdb"
# -> GSocket
gnulib_modules="$gnulib_modules nonblocking"
# -> Just add -lutil to cli
gnulib_modules="$gnulib_modules openpty"
# -> GSocket
gnulib_modules="$gnulib_modules passfd"
# -> open code / copy gnulib code
gnulib_modules="$gnulib_modules physmem"
# -> open code / conditional comp
gnulib_modules="$gnulib_modules pipe-posix"
# -> open code / conditional comp
gnulib_modules="$gnulib_modules pipe2"
# -> GMainLoop
gnulib_modules="$gnulib_modules poll"
# -> Meson
gnulib_modules="$gnulib_modules posix-shell"
# -> open code conditional logic
gnulib_modules="$gnulib_modules pthread_sigmask"
# -> GSocket
gnulib_modules="$gnulib_modules recv"
# -> GSocket
gnulib_modules="$gnulib_modules send"
# -> GSocket
gnulib_modules="$gnulib_modules setsockopt"
# -> open code conditional logic
gnulib_modules="$gnulib_modules sigaction"
# -> open code conditional logic
gnulib_modules="$gnulib_modules sigpipe"
# -> GSocket
gnulib_modules="$gnulib_modules socket"
# -> open code conditional or use GIO GFileInfo
gnulib_modules="$gnulib_modules stat-time"
# -> remove use or open-code it. possibly add to glib
gnulib_modules="$gnulib_modules strchrnul"
# -> g_strsplit
gnulib_modules="$gnulib_modules strtok_r"
# -> remove sys/stat.h include from any win32 code paths
gnulib_modules="$gnulib_modules sys_stat"
# -> remove sys/wait.h include from any win32 code paths
gnulib_modules="$gnulib_modules sys_wait"
# -> remove from any win32 code paths
gnulib_modules="$gnulib_modules termios"
# -> GDateTime ?
gnulib_modules="$gnulib_modules time_r"
# -> obsolete - exists on Linux, MacOS >= ?? & FreeBSD >= 6
gnulib_modules="$gnulib_modules ttyname_r"
# -> g_get_os_info in GLib 2.64 but can't use that yet
gnulib_modules="$gnulib_modules uname"
# -> G_STATIC_ASSERT
gnulib_modules="$gnulib_modules verify"
# -> remove from Win32 code paths
gnulib_modules="$gnulib_modules waitpid"
# -> Meson
gnulib_modules="$gnulib_modules warnings"
# -> open code impl
gnulib_modules="$gnulib_modules wcwidth"

SKIP_PO=true

# Enable copy-mode for MSYS/MinGW. MSYS' ln doesn't work well in the way
# bootstrap uses it with relative paths.
if test -n "$MSYSTEM"; then
    copy=true
fi


# Tell gnulib to:
#   require LGPLv2+
#   apply any local diffs in gnulib/local/ dir
#   put *.m4 files in m4/ dir
#   put *.[ch] files in new gnulib/lib/ dir
#   import gnulib tests in new gnulib/tests/ dir
gnulib_name=libgnu
m4_base=m4
source_base=gnulib/lib
tests_base=gnulib/tests
gnulib_tool_option_extras="\
 --lgpl=2\
 --with-tests\
 --makefile-name=gnulib.mk\
 --avoid=pt_chown\
 --avoid=lock-tests\
"
local_gl_dir=gnulib/local

# Build prerequisites
# Note that some of these programs are only required for 'make dist' to
# succeed from a fresh git checkout; not all of these programs are
# required to run 'make dist' on a tarball.
buildreq="\
autoconf   2.59
automake   1.9.6
git        1.5.5
gzip       -
libtool    -
patch      -
perl       5.5
pkg-config -
rpcgen     -
tar        -
xmllint	   -
xsltproc   -
"

# Automake requires that AUTHORS exist.
touch AUTHORS || exit 1

# Override bootstrap's list - we don't use mdate-sh or texinfo.tex.
gnulib_extra_files="
        build-aux/install-sh
        build-aux/depcomp
        build-aux/config.guess
        build-aux/config.sub
        doc/INSTALL
"


bootstrap_post_import_hook()
{
  # Change paths in gnulib/tests/gnulib.mk from "../../.." to "../..",
  # and make tests conditional by changing "TESTS" to "GNULIB_TESTS".
  m=gnulib/tests/gnulib.mk
  sed 's,\.\./\.\./\.\.,../..,g; s/^TESTS /GNULIB_TESTS /' $m > $m-t
  mv -f $m-t $m
}

bootstrap_epilogue()
{
    echo "$0: done.  Now you can run 'mkdir build && cd build && ../configure'."
    exit 0
}