From 82895daec0ccb16c14b98e1b21b49dd71d68dd2f 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: [PATCH] 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 --- configure.in.in | 33 ++++++++++++++++++++++++++++++- filters/chalk/openexr/Makefile.am | 2 ++ 2 files changed, 34 insertions(+), 1 deletion(-) 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 --- diff --git a/filters/chalk/openexr/Makefile.am b/filters/chalk/openexr/Makefile.am index 3a7dc478..691cbd20 100644 --- a/filters/chalk/openexr/Makefile.am +++ b/filters/chalk/openexr/Makefile.am @@ -13,6 +13,8 @@ AM_CPPFLAGS= \ $(OPENEXR_CFLAGS) \ $(all_includes) +CXXFLAGS += $(OPENEXR_CXXFLAGS) + kde_module_LTLIBRARIES = libchalk_openexr_import.la libchalk_openexr_export.la libchalk_openexr_export_la_LDFLAGS = $(KDE_PLUGIN) $(KDE_RPATH) $(all_libraries) -module -avoid-version -no-undefined $(all_libraries) -ltdecore -ltdeui $(LIB_TQT) -lkjs -ltdefx -ltdeio -ltdeparts