Blame m4/ac_cxx_string_compare_string_first.m4

Packit 8c9aa0
dnl @synopsis AC_CXX_STRING_COMPARE_STRING_FIRST
Packit 8c9aa0
dnl
Packit 8c9aa0
dnl If the standard library string::compare() function takes the
Packit 8c9aa0
dnl string as its first argument, define FUNC_STRING_COMPARE_STRING_FIRST to 1.
Packit 8c9aa0
dnl
Packit 8c9aa0
dnl @author Steven Robbins
Packit 8c9aa0
dnl
Packit 8c9aa0
AC_DEFUN([AC_CXX_STRING_COMPARE_STRING_FIRST], [
Packit 8c9aa0
	AC_CACHE_CHECK(whether std::string::compare takes a string in argument 1,
Packit 8c9aa0
	ac_cv_cxx_string_compare_string_first,
Packit 8c9aa0
	[
Packit 8c9aa0
		AC_REQUIRE([AC_CXX_NAMESPACES])
Packit 8c9aa0
		AC_LANG_SAVE
Packit 8c9aa0
		AC_LANG_CPLUSPLUS
Packit 8c9aa0
		AC_TRY_COMPILE([
Packit 8c9aa0
#include <string>
Packit 8c9aa0
#ifdef HAVE_NAMESPACES
Packit 8c9aa0
using namespace std;
Packit 8c9aa0
#endif
Packit 8c9aa0
		], [
Packit 8c9aa0
string x("hi"); string y("h");
Packit 8c9aa0
return x.compare(y,0,1) == 0;
Packit 8c9aa0
		],
Packit 8c9aa0
		ac_cv_cxx_string_compare_string_first=yes, 
Packit 8c9aa0
		ac_cv_cxx_string_compare_string_first=no)
Packit 8c9aa0
		AC_LANG_RESTORE
Packit 8c9aa0
	])
Packit 8c9aa0
	AS_IF([test "x$ac_cv_cxx_string_compare_string_first" = "xyes"], [
Packit 8c9aa0
		AC_DEFINE(FUNC_STRING_COMPARE_STRING_FIRST,1,
Packit 8c9aa0
			[define if library uses std::string::compare(string,pos,n)])
Packit 8c9aa0
	])
Packit 8c9aa0
])