Daily bump.
[gcc.git] / libatomic / Makefile.am
index e08db5638fd6a5286dd674e07d226632c01705af..f169d505227c23355ddf76c82172b2f846edb324 100644 (file)
@@ -1,4 +1,4 @@
-##  Copyright (C) 2012 Free Software Foundation, Inc.
+##  Copyright (C) 2012-2020 Free Software Foundation, Inc.
 ##  Contributed by Richard Henderson <rth@redhat.com>.
 ##
 ##  This file is part of the GNU Atomic Library (libatomic).
@@ -26,7 +26,7 @@ ACLOCAL_AMFLAGS = -I .. -I ../config
 SUBDIRS = testsuite
 
 ## May be used by toolexeclibdir.
-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
 
 config_path= @config_path@
 search_path = $(addprefix $(top_srcdir)/config/, $(config_path)) \
@@ -40,6 +40,7 @@ AM_CCASFLAGS = $(XCFLAGS)
 AM_LDFLAGS = $(XLDFLAGS) $(SECTION_LDFLAGS) $(OPT_LDFLAGS)
 
 toolexeclib_LTLIBRARIES = libatomic.la
+noinst_LTLIBRARIES = libatomic_convenience.la
 
 if LIBAT_BUILD_VERSIONED_SHLIB
 if LIBAT_BUILD_VERSIONED_SHLIB_GNU
@@ -56,7 +57,7 @@ libatomic.map-sun : $(top_srcdir)/libatomic.map \
          $(top_srcdir)/libatomic.map \
          $(libatomic_la_OBJECTS:%.lo=.libs/%.o) \
         `echo $(libatomic_la_LIBADD) | \
-           sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
+           sed 's,\([^/        ]*\)\.l\([ao]\),.libs/\1.\2,g'` \
         > $@ || (rm -f $@ ; exit 1)
 endif
 else
@@ -65,8 +66,9 @@ libatomic_version_dep =
 endif
 libatomic_version_info = -version-info $(libtool_VERSION)
 
-libatomic_la_LDFLAGS = $(libatomic_version_info) $(libatomic_version_script)
-libatomic_la_SOURCES = gload.c gstore.c gcas.c gexch.c glfree.c lock.c init.c
+libatomic_la_LDFLAGS = $(libatomic_version_info) $(libatomic_version_script) $(lt_host_flags)
+libatomic_la_SOURCES = gload.c gstore.c gcas.c gexch.c glfree.c lock.c init.c \
+       fenv.c fence.c flag.c
 
 SIZEOBJS = load store cas exch fadd fsub fand fior fxor fnand tas
 SIZES = @SIZES@
@@ -99,7 +101,9 @@ PAT_S                = $(word 3,$(PAT_SPLIT))
 IFUNC_DEF      = -DIFUNC_ALT=$(PAT_S)
 IFUNC_OPT      = $(word $(PAT_S),$(IFUNC_OPTIONS))
 
-M_DEPS         = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
+@AMDEP_TRUE@M_DEPS             = -MT $@ -MD -MP -MF $(DEPDIR)/$(@F).Ppo
+@AMDEP_FALSE@M_DEPS            =
+
 M_SIZE         = -DN=$(PAT_N)
 M_IFUNC                = $(if $(PAT_S),$(IFUNC_DEF) $(IFUNC_OPT))
 M_FILE         = $(PAT_BASE)_n.c
@@ -120,8 +124,12 @@ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix _$(s)_.lo,$(SIZEOBJS)))
 
 ## On a target-specific basis, include alternates to be selected by IFUNC.
 if HAVE_IFUNC
+if ARCH_AARCH64_LINUX
+IFUNC_OPTIONS       = -march=armv8-a+lse
+libatomic_la_LIBADD += $(foreach s,$(SIZES),$(addsuffix _$(s)_1_.lo,$(SIZEOBJS)))
+endif
 if ARCH_ARM_LINUX
-IFUNC_OPTIONS       = -march=armv7-a -DHAVE_KERNEL64
+IFUNC_OPTIONS       = -march=armv7-a+fp -DHAVE_KERNEL64
 libatomic_la_LIBADD += $(foreach s,$(SIZES),$(addsuffix _$(s)_1_.lo,$(SIZEOBJS)))
 libatomic_la_LIBADD += $(addsuffix _8_2_.lo,$(SIZEOBJS))
 endif
@@ -134,3 +142,20 @@ IFUNC_OPTIONS           = -mcx16
 libatomic_la_LIBADD += $(addsuffix _16_1_.lo,$(SIZEOBJS))
 endif
 endif
+
+libatomic_convenience_la_SOURCES = $(libatomic_la_SOURCES)
+libatomic_convenience_la_LIBADD = $(libatomic_la_LIBADD)
+
+# Override the automake generated all-multi rule to guarantee that all-multi
+# is not run in parallel with the %_.lo rules which generate $(DEPDIR)/*.Ppo
+# makefile fragments to avoid broken *.Ppo getting included into the Makefile
+# when it is reloaded during the build of all-multi.
+all-multi: $(libatomic_la_LIBADD)
+       $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
+
+# target overrides
+ifneq ($(tmake_file),)
+include $(tmake_file)
+endif
+
+include $(top_srcdir)/../multilib.am