On 12-06-26 02:03 AM, Mathieu Desnoyers wrote:
> * Alexandre Montplaisir ([email protected]) wrote:
>> [...]
>> diff --git a/tests/hello-mt/README b/tests/hello-mt/README
>> new file mode 100644
>> index 0000000..0584dca
>> --- /dev/null
>> +++ b/tests/hello-mt/README
>> @@ -0,0 +1,11 @@
>> +This is a multi-threaded version of the "hello" test program. It uses 
>> OpenMP for
>> +parallelization, and as such requires at least GCC 4.2.
> Hrm. This adds a dependency on gcc 4.2. The entire project will fail to
> build because of this test on other compiler, older gcc, right ? We
> should have a configure.ac check that tests openmp availability. So I
> won't merge this for now.

Staying up late, aren't we? ;)

Oh ok, I thought we said the other day that GCC 4.2 was old enough to
not be worth testing for. In any case, here's a patch to check for
OpenMP at configure time (goes on top of the previous one).

Two caveats however:
- Since the main part of the project doesn't use OpenMP, I don't think
we want to turn the "-fopenmp" CFLAG on for the whole thing. So I just
hard-coded "-fopenmp" for this test only. I don't know if any other
compiler uses some other flag to turn on the OpenMP support, but we only
support GCC anyway, don't we?

- The autoconf macro requires Autoconf 2.62. Current Debian stable has
2.67, I don't know if it's a big problem.


Good night,
Alex

>
> Thanks,
>
> Mathieu
>
>

>From 496a74a33dc47b61c37b14e0fb0ad5bdeacaf03b Mon Sep 17 00:00:00 2001
From: Alexandre Montplaisir <[email protected]>
Date: Tue, 26 Jun 2012 02:56:19 -0400
Subject: [UST PATCH] Only build the hello-mt test if OpenMP is available

Since this test is the only part in the whole tree that uses
OpenMP, we'll simply set the CFLAG manually for this test
rather than using it project-wide.

Signed-off-by: Alexandre Montplaisir <[email protected]>
---
 README                     |    2 +-
 configure.ac               |   10 ++++++++++
 tests/hello-mt/Makefile.am |    4 ++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/README b/README
index 52aebd8..b9df1e6 100644
--- a/README
+++ b/README
@@ -30,7 +30,7 @@ This source tree is based on the autotools suite from GNU to simplify
 portability. Here are some things you should have on your system in order to
 compile the git repository tree :
 
-- GNU autotools (automake >=1.10, autoconf >=2.50, autoheader >=2.50)
+- GNU autotools (automake >=1.10, autoconf >=2.62, autoheader >=2.62)
   (make sure your system wide "automake" points to a recent version!)
 - GNU Libtool >=2.2
   (for more information, go to http://www.gnu.org/software/autoconf/)
diff --git a/configure.ac b/configure.ac
index 0a50ed0..1924d0b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -271,6 +271,16 @@ AS_IF([test "x$with_sdt" = "xyes"],[
 	])
 ])
 
+#Check for OpenMP, if available we will build the test that uses it
+AC_OPENMP()
+AS_IF([ test "x$ac_cv_prog_c_openmp" != "xunsupported" && test "x$ac_cv_prog_c_openmp" != "x"],[
+	openmp_available=yes
+],[
+	openmp_available=no
+])
+AM_CONDITIONAL([BUILD_OPENMP_TEST], [test "x$openmp_available" = "xyes"])
+
+
 #currently disabled.
 	#tests/hello2/Makefile
 	#tests/basic/Makefile
diff --git a/tests/hello-mt/Makefile.am b/tests/hello-mt/Makefile.am
index 4b7e16d..98ecc6f 100644
--- a/tests/hello-mt/Makefile.am
+++ b/tests/hello-mt/Makefile.am
@@ -1,3 +1,5 @@
+if BUILD_OPENMP_TEST
+
 AM_CPPFLAGS = -I$(top_srcdir)/include -Wsystem-headers
 AM_CFLAGS = -fopenmp
 
@@ -11,3 +13,5 @@ endif
 if LTTNG_UST_BUILD_WITH_LIBC_DL
 hello_LDADD += -lc
 endif
+
+endif
-- 
1.7.10.4

_______________________________________________
lttng-dev mailing list
[email protected]
http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

Reply via email to