 8a4dff14ad
			
		
	
	8a4dff14ad
	
	
	
		
			
			Dealing with autotools is too painful when having to deal with multiple build environments and configurations. git-svn-id: https://svn.musicpd.org/mpd/trunk@7368 09075e82-0dd4-0310-85a5-a0d7c8717e4f
		
			
				
	
	
		
			89 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| # detect the uninteresting (unlikely to be manually changed by the user)
 | |
| # parts of config.h
 | |
| 
 | |
| if test -z "$O" || ! cd "$O"; then
 | |
| 	echo '$O= not defined or not a directory' >&2
 | |
| 	exit 1
 | |
| fi
 | |
| 
 | |
| > config_detected.mk
 | |
| 
 | |
| ansi_headers='assert ctype errno limits locale math signal
 | |
| stdarg stddef stdint stdio stdlib string'
 | |
| common_headers='dlfcn inttypes memory strings sched
 | |
| sys/inttypes sys/stat sys/types unistd'
 | |
| 
 | |
| all_ansi=t
 | |
| echo '/* ANSI C headers: */'
 | |
| for h in $ansi_headers; do
 | |
| 	if test x$h = xlocale; then
 | |
| 		H=HAVE_LOCALE
 | |
| 	else
 | |
| 		H="HAVE_`echo $h | tr a-z A-Z | tr / _`_H"
 | |
| 	fi
 | |
| 	cat > t.c <<EOF
 | |
| #include <$h.h>
 | |
| int main(void) { return 0; }
 | |
| EOF
 | |
| 	if $CC -o t.o $CFLAGS $CPPFLAGS t.c >> out 2>&1; then
 | |
| 		echo "#define $H 1"
 | |
| 		echo "$H := 1" >> config_detected.mk
 | |
| 	else
 | |
| 		echo "/* #undef $H */"
 | |
| 		echo "# $H := " >> config_detected.mk
 | |
| 		all_ansi=
 | |
| 	fi
 | |
| done
 | |
| if test x$all_ansi = xt; then
 | |
| 	echo '#define STDC_HEADERS 1'
 | |
| else
 | |
| 	echo '/* #undef STDC_HEADERS */'
 | |
| fi
 | |
| echo ''
 | |
| echo '/* common system headers/features on UNIX and UNIX-like system: */'
 | |
| for h in $common_headers; do
 | |
| 	H="HAVE_`echo $h | tr a-z A-Z | tr / _`_H"
 | |
| 	cat > t.c <<EOF
 | |
| #include <$h.h>
 | |
| int main(void) { return 0; }
 | |
| EOF
 | |
| 	if $CC -o t.o $CFLAGS $CPPFLAGS t.c >> out 2>&1; then
 | |
| 		echo "#define $H 1"
 | |
| 		echo "$H := 1" >> config_detected.mk
 | |
| 	else
 | |
| 		echo "/* #undef $H */"
 | |
| 		echo "# $H :=" >> config_detected.mk
 | |
| 	fi
 | |
| done
 | |
| 
 | |
| # test for setenv
 | |
| cat > t.c <<EOF
 | |
| #include <stdlib.h>
 | |
| int main(void) { setenv("mpd","rocks", 1); return 0; }
 | |
| EOF
 | |
| if $CC -o t.o $CFLAGS $CPPFLAGS t.c >> out 2>&1; then
 | |
| 	echo '#define HAVE_SETENV 1'
 | |
| 	echo "HAVE_SETENV := 1" >> config_detected.mk
 | |
| else
 | |
| 	echo '/* #undef HAVE_SETENV */'
 | |
| 	echo "# HAVE_SETENV :=" >> config_detected.mk
 | |
| fi
 | |
| echo ''
 | |
| 
 | |
| # test for alloca
 | |
| cat > t.c <<EOF
 | |
| #include <alloca.h>
 | |
| int main(void) { char *x = (char *)alloca(2 * sizeof(int)); return 0; }
 | |
| EOF
 | |
| if $CC -o t.o $CFLAGS $CPPFLAGS t.c >> out 2>&1; then
 | |
| 	echo '#define HAVE_ALLOCA_H 1'
 | |
| 	echo "HAVE_ALLOCA_H := 1" >> config_detected.mk
 | |
| else
 | |
| 	echo '/* #undef HAVE_ALLOCA_H */'
 | |
| 	echo "# HAVE_ALLOCA_H :=" >> config_detected.mk
 | |
| fi
 | |
| echo ''
 | |
| 
 | |
| exec rm -f out t.c t.o
 |