mirror of
https://github.com/oasislinux/oasis.git
synced 2025-12-25 12:14:00 +01:00
470 lines
7.9 KiB
Lua
470 lines
7.9 KiB
Lua
cflags{
|
|
'-include $dir/config.h',
|
|
'-I $srcdir',
|
|
'-I $srcdir/compat/regex',
|
|
'-I $outdir',
|
|
'-isystem $builddir/pkg/curl/include',
|
|
'-isystem $builddir/pkg/zlib/include',
|
|
}
|
|
|
|
pkg.deps = {
|
|
'$outdir/config-list.h',
|
|
'$outdir/command-list.h',
|
|
'pkg/curl/headers',
|
|
'pkg/zlib/headers',
|
|
}
|
|
|
|
rule('cmdlist', 'cd $srcdir && ./generate-cmdlist.sh $$OLDPWD/$in >$$OLDPWD/$out')
|
|
build('cmdlist', '$outdir/command-list.h', {
|
|
'$srcdir/command-list.txt', '|', expand{'$srcdir/Documentation/', lines('commands.txt')},
|
|
})
|
|
|
|
rule('configlist', 'cd $srcdir && ./generate-configlist.sh $$OLDPWD/$in >$$OLDPWD/$out')
|
|
build('configlist', '$outdir/config-list.h', {
|
|
'$srcdir/command-list.txt', '|', expand{'$srcdir/Documentation/', lines('configs.txt')},
|
|
})
|
|
|
|
cc('exec-cmd.c', nil, {cflags=[[$cflags '-DFALLBACK_RUNTIME_PREFIX=""']]})
|
|
cc('common-main.c')
|
|
cc('http.c')
|
|
cc('compat/regex/regex.c', nil, {cflags='$cflags -DGAWK -DNO_MBSUPPORT'})
|
|
|
|
-- src/Makefile:/^LIB_OBJS.\+=
|
|
lib('libgit.a', [[
|
|
abspath.c
|
|
add-interactive.c
|
|
add-patch.c
|
|
advice.c
|
|
alias.c
|
|
alloc.c
|
|
apply.c
|
|
archive-tar.c
|
|
archive-zip.c
|
|
archive.c
|
|
attr.c
|
|
base85.c
|
|
bisect.c
|
|
blame.c
|
|
blob.c
|
|
bloom.c
|
|
branch.c
|
|
bulk-checkin.c
|
|
bundle.c
|
|
cache-tree.c
|
|
chdir-notify.c
|
|
checkout.c
|
|
color.c
|
|
column.c
|
|
combine-diff.c
|
|
commit-graph.c
|
|
commit-reach.c
|
|
commit.c
|
|
compat/obstack.c
|
|
compat/regex/regex.c.o
|
|
compat/terminal.c
|
|
compat/qsort_s.c
|
|
config.c
|
|
connect.c
|
|
connected.c
|
|
convert.c
|
|
copy.c
|
|
credential.c
|
|
csum-file.c
|
|
ctype.c
|
|
date.c
|
|
decorate.c
|
|
delta-islands.c
|
|
diffcore-break.c
|
|
diffcore-delta.c
|
|
diffcore-order.c
|
|
diffcore-pickaxe.c
|
|
diffcore-rename.c
|
|
diff-delta.c
|
|
diff-lib.c
|
|
diff-no-index.c
|
|
diff.c
|
|
dir-iterator.c
|
|
dir.c
|
|
editor.c
|
|
entry.c
|
|
environment.c
|
|
ewah/bitmap.c
|
|
ewah/ewah_bitmap.c
|
|
ewah/ewah_io.c
|
|
ewah/ewah_rlw.c
|
|
exec-cmd.c.o
|
|
fetch-negotiator.c
|
|
fetch-pack.c
|
|
fmt-merge-msg.c
|
|
fsck.c
|
|
fsmonitor.c
|
|
gettext.c
|
|
gpg-interface.c
|
|
graph.c
|
|
grep.c
|
|
hashmap.c
|
|
help.c
|
|
hex.c
|
|
ident.c
|
|
json-writer.c
|
|
kwset.c
|
|
levenshtein.c
|
|
line-log.c
|
|
line-range.c
|
|
linear-assignment.c
|
|
list-objects-filter-options.c
|
|
list-objects-filter.c
|
|
list-objects.c
|
|
ll-merge.c
|
|
lockfile.c
|
|
log-tree.c
|
|
ls-refs.c
|
|
mailinfo.c
|
|
mailmap.c
|
|
match-trees.c
|
|
mem-pool.c
|
|
merge.c
|
|
merge-blobs.c
|
|
merge-ort.c
|
|
merge-ort-wrappers.c
|
|
merge-recursive.c
|
|
mergesort.c
|
|
midx.c
|
|
name-hash.c
|
|
negotiator/default.c
|
|
negotiator/noop.c
|
|
negotiator/skipping.c
|
|
notes-cache.c
|
|
notes-merge.c
|
|
notes-utils.c
|
|
notes.c
|
|
object.c
|
|
oid-array.c
|
|
oidmap.c
|
|
oidset.c
|
|
pack-bitmap-write.c
|
|
pack-bitmap.c
|
|
pack-check.c
|
|
pack-objects.c
|
|
pack-revindex.c
|
|
pack-write.c
|
|
packfile.c
|
|
pager.c
|
|
parse-options-cb.c
|
|
parse-options.c
|
|
patch-delta.c
|
|
patch-ids.c
|
|
path.c
|
|
pathspec.c
|
|
pkt-line.c
|
|
preload-index.c
|
|
pretty.c
|
|
prio-queue.c
|
|
progress.c
|
|
promisor-remote.c
|
|
prompt.c
|
|
protocol.c
|
|
prune-packed.c
|
|
quote.c
|
|
range-diff.c
|
|
reachable.c
|
|
read-cache.c
|
|
rebase-interactive.c
|
|
rebase.c
|
|
ref-filter.c
|
|
reflog-walk.c
|
|
refs.c
|
|
refs/debug.c
|
|
refs/files-backend.c
|
|
refs/iterator.c
|
|
refs/packed-backend.c
|
|
refs/ref-cache.c
|
|
refspec.c
|
|
remote.c
|
|
replace-object.c
|
|
repo-settings.c
|
|
repository.c
|
|
rerere.c
|
|
reset.c
|
|
resolve-undo.c
|
|
revision.c
|
|
run-command.c
|
|
send-pack.c
|
|
sequencer.c
|
|
serve.c
|
|
server-info.c
|
|
setup.c
|
|
sha1-file.c
|
|
sha1-lookup.c
|
|
sha1-name.c
|
|
shallow.c
|
|
sideband.c
|
|
sigchain.c
|
|
split-index.c
|
|
stable-qsort.c
|
|
strbuf.c
|
|
streaming.c
|
|
string-list.c
|
|
strmap.c
|
|
strvec.c
|
|
sub-process.c
|
|
submodule-config.c
|
|
submodule.c
|
|
symlinks.c
|
|
tag.c
|
|
tempfile.c
|
|
thread-utils.c
|
|
tmp-objdir.c
|
|
trace.c
|
|
trace2.c
|
|
trace2/(
|
|
tr2_cfg.c
|
|
tr2_cmd_name.c
|
|
tr2_dst.c
|
|
tr2_sid.c
|
|
tr2_sysenv.c
|
|
tr2_tbuf.c
|
|
tr2_tgt_event.c
|
|
tr2_tgt_normal.c
|
|
tr2_tgt_perf.c
|
|
tr2_tls.c
|
|
)
|
|
trailer.c
|
|
transport-helper.c
|
|
transport.c
|
|
tree-diff.c
|
|
tree-walk.c
|
|
tree.c
|
|
unpack-trees.c
|
|
upload-pack.c
|
|
url.c
|
|
urlmatch.c
|
|
usage.c
|
|
userdiff.c
|
|
utf8.c
|
|
varint.c
|
|
version.c
|
|
versioncmp.c
|
|
walker.c
|
|
wildmatch.c
|
|
worktree.c
|
|
wrapper.c
|
|
write-or-die.c
|
|
ws.c
|
|
wt-status.c
|
|
xdiff-interface.c
|
|
zlib.c
|
|
|
|
unix-socket.c
|
|
|
|
sha1dc_git.c
|
|
sha1dc/sha1.c
|
|
sha1dc/ubc_check.c
|
|
|
|
sha256/block/sha256.c
|
|
|
|
libxdiff.a
|
|
$builddir/pkg/zlib/libz.a
|
|
]])
|
|
|
|
-- src/Makefile:/^XDIFF_OBJS.\+=
|
|
lib('libxdiff.a', [[xdiff/(
|
|
xdiffi.c
|
|
xemit.c
|
|
xhistogram.c
|
|
xmerge.c
|
|
xpatience.c
|
|
xprepare.c
|
|
xutils.c
|
|
)]])
|
|
|
|
-- src/Makefile:/^BUILTIN_OBJS.\+=
|
|
local builtins = {
|
|
'add',
|
|
'am',
|
|
'annotate',
|
|
'apply',
|
|
'archive',
|
|
'bisect--helper',
|
|
'blame',
|
|
'branch',
|
|
'bugreport',
|
|
'bundle',
|
|
'cat-file',
|
|
'check-attr',
|
|
'check-ignore',
|
|
'check-mailmap',
|
|
'check-ref-format',
|
|
'checkout-index',
|
|
'checkout',
|
|
'clean',
|
|
'clone',
|
|
'column',
|
|
'commit-graph',
|
|
'commit-tree',
|
|
'commit',
|
|
'config',
|
|
'count-objects',
|
|
'credential-cache--daemon',
|
|
'credential-cache',
|
|
'credential-store',
|
|
'credential',
|
|
'describe',
|
|
'diff-files',
|
|
'diff-index',
|
|
'diff-tree',
|
|
'diff',
|
|
'difftool',
|
|
'env--helper',
|
|
'fast-export',
|
|
'fast-import',
|
|
'fetch-pack',
|
|
'fetch',
|
|
'fmt-merge-msg',
|
|
'for-each-ref',
|
|
'for-each-repo',
|
|
'fsck',
|
|
'gc',
|
|
'get-tar-commit-id',
|
|
'grep',
|
|
'hash-object',
|
|
'help',
|
|
'index-pack',
|
|
'init-db',
|
|
'interpret-trailers',
|
|
'log',
|
|
'ls-files',
|
|
'ls-remote',
|
|
'ls-tree',
|
|
'mailinfo',
|
|
'mailsplit',
|
|
'merge-base',
|
|
'merge-file',
|
|
'merge-index',
|
|
'merge-ours',
|
|
'merge-recursive',
|
|
'merge-tree',
|
|
'merge',
|
|
'mktag',
|
|
'mktree',
|
|
'multi-pack-index',
|
|
'mv',
|
|
'name-rev',
|
|
'notes',
|
|
'pack-objects',
|
|
'pack-redundant',
|
|
'pack-refs',
|
|
'patch-id',
|
|
'prune-packed',
|
|
'prune',
|
|
'pull',
|
|
'push',
|
|
'range-diff',
|
|
'read-tree',
|
|
'rebase',
|
|
'receive-pack',
|
|
'reflog',
|
|
'remote-ext',
|
|
'remote-fd',
|
|
'remote',
|
|
'repack',
|
|
'replace',
|
|
'rerere',
|
|
'reset',
|
|
'rev-list',
|
|
'rev-parse',
|
|
'revert',
|
|
'rm',
|
|
'send-pack',
|
|
'shortlog',
|
|
'show-branch',
|
|
'show-index',
|
|
'show-ref',
|
|
'sparse-checkout',
|
|
'stash',
|
|
'stripspace',
|
|
'submodule--helper',
|
|
'symbolic-ref',
|
|
'tag',
|
|
'unpack-file',
|
|
'unpack-objects',
|
|
'update-index',
|
|
'update-ref',
|
|
'update-server-info',
|
|
'upload-archive',
|
|
'upload-pack',
|
|
'var',
|
|
'verify-commit',
|
|
'verify-pack',
|
|
'verify-tag',
|
|
'worktree',
|
|
'write-tree',
|
|
}
|
|
exe('git', {'git.c', 'common-main.c.o', expand{'builtin/', builtins, '.c'}, 'libgit.a.d'})
|
|
file('bin/git', '755', '$outdir/git')
|
|
|
|
local programs = {
|
|
-- src/Makefile:/^PROGRAM_OBJS./+=
|
|
{'daemon'},
|
|
{'http-backend'},
|
|
{'imap-send', {'imap-send.c', 'http.c.o', '$builddir/pkg/curl/libcurl.a.d'}},
|
|
{'sh-i18n--envsubst'},
|
|
{'shell'},
|
|
|
|
{'remote-http', {'remote-curl.c', 'http.c.o', 'http-walker.c', '$builddir/pkg/curl/libcurl.a.d'}},
|
|
}
|
|
|
|
for _, prog in ipairs(programs) do
|
|
local name, srcs = prog[1], prog[2]
|
|
exe('git-'..name, {srcs or name..'.c', 'common-main.c.o', 'libgit.a.d'})
|
|
file('libexec/git-core/git-'..name, '755', '$outdir/git-'..name)
|
|
end
|
|
|
|
for _, remote in ipairs{'https', 'ftp', 'ftps'} do
|
|
sym('libexec/git-core/git-remote-'..remote, 'git-remote-http')
|
|
end
|
|
|
|
local scripts = {
|
|
-- src/Makefile:/^SCRIPT_SH.\+=
|
|
{'bisect', '755'},
|
|
{'difftool--helper', '755'},
|
|
{'filter-branch', '755'},
|
|
{'merge-octopus', '755'},
|
|
{'merge-one-file', '755'},
|
|
{'merge-resolve', '755'},
|
|
{'mergetool', '755'},
|
|
{'quiltimport', '755'},
|
|
{'request-pull', '755'},
|
|
{'submodule', '755'},
|
|
{'web--browse', '755'},
|
|
|
|
-- src/Makefile:/^SCRIPT_LIB.\+=
|
|
{'mergetool--lib', '644'},
|
|
{'rebase--preserve-merges', '644'},
|
|
{'sh-i18n', '644'},
|
|
{'sh-setup', '644'},
|
|
}
|
|
|
|
rule('sh_gen', 'sed -f $dir/sh_gen.sed $in >$out')
|
|
for _, script in ipairs(scripts) do
|
|
local name, mode = script[1], script[2]
|
|
build('sh_gen', '$outdir/git-'..name, {'$srcdir/git-'..name..'.sh', '|', '$dir/sh_gen.sed'})
|
|
file('libexec/git-core/git-'..name, mode, '$outdir/git-'..name)
|
|
end
|
|
|
|
sym('bin/git-shell', '../libexec/git-core/git-shell')
|
|
for _, name in ipairs{'git-receive-pack', 'git-upload-archive', 'git-upload-pack'} do
|
|
sym('bin/'..name, 'git')
|
|
end
|
|
|
|
-- templates
|
|
dir('share/git-core/templates/branches', '755')
|
|
file('share/git-core/templates/description', '644', '$srcdir/templates/this--description')
|
|
file('share/git-core/templates/info/exclude', '644', '$srcdir/templates/info--exclude')
|
|
-- Skip the sample hooks and install an empty directory instead.
|
|
dir('share/git-core/templates/hooks', '755')
|
|
|
|
man(expand{'man/', lines('man.txt')})
|
|
|
|
fetch 'local'
|