Fix configure for mingw-w64/32.
authorIvan Maidanski <ivmai@mail.ru>
Wed, 21 Sep 2011 09:14:29 +0000 (13:14 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Wed, 21 Sep 2011 09:14:29 +0000 (13:14 +0400)
* 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
tests/Makefile.am

index 9724281..3c6c282 100644 (file)
@@ -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([
index b5891fd..66f83bb 100644 (file)
@@ -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// $? > $@