about summary refs log tree commit diff
path: root/tests/t0001-validate-git-versions.sh
diff options
context:
space:
mode:
authorJohn Keeping <john@keeping.me.uk>2013-03-06 21:22:06 +0000
committerJason A. Donenfeld <Jason@zx2c4.com>2013-03-20 21:08:32 +0100
commit5f323c1ff45c10d8f8b0a673d2fe7e98272f5d78 (patch)
tree9f34b5e59ba56ec8551a7da5df731b231164069a /tests/t0001-validate-git-versions.sh
parenttests: check that Git version are in sync (diff)
downloadcgit-pink-5f323c1ff45c10d8f8b0a673d2fe7e98272f5d78.tar.gz
cgit-pink-5f323c1ff45c10d8f8b0a673d2fe7e98272f5d78.zip
Makefile: re-use Git's Makefile where possible
Git does quite a lot of platform-specific detection in its Makefile,
which can result in it defining preprocessor variables that are used in
its header files.  If CGit does not define the same variables it can
result in different sizes of some structures in different places in the
same application.

For example, on Solaris Git uses it's "compat" regex library which has a
different sized regex_t structure than that available in the platform
regex.h.  This has a knock-on effect on the size of "struct rev_info"
and leads to hard to diagnose runtime issues.

In order to avoid all of this, introduce a "cgit.mk" file that includes
Git's Makefile and make all of the existing logic apply to CGit's
objects as well.  This is slightly complicated because Git's Makefile
must run in Git's directory, so all references to CGit files need to be
prefixed with "../".

In addition, OBJECTS is a simply expanded variable in Git's Makefile so
we cannot just add our objects to it.  Instead we must copy the two
applicable rules into "cgit.mk".  This has the advantage that we can
split CGit-specific CFLAGS from Git's CFLAGS and hence avoid rebuilding
all of Git whenever a CGit-specific value changes.

Signed-off-by: John Keeping <john@keeping.me.uk>
Acked-by: Jamie Couture <jamie.couture@gmail.com>
Diffstat (limited to 'tests/t0001-validate-git-versions.sh')
0 files changed, 0 insertions, 0 deletions
fc451&follow=1'>Style causal.agency like bin HTMLJune McEnroe 2021-01-12Avoid matching tag text inside HTML elementsJune McEnroe 2021-01-12Use hilex for up -hJune McEnroe 2021-01-12Use hilex for bin HTMLJune McEnroe 2021-01-12Don't output a pre in hilex by defaultJune McEnroe 2021-01-12Move hilex out of hilex directoryJune McEnroe 2021-01-12Consolidate hilex formatters into hilex.cJune McEnroe 2021-01-12Remove hacky tagging from hilexJune McEnroe God that makes the lexers so much simpler. 2021-01-12Add htagml -iJune McEnroe 2021-01-12Render tag index in HTMLJune McEnroe 2021-01-12Add htagml -xJune McEnroe 2021-01-12Prevent matching the same tag twiceJune McEnroe 2021-01-12Process htagml file line by lineJune McEnroe This simplifies some things, adds support for line number tag definitions, and should enable combining htagml with other preprocessors in the future. 2021-01-12Split fields by tab onlyJune McEnroe Also don't fail hard on non-forward-search definitions. 2021-01-12List both Makefile and html.sh under README.7June McEnroe 2021-01-12Add htagml exampleJune McEnroe 2021-01-12Use mandoc and htagml for bin htmlJune McEnroe 2021-01-12Add htagmlJune McEnroe 2021-01-12Replace causal.agency with a simple mdoc pageJune McEnroe 2021-01-11Publish "Using vi"June McEnroe 2021-01-11Enable diff.colorMovedJune McEnroe 2021-01-10Set less search case-insensitiveJune McEnroe 2021-01-10Set EXINITJune McEnroe neovim is laggy as hell in my OpenBSD VM, so I switched to vi so I could type without getting frustrated. 2021-01-09Add c -t flag to print expression typeJune McEnroe Also add missing float case. 2021-01-05Update taglineJune McEnroe