X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FMakefile.in;h=5c3514da77f696d80ff2ead7eac3822acad7b25d;hp=106547b781eb8d8169f41ed58b40405448c7152d;hb=588f44546e7e2fdb531a427dfbc0bcc90879b20f;hpb=d5fe1e53d98c66d0a33523e45219875f678942bb diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 106547b781e..5c3514da77f 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -3,7 +3,7 @@ # Copyright (C) 1987, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1996, # 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, -# 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. #This file is part of GCC. @@ -164,6 +164,8 @@ C_STRICT_WARN = @c_strict_warn@ # "extern" tags in header files. NOCOMMON_FLAG = @nocommon_flag@ +NOEXCEPTION_FLAGS = @noexception_flags@ + # This is set by --disable-maintainer-mode (default) to "#" # FIXME: 'MAINT' will always be set to an empty string, no matter if # --disable-maintainer-mode is used or not. This is because the @@ -374,6 +376,7 @@ USER_H = $(srcdir)/ginclude/float.h \ $(srcdir)/ginclude/varargs.h \ $(srcdir)/ginclude/stdfix.h \ $(srcdir)/ginclude/stdnoreturn.h \ + $(srcdir)/ginclude/stdalign.h \ $(EXTRA_HEADERS) USER_H_INC_NEXT_PRE = @user_headers_inc_next_pre@ @@ -490,8 +493,6 @@ md_file=$(srcdir)/config/@md_file@ tm_file_list=@tm_file_list@ tm_include_list=@tm_include_list@ tm_defines=@tm_defines@ -libgcc_tm_file_list=@libgcc_tm_file_list@ -libgcc_tm_include_list=@libgcc_tm_include_list@ tm_p_file_list=@tm_p_file_list@ tm_p_include_list=@tm_p_include_list@ build_xm_file_list=@build_xm_file_list@ @@ -534,9 +535,7 @@ lang_opt_files=@lang_opt_files@ $(srcdir)/c-family/c.opt $(srcdir)/common.opt lang_specs_files=@lang_specs_files@ lang_tree_files=@lang_tree_files@ target_cpu_default=@target_cpu_default@ -GCC_THREAD_FILE=@thread_file@ OBJC_BOEHM_GC=@objc_boehm_gc@ -GTHREAD_FLAGS=@gthread_flags@ extra_modes_file=@extra_modes_file@ extra_opt_files=@extra_opt_files@ host_hook_obj=@out_host_hook_obj@ @@ -612,12 +611,11 @@ prefix_to_exec_prefix := \ dollar = @dollar@ # Used in install-cross. gcc_tooldir = @gcc_tooldir@ -# Used to install the shared libgcc. -slibdir = @slibdir@ # Since gcc_tooldir does not exist at build-time, use -B$(build_tooldir)/bin/ build_tooldir = $(exec_prefix)/$(target_noncanonical) # Directory in which the compiler finds target-independent g++ includes. gcc_gxx_include_dir = @gcc_gxx_include_dir@ +gcc_gxx_include_dir_add_sysroot = @gcc_gxx_include_dir_add_sysroot@ # Directory to search for site-specific includes. local_includedir = $(local_prefix)/include includedir = $(prefix)/include @@ -673,32 +671,6 @@ ifeq ($(inhibit_libc),true) INHIBIT_LIBC_CFLAGS = -Dinhibit_libc endif -# Options to use when compiling libgcc2.a. -# -LIBGCC2_DEBUG_CFLAGS = -g -LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(INCLUDES_FOR_TARGET) $(GCC_CFLAGS) \ - $(TARGET_LIBGCC2_CFLAGS) $(LIBGCC2_DEBUG_CFLAGS) \ - $(GTHREAD_FLAGS) -DIN_LIBGCC2 \ - -fbuilding-libgcc -fno-stack-protector \ - $(INHIBIT_LIBC_CFLAGS) - -# Additional options to use when compiling libgcc2.a. -# Some targets override this to -isystem include -LIBGCC2_INCLUDES = - -# Additional target-dependent options for compiling libgcc2.a. -TARGET_LIBGCC2_CFLAGS = - -# Options to use when compiling crtbegin/end. -CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES_FOR_TARGET) $(MULTILIB_CFLAGS) \ - -g0 -finhibit-size-directive -fno-inline -fno-exceptions \ - -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \ - -fno-stack-protector \ - $(INHIBIT_LIBC_CFLAGS) - -# nm flags to list global symbols in libgcc object files. -SHLIB_NM_FLAGS = -pg - # List of extra executables that should be compiled for this target machine # that are used for compiling from source code to object code. # The rules for compiling them should be in the t-* file for the machine. @@ -707,10 +679,6 @@ EXTRA_PASSES =@extra_passes@ # Like EXTRA_PASSES, but these are used when linking. EXTRA_PROGRAMS = @extra_programs@ -# List of extra object files that should be compiled for this target machine. -# The rules for compiling them should be in the t-* file for the machine. -EXTRA_PARTS = @extra_parts@ - # List of extra object files that should be compiled and linked with # compiler proper (cc1, cc1obj, cc1plus). EXTRA_OBJS = @extra_objs@ @@ -733,17 +701,6 @@ USE_GCC_STDINT = @use_gcc_stdint@ # set to empty. COLLECT2 = @collect2@ -# List of extra C and assembler files to add to static and shared libgcc2. -# Assembler files should have names ending in `.asm'. -LIB2FUNCS_EXTRA = - -# List of extra C and assembler files to add to static libgcc2. -# Assembler files should have names ending in `.asm'. -LIB2FUNCS_STATIC_EXTRA = - -# List of functions not to build from libgcc2.c. -LIB2FUNCS_EXCLUDE = - # Program to convert libraries. LIBCONVERT = @@ -806,17 +763,6 @@ RUNTEST = `if [ -f $${srcdir}/../dejagnu/runtest ] ; then \ else echo runtest; fi` RUNTESTFLAGS = -# Extra flags to use when compiling crt{begin,end}.o. -CRTSTUFF_T_CFLAGS = - -# "t" or nothing, for building multilibbed versions of, say, crtbegin.o. -T = - -# Should T contain a `=', libgcc/Makefile will make T_TARGET, setting -# $(T_TARGET) to the name of the actual target filename. -T_TARGET = -T_TARGET : $(T_TARGET) - # This should name the specs file that we're going to install. Target # Makefiles may override it and name another file to be generated from # the built-in specs and installed as the default spec, as long as @@ -844,8 +790,7 @@ CONFIG_H = config.h $(host_xm_file_list) TCONFIG_H = tconfig.h $(xm_file_list) TM_P_H = tm_p.h $(tm_p_file_list) GTM_H = tm.h $(tm_file_list) insn-constants.h -TM_H = $(GTM_H) libgcc_tm.h $(libgcc_tm_file_list) insn-flags.h \ - $(OPTIONS_H) +TM_H = $(GTM_H) insn-flags.h $(OPTIONS_H) # Variables for version information. BASEVER := $(srcdir)/BASE-VER # 4.x.y @@ -912,7 +857,8 @@ RTL_H = $(RTL_BASE_H) genrtl.h vecir.h RTL_ERROR_H = $(RTL_H) $(DIAGNOSTIC_CORE_H) READ_MD_H = $(OBSTACK_H) $(HASHTAB_H) read-md.h PARAMS_H = params.h params.def -BUILTINS_DEF = builtins.def sync-builtins.def omp-builtins.def +BUILTINS_DEF = builtins.def sync-builtins.def omp-builtins.def \ + gtm-builtins.def INTERNAL_FN_DEF = internal-fn.def INTERNAL_FN_H = internal-fn.h $(INTERNAL_FN_DEF) TREE_H = tree.h all-tree.def tree.def c-family/c-common.def \ @@ -925,6 +871,7 @@ BASIC_BLOCK_H = basic-block.h $(PREDICT_H) $(VEC_H) $(FUNCTION_H) cfghooks.h GIMPLE_H = gimple.h gimple.def gsstruct.def pointer-set.h $(VEC_H) \ vecir.h $(GGC_H) $(BASIC_BLOCK_H) $(TARGET_H) tree-ssa-operands.h \ tree-ssa-alias.h $(INTERNAL_FN_H) +TRANS_MEM_H = trans-mem.h GCOV_IO_H = gcov-io.h gcov-iov.h auto-host.h COVERAGE_H = coverage.h $(GCOV_IO_H) DEMANGLE_H = $(srcdir)/../include/demangle.h @@ -1033,7 +980,7 @@ ALL_CFLAGS = $(T_CFLAGS) $(CFLAGS-$@) \ # The C++ version. ALL_CXXFLAGS = $(T_CFLAGS) $(CFLAGS-$@) $(CXXFLAGS) $(INTERNAL_CFLAGS) \ - $(COVERAGE_FLAGS) $(WARN_CXXFLAGS) @DEFS@ + $(COVERAGE_FLAGS) $(NOEXCEPTION_FLAGS) $(WARN_CXXFLAGS) @DEFS@ # Likewise. Put INCLUDES at the beginning: this way, if some autoconf macro # puts -I options in CPPFLAGS, our include files in the srcdir will always @@ -1104,9 +1051,6 @@ INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \ $(CPPINC) $(GMPINC) $(DECNUMINC) \ $(PPLINC) $(CLOOGINC) -INCLUDES_FOR_TARGET = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \ - -I$(srcdir)/../include $(DECNUMINC) -I$(srcdir)/../libgcc - .c.o: $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION) @@ -1129,15 +1073,12 @@ export DESTDIR export GCC_FOR_TARGET export INCLUDES export INSTALL_DATA -export LIB1ASMSRC -export LIBGCC2_CFLAGS export LIPO_FOR_TARGET export MACHMODE_H export NM_FOR_TARGET export STRIP_FOR_TARGET export RANLIB_FOR_TARGET export libsubdir -export slibdir FLAGS_TO_PASS = \ "ADA_CFLAGS=$(ADA_CFLAGS)" \ @@ -1163,7 +1104,7 @@ FLAGS_TO_PASS = \ "build_tooldir=$(build_tooldir)" \ "gcc_tooldir=$(gcc_tooldir)" \ "bindir=$(bindir)" \ - "libexecsubdir=$(libsubdir)" \ + "libexecsubdir=$(libexecsubdir)" \ "datarootdir=$(datarootdir)" \ "datadir=$(datadir)" \ "localedir=$(localedir)" @@ -1311,7 +1252,7 @@ OBJS = \ hw-doloop.o \ hwint.o \ ifcvt.o \ - implicit-zee.o \ + ree.o \ incpath.o \ init-regs.o \ integrate.o \ @@ -1414,6 +1355,7 @@ OBJS = \ timevar.o \ toplev.o \ tracer.o \ + trans-mem.o \ tree-affine.o \ tree-call-cdce.o \ tree-cfg.o \ @@ -1544,19 +1486,13 @@ MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \ tree-check.h min-insn-modes.c insn-modes.c insn-modes.h \ genrtl.h gt-*.h gtype-*.h gtype-desc.c gtyp-input.list \ xgcc$(exeext) cpp$(exeext) cc1$(exeext) $(EXTRA_PASSES) \ - $(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) \ - $(SPECS) collect2$(exeext) lto-wrapper$(exeext) \ + $(EXTRA_PROGRAMS) gcc-cross$(exeext) \ + $(SPECS) collect2$(exeext) gcc-ar$(exeext) gcc-nm$(exeext) \ + gcc-ranlib$(exeext) \ gcov-iov$(build_exeext) gcov$(exeext) gcov-dump$(exeext) \ gengtype$(exeext) *.[0-9][0-9].* *.[si] *-checksum.c libbackend.a \ libcommon-target.a libcommon.a libgcc.mk -# Defined in libgcc2.c, included only in the static library. -LIB2FUNCS_ST = _eprintf __gcc_bcmp - -# These might cause a divide overflow trap and so are compiled with -# unwinder info. -LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 - # # Language makefile fragments. @@ -1665,7 +1601,6 @@ config.h: cs-config.h ; @true bconfig.h: cs-bconfig.h ; @true tconfig.h: cs-tconfig.h ; @true tm.h: cs-tm.h ; @true -libgcc_tm.h: cs-libgcc_tm.h ; @true tm_p.h: cs-tm_p.h ; @true cs-config.h: Makefile @@ -1688,11 +1623,6 @@ cs-tm.h: Makefile HEADERS="$(tm_include_list)" DEFINES="$(tm_defines)" \ $(SHELL) $(srcdir)/mkconfig.sh tm.h -cs-libgcc_tm.h: Makefile - TARGET_CPU_DEFAULT="" \ - HEADERS="$(libgcc_tm_include_list)" DEFINES="" \ - $(SHELL) $(srcdir)/mkconfig.sh libgcc_tm.h - cs-tm_p.h: Makefile TARGET_CPU_DEFAULT="" \ HEADERS="$(tm_p_include_list)" DEFINES="" \ @@ -1791,7 +1721,8 @@ rest.encap: lang.rest.encap # This is what is made with the host's compiler # whether making a cross compiler or not. native: config.status auto-host.h build-@POSUB@ $(LANGUAGES) \ - $(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(COLLECT2) lto-wrapper$(exeext) + $(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(COLLECT2) lto-wrapper$(exeext) \ + gcc-ar$(exeext) gcc-nm$(exeext) gcc-ranlib$(exeext) ifeq ($(enable_plugin),yes) native: gengtype$(exeext) @@ -1876,52 +1807,13 @@ cc1$(exeext): $(C_OBJS) cc1-checksum.o $(BACKEND) $(LIBDEPS) # # Build libgcc.a. -LIB2ADD = $(LIB2FUNCS_EXTRA) -LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA) - -# All source files for libgcc are either generated in the libgcc build -# directory which will be substituted for $$(libgcc_objdir), in the -# source directory (in which case they will start with $(srcdir)), or -# generated into the build directory (in which case they will be -# relative paths). -srcdirify = $(patsubst $$(libgcc_objdir)/%,%, \ - $(filter $$(libgcc_objdir)%,$(1))) \ - $(patsubst $(srcdir)%,$$(gcc_srcdir)%,$(filter $(srcdir)%,$(1))) \ - $(patsubst %,$$(gcc_objdir)/%, \ - $(filter-out $(srcdir)% $$(libgcc_objdir)%,$(1))) - -# The distinction between these two variables is no longer relevant, -# so we combine them. Sort removes duplicates. -GCC_EXTRA_PARTS := $(sort $(EXTRA_MULTILIB_PARTS) $(EXTRA_PARTS)) - libgcc-support: libgcc.mvars stmp-int-hdrs $(TCONFIG_H) \ - $(MACHMODE_H) $(LIB2ADD) $(LIB2ADD_ST) gcov-iov.h + $(MACHMODE_H) gcov-iov.h -libgcc.mvars: config.status Makefile $(LIB2ADD) $(LIB2ADD_ST) specs \ - xgcc$(exeext) +libgcc.mvars: config.status Makefile specs xgcc$(exeext) : > tmp-libgcc.mvars - echo LIB1ASMFUNCS = '$(LIB1ASMFUNCS)' >> tmp-libgcc.mvars - echo LIB1ASMSRC = '$(LIB1ASMSRC)' >> tmp-libgcc.mvars - echo LIB2FUNCS_ST = '$(LIB2FUNCS_ST)' >> tmp-libgcc.mvars - echo LIB2FUNCS_EXCLUDE = '$(LIB2FUNCS_EXCLUDE)' >> tmp-libgcc.mvars - echo LIB2ADD = '$(call srcdirify,$(LIB2ADD))' >> tmp-libgcc.mvars - echo LIB2ADD_ST = '$(call srcdirify,$(LIB2ADD_ST))' >> tmp-libgcc.mvars - echo LIB2_SIDITI_CONV_FUNCS = '$(LIB2_SIDITI_CONV_FUNCS)' >> tmp-libgcc.mvars - echo LIB2_DIVMOD_FUNCS = '$(LIB2_DIVMOD_FUNCS)' >> tmp-libgcc.mvars - echo GCC_EXTRA_PARTS = '$(GCC_EXTRA_PARTS)' >> tmp-libgcc.mvars - echo SHLIB_LINK = '$(subst $(GCC_FOR_TARGET),$$(GCC_FOR_TARGET),$(SHLIB_LINK))' >> tmp-libgcc.mvars - echo SHLIB_INSTALL = '$(SHLIB_INSTALL)' >> tmp-libgcc.mvars - echo SHLIB_DLLDIR = '$(SHLIB_DLLDIR)' >> tmp-libgcc.mvars - echo SHLIB_EXT = '$(SHLIB_EXT)' >> tmp-libgcc.mvars - echo SHLIB_MKMAP = '$(call srcdirify,$(SHLIB_MKMAP))' >> tmp-libgcc.mvars - echo SHLIB_MKMAP_OPTS = '$(SHLIB_MKMAP_OPTS)' >> tmp-libgcc.mvars - echo SHLIB_MAPFILES = '$(call srcdirify,$(SHLIB_MAPFILES))' >> tmp-libgcc.mvars - echo SHLIB_NM_FLAGS = '$(SHLIB_NM_FLAGS)' >> tmp-libgcc.mvars - echo LIBGCC2_CFLAGS = '$(LIBGCC2_CFLAGS)' >> tmp-libgcc.mvars - echo TARGET_LIBGCC2_CFLAGS = '$(TARGET_LIBGCC2_CFLAGS)' >> tmp-libgcc.mvars - echo CRTSTUFF_CFLAGS = '$(CRTSTUFF_CFLAGS)' >> tmp-libgcc.mvars - echo CRTSTUFF_T_CFLAGS = '$(CRTSTUFF_T_CFLAGS)' >> tmp-libgcc.mvars - echo CRTSTUFF_T_CFLAGS_S = '$(CRTSTUFF_T_CFLAGS_S)' >> tmp-libgcc.mvars + echo GCC_CFLAGS = '$(GCC_CFLAGS)' >> tmp-libgcc.mvars + echo INHIBIT_LIBC_CFLAGS = '$(INHIBIT_LIBC_CFLAGS)' >> tmp-libgcc.mvars echo TARGET_SYSTEM_ROOT = '$(TARGET_SYSTEM_ROOT)' >> tmp-libgcc.mvars mv tmp-libgcc.mvars libgcc.mvars @@ -1949,41 +1841,6 @@ s-mlib: $(srcdir)/genmultilib Makefile fi $(SHELL) $(srcdir)/../move-if-change tmp-mlib.h multilib.h $(STAMP) s-mlib - -# Compile two additional files that are linked with every program -# linked using GCC on systems using COFF or ELF, for the sake of C++ -# constructors. -$(T)crtbegin.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \ - gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H) - $(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \ - -c $(srcdir)/crtstuff.c -DCRT_BEGIN \ - -o $(T)crtbegin$(objext) - -$(T)crtend.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \ - gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H) - $(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \ - -c $(srcdir)/crtstuff.c -DCRT_END \ - -o $(T)crtend$(objext) - -# These are versions of crtbegin and crtend for shared libraries. -$(T)crtbeginS.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \ - gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H) - $(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS_S) \ - -c $(srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFS_O \ - -o $(T)crtbeginS$(objext) - -$(T)crtendS.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \ - gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H) - $(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS_S) \ - -c $(srcdir)/crtstuff.c -DCRT_END -DCRTSTUFFS_O \ - -o $(T)crtendS$(objext) - -# This is a version of crtbegin for -static links. -$(T)crtbeginT.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \ - gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H) - $(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \ - -c $(srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFT_O \ - -o $(T)crtbeginT$(objext) # # Compiling object files from source files. @@ -2009,7 +1866,7 @@ c-decl.o : c-decl.c c-lang.h $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ $(TIMEVAR_H) $(OPTS_H) $(C_PRAGMA_H) gt-c-decl.h $(CGRAPH_H) \ $(HASHTAB_H) $(LIBFUNCS_H) $(EXCEPT_H) $(LANGHOOKS_DEF_H) \ $(TREE_DUMP_H) $(C_COMMON_H) $(CPPLIB_H) $(DIAGNOSTIC_CORE_H) \ - $(INPUT_H) langhooks.h tree-mudflap.h pointer-set.h tree-iterator.h \ + $(INPUT_H) langhooks.h pointer-set.h tree-iterator.h \ $(PLUGIN_H) c-family/c-ada-spec.h c-family/c-objc.h c-errors.o: c-errors.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \ @@ -2049,7 +1906,47 @@ sbitmap.o: sbitmap.c sbitmap.h $(CONFIG_H) $(SYSTEM_H) coretypes.h $(BASIC_BLOCK ebitmap.o: ebitmap.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(EBITMAP_H) sparseset.o: sparseset.c $(SYSTEM_H) sparseset.h $(CONFIG_H) -COLLECT2_OBJS = collect2.o collect2-aix.o tlink.o +AR_LIBS = @COLLECT2_LIBS@ + +gcc-ar$(exeext): gcc-ar.o $(LIBDEPS) + +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) gcc-ar.o -o $@ \ + $(LIBS) $(AR_LIBS) + +gcc-nm$(exeext): gcc-nm.o $(LIBDEPS) + +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) gcc-nm.o -o $@ \ + $(LIBS) $(AR_LIBS) + +gcc-ranlib$(exeext): gcc-ranlib.o $(LIBDEPS) + +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) gcc-ranlib.o -o $@ \ + $(LIBS) $(AR_LIBS) + +CFLAGS-gcc-ar.o += $(DRIVER_DEFINES) \ + -DTARGET_MACHINE=\"$(target_noncanonical)\" \ + @TARGET_SYSTEM_ROOT_DEFINE@ -DPERSONALITY=\"ar\" + +gcc-ar.o: gcc-ar.c $(CONFIG_H) $(SYSTEM_H) $(LIBIBERTY_H) + +CFLAGS-gcc-ranlib.o += $(DRIVER_DEFINES) \ + -DTARGET_MACHINE=\"$(target_noncanonical)\" \ + @TARGET_SYSTEM_ROOT_DEFINE@ -DPERSONALITY=\"ranlib\" + +gcc-ranlib.o: gcc-ranlib.c $(CONFIG_H) $(SYSTEM_H) $(LIBIBERTY_H) + +CFLAGS-gcc-nm.o += $(DRIVER_DEFINES) \ + -DTARGET_MACHINE=\"$(target_noncanonical)\" \ + @TARGET_SYSTEM_ROOT_DEFINE@ -DPERSONALITY=\"nm\" + +gcc-nm.o: gcc-nm.c $(CONFIG_H) $(SYSTEM_H) $(LIBIBERTY_H) + +# ??? the implicit rules dont trigger if the source file has a different name +# so copy instead +gcc-ranlib.c: gcc-ar.c + cp $^ $@ + +gcc-nm.c: gcc-ar.c + cp $^ $@ + +COLLECT2_OBJS = collect2.o collect2-aix.o tlink.o vec.o ggc-none.o COLLECT2_LIBS = @COLLECT2_LIBS@ collect2$(exeext): $(COLLECT2_OBJS) $(LIBDEPS) # Don't try modifying collect2 (aka ld) in place--it might be linking this. @@ -2186,20 +2083,20 @@ DRIVER_DEFINES = \ -DTOOLDIR_BASE_PREFIX=\"$(libsubdir_to_prefix)$(prefix_to_exec_prefix)\" \ @TARGET_SYSTEM_ROOT_DEFINE@ \ $(VALGRIND_DRIVER_DEFINES) \ - `test "X$${SHLIB_LINK}" = "X" || test "@enable_shared@" != "yes" || echo "-DENABLE_SHARED_LIBGCC"` \ + `test "X$${SHLIB}" = "X" || test "@enable_shared@" != "yes" || echo "-DENABLE_SHARED_LIBGCC"` \ -DCONFIGURE_SPECS="\"@CONFIGURE_SPECS@\"" gcc.o: gcc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) intl.h multilib.h \ Makefile $(lang_specs_files) specs.h prefix.h $(GCC_H) $(FLAGS_H) \ configargs.h $(OBSTACK_H) $(OPTS_H) $(DIAGNOSTIC_H) $(VEC_H) $(PARAMS_H) - (SHLIB_LINK='$(SHLIB_LINK)'; \ + (SHLIB='$(SHLIB)'; \ $(COMPILER) $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ $(DRIVER_DEFINES) \ -c $(srcdir)/gcc.c $(OUTPUT_OPTION)) gccspec.o: gccspec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) \ $(OPTS_H) - (SHLIB_LINK='$(SHLIB_LINK)'; \ + (SHLIB='$(SHLIB)'; \ $(COMPILER) $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ $(DRIVER_DEFINES) \ -c $(srcdir)/gccspec.c $(OUTPUT_OPTION)) @@ -2265,6 +2162,12 @@ gtype-desc.o: gtype-desc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ $(CFGLOOP_H) $(TARGET_H) $(IPA_PROP_H) $(LTO_STREAMER_H) \ target-globals.h +trans-mem.o : trans-mem.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ + $(TREE_H) $(GIMPLE_H) $(TREE_FLOW_H) $(TREE_PASS_H) $(TREE_INLINE_H) \ + $(DIAGNOSTIC_CORE_H) $(DEMANGLE_H) output.h $(TRANS_MEM_H) \ + $(PARAMS_H) $(TARGET_H) langhooks.h \ + tree-pretty-print.h gimple-pretty-print.h + ggc-common.o: ggc-common.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ $(GGC_H) $(HASHTAB_H) $(DIAGNOSTIC_CORE_H) $(PARAMS_H) hosthooks.h \ $(HOSTHOOKS_DEF_H) $(VEC_H) $(PLUGIN_H) $(GGC_INTERNAL_H) $(TIMEVAR_H) @@ -2657,7 +2560,7 @@ tree-optimize.o : tree-optimize.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \ $(DIAGNOSTIC_H) $(BASIC_BLOCK_H) $(FLAGS_H) $(TIMEVAR_H) $(TM_H) \ coretypes.h $(TREE_DUMP_H) toplev.h $(DIAGNOSTIC_CORE_H) $(FUNCTION_H) langhooks.h \ $(FLAGS_H) $(CGRAPH_H) $(PLUGIN_H) \ - $(TREE_INLINE_H) tree-mudflap.h $(GGC_H) graph.h $(CGRAPH_H) \ + $(TREE_INLINE_H) $(GGC_H) graph.h $(CGRAPH_H) \ $(TREE_PASS_H) $(CFGLOOP_H) $(EXCEPT_H) $(REGSET_H) gimplify.o : gimplify.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(GIMPLE_H) \ @@ -2695,7 +2598,7 @@ tree-scalar-evolution.o : tree-scalar-evolution.c $(CONFIG_H) $(SYSTEM_H) \ $(TREE_PASS_H) $(PARAMS_H) gt-tree-scalar-evolution.h tree-data-ref.o : tree-data-ref.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ gimple-pretty-print.h $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) \ - $(TREE_PASS_H) langhooks.h tree-affine.h + $(TREE_PASS_H) langhooks.h tree-affine.h $(PARAMS_H) sese.o : sese.c sese.h $(CONFIG_H) $(SYSTEM_H) coretypes.h tree-pretty-print.h \ $(TREE_FLOW_H) $(CFGLOOP_H) $(TREE_DATA_REF_H) tree-pass.h value-prof.h graphite.o : graphite.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) \ @@ -2791,6 +2694,7 @@ gimple.o : gimple.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TREE_H) \ gimple-pretty-print.o : gimple-pretty-print.c $(CONFIG_H) $(SYSTEM_H) \ $(TREE_H) $(DIAGNOSTIC_H) $(HASHTAB_H) $(TREE_FLOW_H) \ $(TM_H) coretypes.h $(TREE_PASS_H) $(GIMPLE_H) value-prof.h \ + $(TRANS_MEM_H) \ tree-pretty-print.h gimple-pretty-print.h tree-mudflap.o : $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(TREE_INLINE_H) \ $(GIMPLE_H) $(DIAGNOSTIC_H) $(DEMANGLE_H) $(HASHTAB_H) langhooks.h tree-mudflap.h \ @@ -2904,7 +2808,8 @@ function.o : function.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_ERROR_ $(OPTABS_H) $(LIBFUNCS_H) $(REGS_H) hard-reg-set.h insn-config.h $(RECOG_H) \ output.h $(EXCEPT_H) $(HASHTAB_H) $(GGC_H) $(TM_P_H) langhooks.h \ gt-function.h $(TARGET_H) $(BASIC_BLOCK_H) $(INTEGRATE_H) $(PREDICT_H) \ - $(TREE_PASS_H) $(DF_H) $(TIMEVAR_H) vecprim.h $(COMMON_TARGET_H) + $(TREE_PASS_H) $(DF_H) $(TIMEVAR_H) vecprim.h $(PARAMS_H) bb-reorder.h \ + $(COMMON_TARGET_H) statistics.o : statistics.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ $(TREE_PASS_H) $(TREE_DUMP_H) $(HASHTAB_H) statistics.h $(FUNCTION_H) stmt.o : stmt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ @@ -3097,7 +3002,7 @@ coverage.o : coverage.c $(GCOV_IO_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h \ $(TM_H) $(RTL_H) $(TREE_H) $(FLAGS_H) output.h $(REGS_H) $(EXPR_H) \ $(FUNCTION_H) $(BASIC_BLOCK_H) toplev.h $(DIAGNOSTIC_CORE_H) $(GGC_H) langhooks.h $(COVERAGE_H) \ $(HASHTAB_H) tree-iterator.h $(CGRAPH_H) $(TREE_PASS_H) gcov-io.c $(TM_P_H) \ - $(DIAGNOSTIC_CORE_H) intl.h gt-coverage.h + $(DIAGNOSTIC_CORE_H) intl.h gt-coverage.h $(TARGET_H) cselib.o : cselib.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h $(RECOG_H) \ $(EMIT_RTL_H) $(DIAGNOSTIC_CORE_H) output.h $(FUNCTION_H) $(TREE_PASS_H) \ @@ -3124,7 +3029,7 @@ fwprop.o : fwprop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ web.o : web.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ hard-reg-set.h $(FLAGS_H) $(BASIC_BLOCK_H) $(FUNCTION_H) output.h $(DIAGNOSTIC_CORE_H) \ insn-config.h $(RECOG_H) $(DF_H) $(OBSTACK_H) $(TIMEVAR_H) $(TREE_PASS_H) -implicit-zee.o : implicit-zee.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ +ree.o : ree.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ hard-reg-set.h $(FLAGS_H) $(BASIC_BLOCK_H) $(FUNCTION_H) output.h \ $(DF_H) $(TIMEVAR_H) tree-pass.h $(RECOG_H) $(EXPR_H) \ $(REGS_H) $(TREE_H) $(TM_P_H) insn-config.h $(INSN_ATTR_H) $(DIAGNOSTIC_CORE_H) \ @@ -3519,6 +3424,7 @@ params.o : params.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(COMMON_TARGET_H) \ pointer-set.o: pointer-set.c pointer-set.h $(CONFIG_H) $(SYSTEM_H) hooks.o: hooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(HOOKS_H) pretty-print.o: $(CONFIG_H) $(SYSTEM_H) coretypes.h intl.h $(PRETTY_PRINT_H) +errors.o : errors.c $(CONFIG_H) $(SYSTEM_H) errors.h dbgcnt.o: dbgcnt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(DIAGNOSTIC_CORE_H) $(DBGCNT_H) \ $(TM_H) $(RTL_H) output.h lower-subreg.o : lower-subreg.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ @@ -3840,6 +3746,7 @@ GTFILES = $(CPP_ID_DATA_H) $(srcdir)/input.h $(srcdir)/coretypes.h \ $(srcdir)/lto-symtab.c \ $(srcdir)/tree-ssa-alias.h \ $(srcdir)/ipa-prop.h \ + $(srcdir)/trans-mem.c \ $(srcdir)/lto-streamer.h \ $(srcdir)/target-globals.h \ $(srcdir)/ipa-inline.h \ @@ -4074,6 +3981,7 @@ PREPROCESSOR_DEFINES = \ -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \ -DFIXED_INCLUDE_DIR=\"$(libsubdir)/include-fixed\" \ -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ + -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \ -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \ -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \ -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \ @@ -4086,7 +3994,7 @@ PREPROCESSOR_DEFINES = \ CFLAGS-cppbuiltin.o += $(PREPROCESSOR_DEFINES) -DBASEVER=$(BASEVER_s) cppbuiltin.o: cppbuiltin.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ - cppbuiltin.h Makefile + $(TREE_H) cppbuiltin.h Makefile CFLAGS-cppdefault.o += $(PREPROCESSOR_DEFINES) cppdefault.o: cppdefault.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ @@ -4130,10 +4038,16 @@ gcov-dump$(exeext): $(GCOV_DUMP_OBJS) $(LIBDEPS) # Build the include directories. stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) fixinc_list # Copy in the headers provided with gcc. +# # The sed command gets just the last file name component; # this is necessary because VPATH could add a dirname. # Using basename would be simpler, but some systems don't have it. +# # The touch command is here to workaround an AIX/Linux NFS bug. +# +# The move-if-change + cp -p twists for limits.h are intended to preserve +# the time stamp when we regenerate, to prevent pointless rebuilds during +# e.g. install-no-fixedincludes. -if [ -d include ] ; then true; else mkdir include; chmod a+rx include; fi -if [ -d include-fixed ] ; then true; else mkdir include-fixed; chmod a+rx include-fixed; fi for file in .. $(USER_H); do \ @@ -4182,8 +4096,10 @@ stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) fixinc_list fi; \ $(mkinstalldirs) $${fix_dir}; \ chmod a+rx $${fix_dir} || true; \ + $(SHELL) $(srcdir)/../move-if-change \ + tmp-xlimits.h tmp-limits.h; \ rm -f $${fix_dir}/limits.h; \ - mv tmp-xlimits.h $${fix_dir}/limits.h; \ + cp -p tmp-limits.h $${fix_dir}/limits.h; \ chmod a+r $${fix_dir}/limits.h; \ done # Install the README @@ -4285,6 +4201,42 @@ stmp-fixinc: gsyslimits.h macro_list fixinc_list \ fi $(STAMP) stmp-fixinc # + +# Install with the gcc headers files, not the fixed include files, which we +# are typically not allowed to distribute. The general idea is to: +# - Get to "install" with a bare set of internal headers, not the +# fixed system ones, +# - Prevent rebuilds of what normally depends on the headers, which is +# useless for installation purposes and would rely on improper headers. +# - Restore as much of the original state as possible. + +.PHONY: install-no-fixedincludes + +install-no-fixedincludes: + # Stash the current set of headers away, save stamps we're going to + # alter explicitly, and arrange for fixincludes not to run next time + # we trigger a headers rebuild. + -rm -rf tmp-include + -mv include tmp-include 2>/dev/null + -mv include-fixed tmp-include-fixed 2>/dev/null + -mv stmp-int-hdrs tmp-stmp-int-hdrs 2>/dev/null + -mv stmp-fixinc tmp-stmp-fixinc 2>/dev/null + -mkdir include + -cp -p $(srcdir)/gsyslimits.h include/syslimits.h + -touch stmp-fixinc + + # Rebuild our internal headers, restore the original stamps so that + # "install" doesn't trigger pointless rebuilds because of that update, + # then do install + $(MAKE) $(FLAGS_TO_PASS) stmp-int-hdrs + -mv tmp-stmp-int-hdrs stmp-int-hdrs 2>/dev/null + -mv tmp-stmp-fixinc stmp-fixinc 2>/dev/null + $(MAKE) $(FLAGS_TO_PASS) install + + # Restore the original set of maybe-fixed headers + -rm -rf include; mv tmp-include include 2>/dev/null + -rm -rf include-fixed; mv tmp-include-fixed include-fixed 2>/dev/null + # Remake the info files. doc: $(BUILD_INFO) $(GENERATED_MANPAGES) @@ -4523,7 +4475,7 @@ clean: mostlyclean lang.clean -rm -f libgcc.a libgcc_eh.a libgcov.a -rm -f libgcc_s* -rm -f libunwind* - -rm -f config.h tconfig.h bconfig.h tm_p.h tm.h libgcc_tm.h + -rm -f config.h tconfig.h bconfig.h tm_p.h tm.h -rm -f options.c options.h optionlist -rm -f cs-* -rm -f doc/*.dvi @@ -4579,7 +4531,7 @@ maintainer-clean: # broken is small. install: install-common $(INSTALL_HEADERS) \ install-cpp install-man install-info install-@POSUB@ \ - install-driver install-lto-wrapper + install-driver install-lto-wrapper install-gcc-ar ifeq ($(enable_plugin),yes) install: install-plugin @@ -4609,7 +4561,6 @@ installdirs: $(mkinstalldirs) $(DESTDIR)$(bindir) $(mkinstalldirs) $(DESTDIR)$(includedir) $(mkinstalldirs) $(DESTDIR)$(infodir) - $(mkinstalldirs) $(DESTDIR)$(slibdir) $(mkinstalldirs) $(DESTDIR)$(man1dir) $(mkinstalldirs) $(DESTDIR)$(man7dir) @@ -4904,6 +4855,21 @@ install-collect2: collect2 installdirs install-lto-wrapper: lto-wrapper$(exeext) $(INSTALL_PROGRAM) lto-wrapper$(exeext) $(DESTDIR)$(libexecsubdir)/lto-wrapper$(exeext) +install-gcc-ar: installdirs gcc-ar$(exeext) gcc-nm$(exeext) gcc-ranlib$(exeext) + for i in gcc-ar gcc-nm gcc-ranlib; do \ + install_name=`echo $$i|sed '$(program_transform_name)'` ;\ + target_install_name=$(target_noncanonical)-`echo $$i|sed '$(program_transform_name)'` ; \ + rm -f $(DESTDIR)$(bindir)/$$install_name$(exeext) ; \ + $(INSTALL_PROGRAM) $$i$(exeext) $(DESTDIR)$(bindir)/$$install_name$(exeext) ;\ + if test -f gcc-cross$(exeext); then \ + :; \ + else \ + rm -f $(DESTDIR)$(bindir)/$$target_install_name$(exeext); \ + ( cd $(DESTDIR)$(bindir) && \ + $(LN) $$install_name$(exeext) $$target_install_name$(exeext) ) ; \ + fi ; \ + done + # Cancel installation by deleting the installed files. uninstall: lang.uninstall -rm -rf $(DESTDIR)$(libsubdir) @@ -4918,6 +4884,12 @@ uninstall: lang.uninstall -rm -rf $(DESTDIR)$(man1dir)/cpp$(man1ext) -rm -f $(DESTDIR)$(infodir)/cpp.info* $(DESTDIR)$(infodir)/gcc.info* -rm -f $(DESTDIR)$(infodir)/cppinternals.info* $(DESTDIR)$(infodir)/gccint.info* + for i in ar nm ranlib ; do \ + install_name=`echo gcc-$$i|sed '$(program_transform_name)'`$(exeext) ;\ + target_install_name=$(target_noncanonical)-`echo gcc-$$i|sed '$(program_transform_name)'`$(exeext) ; \ + rm -f $(DESTDIR)$(bindir)/$$install_name ; \ + rm -f $(DESTDIR)$(bindir)/$$target_install_name ; \ + done # # These targets are for the dejagnu testsuites. The file site.exp # contains global variables that all the testsuites will use.