aboutsummaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2014-05-29 20:22:27 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2014-05-29 20:22:27 +0000
commit9a85ed03da6afed536ba4fb5107a4e8b9f01aec4 (patch)
treeffb905fbae8b421551bac556d96607de00cb5918 /libgo
parentcc8849a1597bb12c16a990bfed6a3b685952d493 (diff)
downloadgcc-9a85ed03da6afed536ba4fb5107a4e8b9f01aec4.zip
gcc-9a85ed03da6afed536ba4fb5107a4e8b9f01aec4.tar.gz
gcc-9a85ed03da6afed536ba4fb5107a4e8b9f01aec4.tar.bz2
runtime: add the --without-libatomic configure option
This adds the --without-libatomic configure option, which is useful for building libgo with a non-gcc compiler. It disables libgo's dependency on libatomic. This is useful for platforms where it is known that the libatomic runtime functions are not required, or where the compiler automatically provides an implementation of them. From-SVN: r211065
Diffstat (limited to 'libgo')
-rw-r--r--libgo/Makefile.am5
-rw-r--r--libgo/Makefile.in9
-rwxr-xr-xlibgo/configure25
-rw-r--r--libgo/configure.ac15
-rw-r--r--libgo/testsuite/Makefile.in1
5 files changed, 46 insertions, 9 deletions
diff --git a/libgo/Makefile.am b/libgo/Makefile.am
index efdeeab..91c5d1c 100644
--- a/libgo/Makefile.am
+++ b/libgo/Makefile.am
@@ -30,6 +30,8 @@ toolexeclibgodir = $(nover_glibgo_toolexeclibdir)/go/$(gcc_version)/$(target_ali
LIBFFI = @LIBFFI@
LIBFFIINCS = @LIBFFIINCS@
+LIBATOMIC = @LIBATOMIC@
+
WARN_CFLAGS = $(WARN_FLAGS) $(WERROR)
# -I/-D flags to pass when compiling.
@@ -1949,8 +1951,7 @@ libgo_la_LDFLAGS = \
libgo_la_LIBADD = \
$(libgo_go_objs) ../libbacktrace/libbacktrace.la \
- ../libatomic/libatomic_convenience.la \
- $(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS)
+ $(LIBATOMIC) $(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS)
libgobegin_a_SOURCES = \
runtime/go-main.c
diff --git a/libgo/Makefile.in b/libgo/Makefile.in
index 1b3aedf..5329983 100644
--- a/libgo/Makefile.in
+++ b/libgo/Makefile.in
@@ -171,10 +171,9 @@ am__DEPENDENCIES_2 = bufio.lo bytes.lo bytes/index.lo crypto.lo \
testing/iotest.lo testing/quick.lo unicode/utf16.lo \
unicode/utf8.lo
libgo_la_DEPENDENCIES = $(am__DEPENDENCIES_2) \
- ../libbacktrace/libbacktrace.la \
- ../libatomic/libatomic_convenience.la $(am__DEPENDENCIES_1) \
+ ../libbacktrace/libbacktrace.la $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
@LIBGO_IS_LINUX_FALSE@am__objects_1 = lock_sema.lo thread-sema.lo
@LIBGO_IS_LINUX_TRUE@am__objects_1 = lock_futex.lo thread-linux.lo
@HAVE_SYS_MMAN_H_FALSE@am__objects_2 = mem_posix_memalign.lo
@@ -316,6 +315,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBATOMIC = @LIBATOMIC@
LIBFFI = @LIBFFI@
LIBFFIINCS = @LIBFFIINCS@
LIBOBJS = @LIBOBJS@
@@ -2020,8 +2020,7 @@ libgo_la_LDFLAGS = \
libgo_la_LIBADD = \
$(libgo_go_objs) ../libbacktrace/libbacktrace.la \
- ../libatomic/libatomic_convenience.la \
- $(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS)
+ $(LIBATOMIC) $(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS)
libgobegin_a_SOURCES = \
runtime/go-main.c
diff --git a/libgo/configure b/libgo/configure
index 23ef791..22f9352 100755
--- a/libgo/configure
+++ b/libgo/configure
@@ -676,6 +676,7 @@ LIBGO_IS_FREEBSD_TRUE
LIBGO_IS_DARWIN_FALSE
LIBGO_IS_DARWIN_TRUE
go_include
+LIBATOMIC
LIBFFIINCS
LIBFFI
nover_glibgo_toolexeclibdir
@@ -817,6 +818,7 @@ enable_libtool_lock
enable_werror
enable_version_specific_runtime_libs
with_libffi
+with_libatomic
with_system_libunwind
enable_sjlj_exceptions
'
@@ -1469,6 +1471,7 @@ Optional Packages:
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--without-libffi don't use libffi
+ --without-libatomic don't use libatomic
--with-system-libunwind use installed libunwind
Some influential environment variables:
@@ -11115,7 +11118,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11118 "configure"
+#line 11121 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11221,7 +11224,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11224 "configure"
+#line 11227 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -13483,6 +13486,24 @@ fi
+# See if the user wants to configure without libatomic. This is useful if we are
+# on an architecture for which libgo does not need an atomic support library and
+# libatomic does not support our C compiler.
+
+# Check whether --with-libatomic was given.
+if test "${with_libatomic+set}" = set; then :
+ withval=$with_libatomic; :
+else
+ with_libatomic=${with_libatomic_default-yes}
+fi
+
+
+LIBATOMIC=
+if test "$with_libatomic" != no; then
+ LIBATOMIC=../libatomic/libatomic_convenience.la
+fi
+
+
# Used to tell GNU make to include a file without telling automake to
# include it.
go_include="-include"
diff --git a/libgo/configure.ac b/libgo/configure.ac
index 8f55cac..1f5aea8 100644
--- a/libgo/configure.ac
+++ b/libgo/configure.ac
@@ -122,6 +122,21 @@ fi
AC_SUBST(LIBFFI)
AC_SUBST(LIBFFIINCS)
+# See if the user wants to configure without libatomic. This is useful if we are
+# on an architecture for which libgo does not need an atomic support library and
+# libatomic does not support our C compiler.
+AC_ARG_WITH(libatomic,
+ AS_HELP_STRING([--without-libatomic],
+ [don't use libatomic]),
+ [:],
+ [with_libatomic=${with_libatomic_default-yes}])
+
+LIBATOMIC=
+if test "$with_libatomic" != no; then
+ LIBATOMIC=../libatomic/libatomic_convenience.la
+fi
+AC_SUBST(LIBATOMIC)
+
# Used to tell GNU make to include a file without telling automake to
# include it.
go_include="-include"
diff --git a/libgo/testsuite/Makefile.in b/libgo/testsuite/Makefile.in
index 8f0e2ad..7f7fb74 100644
--- a/libgo/testsuite/Makefile.in
+++ b/libgo/testsuite/Makefile.in
@@ -96,6 +96,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBATOMIC = @LIBATOMIC@
LIBFFI = @LIBFFI@
LIBFFIINCS = @LIBFFIINCS@
LIBOBJS = @LIBOBJS@