1
0
mirror of https://github.com/skeeto/w64devkit.git synced 2026-10-24 17:39:18 +03:00
Commit Graph

47 Commits

Author SHA1 Message Date
Peter0x44
e1c35823b2 Remove llama.mak
Upstream has made some choices that make maintaining llama.mak
increasingly impractical. It's not really needed now that w64devkit has
cmake anyway.
2026-07-26 20:09:20 -05:00
Peter0x44
96db5be315 contrib: bump final go version in bootstrap-go-toolchain 2026-06-21 23:27:01 -04:00
Peter0x44
e98c5305bb llama.mak: update for new llama.cpp webui changes
Unfortunately, the llama.cpp webui now requires node to build (or to
download already-built files from huggingface. I implemented effectively
the same strategy already used in CMake. This complicates the Makefile
considerably, but it's the best way to make it work.

If node is installed, then it will build the llama.cpp webui. If it is
not, it will download the required files from huggingface using wget.

Fixes #387
2026-05-16 19:39:56 -04:00
Peter0x44
4f06aaaa69 contrib: make bootstrap-go-toolchain work on Linux 2026-05-16 08:58:41 -04:00
Peter0x44
8e557fe369 contrib: Add bootstrap-go-toolchain.sh
Ever since w64devkit began forcing bigobj by default, it has been
incompatible with cgo. I patched go to support bigobj, but unfortunately
upstream the patch ran in to bureaucracy/difficulties and I ran out of
patience to get it through. So that means it's not really an option to
use upstream go binaries, it must build from source. Bootstrapping go is
not difficult, but it has grown more tedious as more required stages
have been added to the bootstrap chain.

So, to spare myself some tedium, I have created
bootstrap-go-toolchain.sh. It builds the latest version of go, from
source, using only w64devkit's gcc compiler. It also adds my bigobj
patches to the toolchain, so cgo works properly.
2026-05-10 03:05:13 +01:00
Peter0x44
ac1194b33a llama.mak: keep Vulkan generator artifacts in build dir
Now the clean target deletes this entire directory, so we can't miss
cleaning up vulkan related build artifacts. Previously, make -f
llama.mak clean would not remove
ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp.gen.o
2026-05-01 10:45:53 +01:00
Peter0x44
b44d45fae6 llama.mak: fix build-info generation
Upstream commit 6990e2f1 changed common/build-info.cpp.in from just defining globals:

int LLAMA_BUILD_NUMBER = ...;
char const *LLAMA_COMMIT = ...;

to also defining functions:

int llama_build_number(void)
const char * llama_commit(void)
const char * llama_build_info(void)

To fix this, now we generate w64dk-build-info.cpp from the provided
common/build-info.cpp.in template.
2026-04-24 16:10:17 +01:00
Peter0x44
e07d6333f0 llama.mak: Update for latest llama.cpp
The HTML, CSS, and JS for the webui got split up into separate files.
There's also a new LLAMA_BUILD_WEBUI define required
2026-04-01 18:11:57 +01:00
weijh
72e81b5bc8 llama.mak: Update last tested version in llama.mak 2026-03-28 11:59:20 -04:00
Christopher Wellons
f5b06da18b llama.mak: Update and tidy up
The convention is ALL_CAPS is intended for user override and all_lower
is for internal variables. Introduce CC and CXX to enable finer control
over the compiler (ccache, etc.).
2026-02-22 10:44:43 -05:00
Peter0x44
a8c417bf13 llama.mak: support building Vulkan backend
Requires the Vulkan SDK installed to build.
It can be downloaded from: https://vulkan.lunarg.com/
2026-02-22 10:14:45 -05:00
weijh
42ee77ffc8 llama.mk: Update last tested version in llama.mak
Updated last tested version from b7761 to b8124.
2026-02-22 09:22:14 +08:00
weijh
8b51e70cbd llama.mak: implement new jinja template engine
Updated last tested version in the makefile.
2026-01-17 13:28:32 +08:00
weijh
301c3b5c89 llama.mak: embed licenses for --license
Co-authored-by: Christopher Wellons <wellons@nullprogram.com>
2026-01-12 11:14:21 -05:00
Peter0x44
a5eed0271c llama.mak: bump last tested revision 2026-01-01 22:13:33 +00:00
Peter0x44
c22b2593fd llama.mak: remove hardcoded GGML versioning
Now that GGML's version has been bumped from 0.9.4 to 0.9.5, the
hardcoded version in llama.mak is no longer correct. Instead, parse the
version number out of the CMakeLists.txt and retrieve the commit hash
using git if available.
2026-01-01 22:03:03 +00:00
weijh
28a8bbf4ef llama.mak: New sources in tools/mtmd/models/*.cpp
Updated last tested version from b7275 to b7376.
2025-12-13 09:27:23 -05:00
Christopher Wellons
bdeac7c944 llama.mak: Auto-generate listings with find and nm
This should cut back on most, though not all, build script updates. The
mtmd subdirectory still requires a manual listing because it only uses a
few files. The generated build info source was moved out of the way so
that it doesn't match globs. It also now builds the llama.dll.a import
library.

See #309. Closes #316.
2025-12-09 17:07:43 -05:00
weijh
a8a86d0baa llama.mak: Update last tested version to b7216 2025-12-01 14:23:18 -05:00
weijh
cca00e1b55 llama.mak: support qwen3 next
Updated last tested version from b7150 to b7193.
2025-11-29 13:15:33 +08:00
Christopher Wellons
93727df455 llama.mak: Add/fix server-http.cpp dependency
Fixes #312.
2025-11-24 21:21:26 -05:00
weijh
bc039e8c34 llama.mak: rnd1.cpp, server-{common,queue,task}.cpp
Updated last tested version to b7150.
2025-11-24 19:06:58 -05:00
weijh
d10e24952d llama.mak: Add chat-parser-xml-toolcall.cpp
Generalized XML-style tool-call parsing with streaming support
2025-11-19 10:11:41 -05:00
weijh
07dac0d4b0 llama.mak: Add server-http.cpp 2025-11-17 22:24:26 -05:00
weijh
516dc05ca3 llama.mak: Update for httplib integration
Using Grok, I got it to work. I don't know what I'm doing.
2025-11-15 09:13:42 -05:00
Peter0x44
8f01b46b60 cppcheck.mak: Update for latest 2025-11-08 11:09:15 -05:00
weijh
542bfcf1a8 llama.mak: Add download.cpp for b6980 2025-11-08 08:32:27 -05:00
Christopher Wellons
338b94e1f4 llama.mak: Add -march=x86-64-v3 for 10x boost
From discussion on #299.
2025-11-06 09:40:56 -05:00
Peter0x44
6800da2b97 llama.mak: Update for latest (model files, renames, new sources) 2025-11-06 08:40:15 -05:00
Christopher Wellons
b74bca9998 llama.mak: Update for latest (new/removed files) 2025-06-19 16:56:03 -04:00
Christopher Wellons
27c9633ff8 llama.mak: Update for latest (new files) 2025-06-05 06:17:39 -04:00
Christopher Wellons
86fba52c10 llama.mak: New audio support, plus other changes 2025-05-27 10:10:22 -04:00
Christopher Wellons
4dfdd51d01 llama.mak: Update for latest (new files) 2025-05-19 08:59:04 -04:00
Christopher Wellons
29521abaf7 llama.mak: Update for new llama-server vision 2025-05-10 08:06:28 -04:00
Christopher Wellons
5e1f396919 llama.mak: Update for latest (file renames) 2025-05-03 16:56:38 -04:00
Christopher Wellons
2cb1e34b91 llama.mak: Update for latest changes (new sources) 2025-04-07 18:09:14 -04:00
Christopher Wellons
c99770dfba llama.mak: Update for latest changes (new sources) 2025-03-31 20:28:52 -04:00
Christopher Wellons
cd264be113 llama.mak: Update for latest changes
Drop GGML exports, bigobj (now the default), and unneeded targets. Sync
exports with official DLL.
2025-03-17 14:32:40 -04:00
Christopher Wellons
5f00137d37 llama.mak: Update for latest changes 2025-02-07 21:14:29 -05:00
Christopher Wellons
aad4fce7b0 llama.mak: Update for latest refactoring 2025-01-19 20:15:08 -05:00
Christopher Wellons
ae1c0b677d llama.mak: Update and add -mbig-obj
An increasing set of llama.cpp build configurations, particularly at
lower optimization levels, go just beyond COFF limitations and require
the "newer" bigobj COFF format in order to build.
2024-12-31 14:37:13 -05:00
Christopher Wellons
35f275416e llama.mak: Update and add missing generated files
It didn't quite work out-of-the-box because it needed server assets and
build-info.cpp. On my system, the generated files were left behind from
an old build, so I didn't notice.

The official llama.cpp CMake build has a bug where build-info.cpp is
generated in the original source tree, not the build directory, and so
concurrent out-of-tree builds race to produce incorrect binaries. This
makefile avoids a conflict by using a unique name.
2024-12-10 17:00:44 -05:00
Christopher Wellons
dc78a2a89c Add contrib/llama.mak for simple llama.cpp builds 2024-12-05 21:59:23 -05:00
Christopher Wellons
f0314ce4c5 cppcheck.mak: Add install and uninstall targets
If someone has their heart set on Cppcheck, this makes it even easier to
install just as it used to be distributed.
2024-09-28 11:39:59 -04:00
Christopher Wellons
2475dc0230 Fix missing quotes in libregex.c
This library can be installed to a path with spaces, so all instances of
the prefix must be quoted. Though Autoconf does not support paths with
spaces and will not be able to use such installations.
2024-07-29 21:29:34 -04:00
Christopher Wellons
6b6b6449d7 Remove Cppcheck from the distribution
I was initially impressed with its output, but over time I've found it
less and less useful. I hardly use it anymore, and it would at best be
neglected if left in the distribution. The build script is retained in
the contrib/ directory, and it's easy to build natively from source.
2024-07-29 17:12:31 -04:00
Christopher Wellons
15ae179b5a Start a contrib/ with libgc and libregex (#127) 2024-05-09 16:25:09 -04:00