From eec93b2ebeab95987e3dd20cf8b5a3054d2f7410 Mon Sep 17 00:00:00 2001 From: Joachim Metz Date: Fri, 14 Jun 2024 05:11:04 +0200 Subject: [PATCH] Applied updates --- .github/workflows/build_shared.yml | 3 - acinclude.m4 | 2 +- common/Makefile.am | 2 +- configure.ac | 2 +- libbfio.ini | 1 + m4/common.m4 | 212 ++++-- m4/libcdata.m4 | 558 +++----------- m4/libcerror.m4 | 85 +-- m4/libcfile.m4 | 180 +---- m4/libclocale.m4 | 79 +- m4/libcnotify.m4 | 81 +-- m4/libcpath.m4 | 120 +-- m4/libcsplit.m4 | 114 +-- m4/libcthreads.m4 | 257 ++----- m4/libuna.m4 | 1087 +++++----------------------- m4/pthread.m4 | 144 +--- msvscpp/libbfio.sln | 102 +-- 17 files changed, 661 insertions(+), 2368 deletions(-) diff --git a/.github/workflows/build_shared.yml b/.github/workflows/build_shared.yml index 44031f0..66d9b25 100644 --- a/.github/workflows/build_shared.yml +++ b/.github/workflows/build_shared.yml @@ -10,9 +10,6 @@ jobs: strategy: matrix: include: - - architecture: 'x64' - compiler: 'gcc' - configure_options: '' - architecture: 'x64' compiler: 'gcc' configure_options: '--enable-wide-character-type' diff --git a/acinclude.m4 b/acinclude.m4 index 4aa84c3..c01575c 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1,6 +1,6 @@ dnl Checks for required headers and functions dnl -dnl Version: 20201125 +dnl Version: 20240518 dnl Function to detect if libbfio dependencies are available AC_DEFUN([AX_LIBBFIO_CHECK_LOCAL], diff --git a/common/Makefile.am b/common/Makefile.am index 18c6783..f7aa524 100644 --- a/common/Makefile.am +++ b/common/Makefile.am @@ -1,5 +1,5 @@ AM_CPPFLAGS = \ - -I../include -I../include -I$(top_srcdir)/include + -I../include -I$(top_srcdir)/include EXTRA_DIST = \ byte_stream.h \ diff --git a/configure.ac b/configure.ac index 79c2e5a..016ae46 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ AC_PREREQ([2.71]) AC_INIT( [libbfio], - [20240414], + [20240614], [joachim.metz@gmail.com]) AC_CONFIG_SRCDIR( diff --git a/libbfio.ini b/libbfio.ini index 982e9b6..a527662 100644 --- a/libbfio.ini +++ b/libbfio.ini @@ -7,5 +7,6 @@ features: ["debug_output"] [library] description: "Library to support (abstracted) basic file input/output (IO)" +features: ["pthread", "wide_character_type"] public_types: ["handle", "pool"] diff --git a/m4/common.m4 b/m4/common.m4 index 71c18b8..c2ea816 100644 --- a/m4/common.m4 +++ b/m4/common.m4 @@ -1,11 +1,10 @@ dnl Checks for common headers and functions dnl -dnl Version: 20240308 +dnl Version: 20240513 dnl Function to test if a certain feature was disabled AC_DEFUN([AX_COMMON_ARG_DISABLE], -[ - AC_ARG_ENABLE( + [AC_ARG_ENABLE( [$1], [AS_HELP_STRING( [--disable-$1], @@ -17,12 +16,11 @@ AC_DEFUN([AX_COMMON_ARG_DISABLE], [whether to disable $3], [ac_cv_enable_$2], [ac_cv_enable_$2="yes"])dnl -]) + ]) dnl Function to test if a certain feature was enabled AC_DEFUN([AX_COMMON_ARG_ENABLE], -[ - AC_ARG_ENABLE( + [AC_ARG_ENABLE( [$1], [AS_HELP_STRING( [--enable-$1], @@ -34,12 +32,11 @@ AC_DEFUN([AX_COMMON_ARG_ENABLE], [whether to enable $3], [ac_cv_enable_$2], [ac_cv_enable_$2=$4])dnl -]) + ]) dnl Function to test if the location of a certain feature was provided AC_DEFUN([AX_COMMON_ARG_WITH], -[ - AC_ARG_WITH( + [AC_ARG_WITH( [$1], [AS_HELP_STRING( [--with-$1[[=$5]]], @@ -51,21 +48,19 @@ AC_DEFUN([AX_COMMON_ARG_WITH], [whether to use $3], [ac_cv_with_$2], [ac_cv_with_$2=$4])dnl -]) + ]) -dnl Function to detect whether shared libary support should be disabled +dnl Function to detect whether shared library support should be disabled AC_DEFUN([AX_COMMON_CHECK_DISABLE_SHARED_LIBS], -[ - AX_COMMON_ARG_DISABLE( + [AX_COMMON_ARG_DISABLE( [shared-libs], [shared_libs], [disable shared library support]) -]) + ]) dnl Function to detect whether debug output should be enabled AC_DEFUN([AX_COMMON_CHECK_ENABLE_DEBUG_OUTPUT], -[ - AX_COMMON_ARG_ENABLE( + [AX_COMMON_ARG_ENABLE( [debug-output], [debug_output], [enable debug output], @@ -79,12 +74,11 @@ AC_DEFUN([AX_COMMON_CHECK_ENABLE_DEBUG_OUTPUT], [Define to 1 if debug output should be used.]) ac_cv_enable_debug_output=yes]) -]) + ]) dnl Function to detect whether static executables support should be enabled AC_DEFUN([AX_COMMON_CHECK_ENABLE_STATIC_EXECUTABLES], -[ - AX_COMMON_ARG_ENABLE( + [AX_COMMON_ARG_ENABLE( [static-executables], [static_executables], [build static executables (binaries)], @@ -99,12 +93,11 @@ AC_DEFUN([AX_COMMON_CHECK_ENABLE_STATIC_EXECUTABLES], ac_cv_enable_static_executables=yes enable_shared=no]) -]) + ]) dnl Function to detect whether verbose output should be enabled AC_DEFUN([AX_COMMON_CHECK_ENABLE_VERBOSE_OUTPUT], -[ - AX_COMMON_ARG_ENABLE( + [AX_COMMON_ARG_ENABLE( [verbose-output], [verbose_output], [enable verbose output], @@ -118,22 +111,20 @@ AC_DEFUN([AX_COMMON_CHECK_ENABLE_VERBOSE_OUTPUT], [Define to 1 if verbose output should be used.]) ac_cv_enable_verbose_output=yes]) -]) + ]) dnl Function to detect whether static executables support should be enabled AC_DEFUN([AX_COMMON_CHECK_ENABLE_WIDE_CHARACTER_TYPE], -[ - AX_COMMON_ARG_ENABLE( + [AX_COMMON_ARG_ENABLE( [wide-character-type], [wide_character_type], [enable wide character type support], [no]) -]) + ]) dnl Function to detect whether WINAPI support should be enabled AC_DEFUN([AX_COMMON_CHECK_ENABLE_WINAPI], -[ - AX_COMMON_ARG_ENABLE( + [AX_COMMON_ARG_ENABLE( [winapi], [winapi], [enable WINAPI support for cross-compilation], @@ -156,13 +147,12 @@ AC_DEFUN([AX_COMMON_CHECK_ENABLE_WINAPI], [detected MSYS enabling WINAPI support for cross-compilation]) ac_cv_enable_winapi=yes], [*],[ac_cv_enable_winapi=no]) + ]) ]) -]) dnl Function to detect whether printf conversion specifier "%jd" is available AC_DEFUN([AX_COMMON_CHECK_FUNC_PRINTF_JD], -[ - AC_MSG_CHECKING( + [AC_MSG_CHECKING( [whether printf supports the conversion specifier "%jd"]) SAVE_CFLAGS="$CFLAGS" @@ -187,7 +177,7 @@ AC_DEFUN([AX_COMMON_CHECK_FUNC_PRINTF_JD], [[printf( "%jd", (off_t) 10 ); ]] )], [ac_cv_cv_have_printf_jd=yes], [ac_cv_cv_have_printf_jd=no]) - ]) + ]) dnl Third try to see if the program runs correctly AS_IF( @@ -202,7 +192,7 @@ if( ( string[ 0 ] != '1' ) || ( string[ 1 ] != '0' ) ) return( 1 ); ]] )], [ac_cv_cv_have_printf_jd=yes], [ac_cv_cv_have_printf_jd=no], [ac_cv_cv_have_printf_jd=undetermined]) - ]) + ]) AC_LANG_POP(C) CFLAGS="$SAVE_CFLAGS" @@ -217,13 +207,12 @@ if( ( string[ 0 ] != '1' ) || ( string[ 1 ] != '0' ) ) return( 1 ); ]] )], [Define to 1 whether printf supports the conversion specifier "%jd".]) ], [AC_MSG_RESULT( [$ac_cv_cv_have_printf_jd]) + ]) ]) -]) dnl Function to detect whether printf conversion specifier "%zd" is available AC_DEFUN([AX_COMMON_CHECK_FUNC_PRINTF_ZD], -[ - AC_MSG_CHECKING( + [AC_MSG_CHECKING( [whether printf supports the conversion specifier "%zd"]) SAVE_CFLAGS="$CFLAGS" @@ -248,7 +237,7 @@ AC_DEFUN([AX_COMMON_CHECK_FUNC_PRINTF_ZD], [[printf( "%zd", (size_t) 10 ); ]] )], [ac_cv_cv_have_printf_zd=yes], [ac_cv_cv_have_printf_zd=no]) - ]) + ]) dnl Third try to see if the program runs correctly AS_IF( @@ -263,7 +252,7 @@ if( ( string[ 0 ] != '1' ) || ( string[ 1 ] != '0' ) ) return( 1 ); ]] )], [ac_cv_cv_have_printf_zd=yes], [ac_cv_cv_have_printf_zd=no], [ac_cv_cv_have_printf_zd=undetermined]) - ]) + ]) AC_LANG_POP(C) CFLAGS="$SAVE_CFLAGS" @@ -278,13 +267,12 @@ if( ( string[ 0 ] != '1' ) || ( string[ 1 ] != '0' ) ) return( 1 ); ]] )], [Define to 1 whether printf supports the conversion specifier "%zd".]) ], [AC_MSG_RESULT( [$ac_cv_cv_have_printf_zd]) + ]) ]) -]) dnl Function to detect if common dependencies are available AC_DEFUN([AX_COMMON_CHECK_LOCAL], -[ - dnl Headers included in common/common.h + [dnl Headers included in common/common.h AS_IF( [test "x$ac_cv_enable_winapi" = xyes], [AC_CHECK_HEADERS([windows.h]) @@ -294,13 +282,13 @@ AC_DEFUN([AX_COMMON_CHECK_LOCAL], [AC_MSG_FAILURE( [Missing header: windows.h header is required to compile with winapi support], [1]) + ]) ]) - ]) AS_IF( [test "x$ac_cv_enable_winapi" = xno], [AC_CHECK_HEADERS([libintl.h]) - ]) + ]) dnl Headers included in common/types.h AC_CHECK_HEADERS([limits.h]) @@ -319,56 +307,56 @@ AC_DEFUN([AX_COMMON_CHECK_LOCAL], [AC_MSG_FAILURE( [Missing function: fclose], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_feof" != xyes], [AC_MSG_FAILURE( [Missing function: feof], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_fgets" != xyes], [AC_MSG_FAILURE( [Missing function: fgets], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_fopen" != xyes], [AC_MSG_FAILURE( [Missing function: fopen], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_fread" != xyes], [AC_MSG_FAILURE( [Missing function: fread], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_fseeko" != xyes && test "x$ac_cv_func_fseeko64" != xyes], [AC_MSG_FAILURE( [Missing function: fseeko and fseeko64], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_fwrite" != xyes], [AC_MSG_FAILURE( [Missing function: fwrite], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_vfprintf" != xyes], [AC_MSG_FAILURE( [Missing function: vfprintf], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_enable_wide_character_type" != xno], @@ -379,8 +367,8 @@ AC_DEFUN([AX_COMMON_CHECK_LOCAL], [AC_MSG_FAILURE( [Missing function: fgetws], [1]) + ]) ]) - ]) dnl Memory functions used in common/memory.h AC_CHECK_FUNCS([free malloc memcmp memcpy memset realloc]) @@ -390,42 +378,42 @@ AC_DEFUN([AX_COMMON_CHECK_LOCAL], [AC_MSG_FAILURE( [Missing function: free], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_malloc" != xyes], [AC_MSG_FAILURE( [Missing function: malloc], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_memcmp" != xyes], [AC_MSG_FAILURE( [Missing function: memcmp], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_memcpy" != xyes], [AC_MSG_FAILURE( [Missing function: memcpy], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_memset" != xyes], [AC_MSG_FAILURE( [Missing function: memset], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_realloc" != xyes], [AC_MSG_FAILURE( [Missing function: realloc], [1]) - ]) + ]) dnl Narrow character string functions used in common/narrow_string.h AC_CHECK_FUNCS([memchr memrchr snprintf sscanf strcasecmp strchr strlen strncasecmp strncmp strncpy strnicmp strrchr strstr vsnprintf]) @@ -435,21 +423,21 @@ AC_DEFUN([AX_COMMON_CHECK_LOCAL], [AC_MSG_FAILURE( [Missing functions: memchr and strchr], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_memcmp" != xyes && test "x$ac_cv_func_strncmp" != xyes], [AC_MSG_FAILURE( [Missing functions: memcmp and strncmp], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_memcpy" != xyes && test "x$ac_cv_func_strncpy" != xyes], [AC_MSG_FAILURE( [Missing functions: memcpy and strncpy], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_memrchr" = xyes], @@ -458,56 +446,56 @@ AC_DEFUN([AX_COMMON_CHECK_LOCAL], AS_IF( [test "x$ac_cv_decl_memrchr" != xyes], [ac_cv_func_memrchr=no]) - ]) + ]) AS_IF( [test "x$ac_cv_func_memrchr" != xyes && test "x$ac_cv_func_strrchr" != xyes], [AC_MSG_FAILURE( [Missing functions: strrchr and memrchr], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_snprintf" != xyes], [AC_MSG_FAILURE( [Missing function: snprintf], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_sscanf" != xyes], [AC_MSG_FAILURE( [Missing function: sscanf], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_strlen" != xyes], [AC_MSG_FAILURE( [Missing function: strlen], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_strcasecmp" != xyes && test "x$ac_cv_func_strncasecmp" != xyes && test "x$ac_cv_func_strnicmp" != xyes], [AC_MSG_FAILURE( [Missing functions: strncasecmp, strcasecmp and strnicmp], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_strstr" != xyes], [AC_MSG_FAILURE( [Missing function: strstr], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_vsnprintf" != xyes], [AC_MSG_FAILURE( [Missing function: vsnprintf], [1]) - ]) + ]) dnl Wide character string functions used in common/wide_string.h AS_IF( @@ -519,60 +507,128 @@ AC_DEFUN([AX_COMMON_CHECK_LOCAL], [AC_MSG_FAILURE( [Missing function: swprintf], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_wmemchr" != xyes && test "x$ac_cv_func_wcschr" != xyes], [AC_MSG_FAILURE( [Missing functions: wmemchr and wcschr], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_wmemcmp" != xyes && test "x$ac_cv_func_wcsncmp" != xyes], [AC_MSG_FAILURE( [Missing functions: wmemcmp and wcsncmp], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_wmemcpy" != xyes && test "x$ac_cv_func_wcsncpy" != xyes], [AC_MSG_FAILURE( [Missing functions: wmemcpy and wcsncpy], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_wmemrchr" != xyes && test "x$ac_cv_func_wcsrchr" != xyes], [AC_MSG_FAILURE( [Missing functions: wmemrchr and wcsrchr], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_wcslen" != xyes], [AC_MSG_FAILURE( [Missing function: wcslen], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_wcsncasecmp" != xyes && test "x$ac_cv_func_wcscasecmp" != xyes && test "x$ac_cv_func_wcsnicmp" != xyes && test "x$ac_cv_func_towlower" != xyes], [AC_MSG_FAILURE( [Missing functions: wcsncasecmp, wcscasecmp, wcsnicmp and towlower], [1]) - ]) + ]) AS_IF( [test "x$ac_cv_func_wcsstr" != xyes], [AC_MSG_FAILURE( [Missing function: wcsstr], [1]) + ]) ]) - ]) dnl Check for printf conversion specifier support AX_COMMON_CHECK_FUNC_PRINTF_JD AX_COMMON_CHECK_FUNC_PRINTF_ZD -]) + ]) + +dnl Function to test if a library with a specific definition is available +AC_DEFUN([AX_CHECK_LIB_DEFINITION], + [AC_CACHE_CHECK( + [if `$2' is defined], + [ac_cv_$1_definition_$2], + [AC_LANG_PUSH(C) + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include <$1.h>]], + [[int test = $2; + +return( 0 ); ]] + )], + [ac_cv_$1_definition_$2=yes], + [ac_cv_$1_definition_$2=no]) + AC_LANG_POP(C)]) + + AS_IF( + [test "x$ac_cv_$1_definition_$2" != xyes], + [ac_cv_$1=no]) + ]) + +dnl Function to test if a library with specific definitions is available +AC_DEFUN([AX_CHECK_LIB_DEFINITIONS], + [m4_foreach( + [definition], + [$2], + [AX_CHECK_LIB_DEFINITION( + [$1], + [definition]) + ]) + ]) + +dnl Function to test if a library with specific functions is available +AC_DEFUN([AX_CHECK_LIB_FUNCTIONS], + [m4_foreach( + [function], + [$3], + [AC_CHECK_LIB( + [$2], + [function], + [ac_cv_$1_dummy=yes], + [ac_cv_$1=no]) + ]) + ]) + +dnl Function to check if an user specified library directory exists +AC_DEFUN([AX_CHECK_LIB_DIRECTORY_EXISTS], + [AS_IF( + [test -d "$ac_cv_with_$1"], + [CFLAGS="$CFLAGS -I${ac_cv_with_$1}/include" + LDFLAGS="$LDFLAGS -L${ac_cv_with_$1}/lib"], + [AC_MSG_FAILURE( + [no such directory: $ac_cv_with_$1], + [1]) + ]) + ]) + +dnl Function to warn if no supported library was found in an user specified directory +AC_DEFUN([AX_CHECK_LIB_DIRECTORY_MSG_ON_FAILURE], + [AS_IF( + [test "x$ac_cv_$1" != xyes && test "x$ac_cv_with_$1" != x && test "x$ac_cv_with_$1" != xauto-detect && test "x$ac_cv_with_$1" != xyes], + [AC_MSG_FAILURE( + [unable to find supported $1 in directory: $ac_cv_with_$1], + [1]) + ]) + ]) diff --git a/m4/libcdata.m4 b/m4/libcdata.m4 index aa01d93..74cea9d 100644 --- a/m4/libcdata.m4 +++ b/m4/libcdata.m4 @@ -1,6 +1,6 @@ dnl Checks for libcdata required headers and functions dnl -dnl Version: 20240413 +dnl Version: 20240514 dnl Function to detect if libcdata is available dnl ac_libcdata_dummy is used to prevent AC_CHECK_LIB adding unnecessary -l arguments @@ -14,15 +14,7 @@ AC_DEFUN([AX_LIBCDATA_CHECK_LIB], dnl treat them as auto-detection. AS_IF( [test "x$ac_cv_with_libcdata" != x && test "x$ac_cv_with_libcdata" != xauto-detect && test "x$ac_cv_with_libcdata" != xyes], - [AS_IF( - [test -d "$ac_cv_with_libcdata"], - [CFLAGS="$CFLAGS -I${ac_cv_with_libcdata}/include" - LDFLAGS="$LDFLAGS -L${ac_cv_with_libcdata}/lib"], - [AC_MSG_FAILURE( - [no such directory: $ac_cv_with_libcdata], - [1]) - ]) - ], + [AX_CHECK_LIB_DIRECTORY_EXISTS([libcdata])], [dnl Check for a pkg-config file AS_IF( [test "x$cross_compiling" != "xyes" && test "x$PKGCONFIG" != "x"], @@ -46,466 +38,102 @@ AC_DEFUN([AX_LIBCDATA_CHECK_LIB], AS_IF( [test "x$ac_cv_header_libcdata_h" = xno], [ac_cv_libcdata=no], - [dnl Check for the individual functions - ac_cv_libcdata=yes - - AC_CHECK_LIB( - cdata, - libcdata_get_version, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - - dnl Array functions - AC_CHECK_LIB( - cdata, - libcdata_array_initialize, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_array_free, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_array_empty, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_array_clone, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_array_resize, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_array_reverse, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_array_get_number_of_entries, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_array_get_entry_by_index, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_array_get_entry_by_value, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_array_set_entry_by_index, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_array_prepend_entry, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_array_append_entry, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_array_insert_entry, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_array_remove_entry, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - - dnl Balanced tree functions - AC_CHECK_LIB( - cdata, - libcdata_btree_initialize, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_btree_free, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_btree_get_number_of_values, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_btree_get_value_by_index, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_btree_get_value_by_value, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_btree_insert_value, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_btree_replace_value, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_btree_remove_value, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - - dnl List functions - AC_CHECK_LIB( - cdata, - libcdata_list_initialize, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_free, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_empty, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_clone, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_get_number_of_elements, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_get_first_element, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_get_last_element, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_get_element_by_index, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_get_value_by_index, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_prepend_element, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_prepend_value, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_append_element, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_append_value, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_insert_element, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_insert_element_with_existing, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_insert_value, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_insert_value_with_existing, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_remove_element, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) + [ac_cv_libcdata=yes - dnl List element functions - AC_CHECK_LIB( - cdata, - libcdata_list_element_initialize, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_element_free, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_element_get_value, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_element_set_value, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_element_get_previous_element, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_element_set_previous_element, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_element_get_next_element, - [ac_cv_libcdata_dummy=yes], - AC_CHECK_LIB( - cdata, - libcdata_list_element_set_next_element, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_element_get_elements, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_list_element_set_elements, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - [ac_cv_libcdata=no]) - - dnl Range list functions - AC_CHECK_LIB( - cdata, - libcdata_range_list_initialize, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_range_list_free, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_range_list_empty, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_range_list_clone, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_range_list_get_number_of_elements, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_range_list_insert_range, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_range_list_insert_range_list, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_range_list_remove_range, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_range_list_get_range_by_index, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_range_list_get_range_at_offset, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_range_list_range_is_present, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_range_list_range_has_overlapping_range, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_range_list_get_spanning_range, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - - dnl Tree node functions - AC_CHECK_LIB( - cdata, - libcdata_tree_node_initialize, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_free, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_empty, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_clone, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_get_value, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_set_value, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_get_parent_node, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_set_parent_node, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_get_previous_node, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_set_previous_node, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_get_next_node, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_set_next_node, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_get_nodes, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_set_nodes, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_append_node, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_append_value, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_insert_node, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_insert_value, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_replace_node, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_remove_node, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_get_number_of_sub_nodes, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_get_sub_node_by_index, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) - AC_CHECK_LIB( - cdata, - libcdata_tree_node_get_leaf_node_list, - [ac_cv_libcdata_dummy=yes], - [ac_cv_libcdata=no]) + AX_CHECK_LIB_FUNCTIONS( + [libcdata], + [cdata], + [[libcdata_get_version], + [libcdata_array_initialize], + [libcdata_array_free], + [libcdata_array_empty], + [libcdata_array_clone], + [libcdata_array_resize], + [libcdata_array_reverse], + [libcdata_array_get_number_of_entries], + [libcdata_array_get_entry_by_index], + [libcdata_array_get_entry_by_value], + [libcdata_array_set_entry_by_index], + [libcdata_array_prepend_entry], + [libcdata_array_append_entry], + [libcdata_array_insert_entry], + [libcdata_array_remove_entry], + [libcdata_btree_initialize], + [libcdata_btree_free], + [libcdata_btree_get_number_of_values], + [libcdata_btree_get_value_by_index], + [libcdata_btree_get_value_by_value], + [libcdata_btree_insert_value], + [libcdata_btree_replace_value], + [libcdata_btree_remove_value], + [libcdata_list_initialize], + [libcdata_list_free], + [libcdata_list_empty], + [libcdata_list_clone], + [libcdata_list_get_number_of_elements], + [libcdata_list_get_first_element], + [libcdata_list_get_last_element], + [libcdata_list_get_element_by_index], + [libcdata_list_get_value_by_index], + [libcdata_list_prepend_element], + [libcdata_list_prepend_value], + [libcdata_list_append_element], + [libcdata_list_append_value], + [libcdata_list_insert_element], + [libcdata_list_insert_element_with_existing], + [libcdata_list_insert_value], + [libcdata_list_insert_value_with_existing], + [libcdata_list_remove_element], + [libcdata_list_element_initialize], + [libcdata_list_element_free], + [libcdata_list_element_get_value], + [libcdata_list_element_set_value], + [libcdata_list_element_get_previous_element], + [libcdata_list_element_set_previous_element], + [libcdata_list_element_get_next_element], + [libcdata_list_element_get_elements], + [libcdata_list_element_set_elements], + [libcdata_range_list_initialize], + [libcdata_range_list_free], + [libcdata_range_list_empty], + [libcdata_range_list_clone], + [libcdata_range_list_get_number_of_elements], + [libcdata_range_list_insert_range], + [libcdata_range_list_insert_range_list], + [libcdata_range_list_remove_range], + [libcdata_range_list_get_range_by_index], + [libcdata_range_list_get_range_at_offset], + [libcdata_range_list_range_is_present], + [libcdata_range_list_range_has_overlapping_range], + [libcdata_range_list_get_spanning_range], + [libcdata_tree_node_initialize], + [libcdata_tree_node_free], + [libcdata_tree_node_empty], + [libcdata_tree_node_clone], + [libcdata_tree_node_get_value], + [libcdata_tree_node_set_value], + [libcdata_tree_node_get_parent_node], + [libcdata_tree_node_set_parent_node], + [libcdata_tree_node_get_previous_node], + [libcdata_tree_node_set_previous_node], + [libcdata_tree_node_get_next_node], + [libcdata_tree_node_set_next_node], + [libcdata_tree_node_get_nodes], + [libcdata_tree_node_set_nodes], + [libcdata_tree_node_append_node], + [libcdata_tree_node_append_value], + [libcdata_tree_node_insert_node], + [libcdata_tree_node_insert_value], + [libcdata_tree_node_replace_node], + [libcdata_tree_node_remove_node], + [libcdata_tree_node_get_number_of_sub_nodes], + [libcdata_tree_node_get_sub_node_by_index], + [libcdata_tree_node_get_leaf_node_list]]) ac_cv_libcdata_LIBADD="-lcdata"]) ]) - AS_IF( - [test "x$ac_cv_libcdata" != xyes && test "x$ac_cv_with_libcdata" != x && test "x$ac_cv_with_libcdata" != xauto-detect && test "x$ac_cv_with_libcdata" != xyes], - [AC_MSG_FAILURE( - [unable to find supported libcdata in directory: $ac_cv_with_libcdata], - [1]) - ]) + AX_CHECK_LIB_DIRECTORY_MSG_ON_FAILURE([libcdata]) ]) AS_IF( diff --git a/m4/libcerror.m4 b/m4/libcerror.m4 index e9abcdb..02263bb 100644 --- a/m4/libcerror.m4 +++ b/m4/libcerror.m4 @@ -1,6 +1,6 @@ dnl Checks for libcerror required headers and functions dnl -dnl Version: 20240413 +dnl Version: 20240513 dnl Function to detect if libcerror is available dnl ac_libcerror_dummy is used to prevent AC_CHECK_LIB adding unnecessary -l arguments @@ -14,15 +14,7 @@ AC_DEFUN([AX_LIBCERROR_CHECK_LIB], dnl treat them as auto-detection. AS_IF( [test "x$ac_cv_with_libcerror" != x && test "x$ac_cv_with_libcerror" != xauto-detect && test "x$ac_cv_with_libcerror" != xyes], - [AS_IF( - [test -d "$ac_cv_with_libcerror"], - [CFLAGS="$CFLAGS -I${ac_cv_with_libcerror}/include" - LDFLAGS="$LDFLAGS -L${ac_cv_with_libcerror}/lib"], - [AC_MSG_FAILURE( - [no such directory: $ac_cv_with_libcerror], - [1]) - ]) - ], + [AX_CHECK_LIB_DIRECTORY_EXISTS([libcerror])], [dnl Check for a pkg-config file AS_IF( [test "x$cross_compiling" != "xyes" && test "x$PKGCONFIG" != "x"], @@ -46,68 +38,25 @@ AC_DEFUN([AX_LIBCERROR_CHECK_LIB], AS_IF( [test "x$ac_cv_header_libcerror_h" = xno], [ac_cv_libcerror=no], - [dnl Check for the individual functions - ac_cv_libcerror=yes - - AC_CHECK_LIB( - cerror, - libcerror_get_version, - [ac_cv_libcerror_dummy=yes], - [ac_cv_libcerror=no]) - - dnl Error functions - AC_CHECK_LIB( - cerror, - libcerror_error_free, - [ac_cv_libcerror_dummy=yes], - [ac_cv_libcerror=no]) - AC_CHECK_LIB( - cerror, - libcerror_error_set, - [ac_cv_libcerror_dummy=yes], - [ac_cv_libcerror=no]) - AC_CHECK_LIB( - cerror, - libcerror_error_matches, - [ac_cv_libcerror_dummy=yes], - [ac_cv_libcerror=no]) - AC_CHECK_LIB( - cerror, - libcerror_error_fprint, - [ac_cv_libcerror_dummy=yes], - [ac_cv_libcerror=no]) - AC_CHECK_LIB( - cerror, - libcerror_error_sprint, - [ac_cv_libcerror_dummy=yes], - [ac_cv_libcerror=no]) - AC_CHECK_LIB( - cerror, - libcerror_error_backtrace_fprint, - [ac_cv_libcerror_dummy=yes], - [ac_cv_libcerror=no]) - AC_CHECK_LIB( - cerror, - libcerror_error_backtrace_sprint, - [ac_cv_libcerror_dummy=yes], - [ac_cv_libcerror=no]) - - dnl System error functions - AC_CHECK_LIB( - cerror, - libcerror_system_set_error, - [ac_cv_libcerror_dummy=yes], - [ac_cv_libcerror=no]) + [ac_cv_libcerror=yes + + AX_CHECK_LIB_FUNCTIONS( + [libcerror], + [cerror], + [[libcerror_get_version], + [libcerror_error_free], + [libcerror_error_set], + [libcerror_error_matches], + [libcerror_error_fprint], + [libcerror_error_sprint], + [libcerror_error_backtrace_fprint], + [libcerror_error_backtrace_sprint], + [libcerror_system_set_error]]) ac_cv_libcerror_LIBADD="-lcerror"]) ]) - AS_IF( - [test "x$ac_cv_libcerror" != xyes && test "x$ac_cv_with_libcerror" != x && test "x$ac_cv_with_libcerror" != xauto-detect && test "x$ac_cv_with_libcerror" != xyes], - [AC_MSG_FAILURE( - [unable to find supported libcerror in directory: $ac_cv_with_libcerror], - [1]) - ]) + AX_CHECK_LIB_DIRECTORY_MSG_ON_FAILURE([libcerror]) ]) AS_IF( diff --git a/m4/libcfile.m4 b/m4/libcfile.m4 index 81ac5f1..e9e7729 100644 --- a/m4/libcfile.m4 +++ b/m4/libcfile.m4 @@ -1,6 +1,6 @@ dnl Checks for libcfile required headers and functions dnl -dnl Version: 20240413 +dnl Version: 20240514 dnl Function to detect if libcfile is available dnl ac_libcfile_dummy is used to prevent AC_CHECK_LIB adding unnecessary -l arguments @@ -14,15 +14,7 @@ AC_DEFUN([AX_LIBCFILE_CHECK_LIB], dnl treat them as auto-detection. AS_IF( [test "x$ac_cv_with_libcfile" != x && test "x$ac_cv_with_libcfile" != xauto-detect && test "x$ac_cv_with_libcfile" != xyes], - [AS_IF( - [test -d "$ac_cv_with_libcfile"], - [CFLAGS="$CFLAGS -I${ac_cv_with_libcfile}/include" - LDFLAGS="$LDFLAGS -L${ac_cv_with_libcfile}/lib"], - [AC_MSG_FAILURE( - [no such directory: $ac_cv_with_libcfile], - [1]) - ]) - ], + [AX_CHECK_LIB_DIRECTORY_EXISTS([libcfile])], [dnl Check for a pkg-config file AS_IF( [test "x$cross_compiling" != "xyes" && test "x$PKGCONFIG" != "x"], @@ -67,151 +59,47 @@ AC_DEFUN([AX_LIBCFILE_CHECK_LIB], AS_IF( [test "x$ac_cv_header_libcfile_h" = xno], [ac_cv_libcfile=no], - [dnl Check for the individual functions - ac_cv_libcfile=yes - - AC_CHECK_LIB( - cfile, - libcfile_get_version, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - - dnl File functions - AC_CHECK_LIB( - cfile, - libcfile_file_initialize, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_free, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_open, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_open_with_error_code, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_close, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_read_buffer, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_read_buffer_with_error_code, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_write_buffer, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_write_buffer_with_error_code, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_seek_offset, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_resize, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_is_open, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_get_offset, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_get_size, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_is_device, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_io_control_read, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_io_control_read_with_error_code, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - - AS_IF( - [test "x$ac_cv_enable_wide_character_type" != xno], - [AC_CHECK_LIB( - cfile, - libcfile_file_open_wide, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_open_wide_with_error_code, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - ]) + [ac_cv_libcfile=yes - dnl Support functions - AC_CHECK_LIB( - cfile, - libcfile_file_exists, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_remove, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) + AX_CHECK_LIB_FUNCTIONS( + [libcfile], + [cfile], + [[libcfile_get_version], + [libcfile_file_initialize], + [libcfile_file_free], + [libcfile_file_open], + [libcfile_file_open_with_error_code], + [libcfile_file_close], + [libcfile_file_read_buffer], + [libcfile_file_read_buffer_with_error_code], + [libcfile_file_write_buffer], + [libcfile_file_write_buffer_with_error_code], + [libcfile_file_seek_offset], + [libcfile_file_resize], + [libcfile_file_is_open], + [libcfile_file_get_offset], + [libcfile_file_get_size], + [libcfile_file_is_device], + [libcfile_file_io_control_read], + [libcfile_file_io_control_read_with_error_code], + [libcfile_file_exists], + [libcfile_file_remove]]) AS_IF( [test "x$ac_cv_enable_wide_character_type" != xno], - [AC_CHECK_LIB( - cfile, - libcfile_file_exists_wide, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) - AC_CHECK_LIB( - cfile, - libcfile_file_remove_wide, - [ac_cv_libcfile_dummy=yes], - [ac_cv_libcfile=no]) + [AX_CHECK_LIB_FUNCTIONS( + [libcfile], + [cfile], + [[libcfile_file_open_wide], + [libcfile_file_open_wide_with_error_code], + [libcfile_file_exists_wide], + [libcfile_file_remove_wide]]) ]) ac_cv_libcfile_LIBADD="-lcfile"]) ]) - AS_IF( - [test "x$ac_cv_libcfile" != xyes && test "x$ac_cv_with_libcfile" != x && test "x$ac_cv_with_libcfile" != xauto-detect && test "x$ac_cv_with_libcfile" != xyes], - [AC_MSG_FAILURE( - [unable to find supported libcfile in directory: $ac_cv_with_libcfile], - [1]) - ]) + AX_CHECK_LIB_DIRECTORY_MSG_ON_FAILURE([libcfile]) ]) AS_IF( diff --git a/m4/libclocale.m4 b/m4/libclocale.m4 index bd5a10e..e9cb5bb 100644 --- a/m4/libclocale.m4 +++ b/m4/libclocale.m4 @@ -1,6 +1,6 @@ dnl Checks for libclocale required headers and functions dnl -dnl Version: 20240413 +dnl Version: 20240513 dnl Function to detect if libclocale is available dnl ac_libclocale_dummy is used to prevent AC_CHECK_LIB adding unnecessary -l arguments @@ -14,15 +14,7 @@ AC_DEFUN([AX_LIBCLOCALE_CHECK_LIB], dnl treat them as auto-detection. AS_IF( [test "x$ac_cv_with_libclocale" != x && test "x$ac_cv_with_libclocale" != xauto-detect && test "x$ac_cv_with_libclocale" != xyes], - [AS_IF( - [test -d "$ac_cv_with_libclocale"], - [CFLAGS="$CFLAGS -I${ac_cv_with_libclocale}/include" - LDFLAGS="$LDFLAGS -L${ac_cv_with_libclocale}/lib"], - [AC_MSG_FAILURE( - [no such directory: $ac_cv_with_libclocale], - [1]) - ]) - ], + [AX_CHECK_LIB_DIRECTORY_EXISTS([libclocale])], [dnl Check for a pkg-config file AS_IF( [test "x$cross_compiling" != "xyes" && test "x$PKGCONFIG" != "x"], @@ -67,36 +59,19 @@ AC_DEFUN([AX_LIBCLOCALE_CHECK_LIB], AS_IF( [test "x$ac_cv_header_libclocale_h" = xno], [ac_cv_libclocale=no], - [dnl Check for the individual functions - ac_cv_libclocale=yes - - AC_CHECK_LIB( - clocale, - libclocale_get_version, - [ac_cv_libclocale_dummy=yes], - [ac_cv_libclocale=no]) + [ac_cv_libclocale=yes - dnl Codepage functions - AC_CHECK_LIB( - clocale, - libclocale_codepage, - [ac_cv_libclocale_dummy=yes], - [ac_cv_libclocale=no]) - AC_CHECK_LIB( - clocale, - libclocale_codepage_get, - [ac_cv_libclocale_dummy=yes], - [ac_cv_libclocale=no]) - AC_CHECK_LIB( - clocale, - libclocale_codepage_set, - [ac_cv_libclocale_dummy=yes], - [ac_cv_libclocale=no]) - AC_CHECK_LIB( - clocale, - libclocale_codepage_copy_from_string, - [ac_cv_libclocale_dummy=yes], - [ac_cv_libclocale=no]) + AX_CHECK_LIB_FUNCTIONS( + [libclocale], + [clocale], + [[libclocale_get_version], + [libclocale_codepage], + [libclocale_codepage_get], + [libclocale_codepage_set], + [libclocale_codepage_copy_from_string], + [libclocale_locale_get_codepage], + [libclocale_locale_get_decimal_point], + [libclocale_initialize]]) AS_IF( [test "x$ac_cv_enable_wide_character_type" != xno], @@ -107,34 +82,10 @@ AC_DEFUN([AX_LIBCLOCALE_CHECK_LIB], [ac_cv_libclocale=no]) ]) - dnl Locale functions - AC_CHECK_LIB( - clocale, - libclocale_locale_get_codepage, - [ac_cv_libclocale_dummy=yes], - [ac_cv_libclocale=no]) - AC_CHECK_LIB( - clocale, - libclocale_locale_get_decimal_point, - [ac_cv_libclocale_dummy=yes], - [ac_cv_libclocale=no]) - - dnl Support functions - AC_CHECK_LIB( - clocale, - libclocale_initialize, - [ac_cv_libclocale_dummy=yes], - [ac_cv_libclocale=no]) - ac_cv_libclocale_LIBADD="-lclocale"]) ]) - AS_IF( - [test "x$ac_cv_libclocale" != xyes && test "x$ac_cv_with_libclocale" != x && test "x$ac_cv_with_libclocale" != xauto-detect && test "x$ac_cv_with_libclocale" != xyes], - [AC_MSG_FAILURE( - [unable to find supported libclocale in directory: $ac_cv_with_libclocale], - [1]) - ]) + AX_CHECK_LIB_DIRECTORY_MSG_ON_FAILURE([libclocale]) ]) AS_IF( diff --git a/m4/libcnotify.m4 b/m4/libcnotify.m4 index e382bdb..c0404cc 100644 --- a/m4/libcnotify.m4 +++ b/m4/libcnotify.m4 @@ -1,6 +1,6 @@ dnl Checks for libcnotify required headers and functions dnl -dnl Version: 20240413 +dnl Version: 20240513 dnl Function to detect if libcnotify is available dnl ac_libcnotify_dummy is used to prevent AC_CHECK_LIB adding unnecessary -l arguments @@ -14,15 +14,7 @@ AC_DEFUN([AX_LIBCNOTIFY_CHECK_LIB], dnl treat them as auto-detection. AS_IF( [test "x$ac_cv_with_libcnotify" != x && test "x$ac_cv_with_libcnotify" != xauto-detect && test "x$ac_cv_with_libcnotify" != xyes], - [AS_IF( - [test -d "$ac_cv_with_libcnotify"], - [CFLAGS="$CFLAGS -I${ac_cv_with_libcnotify}/include" - LDFLAGS="$LDFLAGS -L${ac_cv_with_libcnotify}/lib"], - [AC_MSG_FAILURE( - [no such directory: $ac_cv_with_libcnotify], - [1]) - ]) - ], + [AX_CHECK_LIB_DIRECTORY_EXISTS([libcnotify])], [dnl Check for a pkg-config file AS_IF( [test "x$cross_compiling" != "xyes" && test "x$PKGCONFIG" != "x"], @@ -46,65 +38,24 @@ AC_DEFUN([AX_LIBCNOTIFY_CHECK_LIB], AS_IF( [test "x$ac_cv_header_libcnotify_h" = xno], [ac_cv_libcnotify=no], - [dnl Check for the individual functions - ac_cv_libcnotify=yes - - AC_CHECK_LIB( - cnotify, - libcnotify_get_version, - [ac_cv_libcnotify_dummy=yes], - [ac_cv_libcnotify=no]) - - dnl Print functions - AC_CHECK_LIB( - cnotify, - libcnotify_printf, - [ac_cv_libcnotify_dummy=yes], - [ac_cv_libcnotify=no]) - AC_CHECK_LIB( - cnotify, - libcnotify_print_data, - [ac_cv_libcnotify_dummy=yes], - [ac_cv_libcnotify=no]) - AC_CHECK_LIB( - cnotify, - libcnotify_print_error_backtrace, - [ac_cv_libcnotify_dummy=yes], - [ac_cv_libcnotify=no]) - - dnl Stream functions - AC_CHECK_LIB( - cnotify, - libcnotify_stream_set, - [ac_cv_libcnotify_dummy=yes], - [ac_cv_libcnotify=no]) - AC_CHECK_LIB( - cnotify, - libcnotify_stream_open, - [ac_cv_libcnotify_dummy=yes], - [ac_cv_libcnotify=no]) - AC_CHECK_LIB( - cnotify, - libcnotify_stream_close, - [ac_cv_libcnotify_dummy=yes], - [ac_cv_libcnotify=no]) - - dnl Verbose functions - AC_CHECK_LIB( - cnotify, - libcnotify_verbose_set, - [ac_cv_libcnotify_dummy=yes], - [ac_cv_libcnotify=no]) + [ac_cv_libcnotify=yes + + AX_CHECK_LIB_FUNCTIONS( + [libcnotify], + [cnotify], + [[libcnotify_get_version], + [libcnotify_printf], + [libcnotify_print_data], + [libcnotify_print_error_backtrace], + [libcnotify_stream_set], + [libcnotify_stream_open], + [libcnotify_stream_close], + [libcnotify_verbose_set]]) ac_cv_libcnotify_LIBADD="-lcnotify"]) ]) - AS_IF( - [test "x$ac_with_libcnotify" != xyes && test "x$ac_cv_with_libcnotify" != x && test "x$ac_cv_with_libcnotify" != xauto-detect && test "x$ac_cv_with_libcnotify" != xyes], - [AC_MSG_FAILURE( - [unable to find supported libcnotify in directory: $ac_cv_with_libcnotify], - [1]) - ]) + AX_CHECK_LIB_DIRECTORY_MSG_ON_FAILURE([libcnotify]) ]) AS_IF( diff --git a/m4/libcpath.m4 b/m4/libcpath.m4 index bf44d46..ad4cfe6 100644 --- a/m4/libcpath.m4 +++ b/m4/libcpath.m4 @@ -1,6 +1,6 @@ dnl Checks for libcpath required headers and functions dnl -dnl Version: 20240413 +dnl Version: 20240518 dnl Function to detect if libcpath is available dnl ac_libcpath_dummy is used to prevent AC_CHECK_LIB adding unnecessary -l arguments @@ -14,15 +14,7 @@ AC_DEFUN([AX_LIBCPATH_CHECK_LIB], dnl treat them as auto-detection. AS_IF( [test "x$ac_cv_with_libcpath" != x && test "x$ac_cv_with_libcpath" != xauto-detect && test "x$ac_cv_with_libcpath" != xyes], - [AS_IF( - [test -d "$ac_cv_with_libcpath"], - [CFLAGS="$CFLAGS -I${ac_cv_with_libcpath}/include" - LDFLAGS="$LDFLAGS -L${ac_cv_with_libcpath}/lib"], - [AC_MSG_FAILURE( - [no such directory: $ac_cv_with_libcpath], - [1]) - ]) - ], + [AX_CHECK_LIB_DIRECTORY_EXISTS([libcpath])], [dnl Check for a pkg-config file AS_IF( [test "x$cross_compiling" != "xyes" && test "x$PKGCONFIG" != "x"], @@ -67,100 +59,38 @@ AC_DEFUN([AX_LIBCPATH_CHECK_LIB], AS_IF( [test "x$ac_cv_header_libcpath_h" = xno], [ac_cv_libcpath=no], - [dnl Check for the individual functions - ac_cv_libcpath=yes - - AC_CHECK_LIB( - cpath, - libcpath_get_version, - [ac_cv_libcpath_dummy=yes], - [ac_cv_libcpath=no]) + [ac_cv_libcpath=yes - dnl Path functions - AC_CHECK_LIB( - cpath, - libcpath_path_change_directory, - [ac_cv_libcpath_dummy=yes], - [ac_cv_libcpath=no]) - AC_CHECK_LIB( - cpath, - libcpath_path_get_current_working_directory, - [ac_cv_libcpath_dummy=yes], - [ac_cv_libcpath=no]) - AC_CHECK_LIB( - cpath, - libcpath_path_get_full_path, - [ac_cv_libcpath_dummy=yes], - [ac_cv_libcpath=no]) - AC_CHECK_LIB( - cpath, - libcpath_path_get_sanitized_filename, - [ac_cv_libcpath_dummy=yes], - [ac_cv_libcpath=no]) - AC_CHECK_LIB( - cpath, - libcpath_path_get_sanitized_path, - [ac_cv_libcpath_dummy=yes], - [ac_cv_libcpath=no]) - AC_CHECK_LIB( - cpath, - libcpath_path_join, - [ac_cv_libcpath_dummy=yes], - [ac_cv_libcpath=no]) - AC_CHECK_LIB( - cpath, - libcpath_path_make_directory, - [ac_cv_libcpath_dummy=yes], - [ac_cv_libcpath=no]) + AX_CHECK_LIB_FUNCTIONS( + [libcpath], + [cpath], + [[libcpath_get_version], + [libcpath_path_change_directory], + [libcpath_path_get_current_working_directory], + [libcpath_path_get_full_path], + [libcpath_path_get_sanitized_filename], + [libcpath_path_get_sanitized_path], + [libcpath_path_join], + [libcpath_path_make_directory]]) AS_IF( [test "x$ac_cv_enable_wide_character_type" != xno], - [AC_CHECK_LIB( - cpath, - libcpath_path_change_directory_wide, - [ac_cv_libcpath_dummy=yes], - [ac_cv_libcpath=no]) - AC_CHECK_LIB( - cpath, - libcpath_path_get_current_working_directory_wide, - [ac_cv_libcpath_dummy=yes], - [ac_cv_libcpath=no]) - AC_CHECK_LIB( - cpath, - libcpath_path_get_full_path_wide, - [ac_cv_libcpath_dummy=yes], - [ac_cv_libcpath=no]) - AC_CHECK_LIB( - cpath, - libcpath_path_get_sanitized_filename_wide, - [ac_cv_libcpath_dummy=yes], - [ac_cv_libcpath=no]) - AC_CHECK_LIB( - cpath, - libcpath_path_get_sanitized_path_wide, - [ac_cv_libcpath_dummy=yes], - [ac_cv_libcpath=no]) - AC_CHECK_LIB( - cpath, - libcpath_path_join_wide, - [ac_cv_libcpath_dummy=yes], - [ac_cv_libcpath=no]) - AC_CHECK_LIB( - cpath, - libcpath_path_make_directory_wide, - [ac_cv_libcpath_dummy=yes], - [ac_cv_libcpath=no]) + [AX_CHECK_LIB_FUNCTIONS( + [libcpath], + [cpath], + [[libcpath_path_change_directory_wide], + [libcpath_path_get_current_working_directory_wide], + [libcpath_path_get_full_path_wide], + [libcpath_path_get_sanitized_filename_wide], + [libcpath_path_get_sanitized_path_wide], + [libcpath_path_join_wide], + [libcpath_path_make_directory_wide]]) ]) ac_cv_libcpath_LIBADD="-lcpath"]) ]) - AS_IF( - [test "x$ac_cv_libcpath" != xyes && test "x$ac_cv_with_libcpath" != x && test "x$ac_cv_with_libcpath" != xauto-detect && test "x$ac_cv_with_libcpath" != xyes], - [AC_MSG_FAILURE( - [unable to find supported libcpath in directory: $ac_cv_with_libcpath], - [1]) - ]) + AX_CHECK_LIB_DIRECTORY_MSG_ON_FAILURE([libcpath]) ]) AS_IF( diff --git a/m4/libcsplit.m4 b/m4/libcsplit.m4 index 1ac7b9f..20bbec9 100644 --- a/m4/libcsplit.m4 +++ b/m4/libcsplit.m4 @@ -1,6 +1,6 @@ dnl Checks for libcsplit required headers and functions dnl -dnl Version: 20240413 +dnl Version: 20240513 dnl Function to detect if libcsplit is available dnl ac_libcsplit_dummy is used to prevent AC_CHECK_LIB adding unnecessary -l arguments @@ -14,15 +14,7 @@ AC_DEFUN([AX_LIBCSPLIT_CHECK_LIB], dnl treat them as auto-detection. AS_IF( [test "x$ac_cv_with_libcsplit" != x && test "x$ac_cv_with_libcsplit" != xauto-detect && test "x$ac_cv_with_libcsplit" != xyes], - [AS_IF( - [test -d "$ac_cv_with_libcsplit"], - [CFLAGS="$CFLAGS -I${ac_cv_with_libcsplit}/include" - LDFLAGS="$LDFLAGS -L${ac_cv_with_libcsplit}/lib"], - [AC_MSG_FAILURE( - [no such directory: $ac_cv_with_libcsplit], - [1]) - ]) - ], + [AX_CHECK_LIB_DIRECTORY_EXISTS([libcsplit])], [dnl Check for a pkg-config file AS_IF( [test "x$cross_compiling" != "xyes" && test "x$PKGCONFIG" != "x"], @@ -67,95 +59,37 @@ AC_DEFUN([AX_LIBCSPLIT_CHECK_LIB], AS_IF( [test "x$ac_cv_header_libcsplit_h" = xno], [ac_cv_libcsplit=no], - [dnl Check for the individual functions - ac_cv_libcsplit=yes - - AC_CHECK_LIB( - csplit, - libcsplit_get_version, - [ac_cv_libcsplit_dummy=yes], - [ac_cv_libcsplit=no]) - - dnl Narrow string functions - AC_CHECK_LIB( - csplit, - libcsplit_narrow_string_split, - [ac_cv_libcsplit_dummy=yes], - [ac_cv_libcsplit=no]) - - dnl Narrow split string functions - AC_CHECK_LIB( - csplit, - libcsplit_narrow_split_string_free, - [ac_cv_libcsplit_dummy=yes], - [ac_cv_libcsplit=no]) - AC_CHECK_LIB( - csplit, - libcsplit_narrow_split_string_get_string, - [ac_cv_libcsplit_dummy=yes], - [ac_cv_libcsplit=no]) - AC_CHECK_LIB( - csplit, - libcsplit_narrow_split_string_get_number_of_segments, - [ac_cv_libcsplit_dummy=yes], - [ac_cv_libcsplit=no]) - AC_CHECK_LIB( - csplit, - libcsplit_narrow_split_string_get_segment_by_index, - [ac_cv_libcsplit_dummy=yes], - [ac_cv_libcsplit=no]) - AC_CHECK_LIB( - csplit, - libcsplit_narrow_split_string_set_segment_by_index, - [ac_cv_libcsplit_dummy=yes], - [ac_cv_libcsplit=no]) + [ac_cv_libcsplit=yes + + AX_CHECK_LIB_FUNCTIONS( + [libcsplit], + [csplit], + [[libcsplit_get_version], + [libcsplit_narrow_string_split], + [libcsplit_narrow_split_string_free], + [libcsplit_narrow_split_string_get_string], + [libcsplit_narrow_split_string_get_number_of_segments], + [libcsplit_narrow_split_string_get_segment_by_index], + [libcsplit_narrow_split_string_set_segment_by_index]]) dnl Wide string functions AS_IF( [test "x$ac_cv_enable_wide_character_type" != xno], - [AC_CHECK_LIB( - csplit, - libcsplit_wide_string_split, - [ac_cv_libcsplit_dummy=yes], - [ac_cv_libcsplit=no]) - - dnl Wide split string functions - AC_CHECK_LIB( - csplit, - libcsplit_wide_split_string_free, - [ac_cv_libcsplit_dummy=yes], - [ac_cv_libcsplit=no]) - AC_CHECK_LIB( - csplit, - libcsplit_wide_split_string_get_string, - [ac_cv_libcsplit_dummy=yes], - [ac_cv_libcsplit=no]) - AC_CHECK_LIB( - csplit, - libcsplit_wide_split_string_get_number_of_segments, - [ac_cv_libcsplit_dummy=yes], - [ac_cv_libcsplit=no]) - AC_CHECK_LIB( - csplit, - libcsplit_wide_split_string_get_segment_by_index, - [ac_cv_libcsplit_dummy=yes], - [ac_cv_libcsplit=no]) - AC_CHECK_LIB( - csplit, - libcsplit_wide_split_string_set_segment_by_index, - [ac_cv_libcsplit_dummy=yes], - [ac_cv_libcsplit=no]) + [AX_CHECK_LIB_FUNCTIONS( + [libcsplit], + [csplit], + [[libcsplit_wide_string_split], + [libcsplit_wide_split_string_free], + [libcsplit_wide_split_string_get_string], + [libcsplit_wide_split_string_get_number_of_segments], + [libcsplit_wide_split_string_get_segment_by_index], + [libcsplit_wide_split_string_set_segment_by_index]]) ]) ac_cv_libcsplit_LIBADD="-lcsplit"]) ]) - AS_IF( - [test "x$ac_cv_libcsplit" != xyes && test "x$ac_cv_with_libcsplit" != x && test "x$ac_cv_with_libcsplit" != xauto-detect && test "x$ac_cv_with_libcsplit" != xyes], - [AC_MSG_FAILURE( - [unable to find supported libcsplit in directory: $ac_cv_with_libcsplit], - [1]) - ]) + AX_CHECK_LIB_DIRECTORY_MSG_ON_FAILURE([libcsplit]) ]) AS_IF( diff --git a/m4/libcthreads.m4 b/m4/libcthreads.m4 index c9c4e46..a221764 100644 --- a/m4/libcthreads.m4 +++ b/m4/libcthreads.m4 @@ -1,6 +1,6 @@ dnl Checks for libcthreads required headers and functions dnl -dnl Version: 20240413 +dnl Version: 20240513 dnl Function to detect if libcthreads is available dnl ac_libcthreads_dummy is used to prevent AC_CHECK_LIB adding unnecessary -l arguments @@ -14,15 +14,7 @@ AC_DEFUN([AX_LIBCTHREADS_CHECK_LIB], dnl treat them as auto-detection. AS_IF( [test "x$ac_cv_with_libcthreads" != x && test "x$ac_cv_with_libcthreads" != xauto-detect && test "x$ac_cv_with_libcthreads" != xyes], - [AS_IF( - [test -d "$ac_cv_with_libcthreads"], - [CFLAGS="$CFLAGS -I${ac_cv_with_libcthreads}/include" - LDFLAGS="$LDFLAGS -L${ac_cv_with_libcthreads}/lib"], - [AC_MSG_FAILURE( - [no such directory: $ac_cv_with_libcthreads], - [1]) - ]) - ], + [AX_CHECK_LIB_DIRECTORY_EXISTS([libcthreads])], [dnl Check for a pkg-config file AS_IF( [test "x$cross_compiling" != "xyes" && test "x$PKGCONFIG" != "x"], @@ -46,215 +38,52 @@ AC_DEFUN([AX_LIBCTHREADS_CHECK_LIB], AS_IF( [test "x$ac_cv_header_libcthreads_h" = xno], [ac_cv_libcthreads=no], - [dnl Check for the individual functions - ac_cv_libcthreads=yes - - AC_CHECK_LIB( - cthreads, - libcthreads_get_version, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - - dnl Thread functions - AC_CHECK_LIB( - cthreads, - libcthreads_thread_create, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_thread_join, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - - dnl Thread attributes functions - AC_CHECK_LIB( - cthreads, - libcthreads_thread_attributes_initialize, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_thread_attributes_free, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - - dnl Condition functions - AC_CHECK_LIB( - cthreads, - libcthreads_condition_initialize, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_condition_free, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_condition_broadcast, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_condition_signal, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_condition_wait, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - - dnl Lock functions - AC_CHECK_LIB( - cthreads, - libcthreads_lock_initialize, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_lock_free, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_lock_grab, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_lock_release, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - - dnl Mutex functions - AC_CHECK_LIB( - cthreads, - libcthreads_mutex_initialize, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_mutex_free, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_mutex_grab, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_mutex_try_grab, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_mutex_release, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) + [ac_cv_libcthreads=yes - dnl Read/Write lock functions - AC_CHECK_LIB( - cthreads, - libcthreads_read_write_lock_initialize, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_read_write_lock_free, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_read_write_lock_grab_for_read, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_read_write_lock_grab_for_write, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_read_write_lock_release_for_read, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_read_write_lock_release_for_write, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - - dnl Queue functions - AC_CHECK_LIB( - cthreads, - libcthreads_queue_initialize, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_queue_free, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_queue_type_pop, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_queue_pop, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_queue_try_push, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_queue_push, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_queue_push_sorted, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - - dnl Thread pool functions - AC_CHECK_LIB( - cthreads, - libcthreads_thread_pool_create, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_thread_pool_push, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_thread_pool_push_sorted, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) - AC_CHECK_LIB( - cthreads, - libcthreads_thread_pool_join, - [ac_cv_libcthreads_dummy=yes], - [ac_cv_libcthreads=no]) + AX_CHECK_LIB_FUNCTIONS( + [libcthreads], + [cthreads], + [[libcthreads_get_version], + [libcthreads_thread_create], + [libcthreads_thread_join], + [libcthreads_thread_attributes_initialize], + [libcthreads_thread_attributes_free], + [libcthreads_condition_initialize], + [libcthreads_condition_free], + [libcthreads_condition_broadcast], + [libcthreads_condition_signal], + [libcthreads_condition_wait], + [libcthreads_lock_initialize], + [libcthreads_lock_free], + [libcthreads_lock_grab], + [libcthreads_lock_release], + [libcthreads_mutex_initialize], + [libcthreads_mutex_free], + [libcthreads_mutex_grab], + [libcthreads_mutex_try_grab], + [libcthreads_mutex_release], + [libcthreads_read_write_lock_initialize], + [libcthreads_read_write_lock_free], + [libcthreads_read_write_lock_grab_for_read], + [libcthreads_read_write_lock_grab_for_write], + [libcthreads_read_write_lock_release_for_read], + [libcthreads_read_write_lock_release_for_write], + [libcthreads_queue_initialize], + [libcthreads_queue_free], + [libcthreads_queue_type_pop], + [libcthreads_queue_pop], + [libcthreads_queue_try_push], + [libcthreads_queue_push], + [libcthreads_queue_push_sorted], + [libcthreads_thread_pool_create], + [libcthreads_thread_pool_push], + [libcthreads_thread_pool_push_sorted], + [libcthreads_thread_pool_join]]) ac_cv_libcthreads_LIBADD="-lcthreads"]) ]) - AS_IF( - [test "x$ac_cv_libcthreads" != xyes && test "x$ac_cv_with_libcthreads" != x && test "x$ac_cv_with_libcthreads" != xauto-detect && test "x$ac_cv_with_libcthreads" != xyes], - [AC_MSG_FAILURE( - [unable to find supported libcthreads in directory: $ac_cv_with_libcthreads], - [1]) - ]) + AX_CHECK_LIB_DIRECTORY_MSG_ON_FAILURE([libcthreads]) ]) AS_IF( diff --git a/m4/libuna.m4 b/m4/libuna.m4 index 996ac60..fe1fd40 100644 --- a/m4/libuna.m4 +++ b/m4/libuna.m4 @@ -1,23 +1,6 @@ dnl Checks for libuna or required headers and functions dnl -dnl Version: 20240413 - -dnl Function to detect if a specific libuna definition is available. -AC_DEFUN([AX_LIBUNA_CHECK_DEFINITION], - [AC_CACHE_CHECK( - [if `$1' is defined], - [$2], - [AC_LANG_PUSH(C) - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[int test = $1; - -return( 0 ); ]] )], - [$2=yes], - [$2=no]) - AC_LANG_POP(C)]) - ]) +dnl Version: 20240513 dnl Function to detect if libuna is available dnl ac_libuna_dummy is used to prevent AC_CHECK_LIB adding unnecessary -l arguments @@ -31,15 +14,7 @@ AC_DEFUN([AX_LIBUNA_CHECK_LIB], dnl treat them as auto-detection. AS_IF( [test "x$ac_cv_with_libuna" != x && test "x$ac_cv_with_libuna" != xauto-detect && test "x$ac_cv_with_libuna" != xyes], - [AS_IF( - [test -d "$ac_cv_with_libuna"], - [CFLAGS="$CFLAGS -I${ac_cv_with_libuna}/include" - LDFLAGS="$LDFLAGS -L${ac_cv_with_libuna}/lib"], - [AC_MSG_FAILURE( - [no such directory: $ac_cv_with_libuna], - [1]) - ]) - ], + [AX_CHECK_LIB_DIRECTORY_EXISTS([libuna])], [dnl Check for a pkg-config file AS_IF( [test "x$cross_compiling" != "xyes" && test "x$PKGCONFIG" != "x"], @@ -63,894 +38,186 @@ AC_DEFUN([AX_LIBUNA_CHECK_LIB], AS_IF( [test "x$ac_cv_header_libuna_h" = xno], [ac_cv_libuna=no], - [dnl Check for the individual functions - ac_cv_libuna=yes - - AC_CHECK_LIB( - una, - libuna_get_version, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - - dnl Base16 stream functions - AC_CHECK_LIB( - una, - libuna_base16_stream_size_to_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base16_stream_copy_to_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base16_stream_size_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base16_stream_copy_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base16_stream_with_index_copy_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - - dnl Base32 stream functions - AC_CHECK_LIB( - una, - libuna_base32_quintuplet_copy_from_base32_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base32_quintuplet_copy_to_base32_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base32_quintuplet_copy_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base32_quintuplet_copy_to_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - - AC_CHECK_LIB( - una, - libuna_base32_stream_size_to_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base32_stream_copy_to_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base32_stream_size_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base32_stream_copy_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base32_stream_with_index_copy_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - - dnl Base64 stream functions - AC_CHECK_LIB( - una, - libuna_base64_triplet_copy_from_base64_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base64_triplet_copy_to_base64_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base64_triplet_copy_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base64_triplet_copy_to_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - - AC_CHECK_LIB( - una, - libuna_base64_stream_size_to_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base64_stream_copy_to_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base64_stream_size_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base64_stream_copy_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_base64_stream_with_index_copy_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - - dnl Byte stream functions - AC_CHECK_LIB( - una, - libuna_byte_stream_size_from_utf8, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_byte_stream_copy_from_utf8, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_byte_stream_size_from_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_byte_stream_copy_from_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_byte_stream_size_from_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_byte_stream_copy_from_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - - dnl Unicode character functions - AC_CHECK_LIB( - una, - libuna_unicode_character_size_to_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_to_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_size_to_ucs2, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_from_ucs2, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_to_ucs2, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_size_to_ucs4, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_from_ucs4, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_to_ucs4, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_from_utf7_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_to_utf7_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_size_to_utf8, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_from_utf8, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_to_utf8, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_size_to_utf8_rfc2279, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_from_utf8_rfc2279, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_to_utf8_rfc2279, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_size_to_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_from_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_to_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_from_utf16_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_to_utf16_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_from_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_to_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_from_utf32_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_unicode_character_copy_to_utf32_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - - dnl UTF-8 stream functions - AC_CHECK_LIB( - una, - libuna_utf8_stream_size_from_utf8, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_stream_copy_from_utf8, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_stream_size_from_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_stream_copy_from_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_stream_size_from_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_stream_copy_from_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) + [ac_cv_libuna=yes - dnl UTF-16 stream functions - AC_CHECK_LIB( - una, - libuna_utf16_stream_size_from_utf8, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_stream_copy_from_utf8, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_stream_size_from_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_stream_copy_from_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_stream_size_from_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_stream_copy_from_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - - dnl UTF-32 stream functions - AC_CHECK_LIB( - una, - libuna_utf32_stream_size_from_utf8, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_stream_copy_from_utf8, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_stream_size_from_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_stream_copy_from_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_stream_size_from_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_stream_copy_from_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - - dnl UTF-8 string functions - AC_CHECK_LIB( - una, - libuna_utf8_string_size_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_copy_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_with_index_copy_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_compare_with_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_size_from_utf7_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_copy_from_utf7_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_with_index_copy_from_utf7_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_compare_with_utf7_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_size_from_utf8_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_copy_from_utf8_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_with_index_copy_from_utf8_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_compare_with_utf8_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_size_from_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_copy_from_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_with_index_copy_from_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_compare_with_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_size_from_utf16_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_copy_from_utf16_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_with_index_copy_from_utf16_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_compare_with_utf16_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_size_from_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_copy_from_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_with_index_copy_from_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_compare_with_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_size_from_utf32_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_copy_from_utf32_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_with_index_copy_from_utf32_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_compare_with_utf32_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_size_from_scsu_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_copy_from_scsu_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf8_string_with_index_copy_from_scsu_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - - dnl UTF-16 string functions - AC_CHECK_LIB( - una, - libuna_utf16_string_size_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_copy_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_with_index_copy_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_compare_with_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_size_from_utf7_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_copy_from_utf7_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_with_index_copy_from_utf7_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_compare_with_utf7_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_size_from_utf8, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_copy_from_utf8, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_with_index_copy_from_utf8, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - dnl libuna_utf16_string_compare_with_utf8 is implemented by libuna_utf8_string_compare_with_utf16 - AC_CHECK_LIB( - una, - libuna_utf16_string_size_from_utf8_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_copy_from_utf8_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_with_index_copy_from_utf8_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_compare_with_utf8_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_size_from_utf16_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_copy_from_utf16_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_with_index_copy_from_utf16_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_compare_with_utf16_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_size_from_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_copy_from_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_with_index_copy_from_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_compare_with_utf32, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_size_from_utf32_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_copy_from_utf32_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_with_index_copy_from_utf32_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_compare_with_utf32_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_size_from_scsu_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_copy_from_scsu_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf16_string_with_index_copy_from_scsu_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - - dnl UTF-32 string functions - AC_CHECK_LIB( - una, - libuna_utf32_string_size_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_copy_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_with_index_copy_from_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_compare_with_byte_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_size_from_utf7_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_copy_from_utf7_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_with_index_copy_from_utf7_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_compare_with_utf7_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_size_from_utf8_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_size_from_utf8, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_copy_from_utf8, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - libuna_utf32_string_with_index_copy_from_utf8, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - dnl libuna_utf32_string_compare_with_utf8 is implemented by libuna_utf8_string_compare_with_utf32 - AC_CHECK_LIB( - una, - libuna_utf32_string_copy_from_utf8_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_with_index_copy_from_utf8_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_compare_with_utf8_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_size_from_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_copy_from_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_with_index_copy_from_utf16, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - dnl libuna_utf32_string_compare_with_utf16 is implemented by libuna_utf16_string_compare_with_utf32 - AC_CHECK_LIB( - una, - libuna_utf32_string_size_from_utf16_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_copy_from_utf16_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_with_index_copy_from_utf16_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_compare_with_utf16_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_size_from_utf32_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_copy_from_utf32_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_with_index_copy_from_utf32_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_compare_with_utf32_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_size_from_scsu_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_copy_from_scsu_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - AC_CHECK_LIB( - una, - libuna_utf32_string_with_index_copy_from_scsu_stream, - [ac_cv_libuna_dummy=yes], - [ac_cv_libuna=no]) - - dnl Check for definitions - AX_LIBUNA_CHECK_DEFINITION( - LIBUNA_COMPARE_LESS, - [ac_cv_libuna_defines_compare_less]) - AS_IF( - [test "x$ac_cv_libuna_defines_compare_less" != xyes], - [ac_cv_libuna=no]) - - AX_LIBUNA_CHECK_DEFINITION( - LIBUNA_COMPARE_EQUAL, - [ac_cv_libuna_defines_compare_equal]) - AS_IF( - [test "x$ac_cv_libuna_defines_compare_less" != xyes], - [ac_cv_libuna=no]) - - AX_LIBUNA_CHECK_DEFINITION( - LIBUNA_COMPARE_GREATER, - [ac_cv_libuna_defines_compare_greater]) - AS_IF( - [test "x$ac_cv_libuna_defines_compare_less" != xyes], - [ac_cv_libuna=no]) - - AX_LIBUNA_CHECK_DEFINITION( - LIBUNA_UTF16_STREAM_ALLOW_UNPAIRED_SURROGATE, - [ac_cv_libuna_defines_compare_greater]) - AS_IF( - [test "x$ac_cv_libuna_defines_utf16_stream_allow_unpaired_surrogate" != xyes], - [ac_cv_libuna=no]) + AX_CHECK_LIB_FUNCTIONS( + [libuna], + [una], + [[libuna_get_version], + [libuna_base16_stream_size_to_byte_stream], + [libuna_base16_stream_copy_to_byte_stream], + [libuna_base16_stream_size_from_byte_stream], + [libuna_base16_stream_copy_from_byte_stream], + [libuna_base16_stream_with_index_copy_from_byte_stream], + [libuna_base32_quintuplet_copy_from_base32_stream], + [libuna_base32_quintuplet_copy_to_base32_stream], + [libuna_base32_quintuplet_copy_from_byte_stream], + [libuna_base32_quintuplet_copy_to_byte_stream], + [libuna_base32_stream_size_to_byte_stream], + [libuna_base32_stream_copy_to_byte_stream], + [libuna_base32_stream_size_from_byte_stream], + [libuna_base32_stream_copy_from_byte_stream], + [libuna_base32_stream_with_index_copy_from_byte_stream], + [libuna_base64_triplet_copy_from_base64_stream], + [libuna_base64_triplet_copy_to_base64_stream], + [libuna_base64_triplet_copy_from_byte_stream], + [libuna_base64_triplet_copy_to_byte_stream], + [libuna_base64_stream_size_to_byte_stream], + [libuna_base64_stream_copy_to_byte_stream], + [libuna_base64_stream_size_from_byte_stream], + [libuna_base64_stream_copy_from_byte_stream], + [libuna_base64_stream_with_index_copy_from_byte_stream], + [libuna_byte_stream_size_from_utf8], + [libuna_byte_stream_copy_from_utf8], + [libuna_byte_stream_size_from_utf16], + [libuna_byte_stream_copy_from_utf16], + [libuna_byte_stream_size_from_utf32], + [libuna_byte_stream_copy_from_utf32], + [libuna_unicode_character_size_to_byte_stream], + [libuna_unicode_character_copy_from_byte_stream], + [libuna_unicode_character_copy_to_byte_stream], + [libuna_unicode_character_size_to_ucs2], + [libuna_unicode_character_copy_from_ucs2], + [libuna_unicode_character_copy_to_ucs2], + [libuna_unicode_character_size_to_ucs4], + [libuna_unicode_character_copy_from_ucs4], + [libuna_unicode_character_copy_to_ucs4], + [libuna_unicode_character_copy_from_utf7_stream], + [libuna_unicode_character_copy_to_utf7_stream], + [libuna_unicode_character_size_to_utf8], + [libuna_unicode_character_copy_from_utf8], + [libuna_unicode_character_copy_to_utf8], + [libuna_unicode_character_size_to_utf8_rfc2279], + [libuna_unicode_character_copy_from_utf8_rfc2279], + [libuna_unicode_character_copy_to_utf8_rfc2279], + [libuna_unicode_character_size_to_utf16], + [libuna_unicode_character_copy_from_utf16], + [libuna_unicode_character_copy_to_utf16], + [libuna_unicode_character_copy_from_utf16_stream], + [libuna_unicode_character_copy_to_utf16_stream], + [libuna_unicode_character_copy_from_utf32], + [libuna_unicode_character_copy_to_utf32], + [libuna_unicode_character_copy_from_utf32_stream], + [libuna_unicode_character_copy_to_utf32_stream], + [libuna_utf8_stream_size_from_utf8], + [libuna_utf8_stream_copy_from_utf8], + [libuna_utf8_stream_size_from_utf16], + [libuna_utf8_stream_copy_from_utf16], + [libuna_utf8_stream_size_from_utf32], + [libuna_utf8_stream_copy_from_utf32], + [libuna_utf16_stream_size_from_utf8], + [libuna_utf16_stream_copy_from_utf8], + [libuna_utf16_stream_size_from_utf16], + [libuna_utf16_stream_copy_from_utf16], + [libuna_utf16_stream_size_from_utf32], + [libuna_utf16_stream_copy_from_utf32], + [libuna_utf32_stream_size_from_utf8], + [libuna_utf32_stream_copy_from_utf8], + [libuna_utf32_stream_size_from_utf16], + [libuna_utf32_stream_copy_from_utf16], + [libuna_utf32_stream_size_from_utf32], + [libuna_utf32_stream_copy_from_utf32], + [libuna_utf8_string_size_from_byte_stream], + [libuna_utf8_string_copy_from_byte_stream], + [libuna_utf8_string_with_index_copy_from_byte_stream], + [libuna_utf8_string_compare_with_byte_stream], + [libuna_utf8_string_size_from_utf7_stream], + [libuna_utf8_string_copy_from_utf7_stream], + [libuna_utf8_string_with_index_copy_from_utf7_stream], + [libuna_utf8_string_compare_with_utf7_stream], + [libuna_utf8_string_size_from_utf8_stream], + [libuna_utf8_string_copy_from_utf8_stream], + [libuna_utf8_string_with_index_copy_from_utf8_stream], + [libuna_utf8_string_compare_with_utf8_stream], + [libuna_utf8_string_size_from_utf16], + [libuna_utf8_string_copy_from_utf16], + [libuna_utf8_string_with_index_copy_from_utf16], + [libuna_utf8_string_compare_with_utf16], + [libuna_utf8_string_size_from_utf16_stream], + [libuna_utf8_string_copy_from_utf16_stream], + [libuna_utf8_string_with_index_copy_from_utf16_stream], + [libuna_utf8_string_compare_with_utf16_stream], + [libuna_utf8_string_size_from_utf32], + [libuna_utf8_string_copy_from_utf32], + [libuna_utf8_string_with_index_copy_from_utf32], + [libuna_utf8_string_compare_with_utf32], + [libuna_utf8_string_size_from_utf32_stream], + [libuna_utf8_string_copy_from_utf32_stream], + [libuna_utf8_string_with_index_copy_from_utf32_stream], + [libuna_utf8_string_compare_with_utf32_stream], + [libuna_utf8_string_size_from_scsu_stream], + [libuna_utf8_string_copy_from_scsu_stream], + [libuna_utf8_string_with_index_copy_from_scsu_stream], + [libuna_utf16_string_size_from_byte_stream], + [libuna_utf16_string_copy_from_byte_stream], + [libuna_utf16_string_with_index_copy_from_byte_stream], + [libuna_utf16_string_compare_with_byte_stream], + [libuna_utf16_string_size_from_utf7_stream], + [libuna_utf16_string_copy_from_utf7_stream], + [libuna_utf16_string_with_index_copy_from_utf7_stream], + [libuna_utf16_string_compare_with_utf7_stream], + [libuna_utf16_string_size_from_utf8], + [libuna_utf16_string_copy_from_utf8], + [libuna_utf16_string_with_index_copy_from_utf8], + [libuna_utf16_string_size_from_utf8_stream], + [libuna_utf16_string_copy_from_utf8_stream], + [libuna_utf16_string_with_index_copy_from_utf8_stream], + [libuna_utf16_string_compare_with_utf8_stream], + [libuna_utf16_string_size_from_utf16_stream], + [libuna_utf16_string_copy_from_utf16_stream], + [libuna_utf16_string_with_index_copy_from_utf16_stream], + [libuna_utf16_string_compare_with_utf16_stream], + [libuna_utf16_string_size_from_utf32], + [libuna_utf16_string_copy_from_utf32], + [libuna_utf16_string_with_index_copy_from_utf32], + [libuna_utf16_string_compare_with_utf32], + [libuna_utf16_string_size_from_utf32_stream], + [libuna_utf16_string_copy_from_utf32_stream], + [libuna_utf16_string_with_index_copy_from_utf32_stream], + [libuna_utf16_string_compare_with_utf32_stream], + [libuna_utf16_string_size_from_scsu_stream], + [libuna_utf16_string_copy_from_scsu_stream], + [libuna_utf16_string_with_index_copy_from_scsu_stream], + [libuna_utf32_string_size_from_byte_stream], + [libuna_utf32_string_copy_from_byte_stream], + [libuna_utf32_string_with_index_copy_from_byte_stream], + [libuna_utf32_string_compare_with_byte_stream], + [libuna_utf32_string_size_from_utf7_stream], + [libuna_utf32_string_copy_from_utf7_stream], + [libuna_utf32_string_with_index_copy_from_utf7_stream], + [libuna_utf32_string_compare_with_utf7_stream], + [libuna_utf32_string_size_from_utf8_stream], + [libuna_utf32_string_size_from_utf8], + [libuna_utf32_string_copy_from_utf8], + [libuna_utf32_string_copy_from_utf8_stream], + [libuna_utf32_string_with_index_copy_from_utf8_stream], + [libuna_utf32_string_compare_with_utf8_stream], + [libuna_utf32_string_size_from_utf16], + [libuna_utf32_string_copy_from_utf16], + [libuna_utf32_string_with_index_copy_from_utf16], + [libuna_utf32_string_size_from_utf16_stream], + [libuna_utf32_string_copy_from_utf16_stream], + [libuna_utf32_string_with_index_copy_from_utf16_stream], + [libuna_utf32_string_compare_with_utf16_stream], + [libuna_utf32_string_size_from_utf32_stream], + [libuna_utf32_string_copy_from_utf32_stream], + [libuna_utf32_string_with_index_copy_from_utf32_stream], + [libuna_utf32_string_compare_with_utf32_stream], + [libuna_utf32_string_size_from_scsu_stream], + [libuna_utf32_string_copy_from_scsu_stream], + [libuna_utf32_string_with_index_copy_from_scsu_stream]]) + + AX_CHECK_LIB_DEFINITIONS( + [libuna], + [[LIBUNA_COMPARE_LESS], + [LIBUNA_COMPARE_EQUAL], + [LIBUNA_COMPARE_GREATER], + [LIBUNA_UTF16_STREAM_ALLOW_UNPAIRED_SURROGATE]]) ac_cv_libuna_LIBADD="-luna"]) ]) - AS_IF( - [test "x$ac_cv_libuna" != xyes && test "x$ac_cv_with_libuna" != x && test "x$ac_cv_with_libuna" != xauto-detect && test "x$ac_cv_with_libuna" != xyes], - [AC_MSG_FAILURE( - [unable to find supported libuna in directory: $ac_cv_with_libuna], - [1]) - ]) + AX_CHECK_LIB_DIRECTORY_MSG_ON_FAILURE([libuna]) ]) AS_IF( diff --git a/m4/pthread.m4 b/m4/pthread.m4 index e4fed14..830fb5f 100644 --- a/m4/pthread.m4 +++ b/m4/pthread.m4 @@ -1,6 +1,6 @@ dnl Functions for pthread dnl -dnl Version: 20240308 +dnl Version: 20240513 dnl Function to detect if pthread is available AC_DEFUN([AX_PTHREAD_CHECK_LIB], @@ -13,13 +13,7 @@ AC_DEFUN([AX_PTHREAD_CHECK_LIB], dnl treat them as auto-detection. AS_IF( [test "x$ac_cv_with_pthread" != x && test "x$ac_cv_with_pthread" != xauto-detect && test "x$ac_cv_with_pthread" != xyes], - [AS_IF( - [test -d "$ac_cv_with_pthread"], - [CFLAGS="$CFLAGS -I${ac_cv_with_pthread}/include" - LDFLAGS="$LDFLAGS -L${ac_cv_with_pthread}/lib"], - [AC_MSG_WARN([no such directory: $ac_cv_with_pthread]) - ]) - ]) + [AX_CHECK_LIB_DIRECTORY_EXISTS([pthread])]) ]) AS_IF( @@ -30,116 +24,34 @@ AC_DEFUN([AX_PTHREAD_CHECK_LIB], AS_IF( [test "x$ac_cv_header_pthread_h" = xno], [ac_cv_pthread=no], - [dnl Check for the individual functions - ac_cv_pthread=pthread - - dnl Thread functions - AC_CHECK_LIB( - pthread, - pthread_create, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - AC_CHECK_LIB( - pthread, - pthread_exit, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - AC_CHECK_LIB( - pthread, - pthread_join, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - - dnl Condition functions - AC_CHECK_LIB( - pthread, - pthread_cond_init, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - AC_CHECK_LIB( - pthread, - pthread_cond_destroy, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - AC_CHECK_LIB( - pthread, - pthread_cond_broadcast, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - AC_CHECK_LIB( - pthread, - pthread_cond_signal, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - AC_CHECK_LIB( - pthread, - pthread_cond_wait, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - - dnl Mutex functions - AC_CHECK_LIB( - pthread, - pthread_mutex_init, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - AC_CHECK_LIB( - pthread, - pthread_mutex_destroy, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - AC_CHECK_LIB( - pthread, - pthread_mutex_lock, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - AC_CHECK_LIB( - pthread, - pthread_mutex_trylock, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - AC_CHECK_LIB( - pthread, - pthread_mutex_unlock, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - - dnl Read/Write lock functions - AC_CHECK_LIB( - pthread, - pthread_rwlock_init, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - AC_CHECK_LIB( - pthread, - pthread_rwlock_destroy, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - AC_CHECK_LIB( - pthread, - pthread_rwlock_rdlock, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - AC_CHECK_LIB( - pthread, - pthread_rwlock_wrlock, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - AC_CHECK_LIB( - pthread, - pthread_rwlock_unlock, - [ac_pthread_dummy=yes], - [ac_cv_pthread=no]) - - ac_cv_pthread_LIBADD="-lpthread"; + [ac_cv_pthread=yes + + AX_CHECK_LIB_FUNCTIONS( + [pthread], + [pthread], + [[pthread_create], + [pthread_exit], + [pthread_join], + [pthread_cond_init], + [pthread_cond_destroy], + [pthread_cond_broadcast], + [pthread_cond_signal], + [pthread_cond_wait], + [pthread_mutex_init], + [pthread_mutex_destroy], + [pthread_mutex_lock], + [pthread_mutex_trylock], + [pthread_mutex_unlock], + [pthread_rwlock_init], + [pthread_rwlock_destroy], + [pthread_rwlock_rdlock], + [pthread_rwlock_wrlock], + [pthread_rwlock_unlock]]) + + ac_cv_pthread_LIBADD="-lpthread" ]) - AS_IF( - [test "x$ac_cv_with_pthread" != x && test "x$ac_cv_with_pthread" != xauto-detect && test "x$ac_cv_with_pthread" != xyes], - [AC_MSG_FAILURE( - [unable to find supported pthread in directory: $ac_cv_with_pthread], - [1]) - ]) + AX_CHECK_LIB_DIRECTORY_MSG_ON_FAILURE([pthread]) ]) AS_IF( diff --git a/msvscpp/libbfio.sln b/msvscpp/libbfio.sln index e97a642..634e3df 100644 --- a/msvscpp/libbfio.sln +++ b/msvscpp/libbfio.sln @@ -1,6 +1,19 @@  Microsoft Visual Studio Solution File, Format Version 10.00 # Visual C++ Express 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbfio", "libbfio\libbfio.vcproj", "{B7D30EF4-720D-4898-990D-B379699E854F}" + ProjectSection(ProjectDependencies) = postProject + {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} = {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} + {8AFAA2C6-E025-4B45-B96F-A27D04C6115A} = {8AFAA2C6-E025-4B45-B96F-A27D04C6115A} + {B9332DC8-7594-47DF-80C1-38922E0F4DFB} = {B9332DC8-7594-47DF-80C1-38922E0F4DFB} + {CEDF8919-00B2-4D8A-88CC-84ADB2D2FF89} = {CEDF8919-00B2-4D8A-88CC-84ADB2D2FF89} + {5304AD69-D449-4589-B2C9-E4607E56A51D} = {5304AD69-D449-4589-B2C9-E4607E56A51D} + {B86FB73A-4ACC-42DE-9545-586D93955B06} = {B86FB73A-4ACC-42DE-9545-586D93955B06} + {BC27FF34-C859-4A1A-95D6-FC89952E1910} = {BC27FF34-C859-4A1A-95D6-FC89952E1910} + {4C93BDD3-1804-47F3-9B34-F2DE0CAE1AE0} = {4C93BDD3-1804-47F3-9B34-F2DE0CAE1AE0} + {3FFB9C05-1145-45A7-9ADE-5C8D70FBD7CA} = {3FFB9C05-1145-45A7-9ADE-5C8D70FBD7CA} + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bfio_test_error", "bfio_test_error\bfio_test_error.vcproj", "{68ADE020-2F11-4347-957E-B42F692D7265}" ProjectSection(ProjectDependencies) = postProject {B7D30EF4-720D-4898-990D-B379699E854F} = {B7D30EF4-720D-4898-990D-B379699E854F} @@ -99,33 +112,28 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bfio_test_system_string", " {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} = {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libclocale", "libclocale\libclocale.vcproj", "{CEDF8919-00B2-4D8A-88CC-84ADB2D2FF89}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcdata", "libcdata\libcdata.vcproj", "{B9332DC8-7594-47DF-80C1-38922E0F4DFB}" ProjectSection(ProjectDependencies) = postProject {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} = {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} + {8AFAA2C6-E025-4B45-B96F-A27D04C6115A} = {8AFAA2C6-E025-4B45-B96F-A27D04C6115A} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbfio", "libbfio\libbfio.vcproj", "{B7D30EF4-720D-4898-990D-B379699E854F}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcerror", "libcerror\libcerror.vcproj", "{BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcfile", "libcfile\libcfile.vcproj", "{4C93BDD3-1804-47F3-9B34-F2DE0CAE1AE0}" ProjectSection(ProjectDependencies) = postProject {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} = {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} - {8AFAA2C6-E025-4B45-B96F-A27D04C6115A} = {8AFAA2C6-E025-4B45-B96F-A27D04C6115A} - {B9332DC8-7594-47DF-80C1-38922E0F4DFB} = {B9332DC8-7594-47DF-80C1-38922E0F4DFB} {CEDF8919-00B2-4D8A-88CC-84ADB2D2FF89} = {CEDF8919-00B2-4D8A-88CC-84ADB2D2FF89} {5304AD69-D449-4589-B2C9-E4607E56A51D} = {5304AD69-D449-4589-B2C9-E4607E56A51D} - {B86FB73A-4ACC-42DE-9545-586D93955B06} = {B86FB73A-4ACC-42DE-9545-586D93955B06} {BC27FF34-C859-4A1A-95D6-FC89952E1910} = {BC27FF34-C859-4A1A-95D6-FC89952E1910} - {4C93BDD3-1804-47F3-9B34-F2DE0CAE1AE0} = {4C93BDD3-1804-47F3-9B34-F2DE0CAE1AE0} - {3FFB9C05-1145-45A7-9ADE-5C8D70FBD7CA} = {3FFB9C05-1145-45A7-9ADE-5C8D70FBD7CA} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcfile", "libcfile\libcfile.vcproj", "{4C93BDD3-1804-47F3-9B34-F2DE0CAE1AE0}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libclocale", "libclocale\libclocale.vcproj", "{CEDF8919-00B2-4D8A-88CC-84ADB2D2FF89}" ProjectSection(ProjectDependencies) = postProject {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} = {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} - {CEDF8919-00B2-4D8A-88CC-84ADB2D2FF89} = {CEDF8919-00B2-4D8A-88CC-84ADB2D2FF89} - {5304AD69-D449-4589-B2C9-E4607E56A51D} = {5304AD69-D449-4589-B2C9-E4607E56A51D} - {BC27FF34-C859-4A1A-95D6-FC89952E1910} = {BC27FF34-C859-4A1A-95D6-FC89952E1910} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcthreads", "libcthreads\libcthreads.vcproj", "{8AFAA2C6-E025-4B45-B96F-A27D04C6115A}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcnotify", "libcnotify\libcnotify.vcproj", "{5304AD69-D449-4589-B2C9-E4607E56A51D}" ProjectSection(ProjectDependencies) = postProject {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} = {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} EndProjectSection @@ -138,25 +146,17 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcpath", "libcpath\libcpa {BC27FF34-C859-4A1A-95D6-FC89952E1910} = {BC27FF34-C859-4A1A-95D6-FC89952E1910} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libuna", "libuna\libuna.vcproj", "{BC27FF34-C859-4A1A-95D6-FC89952E1910}" - ProjectSection(ProjectDependencies) = postProject - {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} = {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcerror", "libcerror\libcerror.vcproj", "{BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcnotify", "libcnotify\libcnotify.vcproj", "{5304AD69-D449-4589-B2C9-E4607E56A51D}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcsplit", "libcsplit\libcsplit.vcproj", "{B86FB73A-4ACC-42DE-9545-586D93955B06}" ProjectSection(ProjectDependencies) = postProject {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} = {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcdata", "libcdata\libcdata.vcproj", "{B9332DC8-7594-47DF-80C1-38922E0F4DFB}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcthreads", "libcthreads\libcthreads.vcproj", "{8AFAA2C6-E025-4B45-B96F-A27D04C6115A}" ProjectSection(ProjectDependencies) = postProject {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} = {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} - {8AFAA2C6-E025-4B45-B96F-A27D04C6115A} = {8AFAA2C6-E025-4B45-B96F-A27D04C6115A} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcsplit", "libcsplit\libcsplit.vcproj", "{B86FB73A-4ACC-42DE-9545-586D93955B06}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libuna", "libuna\libuna.vcproj", "{BC27FF34-C859-4A1A-95D6-FC89952E1910}" ProjectSection(ProjectDependencies) = postProject {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} = {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C} EndProjectSection @@ -167,6 +167,10 @@ Global VSDebug|Win32 = VSDebug|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B7D30EF4-720D-4898-990D-B379699E854F}.Release|Win32.ActiveCfg = Release|Win32 + {B7D30EF4-720D-4898-990D-B379699E854F}.Release|Win32.Build.0 = Release|Win32 + {B7D30EF4-720D-4898-990D-B379699E854F}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 + {B7D30EF4-720D-4898-990D-B379699E854F}.VSDebug|Win32.Build.0 = VSDebug|Win32 {68ADE020-2F11-4347-957E-B42F692D7265}.Release|Win32.ActiveCfg = Release|Win32 {68ADE020-2F11-4347-957E-B42F692D7265}.Release|Win32.Build.0 = Release|Win32 {68ADE020-2F11-4347-957E-B42F692D7265}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 @@ -215,46 +219,42 @@ Global {767D2773-11DE-47FE-BBD7-174967CA00A6}.Release|Win32.Build.0 = Release|Win32 {767D2773-11DE-47FE-BBD7-174967CA00A6}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 {767D2773-11DE-47FE-BBD7-174967CA00A6}.VSDebug|Win32.Build.0 = VSDebug|Win32 - {CEDF8919-00B2-4D8A-88CC-84ADB2D2FF89}.Release|Win32.ActiveCfg = Release|Win32 - {CEDF8919-00B2-4D8A-88CC-84ADB2D2FF89}.Release|Win32.Build.0 = Release|Win32 - {CEDF8919-00B2-4D8A-88CC-84ADB2D2FF89}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 - {CEDF8919-00B2-4D8A-88CC-84ADB2D2FF89}.VSDebug|Win32.Build.0 = VSDebug|Win32 - {B7D30EF4-720D-4898-990D-B379699E854F}.Release|Win32.ActiveCfg = Release|Win32 - {B7D30EF4-720D-4898-990D-B379699E854F}.Release|Win32.Build.0 = Release|Win32 - {B7D30EF4-720D-4898-990D-B379699E854F}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 - {B7D30EF4-720D-4898-990D-B379699E854F}.VSDebug|Win32.Build.0 = VSDebug|Win32 - {4C93BDD3-1804-47F3-9B34-F2DE0CAE1AE0}.Release|Win32.ActiveCfg = Release|Win32 - {4C93BDD3-1804-47F3-9B34-F2DE0CAE1AE0}.Release|Win32.Build.0 = Release|Win32 - {4C93BDD3-1804-47F3-9B34-F2DE0CAE1AE0}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 - {4C93BDD3-1804-47F3-9B34-F2DE0CAE1AE0}.VSDebug|Win32.Build.0 = VSDebug|Win32 - {8AFAA2C6-E025-4B45-B96F-A27D04C6115A}.Release|Win32.ActiveCfg = Release|Win32 - {8AFAA2C6-E025-4B45-B96F-A27D04C6115A}.Release|Win32.Build.0 = Release|Win32 - {8AFAA2C6-E025-4B45-B96F-A27D04C6115A}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 - {8AFAA2C6-E025-4B45-B96F-A27D04C6115A}.VSDebug|Win32.Build.0 = VSDebug|Win32 - {3FFB9C05-1145-45A7-9ADE-5C8D70FBD7CA}.Release|Win32.ActiveCfg = Release|Win32 - {3FFB9C05-1145-45A7-9ADE-5C8D70FBD7CA}.Release|Win32.Build.0 = Release|Win32 - {3FFB9C05-1145-45A7-9ADE-5C8D70FBD7CA}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 - {3FFB9C05-1145-45A7-9ADE-5C8D70FBD7CA}.VSDebug|Win32.Build.0 = VSDebug|Win32 - {BC27FF34-C859-4A1A-95D6-FC89952E1910}.Release|Win32.ActiveCfg = Release|Win32 - {BC27FF34-C859-4A1A-95D6-FC89952E1910}.Release|Win32.Build.0 = Release|Win32 - {BC27FF34-C859-4A1A-95D6-FC89952E1910}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 - {BC27FF34-C859-4A1A-95D6-FC89952E1910}.VSDebug|Win32.Build.0 = VSDebug|Win32 + {B9332DC8-7594-47DF-80C1-38922E0F4DFB}.Release|Win32.ActiveCfg = Release|Win32 + {B9332DC8-7594-47DF-80C1-38922E0F4DFB}.Release|Win32.Build.0 = Release|Win32 + {B9332DC8-7594-47DF-80C1-38922E0F4DFB}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 + {B9332DC8-7594-47DF-80C1-38922E0F4DFB}.VSDebug|Win32.Build.0 = VSDebug|Win32 {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C}.Release|Win32.ActiveCfg = Release|Win32 {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C}.Release|Win32.Build.0 = Release|Win32 {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 {BD3A95FA-A3DE-4B79-A889-A7E5ECA4B69C}.VSDebug|Win32.Build.0 = VSDebug|Win32 + {4C93BDD3-1804-47F3-9B34-F2DE0CAE1AE0}.Release|Win32.ActiveCfg = Release|Win32 + {4C93BDD3-1804-47F3-9B34-F2DE0CAE1AE0}.Release|Win32.Build.0 = Release|Win32 + {4C93BDD3-1804-47F3-9B34-F2DE0CAE1AE0}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 + {4C93BDD3-1804-47F3-9B34-F2DE0CAE1AE0}.VSDebug|Win32.Build.0 = VSDebug|Win32 + {CEDF8919-00B2-4D8A-88CC-84ADB2D2FF89}.Release|Win32.ActiveCfg = Release|Win32 + {CEDF8919-00B2-4D8A-88CC-84ADB2D2FF89}.Release|Win32.Build.0 = Release|Win32 + {CEDF8919-00B2-4D8A-88CC-84ADB2D2FF89}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 + {CEDF8919-00B2-4D8A-88CC-84ADB2D2FF89}.VSDebug|Win32.Build.0 = VSDebug|Win32 {5304AD69-D449-4589-B2C9-E4607E56A51D}.Release|Win32.ActiveCfg = Release|Win32 {5304AD69-D449-4589-B2C9-E4607E56A51D}.Release|Win32.Build.0 = Release|Win32 {5304AD69-D449-4589-B2C9-E4607E56A51D}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 {5304AD69-D449-4589-B2C9-E4607E56A51D}.VSDebug|Win32.Build.0 = VSDebug|Win32 - {B9332DC8-7594-47DF-80C1-38922E0F4DFB}.Release|Win32.ActiveCfg = Release|Win32 - {B9332DC8-7594-47DF-80C1-38922E0F4DFB}.Release|Win32.Build.0 = Release|Win32 - {B9332DC8-7594-47DF-80C1-38922E0F4DFB}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 - {B9332DC8-7594-47DF-80C1-38922E0F4DFB}.VSDebug|Win32.Build.0 = VSDebug|Win32 + {3FFB9C05-1145-45A7-9ADE-5C8D70FBD7CA}.Release|Win32.ActiveCfg = Release|Win32 + {3FFB9C05-1145-45A7-9ADE-5C8D70FBD7CA}.Release|Win32.Build.0 = Release|Win32 + {3FFB9C05-1145-45A7-9ADE-5C8D70FBD7CA}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 + {3FFB9C05-1145-45A7-9ADE-5C8D70FBD7CA}.VSDebug|Win32.Build.0 = VSDebug|Win32 {B86FB73A-4ACC-42DE-9545-586D93955B06}.Release|Win32.ActiveCfg = Release|Win32 {B86FB73A-4ACC-42DE-9545-586D93955B06}.Release|Win32.Build.0 = Release|Win32 {B86FB73A-4ACC-42DE-9545-586D93955B06}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 {B86FB73A-4ACC-42DE-9545-586D93955B06}.VSDebug|Win32.Build.0 = VSDebug|Win32 + {8AFAA2C6-E025-4B45-B96F-A27D04C6115A}.Release|Win32.ActiveCfg = Release|Win32 + {8AFAA2C6-E025-4B45-B96F-A27D04C6115A}.Release|Win32.Build.0 = Release|Win32 + {8AFAA2C6-E025-4B45-B96F-A27D04C6115A}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 + {8AFAA2C6-E025-4B45-B96F-A27D04C6115A}.VSDebug|Win32.Build.0 = VSDebug|Win32 + {BC27FF34-C859-4A1A-95D6-FC89952E1910}.Release|Win32.ActiveCfg = Release|Win32 + {BC27FF34-C859-4A1A-95D6-FC89952E1910}.Release|Win32.Build.0 = Release|Win32 + {BC27FF34-C859-4A1A-95D6-FC89952E1910}.VSDebug|Win32.ActiveCfg = VSDebug|Win32 + {BC27FF34-C859-4A1A-95D6-FC89952E1910}.VSDebug|Win32.Build.0 = VSDebug|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE