Skip to content

Commit

Permalink
vips7compat.h: remove OrcProgram and OrcExecutor stubs
Browse files Browse the repository at this point in the history
Remove the confusing `OrcProgram` and `OrcExecutor` stubs to avoid
conflicts with `orc.h`. Should be safe, the deprecated `VipsVector`
and `VipsExecutor` APIs was tightly coupled to liborc and became
no-op after the adoption of Highway.

While this is a potential ABI break, this API was likely not used
outside libvips. The same ABI break could also occur in versions
prior to 8.15 when a binary was built with `-Dorc=disabled` instead
of `-Dorc=enabled`.
  • Loading branch information
kleisauke committed Oct 17, 2024
1 parent a697fe7 commit 37a3008
Showing 1 changed file with 5 additions and 12 deletions.
17 changes: 5 additions & 12 deletions libvips/include/vips/vips7compat.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,20 +36,9 @@

#include <vips/mask.h>

/* The old deprecated VipsVector/VipsExecutor API required orc.
* Avoid a possible ABI/API break with the adoption of highway.
*/
#ifdef HAVE_ORC
#include <orc/orc.h>
#else
typedef struct _OrcProgram {
/* Opaque */
} OrcProgram;

typedef struct _OrcExecutor {
char data[808];
} OrcExecutor;
#endif
#endif /* HAVE_ORC */

#ifdef __cplusplus
extern "C" {
Expand Down Expand Up @@ -1694,13 +1683,17 @@ typedef struct {

int d1;

#ifdef HAVE_ORC
OrcProgram *program;
#endif /*HAVE_ORC*/

gboolean compiled;
} VipsVector;

typedef struct {
#ifdef HAVE_ORC
OrcExecutor executor;
#endif /*HAVE_ORC*/

VipsVector *vector;
} VipsExecutor;
Expand Down

0 comments on commit 37a3008

Please sign in to comment.