mirror of
				https://github.com/cookiengineer/audacity
				synced 2025-10-31 22:23:54 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			178 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			178 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| dnl Copyright (C) 2012-2014  Xiph.org Foundation
 | |
| dnl
 | |
| dnl Redistribution and use in source and binary forms, with or without
 | |
| dnl modification, are permitted provided that the following conditions
 | |
| dnl are met:
 | |
| dnl
 | |
| dnl - Redistributions of source code must retain the above copyright
 | |
| dnl notice, this list of conditions and the following disclaimer.
 | |
| dnl
 | |
| dnl - Redistributions in binary form must reproduce the above copyright
 | |
| dnl notice, this list of conditions and the following disclaimer in the
 | |
| dnl documentation and/or other materials provided with the distribution.
 | |
| dnl
 | |
| dnl - Neither the name of the Xiph.org Foundation nor the names of its
 | |
| dnl contributors may be used to endorse or promote products derived from
 | |
| dnl this software without specific prior written permission.
 | |
| dnl
 | |
| dnl THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 | |
| dnl ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 | |
| dnl LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 | |
| dnl A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR
 | |
| dnl CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 | |
| dnl EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 | |
| dnl PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 | |
| dnl PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 | |
| dnl LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 | |
| dnl NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 | |
| dnl SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | |
| 
 | |
| 
 | |
| dnl @synopsis XIPH_C_FIND_ENDIAN
 | |
| dnl
 | |
| dnl Determine endian-ness of target processor.
 | |
| dnl @version 1.1	Mar 03 2002
 | |
| dnl @author Erik de Castro Lopo <erikd@mega-nerd.com>
 | |
| dnl
 | |
| dnl Majority written from scratch to replace the standard autoconf macro
 | |
| dnl AC_C_BIGENDIAN. Only part remaining from the original is the invocation
 | |
| dnl of the AC_TRY_RUN macro.
 | |
| dnl
 | |
| dnl Find endian-ness in the following way:
 | |
| dnl    1) Look in <endian.h>.
 | |
| dnl    2) If 1) fails, look in <sys/types.h> and <sys/param.h>.
 | |
| dnl    3) If 1) and 2) fails and not cross compiling run a test program.
 | |
| dnl    4) If 1) and 2) fails and cross compiling then guess based on target.
 | |
| 
 | |
