More recent versions of autoconf add -traditional-cpp to the CPP flags, which causes jsimdcfg.inc.h to not preprocess correctly unless we expand all of the instances of the #definev macro.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@847 632fc199-4ca6-4c93-a231-07263d6284db
This commit is contained in:
DRC
2012-06-28 23:24:29 +00:00
2 changed files with 100 additions and 99 deletions

View File

@@ -55,6 +55,10 @@ upsampling would produce several incorrect columns of pixels at the right-hand
side of the output image if each row in the output image was not evenly side of the output image if each row in the output image was not evenly
divisible by 16 bytes. divisible by 16 bytes.
[8] Fixed an issue whereby attempting to build the SIMD extensions with Xcode
4.3 on OS X platforms would cause NASM to return numerous errors of the form
"'%define' expects a macro identifier".
1.2.0 1.2.0
===== =====

View File

@@ -15,54 +15,51 @@
#include "../jmorecfg.h" #include "../jmorecfg.h"
#include "jsimd.h" #include "jsimd.h"
#define define(var) %define _cpp_protection_##var
#define definev(var) %define _cpp_protection_##var var
; ;
; -- jpeglib.h ; -- jpeglib.h
; ;
definev(DCTSIZE) %define _cpp_protection_DCTSIZE DCTSIZE
definev(DCTSIZE2) %define _cpp_protection_DCTSIZE2 DCTSIZE2
; ;
; -- jmorecfg.h ; -- jmorecfg.h
; ;
definev(RGB_RED) %define _cpp_protection_RGB_RED RGB_RED
definev(RGB_GREEN) %define _cpp_protection_RGB_GREEN RGB_GREEN
definev(RGB_BLUE) %define _cpp_protection_RGB_BLUE RGB_BLUE
definev(RGB_PIXELSIZE) %define _cpp_protection_RGB_PIXELSIZE RGB_PIXELSIZE
definev(EXT_RGB_RED) %define _cpp_protection_EXT_RGB_RED EXT_RGB_RED
definev(EXT_RGB_GREEN) %define _cpp_protection_EXT_RGB_GREEN EXT_RGB_GREEN
definev(EXT_RGB_BLUE) %define _cpp_protection_EXT_RGB_BLUE EXT_RGB_BLUE
definev(EXT_RGB_PIXELSIZE) %define _cpp_protection_EXT_RGB_PIXELSIZE EXT_RGB_PIXELSIZE
definev(EXT_RGBX_RED) %define _cpp_protection_EXT_RGBX_RED EXT_RGBX_RED
definev(EXT_RGBX_GREEN) %define _cpp_protection_EXT_RGBX_GREEN EXT_RGBX_GREEN
definev(EXT_RGBX_BLUE) %define _cpp_protection_EXT_RGBX_BLUE EXT_RGBX_BLUE
definev(EXT_RGBX_PIXELSIZE) %define _cpp_protection_EXT_RGBX_PIXELSIZE EXT_RGBX_PIXELSIZE
definev(EXT_BGR_RED) %define _cpp_protection_EXT_BGR_RED EXT_BGR_RED
definev(EXT_BGR_GREEN) %define _cpp_protection_EXT_BGR_GREEN EXT_BGR_GREEN
definev(EXT_BGR_BLUE) %define _cpp_protection_EXT_BGR_BLUE EXT_BGR_BLUE
definev(EXT_BGR_PIXELSIZE) %define _cpp_protection_EXT_BGR_PIXELSIZE EXT_BGR_PIXELSIZE
definev(EXT_BGRX_RED) %define _cpp_protection_EXT_BGRX_RED EXT_BGRX_RED
definev(EXT_BGRX_GREEN) %define _cpp_protection_EXT_BGRX_GREEN EXT_BGRX_GREEN
definev(EXT_BGRX_BLUE) %define _cpp_protection_EXT_BGRX_BLUE EXT_BGRX_BLUE
definev(EXT_BGRX_PIXELSIZE) %define _cpp_protection_EXT_BGRX_PIXELSIZE EXT_BGRX_PIXELSIZE
definev(EXT_XBGR_RED) %define _cpp_protection_EXT_XBGR_RED EXT_XBGR_RED
definev(EXT_XBGR_GREEN) %define _cpp_protection_EXT_XBGR_GREEN EXT_XBGR_GREEN
definev(EXT_XBGR_BLUE) %define _cpp_protection_EXT_XBGR_BLUE EXT_XBGR_BLUE
definev(EXT_XBGR_PIXELSIZE) %define _cpp_protection_EXT_XBGR_PIXELSIZE EXT_XBGR_PIXELSIZE
definev(EXT_XRGB_RED) %define _cpp_protection_EXT_XRGB_RED EXT_XRGB_RED
definev(EXT_XRGB_GREEN) %define _cpp_protection_EXT_XRGB_GREEN EXT_XRGB_GREEN
definev(EXT_XRGB_BLUE) %define _cpp_protection_EXT_XRGB_BLUE EXT_XRGB_BLUE
definev(EXT_XRGB_PIXELSIZE) %define _cpp_protection_EXT_XRGB_PIXELSIZE EXT_XRGB_PIXELSIZE
%define RGBX_FILLER_0XFF 1 %define RGBX_FILLER_0XFF 1
@@ -73,7 +70,7 @@ definev(EXT_XRGB_PIXELSIZE)
%define JSAMPLE byte ; unsigned char %define JSAMPLE byte ; unsigned char
%define SIZEOF_JSAMPLE SIZEOF_BYTE ; sizeof(JSAMPLE) %define SIZEOF_JSAMPLE SIZEOF_BYTE ; sizeof(JSAMPLE)
definev(CENTERJSAMPLE) %define _cpp_protection_CENTERJSAMPLE CENTERJSAMPLE
; Representation of a DCT frequency coefficient. ; Representation of a DCT frequency coefficient.
; On this SIMD implementation, this must be 'short'. ; On this SIMD implementation, this must be 'short'.
@@ -126,74 +123,74 @@ definev(CENTERJSAMPLE)
; -- jsimd.h ; -- jsimd.h
; ;
definev(JSIMD_NONE) %define _cpp_protection_JSIMD_NONE JSIMD_NONE
definev(JSIMD_MMX) %define _cpp_protection_JSIMD_MMX JSIMD_MMX
definev(JSIMD_3DNOW) %define _cpp_protection_JSIMD_3DNOW JSIMD_3DNOW
definev(JSIMD_SSE) %define _cpp_protection_JSIMD_SSE JSIMD_SSE
definev(JSIMD_SSE2) %define _cpp_protection_JSIMD_SSE2 JSIMD_SSE2
; Short forms of external names for systems with brain-damaged linkers. ; Short forms of external names for systems with brain-damaged linkers.
; ;
#ifdef NEED_SHORT_EXTERNAL_NAMES #ifdef NEED_SHORT_EXTERNAL_NAMES
definev(jpeg_simd_cpu_support) %define _cpp_protection_jpeg_simd_cpu_support jpeg_simd_cpu_support
definev(jsimd_rgb_ycc_convert_mmx) %define _cpp_protection_jsimd_rgb_ycc_convert_mmx jsimd_rgb_ycc_convert_mmx
definev(jsimd_ycc_rgb_convert_mmx) %define _cpp_protection_jsimd_ycc_rgb_convert_mmx jsimd_ycc_rgb_convert_mmx
definev(jconst_rgb_ycc_convert_sse2) %define _cpp_protection_jconst_rgb_ycc_convert_sse2 jconst_rgb_ycc_convert_sse2
definev(jsimd_rgb_ycc_convert_sse2) %define _cpp_protection_jsimd_rgb_ycc_convert_sse2 jsimd_rgb_ycc_convert_sse2
definev(jconst_ycc_rgb_convert_sse2) %define _cpp_protection_jconst_ycc_rgb_convert_sse2 jconst_ycc_rgb_convert_sse2
definev(jsimd_ycc_rgb_convert_sse2) %define _cpp_protection_jsimd_ycc_rgb_convert_sse2 jsimd_ycc_rgb_convert_sse2
definev(jsimd_h2v2_downsample_mmx) %define _cpp_protection_jsimd_h2v2_downsample_mmx jsimd_h2v2_downsample_mmx
definev(jsimd_h2v1_downsample_mmx) %define _cpp_protection_jsimd_h2v1_downsample_mmx jsimd_h2v1_downsample_mmx
definev(jsimd_h2v2_downsample_sse2) %define _cpp_protection_jsimd_h2v2_downsample_sse2 jsimd_h2v2_downsample_sse2
definev(jsimd_h2v1_downsample_sse2) %define _cpp_protection_jsimd_h2v1_downsample_sse2 jsimd_h2v1_downsample_sse2
definev(jsimd_h2v2_upsample_mmx) %define _cpp_protection_jsimd_h2v2_upsample_mmx jsimd_h2v2_upsample_mmx
definev(jsimd_h2v1_upsample_mmx) %define _cpp_protection_jsimd_h2v1_upsample_mmx jsimd_h2v1_upsample_mmx
definev(jsimd_h2v1_fancy_upsample_mmx) %define _cpp_protection_jsimd_h2v1_fancy_upsample_mmx jsimd_h2v1_fancy_upsample_mmx
definev(jsimd_h2v2_fancy_upsample_mmx) %define _cpp_protection_jsimd_h2v2_fancy_upsample_mmx jsimd_h2v2_fancy_upsample_mmx
definev(jsimd_h2v1_merged_upsample_mmx) %define _cpp_protection_jsimd_h2v1_merged_upsample_mmx jsimd_h2v1_merged_upsample_mmx
definev(jsimd_h2v2_merged_upsample_mmx) %define _cpp_protection_jsimd_h2v2_merged_upsample_mmx jsimd_h2v2_merged_upsample_mmx
definev(jsimd_h2v2_upsample_sse2) %define _cpp_protection_jsimd_h2v2_upsample_sse2 jsimd_h2v2_upsample_sse2
definev(jsimd_h2v1_upsample_sse2) %define _cpp_protection_jsimd_h2v1_upsample_sse2 jsimd_h2v1_upsample_sse2
definev(jconst_fancy_upsample_sse2) %define _cpp_protection_jconst_fancy_upsample_sse2 jconst_fancy_upsample_sse2
definev(jsimd_h2v1_fancy_upsample_sse2) %define _cpp_protection_jsimd_h2v1_fancy_upsample_sse2 jsimd_h2v1_fancy_upsample_sse2
definev(jsimd_h2v2_fancy_upsample_sse2) %define _cpp_protection_jsimd_h2v2_fancy_upsample_sse2 jsimd_h2v2_fancy_upsample_sse2
definev(jconst_merged_upsample_sse2) %define _cpp_protection_jconst_merged_upsample_sse2 jconst_merged_upsample_sse2
definev(jsimd_h2v1_merged_upsample_sse2) %define _cpp_protection_jsimd_h2v1_merged_upsample_sse2 jsimd_h2v1_merged_upsample_sse2
definev(jsimd_h2v2_merged_upsample_sse2) %define _cpp_protection_jsimd_h2v2_merged_upsample_sse2 jsimd_h2v2_merged_upsample_sse2
definev(jsimd_convsamp_mmx) %define _cpp_protection_jsimd_convsamp_mmx jsimd_convsamp_mmx
definev(jsimd_convsamp_sse2) %define _cpp_protection_jsimd_convsamp_sse2 jsimd_convsamp_sse2
definev(jsimd_convsamp_float_3dnow) %define _cpp_protection_jsimd_convsamp_float_3dnow jsimd_convsamp_float_3dnow
definev(jsimd_convsamp_float_sse) %define _cpp_protection_jsimd_convsamp_float_sse jsimd_convsamp_float_sse
definev(jsimd_convsamp_float_sse2) %define _cpp_protection_jsimd_convsamp_float_sse2 jsimd_convsamp_float_sse2
definev(jsimd_fdct_islow_mmx) %define _cpp_protection_jsimd_fdct_islow_mmx jsimd_fdct_islow_mmx
definev(jsimd_fdct_ifast_mmx) %define _cpp_protection_jsimd_fdct_ifast_mmx jsimd_fdct_ifast_mmx
definev(jconst_fdct_islow_sse2) %define _cpp_protection_jconst_fdct_islow_sse2 jconst_fdct_islow_sse2
definev(jsimd_fdct_islow_sse2) %define _cpp_protection_jsimd_fdct_islow_sse2 jsimd_fdct_islow_sse2
definev(jconst_fdct_ifast_sse2) %define _cpp_protection_jconst_fdct_ifast_sse2 jconst_fdct_ifast_sse2
definev(jsimd_fdct_ifast_sse2) %define _cpp_protection_jsimd_fdct_ifast_sse2 jsimd_fdct_ifast_sse2
definev(jsimd_fdct_float_3dnow) %define _cpp_protection_jsimd_fdct_float_3dnow jsimd_fdct_float_3dnow
definev(jconst_fdct_float_sse) %define _cpp_protection_jconst_fdct_float_sse jconst_fdct_float_sse
definev(jsimd_fdct_float_sse) %define _cpp_protection_jsimd_fdct_float_sse jsimd_fdct_float_sse
definev(jsimd_quantize_mmx) %define _cpp_protection_jsimd_quantize_mmx jsimd_quantize_mmx
definev(jsimd_quantize_sse2) %define _cpp_protection_jsimd_quantize_sse2 jsimd_quantize_sse2
definev(jsimd_quantize_float_3dnow) %define _cpp_protection_jsimd_quantize_float_3dnow jsimd_quantize_float_3dnow
definev(jsimd_quantize_float_sse) %define _cpp_protection_jsimd_quantize_float_sse jsimd_quantize_float_sse
definev(jsimd_quantize_float_sse2) %define _cpp_protection_jsimd_quantize_float_sse2 jsimd_quantize_float_sse2
definev(jsimd_idct_2x2_mmx) %define _cpp_protection_jsimd_idct_2x2_mmx jsimd_idct_2x2_mmx
definev(jsimd_idct_4x4_mmx) %define _cpp_protection_jsimd_idct_4x4_mmx jsimd_idct_4x4_mmx
definev(jconst_idct_red_sse2) %define _cpp_protection_jconst_idct_red_sse2 jconst_idct_red_sse2
definev(jsimd_idct_2x2_sse2) %define _cpp_protection_jsimd_idct_2x2_sse2 jsimd_idct_2x2_sse2
definev(jsimd_idct_4x4_sse2) %define _cpp_protection_jsimd_idct_4x4_sse2 jsimd_idct_4x4_sse2
definev(jsimd_idct_islow_mmx) %define _cpp_protection_jsimd_idct_islow_mmx jsimd_idct_islow_mmx
definev(jsimd_idct_ifast_mmx) %define _cpp_protection_jsimd_idct_ifast_mmx jsimd_idct_ifast_mmx
definev(jconst_idct_islow_sse2) %define _cpp_protection_jconst_idct_islow_sse2 jconst_idct_islow_sse2
definev(jsimd_idct_islow_sse2) %define _cpp_protection_jsimd_idct_islow_sse2 jsimd_idct_islow_sse2
definev(jconst_idct_ifast_sse2) %define _cpp_protection_jconst_idct_ifast_sse2 jconst_idct_ifast_sse2
definev(jsimd_idct_ifast_sse2) %define _cpp_protection_jsimd_idct_ifast_sse2 jsimd_idct_ifast_sse2
definev(jsimd_idct_float_3dnow) %define _cpp_protection_jsimd_idct_float_3dnow jsimd_idct_float_3dnow
definev(jconst_idct_float_sse) %define _cpp_protection_jconst_idct_float_sse jconst_idct_float_sse
definev(jsimd_idct_float_sse) %define _cpp_protection_jsimd_idct_float_sse jsimd_idct_float_sse
definev(jconst_idct_float_sse2) %define _cpp_protection_jconst_idct_float_sse2 jconst_idct_float_sse2
definev(jsimd_idct_float_sse2) %define _cpp_protection_jsimd_idct_float_sse2 jsimd_idct_float_sse2
#endif /* NEED_SHORT_EXTERNAL_NAMES */ #endif /* NEED_SHORT_EXTERNAL_NAMES */