test for orc 0.4.31

the version that should start working again, hopefully
This commit is contained in:
John Cupitt 2019-11-06 23:22:17 +00:00
parent 7c5971392c
commit 04280fd837
3 changed files with 23 additions and 3 deletions

View File

@ -778,6 +778,19 @@ if test x"$with_orc" != x"no"; then
)
fi
# orc 0.4.30+ works with cf-protection, but 0.4.30 has a bug with multiple
# definitions of OrcTargetPowerPCFlags, so insist on 0.4.31
if test x"$with_orc" = x"yes"; then
PKG_CHECK_MODULES(ORC_CF_PROTECTION, orc-0.4 >= 0.4.31,
[AC_DEFINE(HAVE_ORC_CF_PROTECTION,1,
[define if your orc works with cf-protection.]
)
],
[:
]
)
fi
# lcms ... refuse to use lcms1
AC_ARG_WITH([lcms],
AS_HELP_STRING([--without-lcms], [build without lcms (default: test)]))

View File

@ -37,15 +37,17 @@
/* If we are building with -fcf-protection (run-time checking of
* indirect jumps) then Orc won't work. Make sure it's off.
*
* Orc may support -fcf-protection in the future, but does not in June 2019.
*
* https://gcc.gnu.org/onlinedocs/gcc/\
* Instrumentation-Options.html#index-fcf-protection
* https://gitlab.freedesktop.org/gstreamer/orc/issues/17
*
* orc 0.4.30 and later work with cf-protection.
*/
#ifdef __CET__
#ifndef HAVE_ORC_CF_PROTECTION
#undef HAVE_ORC
#endif
#endif
#ifdef HAVE_ORC
#include <orc/orc.h>

View File

@ -44,8 +44,8 @@
*/
/*
#define DEBUG
*/
#define DEBUG
/* Trace all orc calls, handy for debugging.
#define DEBUG_TRACE
@ -54,6 +54,7 @@
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif /*HAVE_CONFIG_H*/
#include <vips/intl.h>
#include <stdlib.h>
@ -83,6 +84,10 @@ vips_vector_error( VipsVector *vector )
void
vips_vector_init( void )
{
#ifdef HAVE_ORC
printf( "HAVE_ORC\n" );
#endif /*HAVE_ORC*/
#ifdef HAVE_ORC
#ifdef DEBUG_TRACE
printf( "orc_init();\n" );