| AC_DEFUN([XIPH_C_FIND_ENDIAN],
 | |
| [AC_CACHE_CHECK(processor byte ordering,
 | |
| 	ac_cv_c_byte_order,
 | |
| 
 | |
| # Initialize to unknown
 | |
| ac_cv_c_byte_order=unknown
 | |
| 
 | |
| if test x$ac_cv_header_endian_h = xyes ; then
 | |
| 
 | |
| 	# First try <endian.h> which should set BYTE_ORDER.
 | |
| 
 | |
| 	[AC_TRY_LINK([
 | |
| 		#include <endian.h>
 | |
| 		#if BYTE_ORDER != LITTLE_ENDIAN
 | |
| 			not big endian
 | |
| 		#endif
 | |
| 		], return 0 ;,
 | |
| 			ac_cv_c_byte_order=little
 | |
| 		)]
 | |
| 
 | |
| 	[AC_TRY_LINK([
 | |
| 		#include <endian.h>
 | |
| 		#if BYTE_ORDER != BIG_ENDIAN
 | |
| 			not big endian
 | |
| 		#endif
 | |
| 		], return 0 ;,
 | |
| 			ac_cv_c_byte_order=big
 | |
| 		)]
 | |
| 
 | |
| 	fi
 | |
| 
 | |
| if test $ac_cv_c_byte_order = unknown ; then
 | |
| 
 | |
| 	[AC_TRY_LINK([
 | |
| 		#include <sys/types.h>
 | |
| 		#include <sys/param.h>
 | |
| 		#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
 | |
| 			bogus endian macros
 | |
| 		#endif
 | |
| 		], return 0 ;,
 | |
| 
 | |
| 		[AC_TRY_LINK([
 | |
| 			#include <sys/types.h>
 | |
| 			#include <sys/param.h>
 | |
| 			#if BYTE_ORDER != LITTLE_ENDIAN
 | |
| 				not big endian
 | |
| 			#endif
 | |
| 			], return 0 ;,
 | |
| 				ac_cv_c_byte_order=little
 | |
| 			)]
 | |
| 
 | |
| 		[AC_TRY_LINK([
 | |
| 			#include <sys/types.h>
 | |
| 			#include <sys/param.h>
 | |
| 			#if BYTE_ORDER != LITTLE_ENDIAN
 | |
| 				not big endian
 | |
| 			#endif
 | |
| 			], return 0 ;,
 | |
| 				ac_cv_c_byte_order=little
 | |
| 			)]
 | |
| 
 | |
| 		)]
 | |
| 
 | |
|  	fi
 | |
| 
 | |
| if test $ac_cv_c_byte_order = unknown ; then
 | |
| 	if test $cross_compiling = yes ; then
 | |
| 		# This is the last resort. Try to guess the target processor endian-ness
 | |
| 		# by looking at the target CPU type.
 | |
| 		[
 | |
| 		case "$target_cpu" in
 | |
| 			alpha* | i?86* | mipsel* | ia64*)
 | |
| 				ac_cv_c_byte_order=little
 | |
| 				;;
 | |
| 
 | |
| 			m68* | mips* | powerpc* | hppa* | sparc*)
 | |
| 				ac_cv_c_byte_order=big
 | |
| 				;;
 | |
| 
 | |
| 			esac
 | |
| 		]
 | |
| 	else
 | |
| 		AC_TRY_RUN(
 | |
| 		[[
 | |
| 		int main (void)
 | |
| 		{	/* Are we little or big endian?  From Harbison&Steele.  */
 | |
| 			union
 | |
| 			{	long l ;
 | |
| 				char c [sizeof (long)] ;
 | |
| 			} u ;
 | |
| 			u.l = 1 ;
 | |
| 			return (u.c [sizeof (long) - 1] == 1);
 | |
| 			}
 | |
| 			]], , ac_cv_c_byte_order=big,
 | |
| 			)
 | |
| 
 | |
| 		AC_TRY_RUN(
 | |
| 		[[int main (void)
 | |
| 		{	/* Are we little or big endian?  From Harbison&Steele.  */
 | |
| 			union
 | |
| 			{	long l ;
 | |
| 				char c [sizeof (long)] ;
 | |
| 			} u ;
 | |
| 			u.l = 1 ;
 | |
| 			return (u.c [0] == 1);
 | |
| 			}]], , ac_cv_c_byte_order=little,
 | |
| 			)
 | |
| 		fi
 | |
| 	fi
 | |
| 
 | |
| )
 | |
| 
 | |
| if test $ac_cv_c_byte_order = big ; then
 | |
| 	ac_cv_c_big_endian=1
 | |
| 	ac_cv_c_little_endian=0
 | |
| elif test $ac_cv_c_byte_order = little ; then
 | |
| 	ac_cv_c_big_endian=0
 | |
| 	ac_cv_c_little_endian=1
 | |
| else
 | |
| 	ac_cv_c_big_endian=0
 | |
| 	ac_cv_c_little_endian=0
 | |
| 
 | |
| 	AC_MSG_WARN([[*****************************************************************]])
 | |
| 	AC_MSG_WARN([[*** Not able to determine endian-ness of target processor.       ]])
 | |
| 	AC_MSG_WARN([[*** The constants CPU_IS_BIG_ENDIAN and CPU_IS_LITTLE_ENDIAN in  ]])
 | |
| 	AC_MSG_WARN([[*** config.h may need to be hand editied.                        ]])
 | |
| 	AC_MSG_WARN([[*****************************************************************]])
 | |
| 	fi
 | |
| 
 | |
| ]
 | |
| )# XIPH_C_FIND_ENDIAN
 |