diff options
author | drow <drow@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-01-04 04:22:37 +0000 |
---|---|---|
committer | drow <drow@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-01-04 04:22:37 +0000 |
commit | 894a47b43cc5eb4302f36c91b9d611b79256e98a (patch) | |
tree | ecf7edd5c93f496f2642ef1338e111c0d7a42345 /Makefile.tpl | |
parent | 2fadd1c8e8c9aa4e32c06e62db0e7a6d6961ddb0 (diff) | |
download | gcc-894a47b43cc5eb4302f36c91b9d611b79256e98a.tar.gz |
./
* Makefile.def (target_modules): Add libgcc.
(lang_env_dependencies): Remove default items. Use no_c and no_gcc.
* Makefile.tpl (clean-target-libgcc): Delete.
(configure-target-[+module+]): Emit --disable-bootstrap dependencies
on gcc even for bootstrapped modules. Rewrite handling of
lang_env_dependencies to loop over target_modules.
* configure.in (target_libraries): Add target-libgcc.
* Makefile.in, configure: Regenerated.
gcc/
* config.gcc: Mention libgcc/config.host.
* Makefile.in: Update comments mentioning libgcc.
(LIBGCC, INSTALL_LIBGCC, GCC_PARTS, mklibgcc): Delete.
(all.cross, start.encap, rest.encap, rest.cross): Update
dependencies for libgcc move.
(libgcc.mk, LIBGCC_DEPS, libgcov.a, libgcc.a, stmp-multilib)
(clean-target, clean-target-libgcc): Delete.
(srcdirify, GCC_EXTRA_PARTS): New macros.
(libgcc-support, libgcc.mvars): New rules.
(distclean): Remove mention of mklibgcc.
(install): Don't reference INSTALL_LIBGCC.
(install-common): Don't reference EXTRA_PARTS.
(install-libgcc, install-multilib): Delete rules.
* mklibgcc.in: Delete file.
* doc/configfiles.texi: Don't mention mklibgcc.
* config/i386/t-darwin (SHLIB_VERPFX): Delete (moved to libgcc).
* config/i386/t-darwin64 (SHLIB_VERPFX): Likewise.
* config/rs6000/t-darwin (SHLIB_VERPFX): Likewise.
* config/rs6000/t-ppccomm (TARGET_LIBGCC2_CFLAGS, SHLIB_MAPFILES)
(mklibgcc, ldblspecs): Likewise.
* config/i386/t-nwld (libgcc.def, libc.def, libpcre.def)
(posixpre.def): Use $(T).
(SHLIB_EXT, SHLIB_NAME, SHLIB_SLIBDIR_QUAL, SHLIB_DEF, SHLIB_MAP)
(SHLIB_SRC, SHLIB_INSTALL): Delete.
(SHLIB_LINK): Make dummy.
* config/t-slibgcc-darwin: Delete contents except for dummy SHLIB_LINK.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Clear.
* config/alpha/t-crtfm: Use $(T) in rules for EXTRA_PARTS.
* config/alpha/t-vms, config/alpha/t-vms64, config/fr30/t-fr30,
config/i386/t-rtems-i386, config/ia64/t-ia64, config/rs6000/t-beos,
config/rs6000/t-newas, config/sparc/t-elf: Likewise.
* configure.ac (all_outputs): Remove mklibgcc.
* configure: Regenerated.
libgcc/
* Makefile.in, config/i386/t-darwin, config/i386/t-darwin64,
config/i386/t-nwld, config/rs6000/t-darwin, config/rs6000/t-ldbl128,
config/i386/t-crtfm, config/alpha/t-crtfm, config/ia64/t-ia64,
config/sparc/t-crtfm, config/t-slibgcc-darwin,
config/rs6000/t-ppccomm, config.host, configure.ac, empty.mk,
shared-object.mk, siditi-object.mk, static-object.mk: New files.
* configure: Generated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120429 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'Makefile.tpl')
-rw-r--r-- | Makefile.tpl | 57 |
1 files changed, 44 insertions, 13 deletions
diff --git a/Makefile.tpl b/Makefile.tpl index 6768b22f98a..58f837d5a80 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -611,11 +611,6 @@ maintainer-clean: local-maintainer-clean do-maintainer-clean local-clean maintainer-clean: local-distclean realclean: maintainer-clean -# Extra dependency for clean-target, owing to the mixed nature of gcc. -clean-target: clean-target-libgcc -clean-target-libgcc: - if test -f gcc/Makefile; then cd gcc && $(MAKE) $@; else :; fi - # Check target. .PHONY: check do-check @@ -1400,18 +1395,12 @@ configure-target-[+module+]: stage_last[+ ENDIF bootstrap +][+ ENDFOR target_modules +] @endif gcc-bootstrap -@if gcc-no-bootstrap[+ FOR target_modules +][+ IF bootstrap - +][+ ELSE +] +@if gcc-no-bootstrap[+ FOR target_modules +] configure-target-[+module+]: maybe-all-gcc[+ - ENDIF bootstrap +][+ ENDFOR target_modules +] + ENDFOR target_modules +] @endif gcc-no-bootstrap -[+ FOR lang_env_dependencies +] -configure-target-[+module+]: maybe-all-target-newlib maybe-all-target-libgloss -[+ IF cxx +]configure-target-[+module+]: maybe-all-target-libstdc++-v3 -[+ ENDIF cxx +][+ ENDFOR lang_env_dependencies +] - # There are two types of dependencies here: 'hard' dependencies, where one # module simply won't build without the other; and 'soft' dependencies, where # if the depended-on module is missing, the depending module will do without @@ -1507,6 +1496,48 @@ configure-target-[+module+]: maybe-all-target-newlib maybe-all-target-libgloss [+ ESAC +][+ ENDFOR dependencies +] +# Dependencies for target modules on other target modules are +# described by lang_env_dependencies; the defaults apply to anything +# not mentioned there. +[+ + ;; Predicate for whether LANG was specified in lang_env_dependencies. + (define lang-dep (lambda (lang) + (hash-ref lang-env-deps (string-append (get "module") "-" lang)))) + + ;; Build the hash table we will need. + (define lang-env-deps (make-hash-table 7)) ++][+ FOR lang_env_dependencies +][+ + (if (exist? "cxx") + (hash-create-handle! lang-env-deps + (string-append (get "module") "-" "cxx") #t)) + + (if (exist? "no_c") + (hash-create-handle! lang-env-deps + (string-append (get "module") "-" "no_c") #t)) + + (if (exist? "no_gcc") + (hash-create-handle! lang-env-deps + (string-append (get "module") "-" "no_gcc") #t)) + "" +][+ ENDFOR lang_env_dependencies +] + +@if gcc-bootstrap[+ FOR target_modules +][+ IF (not (lang-dep "no_gcc")) + +][+ IF bootstrap +][+ FOR bootstrap_stage +] +configure-stage[+id+]-target-[+module+]: maybe-all-stage[+id+]-target-libgcc[+ + ENDFOR +][+ ENDIF bootstrap +][+ ENDIF +][+ ENDFOR target_modules +] +@endif gcc-bootstrap + +@if gcc-no-bootstrap[+ FOR target_modules +][+ IF (not (lang-dep "no_gcc")) +] +configure-target-[+module+]: maybe-all-target-libgcc[+ + ENDIF +][+ ENDFOR target_modules +] +@endif gcc-no-bootstrap + +[+ FOR target_modules +][+ IF (not (lang-dep "no_c")) +] +configure-target-[+module+]: maybe-all-target-newlib maybe-all-target-libgloss[+ + ENDIF +][+ IF (lang-dep "cxx") +] +configure-target-[+module+]: maybe-all-target-libstdc++-v3[+ + ENDIF +] +[+ ENDFOR target_modules +] + CONFIGURE_GDB_TK = @CONFIGURE_GDB_TK@ GDB_TK = @GDB_TK@ INSTALL_GDB_TK = @INSTALL_GDB_TK@ |