@ -15,22 +15,22 @@ AC_DEFUN(AC_PATH_LIBCLN, 
		
	
		
			
				dnl Get the cppflags and libraries from the cln-config scriptdnl Get the cppflags and libraries from the cln-config script 
		
	
		
			
				dnldnl 
		
	
		
			
				AC_ARG_WITH(cln-prefix,[  --with-cln-prefix=PFX   Prefix where CLN is installed (optional)],AC_ARG_WITH(cln-prefix,[  --with-cln-prefix=PFX   Prefix where CLN is installed (optional)], 
		
	
		
			
				            cln_prefix="$withval", cln_prefix="") 
		
	
		
			
				            cln_config_ prefix="$withval", cln_config _prefix="") 
		
	
		
			
				AC_ARG_WITH(cln-exec-prefix,[  --with-cln-exec-prefix=PFX Exec prefix where CLN is installed (optional)],AC_ARG_WITH(cln-exec-prefix,[  --with-cln-exec-prefix=PFX Exec prefix where CLN is installed (optional)], 
		
	
		
			
				            cln_exec_prefix="$withval", cln_exec_prefix="") 
		
	
		
			
				            cln_config_ exec_prefix="$withval", cln_config _exec_prefix="") 
		
	
		
			
				AC_ARG_ENABLE(clntest, [  --disable-clntest       Do not try to compile and run a test CLN program],AC_ARG_ENABLE(clntest, [  --disable-clntest       Do not try to compile and run a test CLN program], 
		
	
		
			
						    , enable_clntest=yes)		    , enable_clntest=yes) 
		
	
		
			
				
 
		
	
		
			
				  if test x$cln_exec_prefix != x ; then 
		
	
		
			
				     cln_args="$cln_args --exec-prefix=$cln_exec_prefix" 
		
	
		
			
				  if test x$cln_config_ exec_prefix != x ; then 
		
	
		
			
				     cln_config_ args="$cln_config_ args --exec-prefix=$cln_config _exec_prefix" 
		
	
		
			
				     if test x${CLN_CONFIG+set} != xset ; then     if test x${CLN_CONFIG+set} != xset ; then 
		
	
		
			
				        CLN_CONFIG=$cln_exec_prefix/bin/cln-config 
		
	
		
			
				        CLN_CONFIG=$cln_config_ exec_prefix/bin/cln-config 
		
	
		
			
				     fi     fi 
		
	
		
			
				  fi  fi 
		
	
		
			
				  if test x$cln_prefix != x ; then 
		
	
		
			
				     cln_args="$cln_args --prefix=$cln_prefix" 
		
	
		
			
				  if test x$cln_config_ prefix != x ; then 
		
	
		
			
				     cln_config_ args="$cln_config_ args --prefix=$cln_config _prefix" 
		
	
		
			
				     if test x${CLN_CONFIG+set} != xset ; then     if test x${CLN_CONFIG+set} != xset ; then 
		
	
		
			
				        CLN_CONFIG=$cln_prefix/bin/cln-config 
		
	
		
			
				        CLN_CONFIG=$cln_config_ prefix/bin/cln-config 
		
	
		
			
				     fi     fi 
		
	
		
			
				  fi  fi 
		
	
		
			
				
 
		
	
	
		
			
				
					
					
					
						
							 
					
				 
				@ -41,14 +41,13 @@ AC_ARG_ENABLE(clntest, [  --disable-clntest       Do not try to compile and run 
		
	
		
			
				  if test "$CLN_CONFIG" = "no" ; then  if test "$CLN_CONFIG" = "no" ; then 
		
	
		
			
				    no_cln=yes    no_cln=yes 
		
	
		
			
				  else  else 
		
	
		
			
				    LIBCLN_CPPFLAGS=`$CLN_CONFIG $clnconf_args --cppflags` 
		
	
		
			
				    LIBCLN_LIBS=`$CLN_CONFIG $clnconf_args --libs` 
		
	
		
			
				
 
		
	
		
			
				    cln_major_version=`$CLN_CONFIG $cln_args --version | \ 
		
	
		
			
				    LIBCLN_CPPFLAGS=`$CLN_CONFIG $cln_config_args --cppflags` 
		
	
		
			
				    LIBCLN_LIBS=`$CLN_CONFIG $cln_config_args --libs` 
		
	
		
			
				    cln_config_major_version=`$CLN_CONFIG $cln_config_args --version | \ 
		
	
		
			
				           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` 
		
	
		
			
				    cln_minor_version=`$CLN_CONFIG $cln_args --version | \ 
		
	
		
			
				    cln_config_ minor_version=`$CLN_CONFIG $cln_config _args --version | \ 
		
	
		
			
				           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` 
		
	
		
			
				    cln_micro_version=`$CLN_CONFIG $cln_config_args --version | \ 
		
	
		
			
				    cln_config_ micro_version=`$CLN_CONFIG $cln_config_args --version | \ 
		
	
		
			
				           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` 
		
	
		
			
				    if test "x$enable_clntest" = "xyes" ; then    if test "x$enable_clntest" = "xyes" ; then 
		
	
		
			
				      ac_save_CPPFLAGS="$CPPFLAGS"      ac_save_CPPFLAGS="$CPPFLAGS" 
		
	
	
		
			
				
					
					
					
						
							 
					
				 
				@ -62,38 +61,55 @@ dnl 
		
	
		
			
				      rm -f conf.clntest      rm -f conf.clntest 
		
	
		
			
				      AC_TRY_RUN([      AC_TRY_RUN([ 
		
	
		
			
				#include <stdio.h>#include <stdio.h> 
		
	
		
			
				#include <stdlib.h> 
		
	
		
			
				#include <string.h>#include <string.h> 
		
	
		
			
				#include <cln/config.h>#include <cln/config.h> 
		
	
		
			
				
 
		
	
		
			
				int main () 
		
	
		
			
				/* we do not #include <stdlib.h> because autoconf in C++ mode inserts a 
		
	
		
			
				   prototype for exit() that conflicts with the one in stdlib.h */ 
		
	
		
			
				extern "C" int system(const char *); 
		
	
		
			
				
 
		
	
		
			
				char* my_strdup (char *str) 
		
	
		
			
				{ 
		
	
		
			
				  char *new_str; 
		
	
		
			
				
 
		
	
		
			
				  if (str) { 
		
	
		
			
				    new_str = new char[(strlen (str) + 1) * sizeof(char)]; 
		
	
		
			
				    strcpy (new_str, str); 
		
	
		
			
				  } else 
		
	
		
			
				    new_str = NULL; 
		
	
		
			
				
 
		
	
		
			
				  return new_str; 
		
	
		
			
				} 
		
	
		
			
				
 
		
	
		
			
				int main() 
		
	
		
			
				{{ 
		
	
		
			
				  int major, minor, micro;  int major, minor, micro; 
		
	
		
			
				  char *tmp_version;  char *tmp_version; 
		
	
		
			
				
 
		
	
		
			
				  system("touch conf.clntest");  system("touch conf.clntest"); 
		
	
		
			
				
 
		
	
		
			
				  tmp_version = strdup("$min_cln_version"); 
		
	
		
			
				  /* HP/UX 9 (%@#!) writes to sscanf strings */ 
		
	
		
			
				  tmp_version = my_strdup("$min_cln_version"); 
		
	
		
			
				  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { 
		
	
		
			
				     printf("%s, bad version string\n", "$min_cln_version");     printf("%s, bad version string\n", "$min_cln_version"); 
		
	
		
			
				     exit(1); 
		
	
		
			
				     return 1 ; 
		
	
		
			
				  }  } 
		
	
		
			
				
 
		
	
		
			
				  if (($cln_major_version > major) || 
		
	
		
			
				     (($cln_major_version == major) && ($cln_minor_version > minor)) || 
		
	
		
			
				     (($cln_major_version == major) && ($cln_minor_version == minor) && ($cln_micro_version >= micro))) { 
		
	
		
			
				    if ((CL_VERSION_MAJOR == $cln_major_version) && 
		
	
		
			
				        (CL_VERSION_MINOR == $cln_minor_version) && 
		
	
		
			
				        (CL_VERSION_PATCHLEVEL == $cln_micro_version)) { 
		
	
		
			
				  if (($cln_config_ major_version > major) || 
		
	
		
			
				     (($cln_config_ major_version == major) && ($cln_config _minor_version > minor)) || 
		
	
		
			
				     (($cln_config_ major_version == major) && ($cln_config_ minor_version == minor) && ($cln_config _micro_version >= micro))) { 
		
	
		
			
				    if ((CL_VERSION_MAJOR == $cln_config_ major_version) && 
		
	
		
			
				        (CL_VERSION_MINOR == $cln_config_ minor_version) && 
		
	
		
			
				        (CL_VERSION_PATCHLEVEL == $cln_config_ micro_version)) { 
		
	
		
			
				      return 0;      return 0; 
		
	
		
			
				    } else {    } else { 
		
	
		
			
				      printf("\n*** 'cln-config --version' returned %d.%d.%d, but the header file I found\n", $cln_major_version, $cln_minor_version, $cln_micro_version); 
		
	
		
			
				      printf("\n*** 'cln-config --version' returned %d.%d.%d, but the header file I found\n", $cln_config_ major_version, $cln_config_ minor_version, $cln_config _micro_version); 
		
	
		
			
				      printf("*** corresponds to %d.%d.%d. This mismatch suggests your installation of CLN\n", CL_VERSION_MAJOR, CL_VERSION_MINOR, CL_VERSION_PATCHLEVEL);      printf("*** corresponds to %d.%d.%d. This mismatch suggests your installation of CLN\n", CL_VERSION_MAJOR, CL_VERSION_MINOR, CL_VERSION_PATCHLEVEL); 
		
	
		
			
				      printf("*** is corrupted. Please inquire and consider reinstalling CLN.\n");      printf("*** is corrupted. Please inquire and consider reinstalling CLN.\n"); 
		
	
		
			
				      return 1;      return 1; 
		
	
		
			
				    }    } 
		
	
		
			
				  } else {  } else { 
		
	
		
			
				    printf("\n*** 'cln-config --version' returned %d.%d.%d, but the minimum version\n", $cln_major_version, $cln_minor_version, $cln_micro_version); 
		
	
		
			
				    printf("\n*** 'cln-config --version' returned %d.%d.%d, but the minimum version\n", $cln_config_ major_version, $cln_config_ minor_version, $cln_config _micro_version); 
		
	
		
			
				    printf("*** of CLN required is %d.%d.%d. If cln-config is correct, then it is\n", major, minor, micro);    printf("*** of CLN required is %d.%d.%d. If cln-config is correct, then it is\n", major, minor, micro); 
		
	
		
			
				    printf("*** best to upgrade to the required version.\n");    printf("*** best to upgrade to the required version.\n"); 
		
	
		
			
				    printf("*** If cln-config was wrong, set the environment variable CLN_CONFIG\n");    printf("*** If cln-config was wrong, set the environment variable CLN_CONFIG\n"); 
		
	
	
		
			
				
					
					
					
						
							 
					
				 
				@ -108,7 +124,7 @@ int main () 
		
	
		
			
				     fi     fi 
		
	
		
			
				  fi  fi 
		
	
		
			
				  if test "x$no_cln" = x ; then  if test "x$no_cln" = x ; then 
		
	
		
			
				     AC_MSG_RESULT(yes) 
		
	
		
			
				     AC_MSG_RESULT([ yes, `$CLN_CONFIG --version`] ) 
		
	
		
			
				     ifelse([$2], , :, [$2])          ifelse([$2], , :, [$2])      
		
	
		
			
				  else  else 
		
	
		
			
				     AC_MSG_RESULT(no)     AC_MSG_RESULT(no)