Merge branch 'crashlog_improvements' into jgrpp
This commit is contained in:
		
							
								
								
									
										93
									
								
								config.lib
									
									
									
									
									
								
							
							
						
						
									
										93
									
								
								config.lib
									
									
									
									
									
								
							@@ -1442,6 +1442,34 @@ make_compiler_cflags() {
 | 
				
			|||||||
	eval "$5=\"$features\""
 | 
						eval "$5=\"$features\""
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					test_compile_libbfd() {
 | 
				
			||||||
 | 
						log 2 "executing $cc_host $CFLAGS $LDFLAGS -o tmp.config.bfd -x c++ - $1"
 | 
				
			||||||
 | 
						"$cc_host" $CFLAGS $LDFLAGS -o tmp.config.bfd -x c++ - $1 2> /dev/null << EOL
 | 
				
			||||||
 | 
							#define PACKAGE 1
 | 
				
			||||||
 | 
							#define PACKAGE_VERSION 1
 | 
				
			||||||
 | 
							#include <bfd.h>
 | 
				
			||||||
 | 
							#include <unistd.h>
 | 
				
			||||||
 | 
							int main() {
 | 
				
			||||||
 | 
								bfd_init();
 | 
				
			||||||
 | 
								bfd *abfd = bfd_openr("test", "test");
 | 
				
			||||||
 | 
								bfd_check_format(abfd, bfd_object);
 | 
				
			||||||
 | 
								bfd_get_file_flags(abfd);
 | 
				
			||||||
 | 
								bfd_map_over_sections(abfd, (void (*)(bfd*, asection*, void*)) 0, (void *) 0);
 | 
				
			||||||
 | 
								asymbol *syms = 0;
 | 
				
			||||||
 | 
								long symcount = bfd_read_minisymbols(abfd, false, (void**) &syms, (unsigned int *) 0);
 | 
				
			||||||
 | 
								bfd_get_section_flags(abfd, (asection*) 0);
 | 
				
			||||||
 | 
								bfd_get_section_vma(abfd, (asection*) 0);
 | 
				
			||||||
 | 
								bfd_section_size(abfd, (asection*) 0);
 | 
				
			||||||
 | 
								bfd_find_nearest_line(abfd, (asection*) 0, (asymbol **) 0, (bfd_vma) 0, (const char **) 0, (const char **) 0, (unsigned int *) 0);
 | 
				
			||||||
 | 
								return (int) symcount;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					EOL
 | 
				
			||||||
 | 
						ret=$?
 | 
				
			||||||
 | 
						rm -f tmp.config.bfd
 | 
				
			||||||
 | 
						log 2 "  exit code $ret"
 | 
				
			||||||
 | 
						return $ret
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
make_cflags_and_ldflags() {
 | 
					make_cflags_and_ldflags() {
 | 
				
			||||||
	# General CFlags for BUILD
 | 
						# General CFlags for BUILD
 | 
				
			||||||
	CFLAGS_BUILD="$CFLAGS_BUILD"
 | 
						CFLAGS_BUILD="$CFLAGS_BUILD"
 | 
				
			||||||
@@ -1567,6 +1595,7 @@ make_cflags_and_ldflags() {
 | 
				
			|||||||
		LIBS="$LIBS -lpthread"
 | 
							LIBS="$LIBS -lpthread"
 | 
				
			||||||
	fi
 | 
						fi
 | 
				
			||||||
	if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "MINGW" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ] && [ "$os" != "DOS" ] && [ "$os" != "WINCE" ] && [ "$os" != "PSP" ] && [ "$os" != "OS2" ]; then
 | 
						if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "MINGW" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ] && [ "$os" != "DOS" ] && [ "$os" != "WINCE" ] && [ "$os" != "PSP" ] && [ "$os" != "OS2" ]; then
 | 
				
			||||||
 | 
							log 2 "executing $cc_host $CFLAGS $LDFLAGS -o tmp.config.libdl -x c++ - -ldl"
 | 
				
			||||||
		"$cc_host" $CFLAGS $LDFLAGS -o tmp.config.libdl -x c++ - -ldl 2> /dev/null << EOL
 | 
							"$cc_host" $CFLAGS $LDFLAGS -o tmp.config.libdl -x c++ - -ldl 2> /dev/null << EOL
 | 
				
			||||||
			#include <dlfcn.h>
 | 
								#include <dlfcn.h>
 | 
				
			||||||
			int main() {
 | 
								int main() {
 | 
				
			||||||
@@ -1574,43 +1603,42 @@ make_cflags_and_ldflags() {
 | 
				
			|||||||
				return dladdr(0, &info);
 | 
									return dladdr(0, &info);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
EOL
 | 
					EOL
 | 
				
			||||||
		if [ $? -ne 0 ]; then
 | 
							ret=$?
 | 
				
			||||||
 | 
							rm -f tmp.config.libdl
 | 
				
			||||||
 | 
							log 2 "  exit code $ret"
 | 
				
			||||||
 | 
							if [ $ret -ne 0 ]; then
 | 
				
			||||||
			log 1 "checking libdl... no"
 | 
								log 1 "checking libdl... no"
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
			log 1 "checking libdl... found"
 | 
								log 1 "checking libdl... found"
 | 
				
			||||||
			LIBS="$LIBS -ldl"
 | 
								LIBS="$LIBS -ldl"
 | 
				
			||||||
			CFLAGS="$CFLAGS -DWITH_DL"
 | 
								CFLAGS="$CFLAGS -DWITH_DL"
 | 
				
			||||||
		fi
 | 
							fi
 | 
				
			||||||
		rm -f tmp.config.libdl
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if [ "$with_libbfd" = "1" ]; then
 | 
							if [ "$with_libbfd" = "1" ]; then
 | 
				
			||||||
			"$cc_host" $CFLAGS $LDFLAGS -o tmp.config.bfd -x c++ - -lbfd 2> /dev/null << EOL
 | 
								if test_compile_libbfd "-lbfd -lz"; then
 | 
				
			||||||
				#define PACKAGE 1
 | 
									LIBBFD_LIBS="-lbfd -lz"
 | 
				
			||||||
				#define PACKAGE_VERSION 1
 | 
								elif test_compile_libbfd "-lbfd -liberty -lz"; then
 | 
				
			||||||
				#include <bfd.h>
 | 
									LIBBFD_LIBS="-lbfd -liberty -lz"
 | 
				
			||||||
				int main() {
 | 
								elif test_compile_libbfd "-lbfd -liberty -lintl -lz"; then
 | 
				
			||||||
					bfd_init();
 | 
									LIBBFD_LIBS="-lbfd -liberty -lintl -lz"
 | 
				
			||||||
					unsigned int size;
 | 
					 | 
				
			||||||
					asymbol *syms = 0;
 | 
					 | 
				
			||||||
					long symcount = bfd_read_minisymbols((bfd *) 0, false, (void**) &syms, &size);
 | 
					 | 
				
			||||||
					return 0;
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
EOL
 | 
					 | 
				
			||||||
			if [ $? -ne 0 ]; then
 | 
					 | 
				
			||||||
				log 1 "checking libbfd... no"
 | 
					 | 
				
			||||||
			else
 | 
								else
 | 
				
			||||||
 | 
									LIBBFD_LIBS=
 | 
				
			||||||
 | 
								fi
 | 
				
			||||||
 | 
								if [ -n "$LIBBFD_LIBS" ]; then
 | 
				
			||||||
				log 1 "checking libbfd... found"
 | 
									log 1 "checking libbfd... found"
 | 
				
			||||||
				LIBS="$LIBS -lbfd"
 | 
									LIBS="$LIBS $LIBBFD_LIBS"
 | 
				
			||||||
				CFLAGS="$CFLAGS -DWITH_BFD"
 | 
									CFLAGS="$CFLAGS -DWITH_BFD"
 | 
				
			||||||
				if [ $enable_debug -lt 1 ] && [ "$with_bfd_extra_debug" = "1" ]; then
 | 
									if [ $enable_debug -lt 1 ] && [ "$with_bfd_extra_debug" = "1" ]; then
 | 
				
			||||||
					CFLAGS="$CFLAGS -g1"
 | 
										CFLAGS="$CFLAGS -g1"
 | 
				
			||||||
				fi
 | 
									fi
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
									log 1 "checking libbfd... no"
 | 
				
			||||||
			fi
 | 
								fi
 | 
				
			||||||
			rm -f tmp.config.bfd
 | 
					 | 
				
			||||||
		fi
 | 
							fi
 | 
				
			||||||
	fi
 | 
						fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if [ "$os" = "MINGW" ]; then
 | 
						if [ "$os" = "MINGW" ]; then
 | 
				
			||||||
 | 
							log 2 "executing $cc_host $CFLAGS $LDFLAGS -o tmp.config.dbghelp -x c++ -"
 | 
				
			||||||
		"$cc_host" $CFLAGS $LDFLAGS -o tmp.config.dbghelp -x c++ - 2> /dev/null << EOL
 | 
							"$cc_host" $CFLAGS $LDFLAGS -o tmp.config.dbghelp -x c++ - 2> /dev/null << EOL
 | 
				
			||||||
			#include <windows.h>
 | 
								#include <windows.h>
 | 
				
			||||||
			#include <dbghelp.h>
 | 
								#include <dbghelp.h>
 | 
				
			||||||
@@ -1622,43 +1650,34 @@ EOL
 | 
				
			|||||||
				return 0;
 | 
									return 0;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
EOL
 | 
					EOL
 | 
				
			||||||
		if [ $? -ne 0 ]; then
 | 
							ret=$?
 | 
				
			||||||
 | 
							rm -f tmp.config.dbghelp
 | 
				
			||||||
 | 
							log 2 "  exit code $ret"
 | 
				
			||||||
 | 
							if [ $ret -ne 0 ]; then
 | 
				
			||||||
			log 1 "checking dbghelp... no"
 | 
								log 1 "checking dbghelp... no"
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
			log 1 "checking dbghelp... found"
 | 
								log 1 "checking dbghelp... found"
 | 
				
			||||||
			CFLAGS="$CFLAGS -DWITH_DBGHELP"
 | 
								CFLAGS="$CFLAGS -DWITH_DBGHELP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if [ "$with_libbfd" = "1" ]; then
 | 
								if [ "$with_libbfd" = "1" ]; then
 | 
				
			||||||
				"$cc_host" $CFLAGS $LDFLAGS -o tmp.config.bfd -x c++ - -lbfd -liberty -lintl 2> /dev/null << EOL
 | 
									test_compile_libbfd "-lbfd -liberty -lintl -lz"
 | 
				
			||||||
					#define PACKAGE 1
 | 
					 | 
				
			||||||
					#define PACKAGE_VERSION 1
 | 
					 | 
				
			||||||
					#include <bfd.h>
 | 
					 | 
				
			||||||
					int main() {
 | 
					 | 
				
			||||||
						bfd_init();
 | 
					 | 
				
			||||||
						unsigned int size;
 | 
					 | 
				
			||||||
						asymbol *syms = 0;
 | 
					 | 
				
			||||||
						long symcount = bfd_read_minisymbols((bfd *) 0, false, (void**) &syms, &size);
 | 
					 | 
				
			||||||
						return 0;
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
EOL
 | 
					 | 
				
			||||||
				if [ $? -ne 0 ]; then
 | 
									if [ $? -ne 0 ]; then
 | 
				
			||||||
					log 1 "checking libbfd... no"
 | 
										log 1 "checking libbfd... no"
 | 
				
			||||||
				else
 | 
									else
 | 
				
			||||||
					log 1 "checking libbfd... found"
 | 
										log 1 "checking libbfd... found"
 | 
				
			||||||
					LIBS="$LIBS -lbfd -liberty -lintl"
 | 
										LIBS="$LIBS -lbfd -liberty -lintl -lz"
 | 
				
			||||||
					CFLAGS="$CFLAGS -DWITH_BFD"
 | 
										CFLAGS="$CFLAGS -DWITH_BFD"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					if [ $enable_debug -lt 1 ] && [ "$with_bfd_extra_debug" = "1" ]; then
 | 
										if [ $enable_debug -lt 1 ] && [ "$with_bfd_extra_debug" = "1" ]; then
 | 
				
			||||||
						CFLAGS="$CFLAGS -g1"
 | 
											CFLAGS="$CFLAGS -g1"
 | 
				
			||||||
					fi
 | 
										fi
 | 
				
			||||||
				fi
 | 
									fi
 | 
				
			||||||
				rm -f tmp.config.bfd
 | 
					 | 
				
			||||||
			fi
 | 
								fi
 | 
				
			||||||
		fi
 | 
							fi
 | 
				
			||||||
		rm -f tmp.config.dbghelp
 | 
					 | 
				
			||||||
	fi
 | 
						fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ] && [ "$os" != "DOS" ] && [ "$os" != "WINCE" ] && [ "$os" != "PSP" ] && [ "$os" != "OS2" ]; then
 | 
						if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "MORPHOS" ] && [ "$os" != "OSX" ] && [ "$os" != "DOS" ] && [ "$os" != "WINCE" ] && [ "$os" != "PSP" ] && [ "$os" != "OS2" ]; then
 | 
				
			||||||
 | 
							log 2 "executing $cc_host $CFLAGS $LDFLAGS -o tmp.config.demangle -x c++ - -lstdc++"
 | 
				
			||||||
		"$cc_host" $CFLAGS $LDFLAGS -o tmp.config.demangle -x c++ - -lstdc++ 2> /dev/null << EOL
 | 
							"$cc_host" $CFLAGS $LDFLAGS -o tmp.config.demangle -x c++ - -lstdc++ 2> /dev/null << EOL
 | 
				
			||||||
			#include <cxxabi.h>
 | 
								#include <cxxabi.h>
 | 
				
			||||||
			int main() {
 | 
								int main() {
 | 
				
			||||||
@@ -1667,13 +1686,15 @@ EOL
 | 
				
			|||||||
				return 0;
 | 
									return 0;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
EOL
 | 
					EOL
 | 
				
			||||||
		if [ $? -ne 0 ]; then
 | 
							ret=$?
 | 
				
			||||||
 | 
							rm -f tmp.config.demangle
 | 
				
			||||||
 | 
							log 2 "  exit code $ret"
 | 
				
			||||||
 | 
							if [ $ret -ne 0 ]; then
 | 
				
			||||||
			log 1 "checking abi::__cxa_demangle... no"
 | 
								log 1 "checking abi::__cxa_demangle... no"
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
			log 1 "checking abi::__cxa_demangle... found"
 | 
								log 1 "checking abi::__cxa_demangle... found"
 | 
				
			||||||
			CFLAGS="$CFLAGS -DWITH_DEMANGLE"
 | 
								CFLAGS="$CFLAGS -DWITH_DEMANGLE"
 | 
				
			||||||
		fi
 | 
							fi
 | 
				
			||||||
		rm -f tmp.config.demangle
 | 
					 | 
				
			||||||
	fi
 | 
						fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "MINGW" ] && [ "$os" != "DOS" ] && [ "$os" != "WINCE" ]; then
 | 
						if [ "$os" != "CYGWIN" ] && [ "$os" != "HAIKU" ] && [ "$os" != "MINGW" ] && [ "$os" != "DOS" ] && [ "$os" != "WINCE" ]; then
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user