 061991fe60
			
		
	
	
		061991fe60
		
	
	
	
	
		
			
			it appears a one-character typo in the cmake_minimum_required line prevents it from compiling under CMake 4.0. in order to fix that, I had to take this thing out of submodules... it is recommended to do this after you pull; git submodule deinit extern/libsndfile
		
			
				
	
	
		
			125 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			125 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| dnl @synopsis MN_C_CLIP_MODE
 | |
| dnl
 | |
| dnl Determine the clipping mode when converting float to int.
 | |
| dnl @version 1.0	May 17 2003
 | |
| dnl @author Erik de Castro Lopo <erikd AT mega-nerd DOT com>
 | |
| dnl
 | |
| dnl Permission to use, copy, modify, distribute, and sell this file for any 
 | |
| dnl purpose is hereby granted without fee, provided that the above copyright 
 | |
| dnl and this permission notice appear in all copies.  No representations are
 | |
| dnl made about the suitability of this software for any purpose.  It is 
 | |
| dnl provided "as is" without express or implied warranty.
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| dnl Find the clipping mode in the following way:
 | |
| dnl    1) If we are not cross compiling test it.
 | |
| dnl    2) IF we are cross compiling, assume that clipping isn't done correctly.
 | |
| 
 | |
| AC_DEFUN([MN_C_CLIP_MODE],
 | |
| [AC_CACHE_CHECK(processor clipping capabilities, 
 | |
| 	ac_cv_c_clip_type,
 | |
| 
 | |
| # Initialize to unknown
 | |
| ac_cv_c_clip_positive=unknown
 | |
| ac_cv_c_clip_negative=unknown
 | |
| 
 | |
| 
 | |
| if test $ac_cv_c_clip_positive = unknown ; then
 | |
| 	AC_TRY_RUN(
 | |
| 	[[
 | |
| 	#define	_ISOC9X_SOURCE	1
 | |
| 	#define _ISOC99_SOURCE	1
 | |
| 	#define	__USE_ISOC99	1
 | |
| 	#define __USE_ISOC9X	1
 | |
| 	#include <math.h>
 | |
| 	int main (void)
 | |
| 	{	double	fval ;
 | |
| 		int k, ival ;
 | |
| 
 | |
| 		fval = 1.0 * 0x7FFFFFFF ;
 | |
| 		for (k = 0 ; k < 100 ; k++)
 | |
| 		{	ival = (lrint (fval)) >> 24 ;
 | |
| 			if (ival != 127)
 | |
| 				return 1 ;
 | |
| 		
 | |
| 			fval *= 1.2499999 ;
 | |
| 			} ;
 | |
| 		
 | |
| 			return 0 ;
 | |
| 		}
 | |
| 		]],
 | |
| 		ac_cv_c_clip_positive=yes,
 | |
| 		ac_cv_c_clip_positive=no,
 | |
| 		ac_cv_c_clip_positive=unknown
 | |
| 		)
 | |
| 
 | |
| 	AC_TRY_RUN(
 | |
| 	[[
 | |
| 	#define	_ISOC9X_SOURCE	1
 | |
| 	#define _ISOC99_SOURCE	1
 | |
| 	#define	__USE_ISOC99	1
 | |
| 	#define __USE_ISOC9X	1
 | |
| 	#include <math.h>
 | |
| 	int main (void)
 | |
| 	{	double	fval ;
 | |
| 		int k, ival ;
 | |
| 
 | |
| 		fval = -8.0 * 0x10000000 ;
 | |
| 		for (k = 0 ; k < 100 ; k++)
 | |
| 		{	ival = (lrint (fval)) >> 24 ;
 | |
| 			if (ival != -128)
 | |
| 				return 1 ;
 | |
| 		
 | |
| 			fval *= 1.2499999 ;
 | |
| 			} ;
 | |
| 		
 | |
| 			return 0 ;
 | |
| 		}
 | |
| 		]],
 | |
| 		ac_cv_c_clip_negative=yes,
 | |
| 		ac_cv_c_clip_negative=no,
 | |
| 		ac_cv_c_clip_negative=unknown
 | |
| 		)
 | |
| 	fi
 | |
| 
 | |
| if test $ac_cv_c_clip_positive = yes ; then
 | |
| 	ac_cv_c_clip_positive=1
 | |
| else
 | |
| 	ac_cv_c_clip_positive=0
 | |
| 	fi
 | |
| 
 | |
| if test $ac_cv_c_clip_negative = yes ; then
 | |
| 	ac_cv_c_clip_negative=1
 | |
| else
 | |
| 	ac_cv_c_clip_negative=0
 | |
| 	fi
 | |
| 
 | |
| [[
 | |
| case "$ac_cv_c_clip_positive$ac_cv_c_clip_negative" in
 | |
| 	"00")
 | |
| 		ac_cv_c_clip_type="none"
 | |
| 		;;
 | |
| 	"10")
 | |
| 		ac_cv_c_clip_type="positive"
 | |
| 		;;
 | |
| 	"01")
 | |
| 		ac_cv_c_clip_type="negative"
 | |
| 		;;
 | |
| 	"11")
 | |
| 		ac_cv_c_clip_type="both"
 | |
| 		;;
 | |
| 	esac
 | |
| 	]]
 | |
| 
 | |
| )
 | |
| ]
 | |
| 
 | |
| )# MN_C_CLIP_MODE
 | |
| 
 | |
| 
 |