@@ -51,6 +51,17 @@ function set_compliation_variables() {
51
51
export CXXFLAGS=" -O2"
52
52
}
53
53
54
+ function set_ncurses_link_variables() {
55
+ # Set up ncurses library link variables
56
+ #
57
+ # Parameters:
58
+ # $1: ncursesw build dir
59
+ local ncursesw_build_dir=" $1 "
60
+
61
+ # Allow tui mode by adding our custom built static ncursesw library to the linker search path.
62
+ export LDFLAGS=" -L$ncursesw_build_dir /lib $LDFLAGS "
63
+ }
64
+
54
65
function build_iconv() {
55
66
# Build libiconv.
56
67
#
@@ -152,6 +163,51 @@ function build_libgmp() {
152
163
popd > /dev/null
153
164
}
154
165
166
+ function build_ncurses() {
167
+ # Build libncursesw.
168
+ #
169
+ # Parameters:
170
+ # $1: libncursesw package directory
171
+ # $2: target architecture
172
+ #
173
+ # Echoes:
174
+ # The libncursesw build directory
175
+ #
176
+ # Returns:
177
+ # 0: success
178
+ # 1: failure
179
+ local ncurses_dir=" $1 "
180
+ local target_arch=" $2 "
181
+ local ncurses_build_dir=" $( realpath " $ncurses_dir /build-$target_arch " ) "
182
+
183
+ echo " $ncurses_build_dir "
184
+ mkdir -p " $ncurses_build_dir "
185
+
186
+ if [[ -f " $ncurses_build_dir /lib/libncursesw.a" ]]; then
187
+ >&2 echo " Skipping build: libncursesw already built for $target_arch "
188
+ return 0
189
+ fi
190
+
191
+ pushd " $ncurses_build_dir " > /dev/null
192
+
193
+ >&2 fancy_title " Building libncursesw for $target_arch "
194
+
195
+ ../configure --enable-static " CC=$CC " " CXX=$CXX " " --host=$HOST " \
196
+ " CFLAGS=$CFLAGS " " CXXFLAGS=$CXXFLAGS " " --enable-widec" 1>&2
197
+ if [[ $? -ne 0 ]]; then
198
+ return 1
199
+ fi
200
+
201
+ make -j$( nproc) 1>&2
202
+ if [[ $? -ne 0 ]]; then
203
+ return 1
204
+ fi
205
+
206
+ >&2 fancy_title " Finished building libncursesw for $target_arch "
207
+
208
+ popd > /dev/null
209
+ }
210
+
155
211
function build_libmpfr() {
156
212
# Build libmpfr.
157
213
#
@@ -242,7 +298,7 @@ function build_gdb() {
242
298
243
299
>&2 fancy_title " Building gdb for $target_arch "
244
300
245
- ../configure --enable-static --with-static-standard-libraries --disable-tui --disable-inprocess-agent \
301
+ ../configure --enable-static --enable-tui -- with-static-standard-libraries --disable-inprocess-agent \
246
302
" --with-libiconv-prefix=$libiconv_prefix " --with-libiconv-type=static \
247
303
" --with-gmp=$libgmp_prefix " \
248
304
" --with-mpfr=$libmpfr_prefix " \
@@ -367,6 +423,13 @@ function build_gdb_with_dependencies() {
367
423
return 1
368
424
fi
369
425
426
+ ncursesw_build_dir=" $( build_ncurses " $packages_dir /ncurses" " $target_arch " ) "
427
+ if [[ $? -ne 0 ]]; then
428
+ return 1
429
+ fi
430
+
431
+ set_ncurses_link_variables " $ncursesw_build_dir "
432
+
370
433
build_and_install_gdb " $packages_dir /gdb" \
371
434
" $iconv_build_dir /lib/.libs/" \
372
435
" $gmp_build_dir /.libs/" \
0 commit comments