AgeCommit message (Collapse)AuthorLines
Let cgit.conf set Git's build optionsBryce Kwon-3/+10
cgit.conf was read only after Git's Makefile, which had already settled NO_REGEX and the other options it tests as it read them, so setting one there changed nothing in Git's part of the build. The second read stays for the defaults Git assigns outright, such as CC and CFLAGS. A "+=" there now appends twice to a variable nothing resets in between, such as CGIT_CFLAGS, which only repeats the flag.
Say why the build leaves out Lua and what to doBryce Kwon-1/+15
A LUA_PKGCONFIG that pkg-config could not resolve, with no LUA_LIBS or LUA_CFLAGS given, still claimed to link with it and then failed on lua.h, and a build that found no pkg-config dropped Lua with no hint of why. A warning rather than an error lets the build go on, since flags supplied another way, such as CGIT_LIBS in cgit.conf, may still make it link.
Find Lua under the BSDs' package namesBryce Kwon-1/+4
Write the flags recipe the way the version one isBryce Kwon-3/+3
Its message also spells the project's name as cgit.
Trim and correct the build file commentsBryce Kwon-3/+1
The test rule's note on ordering predates .NOTPARALLEL, which covers it. The install paths are not compiled in, and a lowercase name is no easier to override than another.
Declare each phony target beside its ruleBryce Kwon-1/+2
A list at the end of the file is easy to miss when a target is added or renamed.
Add a development build scriptBryce Kwon-2/+5
cgit's objects are compiled by its own rule rather than git's, so they took no -MJ flag and a compilation database held only git's sources.
Fold the version script into its make recipeBryce Kwon-8/+17
gen-version.sh was only ever run by this one recipe, so tools/ now holds just the scripts a person runs.
Check cgit under sparse in its own dialectBryce Kwon-1/+3
The sparse rule put git's SPARSE_FLAGS last, and their -std=gnu99 overrode the gnu17 the sources are built as.
Drop the NO_C99_FORMAT switch nothing readsBryce Kwon-4/+0
Neither cgit nor the bundled Git reads the macro it defined.
Detect Lua 5.5 when buildingBryce Kwon-1/+1
cgit builds against Lua 5.5 and serves the same pages with it, but a host whose only Lua was 5.5 got a binary without Lua from the search.
Pass callbacks to git by addressBryce Kwon-1/+1
ISO C has no conversion between a function pointer and void *, so the callbacks handed through git's data pointers and the write found by dlsym stopped the pedantic half of a DEVELOPER=1 build.
Harden the request path, scan and error recoveryBryce Kwon-15/+13
Clean up the whole treeBryce Kwon-6/+3
Trim the comments and dead code across the treeBryce Kwon-13/+15
Move gen-version.sh into toolsBryce Kwon-4/+5
Restyle the sources and fix the audit's findingsBryce Kwon-31/+30
Pin the sources to gnu17Bryce Kwon-0/+11
Give empty repositories their own pageBryce Kwon-0/+1
Drop the help tab and its built-in guideBryce Kwon-1/+0
Add CGIT_EXTRA_CFLAGS for cgit-only build flagsBryce Kwon-0/+4
Reorganise the tree into vendor/ and custom/Bryce Kwon-3/+3
Reorganise and simplify the MakefileBryce Kwon-25/+30
Build the sources with -fno-commonBryce Kwon-0/+7
Apple clang still defaults to -fcommon, so git's 64 KB packet_buffer became a common symbol whose size drove a 32 KB section alignment that ld64 then clamped to the 16 KB page size, warning on every macOS link. Everywhere else already compiles with -fno-common.
Add a help page with common workflowsBryce Kwon-0/+1
Let cgit build with or without LuaBryce Kwon-1/+1
Lua only powers the filter extensions, so it stays optional and autodetected. Autodetection skipped Lua 5.3 and 5.4, so a system with only those fell back to a build without Lua. The release script still leaves Lua out unless asked, so its binary needs no Lua at runtime.
Reorganise into source, assets and librariesBryce Kwon-26/+35
Everything the build generates now lands in build/, so a clean is a single remove and the source tree stays free of build output.