Imgui-docking >=v1.92.3 GLFW back-end requires linking against x11 libraries. This solves link failures when building tracy with the LEGACY option turned on.
Resolving compiling issue when building with previous version of lib-curl.
If locally is present an older version of lib-curl the profiler build fails with:
```
29 | curl_easy_setopt( curl, CURLOPT_CA_CACHE_TIMEOUT, 604800L );
| ^~~~~~~~~~~~~~~~~~~~~~~~
| CURLOPT_DNS_CACHE_TIMEOUT
include/curl/curl.h:3109:68: note: expanded from macro 'curl_easy_setopt'
3109 | #define curl_easy_setopt(handle,opt,param) curl_easy_setopt(handle,opt,param)
| ^
include/curl/curl.h:1398:11: note: 'CURLOPT_DNS_CACHE_TIMEOUT' declared here
1398 | CURLOPT(CURLOPT_DNS_CACHE_TIMEOUT, CURLOPTTYPE_LONG, 92),
| ^
tracy/profiler/src/profiler/TracyLlmApi.cpp:144:46: error: use of undeclared identifier 'CURL_WRITEFUNC_ERROR'; did you mean 'CURLE_WRITE_ERROR'?
144 | if( !v.callback( json ) ) return CURL_WRITEFUNC_ERROR;
| ^~~~~~~~~~~~~~~~~~~~
| CURLE_WRITE_ERROR
include/curl/curl.h:524:3: note: 'CURLE_WRITE_ERROR' declared here
524 | CURLE_WRITE_ERROR, /* 23 */
| ^
2 errors generated.
```
Both CURLOPT_CA_CACHE_TIMEOUT and CURL_WRITEFUNC_ERROR were added in
https://curl.se/ch/7.87.0.html
Now checking the version will avoid such issues:
-- Checking for module 'libcurl>=7.87.0'
-- Package dependency requirement 'libcurl >= 7.87.0' could not be satisfied.
Package 'libcurl' has version '7.84.0', required version is '>= 7.87.0'
-- CPM: Adding package libcurl@ (curl-8_17_0 to ...)
This makes the user manual available outside of the LLM context.
The code is also more readable, as splitting the manual into sections and
splitting section content into chunks fit for embeddings is now separated.
A bug has been fixed, where the above splits were mixed up for the last
manual section, producing invalid data.
The unembedded manual contents are no longer held in the memory. The only
use case for this was to calculate the manual contents hash. The hash is
now precalculated and cached.
My previous fix triggered another issue: apparently at least GCC expects
the `_Pragma` operator to be placed in its own statement (after a
semicolon). The current macro simply dumped the expression and the
_Pragma together, triggering an error. Putting a semicolon after `Expr`
fixes the issue (actually double-checked after a `git clean -fdx`),
although slightly changing the API (the semicolon after the wrapped
macros is now optional).
It looks like the actual macro defined by GCC is `__GNUC__`.
From my testing, `__GNU__` does not seem to be defined neither on my
musl machine nor a Fedora Linux VM. I have no idea if it's a typo or set
by specific libraries, but testing for `__GNUC__` actually suppresses
shadowing errors on my end.
the extended model was 4 bytes too low, as well as the extended family
the extended family was also not properly masked and the reserved space bled into it
fixes#1193