]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
configure: Check for and explicitly link against -latomic
authorMartin Willi <martin@strongswan.org>
Wed, 8 Jun 2016 12:46:35 +0000 (14:46 +0200)
committerMartin Willi <martin@strongswan.org>
Tue, 14 Jun 2016 12:27:20 +0000 (14:27 +0200)
Some C libraries, such as uClibc, require an explicit link for some atomic
functions. Check for any libatomic, and explcily link it.

13 files changed:
configure.ac
src/charon-cmd/Makefile.am
src/charon-nm/Makefile.am
src/charon-systemd/Makefile.am
src/charon/Makefile.am
src/conftest/Makefile.am
src/libcharon/Makefile.am
src/libfast/Makefile.am
src/libstrongswan/Makefile.am
src/libstrongswan/tests/Makefile.am
src/pki/Makefile.am
src/starter/Makefile.am
src/swanctl/Makefile.am

index daabdd782b96216a252e023883fc55c557939d2f..278714d6e4a38087878d401b5be05db592128b08 100644 (file)
@@ -490,6 +490,11 @@ LIBS=$DLLIB
 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
 # ------------------------------------------------------
 
index 1f4033aad4474e2ce37f623ab7e85736f8ece241..1d4bf70cc36a96b61a963904290238a116a9db79 100644 (file)
@@ -20,4 +20,4 @@ AM_CPPFLAGS = \
 charon_cmd_LDADD = \
        $(top_builddir)/src/libstrongswan/libstrongswan.la \
        $(top_builddir)/src/libcharon/libcharon.la \
-       -lm $(PTHREADLIB) $(DLLIB)
+       -lm $(PTHREADLIB) $(ATOMICLIB) $(DLLIB)
index b6f0c8b54937ea723fc34b20f604c230ff8d5976..6ab7f27c576bab58a22c68a9f81972517cb0664d 100644 (file)
@@ -21,4 +21,4 @@ AM_CFLAGS = \
 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}
index 9942a36827ae868e3259d92c52a0ca293fbaf6f9..6dd7e272695e0f211f530f6fc0a8d2d939ca4505 100644 (file)
@@ -14,4 +14,5 @@ charon_systemd_CPPFLAGS = \
 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)
index c6a6f40f93dbb3106180d758d64d3ca5fd4b95c3..b78bbd7575fd3b646b2797045f9c8af77abbf4ac 100644 (file)
@@ -15,6 +15,6 @@ AM_CPPFLAGS = \
 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
index 2d4e439dae21ded3376a380ea0b963c8f9296c3c..4e4e0beff548661a1e5a05fe40f6c2eba81c8a26 100644 (file)
@@ -20,6 +20,6 @@ conftest_SOURCES = conftest.c conftest.h config.c config.h actions.c actions.h \
 conftest_LDADD = \
        $(top_builddir)/src/libstrongswan/libstrongswan.la \
        $(top_builddir)/src/libcharon/libcharon.la \
-       -lm $(PTHREADLIB) $(DLLIB)
+       -lm $(PTHREADLIB) $(ATOMICLIB) $(DLLIB)
 
 EXTRA_DIST = README
index 9f0707813e63d9279ab2f6bc127f31dc6b35edec..77e2dca0dcf1b29238c6f7efcee502eaf952168d 100644 (file)
@@ -159,7 +159,7 @@ AM_LDFLAGS = \
 
 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
index 48079c66a0f166bf1878be9a29613dbbf02d2100..1a2da9791e8e20c79c8cf6a3c5bbde9bb894130f 100644 (file)
@@ -22,4 +22,4 @@ endif
 
 libfast_la_LIBADD = \
        $(top_builddir)/src/libstrongswan/libstrongswan.la \
-       -lfcgi $(clearsilver_LIBS) $(PTHREADLIB)
+       -lfcgi $(clearsilver_LIBS) $(PTHREADLIB) $(ATOMICLIB)
index 0bac61b444a897b44ac570e1a8c2f850f8298bc5..9be93f1f8bee3efce9d94eb1ad331bc0ab5bde09 100644 (file)
@@ -120,7 +120,9 @@ endif
 
 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 \
index b2d456035b49eaad97e2486bf685c8fe3817b15c..caa9d3a6a306f0b91515ac0bbe722c3d2b33d93c 100644 (file)
@@ -12,7 +12,7 @@ libtest_la_CFLAGS = \
 libtest_la_LDFLAGS = @COVERAGE_LDFLAGS@
 libtest_la_LIBADD = \
   $(top_builddir)/src/libstrongswan/libstrongswan.la \
-  $(PTHREADLIB)
+  $(PTHREADLIB) $(ATOMICLIB)
 
 
 TESTS = tests
index 261e41c16b62397d186179c4f79df5dbe72133cd..1153794cdd386e34993b3fb28bda09606c9f3717 100644 (file)
@@ -19,7 +19,7 @@ pki_SOURCES = pki.c pki.h command.c command.h \
 
 pki_LDADD = \
        $(top_builddir)/src/libstrongswan/libstrongswan.la \
-       $(PTHREADLIB) $(DLLIB)
+       $(PTHREADLIB) $(ATOMICLIB) $(DLLIB)
 
 pki.o :        $(top_builddir)/config.status
 
index 8341ca3ee9c1d42396a2fc70430d2430562c024e..787cec41ca7cffe368ff8f5285425c07c527aa81 100644 (file)
@@ -34,7 +34,7 @@ starter_LDADD = \
        $(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
index fb027149a297dfe572fbc96e577c49879590bcab..37a0224c393dd3bfb50fd44d654133d75d91ab3f 100644 (file)
@@ -27,7 +27,7 @@ swanctl_SOURCES = \
 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