From ff3a6a1c2888eab92679dd330641978e7e6feb5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Wed, 30 Oct 2019 19:30:37 +0100 Subject: Add check whether OpenEXR requires explicit specification of C++ standard. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko (cherry picked from commit 82895daec0ccb16c14b98e1b21b49dd71d68dd2f) --- configure.in.in | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) (limited to 'configure.in.in') diff --git a/configure.in.in b/configure.in.in index 01eed782..fcc96492 100644 --- a/configure.in.in +++ b/configure.in.in @@ -288,6 +288,37 @@ fi if test -n "$OPENEXR_LIBS" then AC_MSG_RESULT([yes]) + + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + SAVED_CXXFLAGS="$CXXFLAGS" + for CXX_STD_TEST in "" 11 14 17; do + CXXFLAGS="$SAVED_CXXFLAGS" + if test "x$CXX_STD_TEST" = "x"; then + AC_MSG_CHECKING([OpenEXR build with default C++ standard]) + OPENEXR_CXXFLAGS="" + else + AC_MSG_CHECKING([OpenEXR build with C++$CXX_STD_TEST]) + OPENEXR_CXXFLAGS="-std=c++$CXX_STD_TEST" + fi + CXXFLAGS="$SAVED_CXXFLAGS $OPENEXR_CFLAGS $OPENEXR_CXXFLAGS" + AC_TRY_COMPILE([ + #include + ],[ ], + openexr_cxx_std=yes, + openexr_cxx_std=no + ) + if test "x$openexr_cxx_std" = "xyes"; then + AC_SUBST(OPENEXR_CXXFLAGS) + AC_MSG_RESULT(yes) + break + else + AC_MSG_RESULT(no) + fi + done + CXXFLAGS="$SAVED_CXXFLAGS" + AC_LANG_RESTORE + else AC_MSG_RESULT([not found]) fi @@ -296,6 +327,6 @@ AC_SUBST(OPENEXR_LIBS) AC_SUBST(OPENEXR_CFLAGS) AC_SUBST(OPENEXR_RPATH) -AM_CONDITIONAL(have_openexr, test -n "$OPENEXR_LIBS") +AM_CONDITIONAL(have_openexr, test "x$openexr_cxx_std" = "xyes") # --- End of OpenEXR check --- -- cgit v1.2.1