xref: /OK3568_Linux_fs/buildroot/package/gdb/gdb.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun################################################################################
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# gdb
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun################################################################################
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunGDB_VERSION = $(call qstrip,$(BR2_GDB_VERSION))
8*4882a593SmuzhiyunGDB_SITE = $(BR2_GNU_MIRROR)/gdb
9*4882a593SmuzhiyunGDB_SOURCE = gdb-$(GDB_VERSION).tar.xz
10*4882a593Smuzhiyun
11*4882a593Smuzhiyunifeq ($(BR2_arc),y)
12*4882a593SmuzhiyunGDB_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(GDB_VERSION))
13*4882a593SmuzhiyunGDB_SOURCE = gdb-$(GDB_VERSION).tar.gz
14*4882a593SmuzhiyunGDB_FROM_GIT = y
15*4882a593Smuzhiyunendif
16*4882a593Smuzhiyun
17*4882a593SmuzhiyunGDB_LICENSE = GPL-2.0+, LGPL-2.0+, GPL-3.0+, LGPL-3.0+
18*4882a593SmuzhiyunGDB_LICENSE_FILES = COPYING COPYING.LIB COPYING3 COPYING3.LIB
19*4882a593SmuzhiyunGDB_CPE_ID_VENDOR = gnu
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun# Out of tree build is mandatory, so we create a 'build' subdirectory
22*4882a593Smuzhiyun# in the gdb sources, and build from there.
23*4882a593SmuzhiyunGDB_SUBDIR = build
24*4882a593Smuzhiyundefine GDB_CONFIGURE_SYMLINK
25*4882a593Smuzhiyun	mkdir -p $(@D)/$(GDB_SUBDIR)
26*4882a593Smuzhiyun	ln -sf ../configure $(@D)/$(GDB_SUBDIR)/configure
27*4882a593Smuzhiyunendef
28*4882a593SmuzhiyunGDB_PRE_CONFIGURE_HOOKS += GDB_CONFIGURE_SYMLINK
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun# For the host variant, we really want to build with XML support,
31*4882a593Smuzhiyun# which is needed to read XML descriptions of target architectures. We
32*4882a593Smuzhiyun# also need ncurses.
33*4882a593Smuzhiyun# As for libiberty, gdb may use a system-installed one if present, so
34*4882a593Smuzhiyun# we must ensure ours is installed first.
35*4882a593SmuzhiyunGDB_DEPENDENCIES = zlib
36*4882a593SmuzhiyunHOST_GDB_DEPENDENCIES = host-expat host-libiberty host-ncurses host-zlib
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun# Disable building documentation
39*4882a593SmuzhiyunGDB_MAKE_OPTS += MAKEINFO=true
40*4882a593SmuzhiyunGDB_INSTALL_TARGET_OPTS += MAKEINFO=true DESTDIR=$(TARGET_DIR) install
41*4882a593SmuzhiyunHOST_GDB_MAKE_OPTS += MAKEINFO=true
42*4882a593SmuzhiyunHOST_GDB_INSTALL_OPTS += MAKEINFO=true install
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun# Apply the Xtensa specific patches
45*4882a593Smuzhiyunifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
46*4882a593Smuzhiyundefine GDB_XTENSA_OVERLAY_EXTRACT
47*4882a593Smuzhiyun	$(call arch-xtensa-overlay-extract,$(@D),gdb)
48*4882a593Smuzhiyunendef
49*4882a593SmuzhiyunGDB_POST_EXTRACT_HOOKS += GDB_XTENSA_OVERLAY_EXTRACT
50*4882a593SmuzhiyunGDB_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL)
51*4882a593SmuzhiyunHOST_GDB_POST_EXTRACT_HOOKS += GDB_XTENSA_OVERLAY_EXTRACT
52*4882a593SmuzhiyunHOST_GDB_EXTRA_DOWNLOADS += $(ARCH_XTENSA_OVERLAY_URL)
53*4882a593Smuzhiyunendif
54*4882a593Smuzhiyun
55*4882a593Smuzhiyunifeq ($(GDB_FROM_GIT),y)
56*4882a593SmuzhiyunGDB_DEPENDENCIES += host-flex host-bison
57*4882a593SmuzhiyunHOST_GDB_DEPENDENCIES += host-flex host-bison
58*4882a593Smuzhiyunendif
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun# All newer versions of GDB need host-gmp, so it's only for older
61*4882a593Smuzhiyun# versions that the dependency can be avoided.
62*4882a593Smuzhiyunifeq ($(BR2_GDB_VERSION_10)$(BR2_arc),)
63*4882a593SmuzhiyunHOST_GDB_DEPENDENCIES += host-gmp
64*4882a593Smuzhiyunendif
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun# When gdb sources are fetched from the binutils-gdb repository, they
67*4882a593Smuzhiyun# also contain the binutils sources, but binutils shouldn't be built,
68*4882a593Smuzhiyun# so we disable it (additionally the option --disable-install-libbfd
69*4882a593Smuzhiyun# prevents the un-wanted installation of libobcodes.so and libbfd.so).
70*4882a593SmuzhiyunGDB_DISABLE_BINUTILS_CONF_OPTS = \
71*4882a593Smuzhiyun	--disable-binutils \
72*4882a593Smuzhiyun	--disable-install-libbfd \
73*4882a593Smuzhiyun	--disable-ld \
74*4882a593Smuzhiyun	--disable-gas \
75*4882a593Smuzhiyun	--disable-gprof
76*4882a593Smuzhiyun
77*4882a593SmuzhiyunGDB_CONF_ENV = \
78*4882a593Smuzhiyun	ac_cv_type_uintptr_t=yes \
79*4882a593Smuzhiyun	gt_cv_func_gettext_libintl=yes \
80*4882a593Smuzhiyun	ac_cv_func_dcgettext=yes \
81*4882a593Smuzhiyun	gdb_cv_func_sigsetjmp=yes \
82*4882a593Smuzhiyun	bash_cv_func_strcoll_broken=no \
83*4882a593Smuzhiyun	bash_cv_must_reinstall_sighandlers=no \
84*4882a593Smuzhiyun	bash_cv_func_sigsetjmp=present \
85*4882a593Smuzhiyun	bash_cv_have_mbstate_t=yes \
86*4882a593Smuzhiyun	gdb_cv_func_sigsetjmp=yes
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun# Starting with gdb 7.11, the bundled gnulib tries to use
89*4882a593Smuzhiyun# rpl_gettimeofday (gettimeofday replacement) due to the code being
90*4882a593Smuzhiyun# unable to determine if the replacement function should be used or
91*4882a593Smuzhiyun# not when cross-compiling with uClibc or musl as C libraries. So use
92*4882a593Smuzhiyun# gl_cv_func_gettimeofday_clobber=no to not use rpl_gettimeofday,
93*4882a593Smuzhiyun# assuming musl and uClibc have a properly working gettimeofday
94*4882a593Smuzhiyun# implementation. It needs to be passed to GDB_CONF_ENV to build
95*4882a593Smuzhiyun# gdbserver only but also to GDB_MAKE_ENV, because otherwise it does
96*4882a593Smuzhiyun# not get passed to the configure script of nested packages while
97*4882a593Smuzhiyun# building gdbserver with full debugger.
98*4882a593SmuzhiyunGDB_CONF_ENV += gl_cv_func_gettimeofday_clobber=no
99*4882a593SmuzhiyunGDB_MAKE_ENV += gl_cv_func_gettimeofday_clobber=no
100*4882a593Smuzhiyun
101*4882a593Smuzhiyun# Similarly, starting with gdb 8.1, the bundled gnulib tries to use
102*4882a593Smuzhiyun# rpl_strerror. Let's tell gnulib the C library implementation works
103*4882a593Smuzhiyun# well enough.
104*4882a593SmuzhiyunGDB_CONF_ENV += \
105*4882a593Smuzhiyun	gl_cv_func_working_strerror=yes \
106*4882a593Smuzhiyun	gl_cv_func_strerror_0_works=yes
107*4882a593SmuzhiyunGDB_MAKE_ENV += \
108*4882a593Smuzhiyun	gl_cv_func_working_strerror=yes \
109*4882a593Smuzhiyun	gl_cv_func_strerror_0_works=yes
110*4882a593Smuzhiyun
111*4882a593Smuzhiyun# Starting with glibc 2.25, the proc_service.h header has been copied
112*4882a593Smuzhiyun# from gdb to glibc so other tools can use it. However, that makes it
113*4882a593Smuzhiyun# necessary to make sure that declaration of prfpregset_t declaration
114*4882a593Smuzhiyun# is consistent between gdb and glibc. In gdb, however, there is a
115*4882a593Smuzhiyun# workaround for a broken prfpregset_t declaration in glibc 2.3 which
116*4882a593Smuzhiyun# uses AC_TRY_RUN to detect if it's needed, which doesn't work in
117*4882a593Smuzhiyun# cross-compilation. So pass the cache option to configure.
118*4882a593Smuzhiyun# It needs to be passed to GDB_CONF_ENV to build gdbserver only but
119*4882a593Smuzhiyun# also to GDB_MAKE_ENV, because otherwise it does not get passed to the
120*4882a593Smuzhiyun# configure script of nested packages while building gdbserver with full
121*4882a593Smuzhiyun# debugger.
122*4882a593SmuzhiyunGDB_CONF_ENV += gdb_cv_prfpregset_t_broken=no
123*4882a593SmuzhiyunGDB_MAKE_ENV += gdb_cv_prfpregset_t_broken=no
124*4882a593Smuzhiyun
125*4882a593Smuzhiyun# The shared only build is not supported by gdb, so enable static build for
126*4882a593Smuzhiyun# build-in libraries with --enable-static.
127*4882a593SmuzhiyunGDB_CONF_OPTS = \
128*4882a593Smuzhiyun	--without-uiout \
129*4882a593Smuzhiyun	--disable-gdbtk \
130*4882a593Smuzhiyun	--without-x \
131*4882a593Smuzhiyun	--disable-sim \
132*4882a593Smuzhiyun	$(GDB_DISABLE_BINUTILS_CONF_OPTS) \
133*4882a593Smuzhiyun	--without-included-gettext \
134*4882a593Smuzhiyun	--with-system-zlib \
135*4882a593Smuzhiyun	--disable-werror \
136*4882a593Smuzhiyun	--enable-static \
137*4882a593Smuzhiyun	--without-mpfr
138*4882a593Smuzhiyun
139*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_GDB_DEBUGGER),y)
140*4882a593SmuzhiyunGDB_CONF_OPTS += \
141*4882a593Smuzhiyun	--enable-gdb \
142*4882a593Smuzhiyun	--with-curses
143*4882a593SmuzhiyunGDB_DEPENDENCIES += ncurses \
144*4882a593Smuzhiyun	$(if $(BR2_PACKAGE_LIBICONV),libiconv)
145*4882a593Smuzhiyunelse
146*4882a593SmuzhiyunGDB_CONF_OPTS += \
147*4882a593Smuzhiyun	--disable-gdb \
148*4882a593Smuzhiyun	--without-curses
149*4882a593Smuzhiyunendif
150*4882a593Smuzhiyun
151*4882a593Smuzhiyun# Starting from GDB 11.x, gmp is needed as a dependency to build full
152*4882a593Smuzhiyun# gdb. So we avoid the dependency only for GDB 10.x and the special
153*4882a593Smuzhiyun# version used on ARC.
154*4882a593Smuzhiyunifeq ($(BR2_GDB_VERSION_10)$(BR2_arc):$(BR2_PACKAGE_GDB_DEBUGGER),:y)
155*4882a593SmuzhiyunGDB_CONF_OPTS += \
156*4882a593Smuzhiyun	--with-libgmp-prefix=$(STAGING_DIR)/usr
157*4882a593SmuzhiyunGDB_DEPENDENCIES += gmp
158*4882a593Smuzhiyun
159*4882a593Smuzhiyunifneq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_GDB_STATIC),)
160*4882a593SmuzhiyunGDB_CONF_OPTS += --with-libgmp-type=static
161*4882a593Smuzhiyunendif
162*4882a593Smuzhiyunendif
163*4882a593Smuzhiyun
164*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_GDB_SERVER),y)
165*4882a593SmuzhiyunGDB_CONF_OPTS += --enable-gdbserver
166*4882a593SmuzhiyunGDB_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES)
167*4882a593Smuzhiyunelse
168*4882a593SmuzhiyunGDB_CONF_OPTS += --disable-gdbserver
169*4882a593Smuzhiyunendif
170*4882a593Smuzhiyun
171*4882a593Smuzhiyun# When gdb is built as C++ application for ARC it segfaults at runtime
172*4882a593Smuzhiyun# So we pass --disable-build-with-cxx config option to force gdb not to
173*4882a593Smuzhiyun# be built as C++ app.
174*4882a593Smuzhiyunifeq ($(BR2_arc),y)
175*4882a593SmuzhiyunGDB_CONF_OPTS += --disable-build-with-cxx
176*4882a593Smuzhiyunendif
177*4882a593Smuzhiyun
178*4882a593Smuzhiyun# gdb 7.12+ by default builds with a C++ compiler, which doesn't work
179*4882a593Smuzhiyun# when we don't have C++ support in the toolchain
180*4882a593Smuzhiyunifneq ($(BR2_INSTALL_LIBSTDCPP),y)
181*4882a593SmuzhiyunGDB_CONF_OPTS += --disable-build-with-cxx
182*4882a593Smuzhiyunendif
183*4882a593Smuzhiyun
184*4882a593Smuzhiyun# inprocess-agent can't be built statically
185*4882a593Smuzhiyunifneq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_GDB_STATIC),)
186*4882a593SmuzhiyunGDB_CONF_OPTS += --disable-inprocess-agent
187*4882a593Smuzhiyunendif
188*4882a593Smuzhiyun
189*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_GDB_TUI),y)
190*4882a593SmuzhiyunGDB_CONF_OPTS += --enable-tui
191*4882a593Smuzhiyunelse
192*4882a593SmuzhiyunGDB_CONF_OPTS += --disable-tui
193*4882a593Smuzhiyunendif
194*4882a593Smuzhiyun
195*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_GDB_PYTHON),y)
196*4882a593Smuzhiyun# CONF_ENV: for top-level configure; MAKE_ENV: for sub-projects' configure.
197*4882a593SmuzhiyunGDB_CONF_ENV += BR_PYTHON_VERSION=$(PYTHON3_VERSION_MAJOR)
198*4882a593SmuzhiyunGDB_MAKE_ENV += BR_PYTHON_VERSION=$(PYTHON3_VERSION_MAJOR)
199*4882a593SmuzhiyunGDB_DEPENDENCIES += python3
200*4882a593SmuzhiyunGDB_CONF_OPTS += --with-python=$(TOPDIR)/package/gdb/gdb-python-config
201*4882a593Smuzhiyunelse
202*4882a593SmuzhiyunGDB_CONF_OPTS += --without-python
203*4882a593Smuzhiyunendif
204*4882a593Smuzhiyun
205*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_EXPAT),y)
206*4882a593SmuzhiyunGDB_CONF_OPTS += --with-expat
207*4882a593SmuzhiyunGDB_CONF_OPTS += --with-libexpat-prefix=$(STAGING_DIR)/usr
208*4882a593SmuzhiyunGDB_DEPENDENCIES += expat
209*4882a593Smuzhiyunelse
210*4882a593SmuzhiyunGDB_CONF_OPTS += --without-expat
211*4882a593Smuzhiyunendif
212*4882a593Smuzhiyun
213*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_XZ),y)
214*4882a593SmuzhiyunGDB_CONF_OPTS += --with-lzma
215*4882a593SmuzhiyunGDB_CONF_OPTS += --with-liblzma-prefix=$(STAGING_DIR)/usr
216*4882a593SmuzhiyunGDB_DEPENDENCIES += xz
217*4882a593Smuzhiyun
218*4882a593Smuzhiyunifneq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_GDB_STATIC),)
219*4882a593SmuzhiyunGDB_CONF_OPTS += --with-liblzma-type=static
220*4882a593Smuzhiyunendif
221*4882a593Smuzhiyun
222*4882a593Smuzhiyunelse
223*4882a593SmuzhiyunGDB_CONF_OPTS += --without-lzma
224*4882a593Smuzhiyunendif
225*4882a593Smuzhiyun
226*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_GDB_STATIC),y)
227*4882a593SmuzhiyunGDB_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -static"
228*4882a593SmuzhiyunGDB_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -static"
229*4882a593SmuzhiyunGDB_CONF_ENV += FCFLAGS="$(TARGET_FCFLAGS) -static"
230*4882a593SmuzhiyunGDB_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -static"
231*4882a593SmuzhiyunGDB_CONF_OPTS += --disable-shared
232*4882a593SmuzhiyunGDB_CONF_OPTS += --without-expat
233*4882a593Smuzhiyunendif
234*4882a593Smuzhiyun
235*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_GDB_PYTHON),)
236*4882a593Smuzhiyun# This removes some unneeded Python scripts and XML target description
237*4882a593Smuzhiyun# files that are not useful for a normal usage of the debugger.
238*4882a593Smuzhiyundefine GDB_REMOVE_UNNEEDED_FILES
239*4882a593Smuzhiyun	$(RM) -rf $(TARGET_DIR)/usr/share/gdb
240*4882a593Smuzhiyunendef
241*4882a593Smuzhiyun
242*4882a593SmuzhiyunGDB_POST_INSTALL_TARGET_HOOKS += GDB_REMOVE_UNNEEDED_FILES
243*4882a593Smuzhiyunendif
244*4882a593Smuzhiyun
245*4882a593Smuzhiyun# This installs the gdbserver somewhere into the $(HOST_DIR) so that
246*4882a593Smuzhiyun# it becomes an integral part of the SDK, if the toolchain generated
247*4882a593Smuzhiyun# by Buildroot is later used as an external toolchain. We install it
248*4882a593Smuzhiyun# in debug-root/usr/bin/gdbserver so that it matches what Crosstool-NG
249*4882a593Smuzhiyun# does.
250*4882a593Smuzhiyundefine GDB_SDK_INSTALL_GDBSERVER
251*4882a593Smuzhiyun	$(INSTALL) -D -m 0755 $(TARGET_DIR)/usr/bin/gdbserver \
252*4882a593Smuzhiyun		$(HOST_DIR)/$(GNU_TARGET_NAME)/debug-root/usr/bin/gdbserver
253*4882a593Smuzhiyunendef
254*4882a593Smuzhiyun
255*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_GDB_SERVER),y)
256*4882a593SmuzhiyunGDB_POST_INSTALL_TARGET_HOOKS += GDB_SDK_INSTALL_GDBSERVER
257*4882a593Smuzhiyunendif
258*4882a593Smuzhiyun
259*4882a593Smuzhiyun# A few notes:
260*4882a593Smuzhiyun#  * --target, because we're doing a cross build rather than a real
261*4882a593Smuzhiyun#    host build.
262*4882a593Smuzhiyun#  * --enable-static because gdb really wants to use libbfd.a
263*4882a593SmuzhiyunHOST_GDB_CONF_OPTS = \
264*4882a593Smuzhiyun	--target=$(GNU_TARGET_NAME) \
265*4882a593Smuzhiyun	--enable-static \
266*4882a593Smuzhiyun	--without-uiout \
267*4882a593Smuzhiyun	--disable-gdbtk \
268*4882a593Smuzhiyun	--without-x \
269*4882a593Smuzhiyun	--enable-threads \
270*4882a593Smuzhiyun	--disable-werror \
271*4882a593Smuzhiyun	--without-included-gettext \
272*4882a593Smuzhiyun	--with-system-zlib \
273*4882a593Smuzhiyun	--with-curses \
274*4882a593Smuzhiyun	--without-mpfr \
275*4882a593Smuzhiyun	$(GDB_DISABLE_BINUTILS_CONF_OPTS)
276*4882a593Smuzhiyun
277*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_HOST_GDB_TUI),y)
278*4882a593SmuzhiyunHOST_GDB_CONF_OPTS += --enable-tui
279*4882a593Smuzhiyunelse
280*4882a593SmuzhiyunHOST_GDB_CONF_OPTS += --disable-tui
281*4882a593Smuzhiyunendif
282*4882a593Smuzhiyun
283*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_HOST_GDB_PYTHON3),y)
284*4882a593SmuzhiyunHOST_GDB_CONF_OPTS += --with-python=$(HOST_DIR)/bin/python3
285*4882a593SmuzhiyunHOST_GDB_DEPENDENCIES += host-python3
286*4882a593Smuzhiyunelse
287*4882a593SmuzhiyunHOST_GDB_CONF_OPTS += --without-python
288*4882a593Smuzhiyunendif
289*4882a593Smuzhiyun
290*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_HOST_GDB_SIM),y)
291*4882a593SmuzhiyunHOST_GDB_CONF_OPTS += --enable-sim
292*4882a593Smuzhiyunelse
293*4882a593SmuzhiyunHOST_GDB_CONF_OPTS += --disable-sim
294*4882a593Smuzhiyunendif
295*4882a593Smuzhiyun
296*4882a593Smuzhiyun# Since gdb 9, in-tree builds for GDB are not allowed anymore,
297*4882a593Smuzhiyun# so we create a 'build' subdirectory in the gdb sources, and
298*4882a593Smuzhiyun# build from there.
299*4882a593SmuzhiyunHOST_GDB_SUBDIR = build
300*4882a593Smuzhiyun
301*4882a593Smuzhiyundefine HOST_GDB_CONFIGURE_SYMLINK
302*4882a593Smuzhiyun	mkdir -p $(@D)/build
303*4882a593Smuzhiyun	ln -sf ../configure $(@D)/build/configure
304*4882a593Smuzhiyunendef
305*4882a593SmuzhiyunHOST_GDB_PRE_CONFIGURE_HOOKS += HOST_GDB_CONFIGURE_SYMLINK
306*4882a593Smuzhiyun
307*4882a593Smuzhiyun# legacy $arch-linux-gdb symlink
308*4882a593Smuzhiyundefine HOST_GDB_ADD_SYMLINK
309*4882a593Smuzhiyun	cd $(HOST_DIR)/bin && \
310*4882a593Smuzhiyun		ln -snf $(GNU_TARGET_NAME)-gdb $(ARCH)-linux-gdb
311*4882a593Smuzhiyunendef
312*4882a593Smuzhiyun
313*4882a593SmuzhiyunHOST_GDB_POST_INSTALL_HOOKS += HOST_GDB_ADD_SYMLINK
314*4882a593Smuzhiyun
315*4882a593SmuzhiyunHOST_GDB_POST_INSTALL_HOOKS += gen_gdbinit_file
316*4882a593Smuzhiyun
317*4882a593Smuzhiyun$(eval $(autotools-package))
318*4882a593Smuzhiyun$(eval $(host-autotools-package))
319