Makefile.def 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715
  1. #! /usr/bin/autogen
  2. AutoGen definitions Makefile.tpl;
  3. // Makefile.in is generated from Makefile.tpl by 'autogen Makefile.def'.
  4. // This file was originally written by Nathanael Nerode.
  5. //
  6. // Copyright 2002-2021 Free Software Foundation
  7. //
  8. // This file is free software; you can redistribute it and/or modify
  9. // it under the terms of the GNU General Public License as published by
  10. // the Free Software Foundation; either version 3 of the License, or
  11. // (at your option) any later version.
  12. //
  13. // This program is distributed in the hope that it will be useful,
  14. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. // GNU General Public License for more details.
  17. //
  18. // You should have received a copy of the GNU General Public License
  19. // along with this program; see the file COPYING3. If not see
  20. // <http://www.gnu.org/licenses/>.
  21. // "missing" indicates that that module doesn't supply
  22. // that recursive target in its Makefile.
  23. build_modules= { module= libiberty; };
  24. build_modules= { module= bison; };
  25. build_modules= { module= flex; };
  26. build_modules= { module= m4; };
  27. build_modules= { module= texinfo; };
  28. build_modules= { module= fixincludes; };
  29. build_modules= { module= libcpp;
  30. extra_configure_flags='--disable-nls am_cv_func_iconv=no';};
  31. host_modules= { module= bfd; bootstrap=true; };
  32. host_modules= { module= opcodes; bootstrap=true; };
  33. host_modules= { module= binutils; bootstrap=true; };
  34. host_modules= { module= bison; no_check_cross= true; };
  35. host_modules= { module= cgen; };
  36. host_modules= { module= dejagnu; };
  37. host_modules= { module= etc; };
  38. host_modules= { module= fastjar; no_check_cross= true; };
  39. host_modules= { module= fixincludes; bootstrap=true;
  40. missing= TAGS;
  41. missing= install-dvi; };
  42. host_modules= { module= flex; no_check_cross= true; };
  43. host_modules= { module= gas; bootstrap=true; };
  44. host_modules= { module= gcc; bootstrap=true;
  45. extra_make_flags="$(EXTRA_GCC_FLAGS)"; };
  46. host_modules= { module= gmp; lib_path=.libs; bootstrap=true;
  47. // Work around in-tree gmp configure bug with missing flex.
  48. extra_configure_flags='--disable-shared LEX="touch lex.yy.c"';
  49. extra_make_flags='AM_CFLAGS="-DNO_ASM"';
  50. no_install= true;
  51. // none-*-* disables asm optimizations, bootstrap-testing
  52. // the compiler more thoroughly.
  53. host="none-${host_vendor}-${host_os}";
  54. // gmp's configure will complain if given anything
  55. // different from host for target.
  56. target="none-${host_vendor}-${host_os}"; };
  57. host_modules= { module= mpfr; lib_path=src/.libs; bootstrap=true;
  58. extra_configure_flags='--disable-shared @extra_mpfr_configure_flags@';
  59. extra_make_flags='AM_CFLAGS="-DNO_ASM"';
  60. no_install= true; };
  61. host_modules= { module= mpc; lib_path=src/.libs; bootstrap=true;
  62. extra_configure_flags='--disable-shared @extra_mpc_gmp_configure_flags@ @extra_mpc_mpfr_configure_flags@ --disable-maintainer-mode';
  63. no_install= true; };
  64. host_modules= { module= isl; lib_path=.libs; bootstrap=true;
  65. extra_configure_flags='--disable-shared @extra_isl_gmp_configure_flags@';
  66. extra_make_flags='V=1';
  67. no_install= true; };
  68. host_modules= { module= libelf; lib_path=.libs; bootstrap=true;
  69. extra_configure_flags='--disable-shared';
  70. no_install= true; };
  71. host_modules= { module= gold; bootstrap=true; };
  72. host_modules= { module= gprof; };
  73. host_modules= { module= intl; bootstrap=true; };
  74. host_modules= { module= tcl;
  75. missing=mostlyclean; };
  76. host_modules= { module= itcl; };
  77. host_modules= { module= ld; bootstrap=true; };
  78. host_modules= { module= libbacktrace; bootstrap=true; };
  79. host_modules= { module= libcpp; bootstrap=true; };
  80. // As with libiconv, don't install any of libcody
  81. host_modules= { module= libcody; bootstrap=true;
  82. no_install= true;
  83. missing= pdf;
  84. missing= html;
  85. missing= info;
  86. missing= dvi;
  87. missing= install-pdf;
  88. missing= install-html;
  89. missing= install-info;
  90. missing= install-dvi;
  91. missing=TAGS; };
  92. host_modules= { module= libdecnumber; bootstrap=true;
  93. missing=TAGS; };
  94. host_modules= { module= libgui; };
  95. host_modules= { module= libiberty; bootstrap=true;
  96. extra_configure_flags='@extra_host_libiberty_configure_flags@';};
  97. // Linker plugins may need their own build of libiberty; see
  98. // gcc/doc/install.texi. We take care that this build of libiberty doesn't get
  99. // installed. It's a helper library for linker plugins, so we pay attention to
  100. // @extra_linker_plugin_flags@ and @extra_linker_plugin_configure_flags@.
  101. host_modules= { module= libiberty-linker-plugin; bootstrap=true;
  102. module_srcdir=libiberty;
  103. extra_configure_flags='@extra_host_libiberty_configure_flags@ --disable-install-libiberty @extra_linker_plugin_flags@ @extra_linker_plugin_configure_flags@';
  104. extra_make_flags='@extra_linker_plugin_flags@'; };
  105. // We abuse missing to avoid installing anything for libiconv.
  106. host_modules= { module= libiconv;
  107. bootstrap=true;
  108. extra_configure_flags='--disable-shared';
  109. no_install= true;
  110. missing= pdf;
  111. missing= html;
  112. missing= info;
  113. missing= install-pdf;
  114. missing= install-html;
  115. missing= install-info; };
  116. host_modules= { module= m4; };
  117. host_modules= { module= readline; };
  118. host_modules= { module= sid; };
  119. host_modules= { module= sim; };
  120. host_modules= { module= texinfo; no_install= true; };
  121. host_modules= { module= zlib; no_install=true; no_check=true;
  122. bootstrap=true;
  123. extra_configure_flags='@extra_host_zlib_configure_flags@';};
  124. host_modules= { module= gnulib; };
  125. host_modules= { module= gdbsupport; };
  126. host_modules= { module= gdbserver; };
  127. host_modules= { module= gdb; };
  128. host_modules= { module= expect; };
  129. host_modules= { module= guile; };
  130. host_modules= { module= tk; };
  131. host_modules= { module= libtermcap; no_check=true;
  132. missing=mostlyclean;
  133. missing=clean;
  134. missing=distclean;
  135. missing=maintainer-clean; };
  136. host_modules= { module= utils; no_check=true; };
  137. host_modules= { module= c++tools;
  138. missing=TAGS; };
  139. host_modules= { module= gnattools; };
  140. host_modules= { module= lto-plugin; bootstrap=true;
  141. extra_configure_flags='--enable-shared @extra_linker_plugin_flags@ @extra_linker_plugin_configure_flags@';
  142. extra_make_flags='@extra_linker_plugin_flags@'; };
  143. host_modules= { module= libcc1; extra_configure_flags=--enable-shared; };
  144. host_modules= { module= gotools; };
  145. host_modules= { module= libctf; bootstrap=true; };
  146. target_modules = { module= libstdc++-v3;
  147. bootstrap=true;
  148. lib_path=src/.libs;
  149. raw_cxx=true; };
  150. target_modules = { module= libsanitizer;
  151. bootstrap=true;
  152. lib_path=.libs;
  153. raw_cxx=true; };
  154. target_modules = { module= libvtv;
  155. bootstrap=true;
  156. lib_path=.libs;
  157. raw_cxx=true; };
  158. target_modules = { module= liboffloadmic;
  159. lib_path=.libs;
  160. extra_configure_flags='@extra_liboffloadmic_configure_flags@'; };
  161. target_modules = { module= libssp; lib_path=.libs; };
  162. target_modules = { module= newlib; };
  163. target_modules = { module= libgcc; bootstrap=true; no_check=true;
  164. missing=TAGS;
  165. missing=install-dvi; };
  166. target_modules = { module= libbacktrace; bootstrap=true; };
  167. target_modules = { module= libquadmath; };
  168. target_modules = { module= libgfortran; };
  169. target_modules = { module= libobjc;
  170. missing=TAGS;
  171. missing=install-dvi; };
  172. target_modules = { module= libgo; };
  173. target_modules = { module= libphobos; bootstrap=true;
  174. lib_path=src/.libs; };
  175. target_modules = { module= libtermcap; no_check=true;
  176. missing=mostlyclean;
  177. missing=clean;
  178. missing=distclean;
  179. missing=maintainer-clean; };
  180. target_modules = { module= winsup; };
  181. target_modules = { module= libgloss; no_check=true; };
  182. target_modules = { module= libffi; no_install=true; };
  183. target_modules = { module= zlib; bootstrap=true; };
  184. target_modules = { module= rda; };
  185. target_modules = { module= libada; };
  186. target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; };
  187. target_modules = { module= libitm; lib_path=.libs; };
  188. target_modules = { module= libatomic; bootstrap=true; lib_path=.libs; };
  189. // These are (some of) the make targets to be done in each subdirectory.
  190. // Not all; these are the ones which don't have special options.
  191. // "depend" indicates that a target depends on another target uniformly
  192. // for each subdirectory. There can be several such lines per target.
  193. recursive_targets = { make_target= info;
  194. depend=configure; };
  195. recursive_targets = { make_target= dvi;
  196. depend=configure; };
  197. recursive_targets = { make_target= pdf;
  198. depend=configure; };
  199. recursive_targets = { make_target= html;
  200. depend=configure; };
  201. recursive_targets = { make_target= TAGS;
  202. depend=configure; };
  203. recursive_targets = { make_target= install-info;
  204. depend=configure;
  205. depend=info; };
  206. recursive_targets = { make_target= install-dvi;
  207. depend=configure;
  208. depend=dvi; };
  209. recursive_targets = { make_target= install-pdf;
  210. depend=configure;
  211. depend=pdf; };
  212. recursive_targets = { make_target= install-html;
  213. depend=configure;
  214. depend=html; };
  215. recursive_targets = { make_target= installcheck;
  216. depend=configure; };
  217. recursive_targets = { make_target= mostlyclean; };
  218. recursive_targets = { make_target= clean; };
  219. recursive_targets = { make_target= distclean; };
  220. recursive_targets = { make_target= maintainer-clean; };
  221. // Flags which need to be passed down.
  222. // Directories etc.
  223. flags_to_pass = { flag= DESTDIR ; };
  224. flags_to_pass = { flag= RPATH_ENVVAR ; };
  225. flags_to_pass = { flag= TARGET_SUBDIR ; };
  226. flags_to_pass = { flag= bindir ; };
  227. flags_to_pass = { flag= datadir ; };
  228. flags_to_pass = { flag= exec_prefix ; };
  229. flags_to_pass = { flag= includedir ; };
  230. flags_to_pass = { flag= datarootdir ; };
  231. flags_to_pass = { flag= docdir ; };
  232. flags_to_pass = { flag= infodir ; };
  233. flags_to_pass = { flag= pdfdir ; };
  234. flags_to_pass = { flag= htmldir ; };
  235. flags_to_pass = { flag= libdir ; };
  236. flags_to_pass = { flag= libexecdir ; };
  237. flags_to_pass = { flag= lispdir ; };
  238. flags_to_pass = { flag= localstatedir ; };
  239. flags_to_pass = { flag= mandir ; };
  240. flags_to_pass = { flag= oldincludedir ; };
  241. flags_to_pass = { flag= prefix ; };
  242. flags_to_pass = { flag= sbindir ; };
  243. flags_to_pass = { flag= sharedstatedir ; };
  244. flags_to_pass = { flag= sysconfdir ; };
  245. flags_to_pass = { flag= tooldir ; };
  246. flags_to_pass = { flag= build_tooldir ; };
  247. flags_to_pass = { flag= target_alias ; };
  248. // Build tools
  249. flags_to_pass = { flag= AWK ; };
  250. flags_to_pass = { flag= BISON ; };
  251. flags_to_pass = { flag= CC_FOR_BUILD ; };
  252. flags_to_pass = { flag= CFLAGS_FOR_BUILD ; };
  253. flags_to_pass = { flag= CXX_FOR_BUILD ; };
  254. flags_to_pass = { flag= EXPECT ; };
  255. flags_to_pass = { flag= FLEX ; };
  256. flags_to_pass = { flag= INSTALL ; };
  257. flags_to_pass = { flag= INSTALL_DATA ; };
  258. flags_to_pass = { flag= INSTALL_PROGRAM ; };
  259. flags_to_pass = { flag= INSTALL_SCRIPT ; };
  260. flags_to_pass = { flag= LDFLAGS_FOR_BUILD ; };
  261. flags_to_pass = { flag= LEX ; };
  262. flags_to_pass = { flag= M4 ; };
  263. flags_to_pass = { flag= MAKE ; };
  264. flags_to_pass = { flag= RUNTEST ; };
  265. flags_to_pass = { flag= RUNTESTFLAGS ; };
  266. flags_to_pass = { flag= SED ; };
  267. flags_to_pass = { flag= SHELL ; };
  268. flags_to_pass = { flag= YACC ; };
  269. // Host tools
  270. flags_to_pass = { flag= ADAFLAGS ; optional=true ; };
  271. flags_to_pass = { flag= ADA_CFLAGS ; };
  272. flags_to_pass = { flag= AR_FLAGS ; };
  273. flags_to_pass = { flag= BOOT_ADAFLAGS ; optional=true ; };
  274. flags_to_pass = { flag= BOOT_CFLAGS ; };
  275. flags_to_pass = { flag= BOOT_LDFLAGS ; };
  276. flags_to_pass = { flag= CFLAGS ; };
  277. flags_to_pass = { flag= CXXFLAGS ; };
  278. flags_to_pass = { flag= LDFLAGS ; };
  279. flags_to_pass = { flag= LIBCFLAGS ; };
  280. flags_to_pass = { flag= LIBCXXFLAGS ; };
  281. flags_to_pass = { flag= STAGE1_CHECKING ; };
  282. flags_to_pass = { flag= STAGE1_LANGUAGES ; };
  283. flags_to_pass = { flag= GNATBIND ; };
  284. flags_to_pass = { flag= GNATMAKE ; };
  285. flags_to_pass = { flag= GDC ; };
  286. flags_to_pass = { flag= GDCFLAGS ; };
  287. // Target tools
  288. flags_to_pass = { flag= AR_FOR_TARGET ; };
  289. flags_to_pass = { flag= AS_FOR_TARGET ; };
  290. flags_to_pass = { flag= CC_FOR_TARGET ; };
  291. flags_to_pass = { flag= CFLAGS_FOR_TARGET ; };
  292. flags_to_pass = { flag= CPPFLAGS_FOR_TARGET ; };
  293. flags_to_pass = { flag= CXXFLAGS_FOR_TARGET ; };
  294. flags_to_pass = { flag= DLLTOOL_FOR_TARGET ; };
  295. flags_to_pass = { flag= DSYMUTIL_FOR_TARGET ; };
  296. flags_to_pass = { flag= FLAGS_FOR_TARGET ; };
  297. flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; };
  298. flags_to_pass = { flag= GOC_FOR_TARGET ; };
  299. flags_to_pass = { flag= GOCFLAGS_FOR_TARGET ; };
  300. flags_to_pass = { flag= GDC_FOR_TARGET ; };
  301. flags_to_pass = { flag= GDCFLAGS_FOR_TARGET ; };
  302. flags_to_pass = { flag= LD_FOR_TARGET ; };
  303. flags_to_pass = { flag= LIPO_FOR_TARGET ; };
  304. flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; };
  305. flags_to_pass = { flag= LIBCFLAGS_FOR_TARGET ; };
  306. flags_to_pass = { flag= LIBCXXFLAGS_FOR_TARGET ; };
  307. flags_to_pass = { flag= NM_FOR_TARGET ; };
  308. flags_to_pass = { flag= OBJDUMP_FOR_TARGET ; };
  309. flags_to_pass = { flag= OBJCOPY_FOR_TARGET ; };
  310. flags_to_pass = { flag= RANLIB_FOR_TARGET ; };
  311. flags_to_pass = { flag= READELF_FOR_TARGET ; };
  312. flags_to_pass = { flag= STRIP_FOR_TARGET ; };
  313. flags_to_pass = { flag= WINDRES_FOR_TARGET ; };
  314. flags_to_pass = { flag= WINDMC_FOR_TARGET ; };
  315. // Miscellaneous
  316. flags_to_pass = { flag= BUILD_CONFIG ; };
  317. flags_to_pass = { flag= LANGUAGES ; optional=true ; };
  318. flags_to_pass = { flag= LEAN ; };
  319. // Inter-module dependencies
  320. // Build modules
  321. dependencies = { module=all-build-bison; on=all-build-texinfo; };
  322. dependencies = { module=all-build-flex; on=all-build-texinfo; };
  323. dependencies = { module=all-build-flex; on=all-build-bison; };
  324. dependencies = { module=all-build-flex; on=all-build-m4; };
  325. dependencies = { module=all-build-libiberty; on=all-build-texinfo; };
  326. dependencies = { module=all-build-m4; on=all-build-texinfo; };
  327. dependencies = { module=all-build-fixincludes; on=all-build-libiberty; };
  328. dependencies = { module=all-build-libcpp; on=all-build-libiberty; };
  329. // Host modules specific to gcc.
  330. dependencies = { module=configure-gcc; on=configure-intl; };
  331. dependencies = { module=configure-gcc; on=all-gmp; };
  332. dependencies = { module=configure-gcc; on=all-mpfr; };
  333. dependencies = { module=configure-gcc; on=all-mpc; };
  334. dependencies = { module=configure-gcc; on=all-isl; };
  335. dependencies = { module=configure-gcc; on=all-lto-plugin; };
  336. dependencies = { module=configure-gcc; on=all-binutils; };
  337. dependencies = { module=configure-gcc; on=all-gas; };
  338. dependencies = { module=configure-gcc; on=all-ld; };
  339. dependencies = { module=configure-gcc; on=all-gold; };
  340. dependencies = { module=configure-gcc; on=all-libelf; };
  341. dependencies = { module=configure-gcc; on=all-libiconv; };
  342. dependencies = { module=all-gcc; on=all-libiberty; hard=true; };
  343. dependencies = { module=all-gcc; on=all-intl; };
  344. dependencies = { module=all-gcc; on=all-mpfr; };
  345. dependencies = { module=all-gcc; on=all-mpc; };
  346. dependencies = { module=all-gcc; on=all-isl; };
  347. dependencies = { module=all-gcc; on=all-build-texinfo; };
  348. dependencies = { module=all-gcc; on=all-build-bison; };
  349. dependencies = { module=all-gcc; on=all-build-flex; };
  350. dependencies = { module=all-gcc; on=all-build-libiberty; };
  351. dependencies = { module=all-gcc; on=all-build-fixincludes; };
  352. dependencies = { module=all-gcc; on=all-build-libcpp; };
  353. dependencies = { module=all-gcc; on=all-zlib; };
  354. dependencies = { module=all-gcc; on=all-libbacktrace; hard=true; };
  355. dependencies = { module=all-gcc; on=all-libcpp; hard=true; };
  356. dependencies = { module=all-gcc; on=all-libcody; hard=true; };
  357. dependencies = { module=all-gcc; on=all-libdecnumber; hard=true; };
  358. dependencies = { module=all-gcc; on=all-libiberty; };
  359. dependencies = { module=all-gcc; on=all-fixincludes; };
  360. dependencies = { module=all-gcc; on=all-lto-plugin; };
  361. dependencies = { module=all-gcc; on=all-libiconv; };
  362. dependencies = { module=info-gcc; on=all-build-libiberty; };
  363. dependencies = { module=dvi-gcc; on=all-build-libiberty; };
  364. dependencies = { module=pdf-gcc; on=all-build-libiberty; };
  365. dependencies = { module=html-gcc; on=all-build-libiberty; };
  366. dependencies = { module=install-gcc ; on=install-fixincludes; };
  367. dependencies = { module=install-gcc ; on=install-lto-plugin; };
  368. dependencies = { module=install-strip-gcc ; on=install-strip-fixincludes; };
  369. dependencies = { module=install-strip-gcc ; on=install-strip-lto-plugin; };
  370. dependencies = { module=configure-libcpp; on=configure-libiberty; hard=true; };
  371. dependencies = { module=configure-libcpp; on=configure-intl; };
  372. dependencies = { module=configure-libcpp; on=all-libiconv; };
  373. dependencies = { module=all-libcpp; on=all-libiberty; hard=true; };
  374. dependencies = { module=all-libcpp; on=all-intl; };
  375. dependencies = { module=all-libcpp; on=all-libiconv; };
  376. dependencies = { module=all-fixincludes; on=all-libiberty; };
  377. dependencies = { module=all-gnattools; on=all-target-libada; };
  378. dependencies = { module=all-gnattools; on=all-target-libstdc++-v3; };
  379. // Depending on the specific configuration, the LTO plugin will either use the
  380. // generic libiberty build or the specific build for linker plugins.
  381. dependencies = { module=all-lto-plugin; on=all-libiberty; };
  382. dependencies = { module=all-lto-plugin; on=all-libiberty-linker-plugin; };
  383. dependencies = { module=configure-libcc1; on=configure-gcc; };
  384. dependencies = { module=all-libcc1; on=all-gcc; };
  385. // we want version.o from gcc, and implicitly depend on libcody
  386. dependencies = { module=all-c++tools; on=all-gcc; };
  387. dependencies = { module=all-gotools; on=all-target-libgo; };
  388. dependencies = { module=all-utils; on=all-libiberty; };
  389. dependencies = { module=configure-intl; on=all-libiconv; };
  390. dependencies = { module=configure-mpfr; on=all-gmp; };
  391. dependencies = { module=configure-mpc; on=all-mpfr; };
  392. dependencies = { module=configure-isl; on=all-gmp; };
  393. dependencies = { module=all-intl; on=all-libiconv; };
  394. // Host modules specific to gdb.
  395. dependencies = { module=configure-gdb; on=all-intl; };
  396. dependencies = { module=configure-gdb; on=configure-sim; };
  397. dependencies = { module=configure-gdb; on=all-bfd; };
  398. dependencies = { module=configure-gdb; on=all-gnulib; };
  399. dependencies = { module=configure-gdb; on=all-gdbsupport; };
  400. // Depend on all-libiconv so that configure checks for iconv
  401. // functions will work.
  402. dependencies = { module=configure-gdb; on=all-libiconv; };
  403. dependencies = { module=all-gdb; on=all-libiberty; };
  404. dependencies = { module=all-gdb; on=all-libiconv; };
  405. dependencies = { module=all-gdb; on=all-gnulib; };
  406. dependencies = { module=all-gdb; on=all-gdbsupport; };
  407. dependencies = { module=all-gdb; on=all-opcodes; };
  408. dependencies = { module=all-gdb; on=all-readline; };
  409. dependencies = { module=all-gdb; on=all-build-bison; };
  410. dependencies = { module=all-gdb; on=all-sim; };
  411. dependencies = { module=all-gdb; on=all-libdecnumber; };
  412. dependencies = { module=all-gdb; on=all-libtermcap; };
  413. dependencies = { module=all-gdb; on=all-libctf; };
  414. dependencies = { module=all-gdb; on=all-libbacktrace; };
  415. // Host modules specific to gdbserver.
  416. dependencies = { module=configure-gdbserver; on=all-gnulib; };
  417. dependencies = { module=all-gdbserver; on=all-gdbsupport; };
  418. dependencies = { module=all-gdbserver; on=all-gnulib; };
  419. dependencies = { module=all-gdbserver; on=all-libiberty; };
  420. dependencies = { module=configure-libgui; on=configure-tcl; };
  421. dependencies = { module=configure-libgui; on=configure-tk; };
  422. dependencies = { module=all-libgui; on=all-tcl; };
  423. dependencies = { module=all-libgui; on=all-tk; };
  424. dependencies = { module=all-libgui; on=all-itcl; };
  425. dependencies = { module=configure-gdbsupport; on=configure-gnulib; };
  426. dependencies = { module=configure-gdbsupport; on=configure-intl; };
  427. dependencies = { module=all-gdbsupport; on=all-gnulib; };
  428. dependencies = { module=all-gdbsupport; on=all-intl; };
  429. // Host modules specific to binutils.
  430. dependencies = { module=configure-bfd; on=configure-libiberty; hard=true; };
  431. dependencies = { module=configure-bfd; on=configure-intl; };
  432. dependencies = { module=all-bfd; on=all-libiberty; };
  433. dependencies = { module=all-bfd; on=all-intl; };
  434. dependencies = { module=all-bfd; on=all-zlib; };
  435. dependencies = { module=configure-opcodes; on=configure-libiberty; hard=true; };
  436. dependencies = { module=all-opcodes; on=all-libiberty; };
  437. // We must build gas before binutils, gprof, ld and gold to avoid race
  438. // condition in the prev-gcc/as script during bootstrap of combined tree
  439. // with GCC and binutils. See PR gas/14899 for details.
  440. dependencies = { module=configure-binutils; on=configure-intl; };
  441. dependencies = { module=all-binutils; on=all-libiberty; };
  442. dependencies = { module=all-binutils; on=all-opcodes; };
  443. dependencies = { module=all-binutils; on=all-bfd; };
  444. dependencies = { module=all-binutils; on=all-build-flex; };
  445. dependencies = { module=all-binutils; on=all-build-bison; };
  446. dependencies = { module=all-binutils; on=all-intl; };
  447. dependencies = { module=all-binutils; on=all-gas; };
  448. dependencies = { module=all-binutils; on=all-libctf; };
  449. dependencies = { module=all-ld; on=all-libctf; };
  450. // We put install-opcodes before install-binutils because the installed
  451. // binutils might be on PATH, and they might need the shared opcodes
  452. // library.
  453. dependencies = { module=install-binutils; on=install-opcodes; };
  454. dependencies = { module=install-strip-binutils; on=install-strip-opcodes; };
  455. // Likewise for ld, libctf, and bfd.
  456. dependencies = { module=install-libctf; on=install-bfd; };
  457. dependencies = { module=install-ld; on=install-bfd; };
  458. dependencies = { module=install-ld; on=install-libctf; };
  459. dependencies = { module=install-strip-libctf; on=install-strip-bfd; };
  460. dependencies = { module=install-strip-ld; on=install-strip-bfd; };
  461. dependencies = { module=install-strip-ld; on=install-strip-libctf; };
  462. // libopcodes depends on libbfd
  463. dependencies = { module=configure-opcodes; on=configure-bfd; hard=true; };
  464. dependencies = { module=install-opcodes; on=install-bfd; };
  465. dependencies = { module=install-strip-opcodes; on=install-strip-bfd; };
  466. dependencies = { module=configure-gas; on=configure-intl; };
  467. dependencies = { module=all-gas; on=all-libiberty; };
  468. dependencies = { module=all-gas; on=all-opcodes; };
  469. dependencies = { module=all-gas; on=all-bfd; };
  470. dependencies = { module=all-gas; on=all-intl; };
  471. dependencies = { module=configure-gprof; on=configure-intl; };
  472. dependencies = { module=all-gprof; on=all-libiberty; };
  473. dependencies = { module=all-gprof; on=all-bfd; };
  474. dependencies = { module=all-gprof; on=all-opcodes; };
  475. dependencies = { module=all-gprof; on=all-intl; };
  476. dependencies = { module=all-gprof; on=all-gas; };
  477. dependencies = { module=configure-ld; on=configure-intl; };
  478. dependencies = { module=all-ld; on=all-libiberty; };
  479. dependencies = { module=all-ld; on=all-bfd; };
  480. dependencies = { module=all-ld; on=all-opcodes; };
  481. dependencies = { module=all-ld; on=all-build-bison; };
  482. dependencies = { module=all-ld; on=all-build-flex; };
  483. dependencies = { module=all-ld; on=all-intl; };
  484. dependencies = { module=all-ld; on=all-gas; };
  485. dependencies = { module=all-ld; on=all-binutils; };
  486. dependencies = { module=install-ld; on=install-gold; };
  487. dependencies = { module=install-strip-ld; on=install-strip-gold; };
  488. dependencies = { module=configure-gold; on=configure-intl; };
  489. dependencies = { module=all-gold; on=all-libiberty; };
  490. dependencies = { module=all-gold; on=all-intl; };
  491. dependencies = { module=all-gold; on=all-bfd; };
  492. dependencies = { module=all-gold; on=all-build-bison; };
  493. dependencies = { module=all-gold; on=all-gas; };
  494. dependencies = { module=check-gold; on=all-binutils; };
  495. dependencies = { module=check-gold; on=all-gas; };
  496. dependencies = { module=configure-opcodes; on=configure-intl; };
  497. dependencies = { module=all-opcodes; on=all-bfd; };
  498. dependencies = { module=all-opcodes; on=all-libiberty; };
  499. dependencies = { module=all-opcodes; on=all-intl; };
  500. // Other host modules in the 'src' repository.
  501. dependencies = { module=all-dejagnu; on=all-tcl; };
  502. dependencies = { module=all-dejagnu; on=all-expect; };
  503. dependencies = { module=all-dejagnu; on=all-tk; };
  504. dependencies = { module=configure-expect; on=configure-tcl; };
  505. dependencies = { module=configure-expect; on=configure-tk; };
  506. dependencies = { module=all-expect; on=all-tcl; };
  507. dependencies = { module=all-expect; on=all-tk; };
  508. // We put install-tcl before install-itcl because itcl wants to run a
  509. // program on installation which uses the Tcl libraries.
  510. dependencies = { module=configure-itcl; on=configure-tcl; };
  511. dependencies = { module=configure-itcl; on=configure-tk; };
  512. dependencies = { module=all-itcl; on=all-tcl; };
  513. dependencies = { module=all-itcl; on=all-tk; };
  514. dependencies = { module=install-itcl; on=install-tcl; };
  515. dependencies = { module=install-strip-itcl; on=install-strip-tcl; };
  516. dependencies = { module=configure-tk; on=configure-tcl; };
  517. dependencies = { module=all-tk; on=all-tcl; };
  518. dependencies = { module=all-sid; on=all-libiberty; };
  519. dependencies = { module=all-sid; on=all-bfd; };
  520. dependencies = { module=all-sid; on=all-opcodes; };
  521. dependencies = { module=all-sid; on=all-tcl; };
  522. dependencies = { module=all-sid; on=all-tk; };
  523. dependencies = { module=install-sid; on=install-tcl; };
  524. dependencies = { module=install-strip-sid; on=install-strip-tcl; };
  525. dependencies = { module=install-sid; on=install-tk; };
  526. dependencies = { module=install-strip-sid; on=install-strip-tk; };
  527. dependencies = { module=configure-sim; on=all-gnulib; };
  528. dependencies = { module=configure-sim; on=configure-intl; };
  529. dependencies = { module=all-sim; on=all-intl; };
  530. dependencies = { module=all-sim; on=all-libiberty; };
  531. dependencies = { module=all-sim; on=all-bfd; };
  532. dependencies = { module=all-sim; on=all-opcodes; };
  533. dependencies = { module=configure-sim; on=all-readline; };
  534. // Other host modules.
  535. dependencies = { module=all-fastjar; on=all-zlib; };
  536. dependencies = { module=all-fastjar; on=all-build-texinfo; };
  537. dependencies = { module=all-fastjar; on=all-libiberty; };
  538. dependencies = { module=all-libctf; on=all-libiberty; hard=true; };
  539. dependencies = { module=all-libctf; on=all-bfd; };
  540. dependencies = { module=all-libctf; on=all-zlib; };
  541. // So that checking for ELF support in BFD from libctf configure is possible.
  542. dependencies = { module=configure-libctf; on=all-bfd; };
  543. dependencies = { module=configure-libctf; on=all-intl; };
  544. dependencies = { module=configure-libctf; on=all-zlib; };
  545. dependencies = { module=configure-libctf; on=all-libiconv; };
  546. dependencies = { module=check-libctf; on=all-ld; };
  547. // The Makefiles in gdb and gdbserver pull in a file that configure
  548. // generates in the gnulib directory, so distclean gnulib only after
  549. // gdb and gdbserver.
  550. dependencies = { module=distclean-gnulib; on=distclean-gdb; };
  551. dependencies = { module=distclean-gnulib; on=distclean-gdbserver; };
  552. // Warning, these are not well tested.
  553. dependencies = { module=all-bison; on=all-intl; };
  554. dependencies = { module=all-bison; on=all-build-texinfo; };
  555. dependencies = { module=all-flex; on=all-build-bison; };
  556. dependencies = { module=all-flex; on=all-intl; };
  557. dependencies = { module=all-flex; on=all-m4; };
  558. dependencies = { module=all-flex; on=all-build-texinfo; };
  559. dependencies = { module=all-m4; on=all-intl; };
  560. dependencies = { module=all-m4; on=all-build-texinfo; };
  561. // Target modules. These can also have dependencies on the language
  562. // environment (e.g. on libstdc++). By default target modules depend
  563. // on libgcc and newlib/libgloss.
  564. lang_env_dependencies = { module=libitm; cxx=true; };
  565. lang_env_dependencies = { module=libffi; cxx=true; };
  566. lang_env_dependencies = { module=liboffloadmic; cxx=true; };
  567. lang_env_dependencies = { module=newlib; no_c=true; };
  568. lang_env_dependencies = { module=libgloss; no_c=true; };
  569. lang_env_dependencies = { module=libgcc; no_gcc=true; no_c=true; };
  570. // libiberty does not depend on newlib or libgloss because it must be
  571. // built newlib on some targets (e.g. Cygwin). It still needs
  572. // a dependency on libgcc for native targets to configure.
  573. lang_env_dependencies = { module=libiberty; no_c=true; };
  574. dependencies = { module=configure-target-fastjar; on=configure-target-zlib; };
  575. dependencies = { module=all-target-fastjar; on=all-target-zlib; };
  576. dependencies = { module=configure-target-libgo; on=configure-target-libffi; };
  577. dependencies = { module=configure-target-libgo; on=all-target-libstdc++-v3; };
  578. dependencies = { module=all-target-libgo; on=all-target-libbacktrace; };
  579. dependencies = { module=all-target-libgo; on=all-target-libffi; };
  580. dependencies = { module=all-target-libgo; on=all-target-libatomic; };
  581. dependencies = { module=configure-target-libphobos; on=configure-target-libbacktrace; };
  582. dependencies = { module=configure-target-libphobos; on=configure-target-zlib; };
  583. dependencies = { module=all-target-libphobos; on=all-target-libbacktrace; };
  584. dependencies = { module=all-target-libphobos; on=all-target-zlib; };
  585. dependencies = { module=all-target-libphobos; on=all-target-libatomic; };
  586. dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgomp; };
  587. dependencies = { module=configure-target-liboffloadmic; on=configure-target-libgomp; };
  588. dependencies = { module=configure-target-libsanitizer; on=all-target-libstdc++-v3; };
  589. dependencies = { module=configure-target-libvtv; on=all-target-libstdc++-v3; };
  590. // parallel_list.o and parallel_settings.o depend on omp.h, which is
  591. // generated by the libgomp configure. Unfortunately, due to the use of
  592. // recursive make, we can't be that specific.
  593. dependencies = { module=all-target-libstdc++-v3; on=configure-target-libgomp; };
  594. dependencies = { module=all-target-liboffloadmic; on=all-target-libgomp; };
  595. dependencies = { module=install-target-libgo; on=install-target-libatomic; };
  596. dependencies = { module=install-target-libgfortran; on=install-target-libquadmath; };
  597. dependencies = { module=install-target-libgfortran; on=install-target-libgcc; };
  598. dependencies = { module=install-target-libphobos; on=install-target-libatomic; };
  599. dependencies = { module=install-target-libsanitizer; on=install-target-libstdc++-v3; };
  600. dependencies = { module=install-target-libsanitizer; on=install-target-libgcc; };
  601. dependencies = { module=install-target-libvtv; on=install-target-libstdc++-v3; };
  602. dependencies = { module=install-target-libvtv; on=install-target-libgcc; };
  603. dependencies = { module=install-target-liboffloadmic; on=install-target-libstdc++-v3; };
  604. dependencies = { module=install-target-liboffloadmic; on=install-target-libgcc; };
  605. dependencies = { module=install-target-libitm; on=install-target-libgcc; };
  606. dependencies = { module=install-target-libobjc; on=install-target-libgcc; };
  607. dependencies = { module=install-target-libstdc++-v3; on=install-target-libgcc; };
  608. // Target modules in the 'src' repository.
  609. lang_env_dependencies = { module=libtermcap; };
  610. lang_env_dependencies = { module=rda; };
  611. lang_env_dependencies = { module=winsup; };
  612. dependencies = { module=all-target-libgloss; on=all-target-newlib; };
  613. dependencies = { module=all-target-winsup; on=all-target-libtermcap; };
  614. dependencies = { module=configure-target-newlib; on=all-binutils; };
  615. dependencies = { module=configure-target-newlib; on=all-ld; };
  616. dependencies = { module=configure-target-libgfortran; on=all-target-libquadmath; };
  617. dependencies = { module=configure-target-libgfortran; on=all-target-libbacktrace; };
  618. languages = { language=c; gcc-check-target=check-gcc; };
  619. languages = { language=c++; gcc-check-target=check-c++;
  620. lib-check-target=check-target-libstdc++-v3;
  621. lib-check-target=check-target-libitm-c++;
  622. lib-check-target=check-target-libgomp-c++; };
  623. languages = { language=fortran; gcc-check-target=check-fortran;
  624. lib-check-target=check-target-libquadmath;
  625. lib-check-target=check-target-libgfortran;
  626. lib-check-target=check-target-libgomp-fortran; };
  627. languages = { language=ada; gcc-check-target=check-ada;
  628. lib-check-target=check-target-libada; };
  629. languages = { language=objc; gcc-check-target=check-objc;
  630. lib-check-target=check-target-libobjc; };
  631. languages = { language=obj-c++; gcc-check-target=check-obj-c++; };
  632. languages = { language=go; gcc-check-target=check-go;
  633. lib-check-target=check-target-libgo;
  634. lib-check-target=check-gotools; };
  635. languages = { language=d; gcc-check-target=check-d;
  636. lib-check-target=check-target-libphobos; };
  637. languages = { language=jit; gcc-check-target=check-jit; };
  638. // Toplevel bootstrap
  639. bootstrap_stage = { id=1 ; };
  640. bootstrap_stage = {
  641. id=2 ; prev=1 ;
  642. bootstrap_target=bootstrap2 ; };
  643. bootstrap_stage = {
  644. id=3 ; prev=2 ; lean=1 ;
  645. compare_target=compare ;
  646. bootstrap_target=bootstrap ;
  647. cleanstrap_target=cleanstrap ; };
  648. bootstrap_stage = {
  649. id=4 ; prev=3 ; lean=2 ;
  650. compare_target=compare3 ;
  651. bootstrap_target=bootstrap4 ; };
  652. bootstrap_stage = {
  653. id=profile ; prev=1 ; };
  654. bootstrap_stage = {
  655. id=train; prev=profile ; } ;
  656. bootstrap_stage = {
  657. id=feedback ; prev=train;
  658. bootstrap_target=profiledbootstrap ; };
  659. bootstrap_stage = {
  660. id=autoprofile ; prev=1 ;
  661. autoprofile="$$s/gcc/config/i386/$(AUTO_PROFILE)" ; };
  662. bootstrap_stage = {
  663. id=autofeedback ; prev=autoprofile ;
  664. bootstrap_target=autoprofiledbootstrap ;
  665. profile_data="PERF_DATA=perf.data" ; };