Branch
Hash :
51cee036
Author :
Date :
2025-06-13T14:52:09
Build: Use wrappers rather than CMake object libs Some downstream projects need to adapt the libjpeg-turbo source code to non-CMake build systems, and the use of CMake object libraries made that difficult. Referring to #754, the use of CMake object libraries also caused the libjpeg-turbo libraries to contain duplicate object names, which caused problems with certain development tools. This commit modifies the build system so that it uses wrappers, rather than CMake object libraries, to compile source files for multiple data precisions. For convenience, the wrappers are included in the source tree, but they can be re-generated by building the "wrappers" target. In addition to facilitating downstream integration, using wrappers improves code readability, since multiple data precisions are now handled at the source code level instead of at the build system level. Since this will be pushed to a bug-fix release, the goal was to avoid changing any existing source code. A future major release of libjpeg-turbo may restructure the libjpeg API source code so that only the functions that need to be compiled for multiple data precisions are wrapped. (That is how the TurboJPEG API source code is structured.) Closes #817
/*
* jidctred-12.c
*
* Copyright (C) 2025, D. R. Commander.
* For conditions of distribution and use, see the accompanying README.ijg
* file.
*
* This file is a wrapper for compiling jidctred.c to support 12 bits of
* data precision. jidctred.c should not be compiled directly.
*/
#define BITS_IN_JSAMPLE 12
#include "../jidctred.c"