From ad82960e07f9e9b8431778d3e99e548212713ce7 Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Wed, 21 Sep 2011 13:14:29 +0400 Subject: [PATCH] Fix configure for mingw-w64/32. * configure.ac (PICFLAG, THREADDLLIBS): Define as empty for MinGW. * configure.ac (have_pthreads): New definition (set to true unless MinGW). * configure.ac (HAVE_PTHREAD_H): New AM conditional (based on have_pthreads value). * tests/Makefile.am (test_atomic_pthreads_SOURCES, test_atomic_pthreads_CPPFLAGS, test_atomic_pthreads_LDADD): Define only if HAVE_PTHREAD_H. * tests/Makefile.am (TESTS): Don't include test_atomic_pthreads unless HAVE_PTHREAD_H. * tests/Makefile.am (check_PROGRAMS): Define to TESTS value. --- configure.ac | 10 ++++++++-- tests/Makefile.am | 28 +++++++++++++++------------- 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/configure.ac b/configure.ac index 9724281..3c6c282 100644 --- a/configure.ac +++ b/configure.ac @@ -30,8 +30,8 @@ if test "$GCC" = yes; then # Workaround: at least GCC 3.4.6 does not define this macro. CFLAGS="$CFLAGS -D__PIC__=1" ;; - *-*-cygwin*) - # Cygwin does not need -fPIC. + *-*-cygwin* | *-*-mingw*) + # Cygwin and Mingw[-w32/64] do not need -fPIC. ;; *) AC_MSG_RESULT(-fPIC) @@ -70,6 +70,7 @@ AC_SUBST(DEFS) AH_TEMPLATE([_PTHREADS], [Indicates the use of pthreads (NetBSD).]) THREADDLLIBS= +have_pthreads=true ## Libraries needed to support threads. AC_CHECK_LIB(pthread, pthread_self, THREADDLLIBS="-lpthread",,) AC_DEFINE(_REENTRANT, 1, [Required define if using POSIX threads.]) @@ -83,9 +84,14 @@ case "$host" in *-*-cygwin* | *-*-darwin*) THREADDLLIBS= ;; + *-*-mingw*) + THREADDLLIBS= + have_pthreads=false + ;; esac AC_SUBST(THREADDLLIBS) +AM_CONDITIONAL(HAVE_PTHREAD_H, test x$have_pthreads = xtrue) AM_CONDITIONAL(NEED_ASM, test x$need_asm = xtrue) AC_CONFIG_FILES([ diff --git a/tests/Makefile.am b/tests/Makefile.am index b5891fd..66f83bb 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,5 +1,5 @@ EXTRA_DIST=test_atomic_include.template list_atomic.template run_parallel.h \ - test_atomic_include.h list_atomic.c + test_atomic_include.h list_atomic.c # We distribute test_atomic_include.h and list_atomic.c, since it is hard # to regenerate them on Windows without sed. @@ -7,30 +7,32 @@ BUILT_SOURCES = test_atomic_include.h list_atomic.i CLEANFILES = list_atomic.i AM_CPPFLAGS = \ - -I$(top_builddir)/src -I$(top_srcdir)/src \ - -I$(top_builddir)/tests -I$(top_srcdir)/tests + -I$(top_builddir)/src -I$(top_srcdir)/src \ + -I$(top_builddir)/tests -I$(top_srcdir)/tests +if HAVE_PTHREAD_H TESTS=test_atomic test_atomic_pthreads test_stack test_malloc +test_atomic_pthreads_SOURCES=$(test_atomic_SOURCES) +test_atomic_pthreads_CPPFLAGS=-DAO_USE_PTHREAD_DEFS $(AM_CPPFLAGS) +test_atomic_pthreads_LDADD=$(test_atomic_LDADD) +else +TESTS=test_atomic test_stack test_malloc +endif -#create the test_atomic test program -check_PROGRAMS=test_atomic test_atomic_pthreads test_stack test_malloc +check_PROGRAMS=$(TESTS) test_atomic_SOURCES=test_atomic.c test_atomic_LDADD = $(THREADDLLIBS) $(top_builddir)/src/libatomic_ops.la -test_atomic_pthreads_SOURCES=test_atomic.c -test_atomic_pthreads_CPPFLAGS=-DAO_USE_PTHREAD_DEFS $(AM_CPPFLAGS) -test_atomic_pthreads_LDADD = $(THREADDLLIBS) $(top_builddir)/src/libatomic_ops.la - test_stack_SOURCES=test_stack.c test_stack_LDADD = $(THREADDLLIBS) \ - $(top_builddir)/src/libatomic_ops_gpl.la \ - $(top_builddir)/src/libatomic_ops.la + $(top_builddir)/src/libatomic_ops_gpl.la \ + $(top_builddir)/src/libatomic_ops.la test_malloc_SOURCES=test_malloc.c test_malloc_LDADD = $(THREADDLLIBS) \ - $(top_builddir)/src/libatomic_ops_gpl.la \ - $(top_builddir)/src/libatomic_ops.la + $(top_builddir)/src/libatomic_ops_gpl.la \ + $(top_builddir)/src/libatomic_ops.la test_atomic_include.h: test_atomic_include.template sed -e s/XX// $? > $@ -- 2.40.0