Always provide logging API.

It's easier to have stubs if FT_DEBUG_LOGGING is undefined than to
modify `ftexport.sym` conditionally.

Problem reported by Alexei.

* src/base/ftdebug.c: Include `ftlogging.h`.

(FT_Trace_Set_Level, FT_Trace_Set_Default_Level, FT_Set_Log_Handler,
FT_Set_Default_Log_Handler) [!FT_DEBUG_LOGGING]: Provide stubs.
This commit is contained in:
Werner Lemberg 2021-01-31 14:28:44 +01:00
parent 939e844468
commit 324612ceb2
4 changed files with 55 additions and 11 deletions

View File

@ -1,3 +1,17 @@
2021-01-31 Werner Lemberg <wl@gnu.org>
Always provide logging API.
It's easier to have stubs if FT_DEBUG_LOGGING is undefined than to
modify `ftexport.sym` conditionally.
Problem reported by Alexei.
* src/base/ftdebug.c: Include `ftlogging.h`.
(FT_Trace_Set_Level, FT_Trace_Set_Default_Level, FT_Set_Log_Handler,
FT_Set_Default_Log_Handler) [!FT_DEBUG_LOGGING]: Provide stubs.
2021-01-31 Werner Lemberg <wl@gnu.org> 2021-01-31 Werner Lemberg <wl@gnu.org>
* builds/unix/configure.raw: Fix typo. * builds/unix/configure.raw: Fix typo.

View File

@ -260,7 +260,7 @@ IV. Additional Capabilities with `FT_DEBUG_LOGGING'
If `FT_DEBUG_LOGGING' is defined, four APIs are available to provide If `FT_DEBUG_LOGGING' is defined, four APIs are available to provide
additional debugging support. Use additional debugging support. Use
#include<freetype/ftlogging.h> #include <freetype/ftlogging.h>
to access them. to access them.

View File

@ -66,8 +66,8 @@ FT_BEGIN_HEADER
* ``` * ```
* *
* @note: * @note:
* This function is only available if compilation option * This function does nothing if compilation option `FT_DEBUG_LOGGING`
* `FT_DEBUG_LOGGING` is set. * isn't set.
*/ */
FT_EXPORT( void ) FT_EXPORT( void )
FT_Trace_Set_Level( const char* tracing_level ); FT_Trace_Set_Level( const char* tracing_level );
@ -85,8 +85,8 @@ FT_BEGIN_HEADER
* *
* *
* @note: * @note:
* This function is only available if compilation option * This function does nothing if compilation option `FT_DEBUG_LOGGING`
* `FT_DEBUG_LOGGING` is set. * isn't set.
*/ */
FT_EXPORT( void ) FT_EXPORT( void )
FT_Trace_Set_Default_Level( void ); FT_Trace_Set_Default_Level( void );
@ -131,8 +131,8 @@ FT_BEGIN_HEADER
* New logging function. * New logging function.
* *
* @note: * @note:
* This function is only available if compilation option * This function does nothing if compilation option `FT_DEBUG_LOGGING`
* `FT_DEBUG_LOGGING` is set. * isn't set.
*/ */
FT_EXPORT( void ) FT_EXPORT( void )
FT_Set_Log_Handler( FT_Custom_Log_Handler handler ); FT_Set_Log_Handler( FT_Custom_Log_Handler handler );
@ -148,8 +148,8 @@ FT_BEGIN_HEADER
* log handler to FreeType's built-in version. * log handler to FreeType's built-in version.
* *
* @note: * @note:
* This function is only available if compilation option * This function does nothing if compilation option `FT_DEBUG_LOGGING`
* `FT_DEBUG_LOGGING` is set. * isn't set.
*/ */
FT_EXPORT( void ) FT_EXPORT( void )
FT_Set_Default_Log_Handler( void ); FT_Set_Default_Log_Handler( void );

View File

@ -42,6 +42,7 @@
#include <freetype/freetype.h> #include <freetype/freetype.h>
#include <freetype/ftlogging.h>
#include <freetype/internal/ftdebug.h> #include <freetype/internal/ftdebug.h>
#include <freetype/internal/ftobjs.h> #include <freetype/internal/ftobjs.h>
@ -589,7 +590,7 @@
/* documentation is in ftlogging.h */ /* documentation is in ftlogging.h */
FT_EXPORT_DEF( void ) FT_EXPORT_DEF( void )
FT_Set_Default_Log_Handler() FT_Set_Default_Log_Handler( void )
{ {
custom_output_handler = NULL; custom_output_handler = NULL;
} }
@ -608,7 +609,36 @@
va_end( ap ); va_end( ap );
} }
#endif /* FT_DEBUG_LOGGING */ #else /* !FT_DEBUG_LOGGING */
FT_EXPORT_DEF( void )
FT_Trace_Set_Level( const char* level )
{
FT_UNUSED( level );
}
FT_EXPORT_DEF( void )
FT_Trace_Set_Default_Level( void )
{
/* nothing */
}
FT_EXPORT_DEF( void )
FT_Set_Log_Handler( FT_Custom_Log_Handler handler )
{
FT_UNUSED( handler );
}
FT_EXPORT_DEF( void )
FT_Set_Default_Log_Handler( void )
{
/* nothing */
}
#endif /* !FT_DEBUG_LOGGING */
/* END */ /* END */