X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libgcc%2FMakefile.in;h=080aae2870787e388d11dd50521d54a2fef4132c;hb=9add9bb39d02718a2dc239fde0267b64b711722a;hp=94b6440f011ee3d463a87a739ccf758a8a9fbe15;hpb=4d6f3aadf5cae5784452dc4e71596d8bfb9722dd;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in index 94b6440f011..080aae28707 100644 --- a/libgcc/Makefile.in +++ b/libgcc/Makefile.in @@ -1,12 +1,12 @@ # Makefile.in -# Copyright (C) 2005, 2006 Free Software Foundation +# Copyright (C) 2005, 2006, 2009 Free Software Foundation # # This file is part of GCC. # # GCC is free software; you can redistribute it and/or modify it under the # terms of the GNU Library General Public License as published by the Free -# Software Foundation; either version 2 of the License, or (at your option) +# Software Foundation; either version 3 of the License, or (at your option) # any later version. # # GCC is distributed in the hope that it will be useful, but WITHOUT ANY @@ -15,9 +15,8 @@ # more details. # # You should have received a copy of the GNU General Public License along -# with GCC; see the file COPYING. If not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, -# USA. +# with GCC; see the file COPYING3. If not see +# . # libgcc_topdir = @libgcc_topdir@ @@ -138,9 +137,20 @@ config.h: stamp-h ; @true stamp-h: $(srcdir)/config.in config.status Makefile CONFIG_FILES= CONFIG_HEADERS=config.h:$(srcdir)/config.in $(SHELL) ./config.status -config.status: $(srcdir)/configure +config.status: $(srcdir)/configure $(srcdir)/config.host $(SHELL) ./config.status --recheck +AUTOCONF = autoconf +configure_deps = \ + $(srcdir)/../config/enable.m4 \ + $(srcdir)/../config/tls.m4 \ + $(srcdir)/../config/acx.m4 \ + $(srcdir)/../config/no-executables.m4 \ + $(srcdir)/../config/override.m4 \ + +$(srcdir)/configure: @MAINT@ $(srcdir)/configure.ac $(configure_deps) + cd $(srcdir) && $(AUTOCONF) + include $(gcc_objdir)/libgcc.mvars # Flags to pass to recursive makes. @@ -216,7 +226,7 @@ override CFLAGS := $(filter-out -fprofile-generate -fprofile-use,$(CFLAGS)) # will usually contain -g, so for the moment CFLAGS goes first. We must # include CFLAGS - that's where multilib options live. INTERNAL_CFLAGS = $(CFLAGS) $(LIBGCC2_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \ - $(INCLUDES) @set_have_cc_tls@ + $(INCLUDES) @set_have_cc_tls@ @set_use_emutls@ MULTIDIR := $(shell $(CC) $(CFLAGS) -print-multi-directory) MULTIOSDIR := $(shell $(CC) $(CFLAGS) -print-multi-os-directory) @@ -265,7 +275,9 @@ ASM_HIDDEN_OP = @asm_hidden_op@ define gen-hide-list $(NM) -pg $< | \ - $(AWK) 'NF == 3 && $$2 !~ /^[UN]$$/ { print "\t$(ASM_HIDDEN_OP)", $$3 }' > $@T + $(AWK) 'NF == 3 && $$2 !~ /^[UN]$$/ && $$3 !~ /.*_compat/ \ + && $$3 !~ /.*@.*/ \ + { print "\t$(ASM_HIDDEN_OP)", $$3 }' > $@T mv -f $@T $@ endef else @@ -577,6 +589,54 @@ endif endif +ifeq ($(LIBGCC_SYNC),yes) +libgcc-sync-size-funcs := $(foreach op, add sub or and xor nand, \ + sync_fetch_and_$(op) \ + sync_$(op)_and_fetch) \ + sync_bool_compare_and_swap \ + sync_val_compare_and_swap \ + sync_lock_test_and_set + +libgcc-sync-size-funcs := $(foreach prefix, $(libgcc-sync-size-funcs), \ + $(foreach suffix, 1 2 4 8 16, \ + $(prefix)_$(suffix))) + +libgcc-sync-size-funcs-o = $(patsubst %,%$(objext),$(libgcc-sync-size-funcs)) +$(libgcc-sync-size-funcs-o): %$(objext): $(gcc_srcdir)/config/sync.c + $(gcc_compile) $(LIBGCC_SYNC_CFLAGS) \ + -DFN=`echo "$*" | sed 's/_[^_]*$$//'` \ + -DSIZE=`echo "$*" | sed 's/.*_//'` \ + -c $(gcc_srcdir)/config/sync.c $(vis_hide) +libgcc-objects += $(libgcc-sync-size-funcs-o) + +libgcc-sync-funcs := sync_synchronize + +libgcc-sync-funcs-o = $(patsubst %,%$(objext),$(libgcc-sync-funcs)) +$(libgcc-sync-funcs-o): %$(objext): $(gcc_srcdir)/config/sync.c + $(gcc_compile) $(LIBGCC_SYNC_CFLAGS) \ + -DL$* \ + -c $(gcc_srcdir)/config/sync.c $(vis_hide) +libgcc-objects += $(libgcc-sync-funcs-o) + +ifeq ($(enable_shared),yes) +libgcc-sync-size-funcs-s-o = $(patsubst %,%_s$(objext), \ + $(libgcc-sync-size-funcs)) +$(libgcc-sync-size-funcs-s-o): %_s$(objext): $(gcc_srcdir)/config/sync.c + $(gcc_s_compile) $(LIBGCC_SYNC_CFLAGS) \ + -DFN=`echo "$*" | sed 's/_[^_]*$$//'` \ + -DSIZE=`echo "$*" | sed 's/.*_//'` \ + -c $(gcc_srcdir)/config/sync.c +libgcc-s-objects += $(libgcc-sync-size-funcs-s-o) + +libgcc-sync-funcs-s-o = $(patsubst %,%_s$(objext),$(libgcc-sync-funcs)) +$(libgcc-sync-funcs-s-o): %_s$(objext): $(gcc_srcdir)/config/sync.c + $(gcc_s_compile) $(LIBGCC_SYNC_CFLAGS) \ + -DL$* \ + -c $(gcc_srcdir)/config/sync.c +libgcc-s-objects += $(libgcc-sync-funcs-s-o) +endif +endif + # Build fixed-point support. ifeq ($(fixed_point),yes) @@ -900,7 +960,7 @@ install-leaf: $(install-shared) $(install-libunwind) done install: install-leaf - @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install + @: $(MAKE) ; $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install .PHONY: install install-shared install-libunwind