Commit 9a85ed03 by Ian Lance Taylor

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
parent cc8849a1
...@@ -30,6 +30,8 @@ toolexeclibgodir = $(nover_glibgo_toolexeclibdir)/go/$(gcc_version)/$(target_ali ...@@ -30,6 +30,8 @@ toolexeclibgodir = $(nover_glibgo_toolexeclibdir)/go/$(gcc_version)/$(target_ali
LIBFFI = @LIBFFI@ LIBFFI = @LIBFFI@
LIBFFIINCS = @LIBFFIINCS@ LIBFFIINCS = @LIBFFIINCS@
LIBATOMIC = @LIBATOMIC@
WARN_CFLAGS = $(WARN_FLAGS) $(WERROR) WARN_CFLAGS = $(WARN_FLAGS) $(WERROR)
# -I/-D flags to pass when compiling. # -I/-D flags to pass when compiling.
...@@ -1949,8 +1951,7 @@ libgo_la_LDFLAGS = \ ...@@ -1949,8 +1951,7 @@ libgo_la_LDFLAGS = \
libgo_la_LIBADD = \ libgo_la_LIBADD = \
$(libgo_go_objs) ../libbacktrace/libbacktrace.la \ $(libgo_go_objs) ../libbacktrace/libbacktrace.la \
../libatomic/libatomic_convenience.la \ $(LIBATOMIC) $(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS)
$(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS)
libgobegin_a_SOURCES = \ libgobegin_a_SOURCES = \
runtime/go-main.c runtime/go-main.c
......
...@@ -171,10 +171,9 @@ am__DEPENDENCIES_2 = bufio.lo bytes.lo bytes/index.lo crypto.lo \ ...@@ -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 \ testing/iotest.lo testing/quick.lo unicode/utf16.lo \
unicode/utf8.lo unicode/utf8.lo
libgo_la_DEPENDENCIES = $(am__DEPENDENCIES_2) \ libgo_la_DEPENDENCIES = $(am__DEPENDENCIES_2) \
../libbacktrace/libbacktrace.la \ ../libbacktrace/libbacktrace.la $(am__DEPENDENCIES_1) \
../libatomic/libatomic_convenience.la $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(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_FALSE@am__objects_1 = lock_sema.lo thread-sema.lo
@LIBGO_IS_LINUX_TRUE@am__objects_1 = lock_futex.lo thread-linux.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 @HAVE_SYS_MMAN_H_FALSE@am__objects_2 = mem_posix_memalign.lo
...@@ -316,6 +315,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ ...@@ -316,6 +315,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@ LD = @LD@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBATOMIC = @LIBATOMIC@
LIBFFI = @LIBFFI@ LIBFFI = @LIBFFI@
LIBFFIINCS = @LIBFFIINCS@ LIBFFIINCS = @LIBFFIINCS@
LIBOBJS = @LIBOBJS@ LIBOBJS = @LIBOBJS@
...@@ -2020,8 +2020,7 @@ libgo_la_LDFLAGS = \ ...@@ -2020,8 +2020,7 @@ libgo_la_LDFLAGS = \
libgo_la_LIBADD = \ libgo_la_LIBADD = \
$(libgo_go_objs) ../libbacktrace/libbacktrace.la \ $(libgo_go_objs) ../libbacktrace/libbacktrace.la \
../libatomic/libatomic_convenience.la \ $(LIBATOMIC) $(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS)
$(LIBFFI) $(PTHREAD_LIBS) $(MATH_LIBS) $(NET_LIBS)
libgobegin_a_SOURCES = \ libgobegin_a_SOURCES = \
runtime/go-main.c runtime/go-main.c
......
...@@ -676,6 +676,7 @@ LIBGO_IS_FREEBSD_TRUE ...@@ -676,6 +676,7 @@ LIBGO_IS_FREEBSD_TRUE
LIBGO_IS_DARWIN_FALSE LIBGO_IS_DARWIN_FALSE
LIBGO_IS_DARWIN_TRUE LIBGO_IS_DARWIN_TRUE
go_include go_include
LIBATOMIC
LIBFFIINCS LIBFFIINCS
LIBFFI LIBFFI
nover_glibgo_toolexeclibdir nover_glibgo_toolexeclibdir
...@@ -817,6 +818,7 @@ enable_libtool_lock ...@@ -817,6 +818,7 @@ enable_libtool_lock
enable_werror enable_werror
enable_version_specific_runtime_libs enable_version_specific_runtime_libs
with_libffi with_libffi
with_libatomic
with_system_libunwind with_system_libunwind
enable_sjlj_exceptions enable_sjlj_exceptions
' '
...@@ -1469,6 +1471,7 @@ Optional Packages: ...@@ -1469,6 +1471,7 @@ Optional Packages:
--with-pic try to use only PIC/non-PIC objects [default=use --with-pic try to use only PIC/non-PIC objects [default=use
both] both]
--without-libffi don't use libffi --without-libffi don't use libffi
--without-libatomic don't use libatomic
--with-system-libunwind use installed libunwind --with-system-libunwind use installed libunwind
Some influential environment variables: Some influential environment variables:
...@@ -11115,7 +11118,7 @@ else ...@@ -11115,7 +11118,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF cat > conftest.$ac_ext <<_LT_EOF
#line 11118 "configure" #line 11121 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
...@@ -11221,7 +11224,7 @@ else ...@@ -11221,7 +11224,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF cat > conftest.$ac_ext <<_LT_EOF
#line 11224 "configure" #line 11227 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
...@@ -13483,6 +13486,24 @@ fi ...@@ -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 # Used to tell GNU make to include a file without telling automake to
# include it. # include it.
go_include="-include" go_include="-include"
......
...@@ -122,6 +122,21 @@ fi ...@@ -122,6 +122,21 @@ fi
AC_SUBST(LIBFFI) AC_SUBST(LIBFFI)
AC_SUBST(LIBFFIINCS) 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 # Used to tell GNU make to include a file without telling automake to
# include it. # include it.
go_include="-include" go_include="-include"
......
...@@ -96,6 +96,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ ...@@ -96,6 +96,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@ LD = @LD@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBATOMIC = @LIBATOMIC@
LIBFFI = @LIBFFI@ LIBFFI = @LIBFFI@
LIBFFIINCS = @LIBFFIINCS@ LIBFFIINCS = @LIBFFIINCS@
LIBOBJS = @LIBOBJS@ LIBOBJS = @LIBOBJS@
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment