AC_SEARCH_LIBS(pthread_create, pthread, [PTHREADLIB=$LIBS])
AC_SUBST(PTHREADLIB)
+# uClibc requires explicit -latomic for __atomic_* operations
+LIBS=""
+AC_SEARCH_LIBS(__atomic_load, atomic, [ATOMICLIB=$LIBS])
+AC_SUBST(ATOMICLIB)
+
LIBS=$saved_LIBS
# ------------------------------------------------------
charon_cmd_LDADD = \
$(top_builddir)/src/libstrongswan/libstrongswan.la \
$(top_builddir)/src/libcharon/libcharon.la \
- -lm $(PTHREADLIB) $(DLLIB)
+ -lm $(PTHREADLIB) $(ATOMICLIB) $(DLLIB)
charon_nm_LDADD = \
$(top_builddir)/src/libstrongswan/libstrongswan.la \
$(top_builddir)/src/libcharon/libcharon.la \
- -lm $(PTHREADLIB) $(DLLIB) ${nm_LIBS}
+ -lm $(PTHREADLIB) $(ATOMICLIB) $(DLLIB) ${nm_LIBS}
charon_systemd_LDADD = \
$(top_builddir)/src/libstrongswan/libstrongswan.la \
$(top_builddir)/src/libcharon/libcharon.la \
- $(systemd_LIBS) $(systemd_daemon_LIBS) $(systemd_journal_LIBS) -lm $(PTHREADLIB) $(DLLIB)
+ $(systemd_LIBS) $(systemd_daemon_LIBS) $(systemd_journal_LIBS) \
+ -lm $(PTHREADLIB) $(ATOMICLIB) $(DLLIB)
charon_LDADD = \
$(top_builddir)/src/libstrongswan/libstrongswan.la \
$(top_builddir)/src/libcharon/libcharon.la \
- -lm $(PTHREADLIB) $(DLLIB)
+ -lm $(PTHREADLIB) $(ATOMICLIB) $(DLLIB)
EXTRA_DIST = Android.mk
conftest_LDADD = \
$(top_builddir)/src/libstrongswan/libstrongswan.la \
$(top_builddir)/src/libcharon/libcharon.la \
- -lm $(PTHREADLIB) $(DLLIB)
+ -lm $(PTHREADLIB) $(ATOMICLIB) $(DLLIB)
EXTRA_DIST = README
libcharon_la_LIBADD = \
$(top_builddir)/src/libstrongswan/libstrongswan.la \
- -lm $(PTHREADLIB) $(DLLIB) $(SOCKLIB)
+ -lm $(PTHREADLIB) $(ATOMICLIB) $(DLLIB) $(SOCKLIB)
if USE_WINDOWS
libcharon_la_LIBADD += -lws2_32
libfast_la_LIBADD = \
$(top_builddir)/src/libstrongswan/libstrongswan.la \
- -lfcgi $(clearsilver_LIBS) $(PTHREADLIB)
+ -lfcgi $(clearsilver_LIBS) $(PTHREADLIB) $(ATOMICLIB)
library.lo : $(top_builddir)/config.status
-libstrongswan_la_LIBADD = $(DLLIB) $(BTLIB) $(SOCKLIB) $(RTLIB) $(BFDLIB) $(UNWINDLIB)
+libstrongswan_la_LIBADD = \
+ $(DLLIB) $(ATOMICLIB) $(BTLIB) $(SOCKLIB) \
+ $(RTLIB) $(BFDLIB) $(UNWINDLIB)
AM_CPPFLAGS = \
-I$(top_srcdir)/src/libstrongswan \
libtest_la_LDFLAGS = @COVERAGE_LDFLAGS@
libtest_la_LIBADD = \
$(top_builddir)/src/libstrongswan/libstrongswan.la \
- $(PTHREADLIB)
+ $(PTHREADLIB) $(ATOMICLIB)
TESTS = tests
pki_LDADD = \
$(top_builddir)/src/libstrongswan/libstrongswan.la \
- $(PTHREADLIB) $(DLLIB)
+ $(PTHREADLIB) $(ATOMICLIB) $(DLLIB)
pki.o : $(top_builddir)/config.status
$(top_builddir)/src/libstrongswan/libstrongswan.la \
$(top_builddir)/src/libcharon/libcharon.la \
libstarter.la \
- $(SOCKLIB) $(PTHREADLIB)
+ $(SOCKLIB) $(PTHREADLIB) $(ATOMICLIB)
EXTRA_DIST = keywords.txt ipsec.conf Android.mk
MAINTAINERCLEANFILES = keywords.c
swanctl_LDADD = \
$(top_builddir)/src/libcharon/plugins/vici/libvici.la \
$(top_builddir)/src/libstrongswan/libstrongswan.la \
- $(PTHREADLIB) $(DLLIB)
+ $(PTHREADLIB) $(ATOMICLIB) $(DLLIB)
swanctl.o : $(top_builddir)/config.status