diff options
Diffstat (limited to 'www/compile.html')
-rw-r--r-- | www/compile.html | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/www/compile.html b/www/compile.html index 437ac3a..9d93392 100644 --- a/www/compile.html +++ b/www/compile.html @@ -293,15 +293,25 @@ the SQLite library will be approximately 3% smaller and use about 5% fewer CPU cycles. So these options do not make a huge difference. But in some design situations, every little bit helps. +</p><p>Library-level configuration options, such as those listed above, +may optionally be defined in a client-side header file. Defining +SQLITE_CUSTOM_INCLUDE=myconfig.h (with no quotes) will cause sqlite3.c +to include myconfig.h early on in the compilation process, enabling +the client to customize the flags without having to explicitly pass +all of them to the compiler. + <a name="osconfig"></a> </p><h1 id="_platform_configuration"><span>3. </span> Platform Configuration</h1> <a name="sqlite_config_h"></a> <p><b>_HAVE_SQLITE_CONFIG_H</b></p><blockquote><p> If the _HAVE_SQLITE_CONFIG_H macro is defined - then the SQLite source code will attempt to #include a file named "config.h". - The "config.h" file usually contains other configuration options, especially - "HAVE_<i>INTERFACE</i>" type options generated by autoconf scripts. + then the SQLite source code will attempt to #include a file named "sqlite_cfg.h". + The "sqlite_cfg.h" file usually contains other configuration options, especially + "HAVE_<i>INTERFACE</i>" type options generated by autoconf scripts. Note that this + header is intended only for use for platform-level configuration, not library-level + configuration. To set SQLite-level configuration flags in a custom header, define + SQLITE_CUSTOM_INCLUDE=myconfig.h, as described in the previous section. </p></blockquote><a name="fdatasync"></a> <p><b>HAVE_FDATASYNC</b></p><blockquote><p> If the HAVE_FDATASYNC compile-time option is true, then the default <a href="vfs.html">VFS</a> @@ -1024,7 +1034,7 @@ the available settings:</p> destroyed. When this option is enabled and an illegal API usage is detected, the interface will typically return SQLITE_MISUSE. <p> - The SQLITE_ENABLE_API_ARMOR option does not guarantee that all + The SQLITE_ENABLE_API_ARMOR option does not guarantee that all illegal API usages will be detected. Even when SQLITE_ENABLE_API_ARMOR is enabled, passing incorrect values into the C-language APIs can cause a process crash due to segmentation @@ -1032,15 +1042,15 @@ the available settings:</p> SQLITE_ENABLE_API_ARMOR compile-time option is intended as an aid for application testing and debugging option. Applications should not depend SQLITE_ENABLE_API_ARMOR for safety. - SQLITE_ENABLE_API_ARMORE is appropriate as a second line of + SQLITE_ENABLE_API_ARMOR is appropriate as a second line of defense against application bugs, but it should not be the only defense. If any SQLite interface returns SQLITE_MISUSE, that indicates that the application is using SQLite contrary to the spec and that the application contains a bug. The SQLITE_MISUSE return provides the application with the opportunity to respond - gracefully to that bug, rather than simply crashing the process, - but nothing more. Applications should not make use of nor depend - upon SQLITE_MISUSE for routine processing. + gracefully to that bug, rather than simply crashing the process or + invoking undefined behavior, but nothing more. Applications should + neither make use of nor depend upon SQLITE_MISUSE for routine processing. </p></blockquote><a name="enable_atomic_write"></a> <p><b>SQLITE_ENABLE_ATOMIC_WRITE</b></p><blockquote><p> If this C-preprocessor macro is defined and if the @@ -2129,5 +2139,5 @@ macros is included for completeness.</p> This macro may not be used in combination with any of <a href="compile.html#apicall">SQLITE_APICALL</a>, <a href="compile.html#callback">SQLITE_CALLBACK</a>, <a href="compile.html#cdecl">SQLITE_CDECL</a> or <a href="compile.html#sysapi">SQLITE_SYSAPI</a>. </p></blockquote> - +<p align="center"><small><i>This page last modified on <a href="https://sqlite.org/docsrc/honeypot" id="mtimelink" data-href="https://sqlite.org/docsrc/finfo/pages/compile.in?m=d1dca65e6b">2024-05-09 08:10:19</a> UTC </small></i></p> |