summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2016-10-29 15:06:37 -0700
committerMichael Forney <mforney@mforney.org>2016-10-30 13:44:58 -0700
commit1e4272543281e050bb222945376a224a5ec9fd87 (patch)
tree06ad8e566e5928d46f72ff2816ad135d8581ed86 /core
parent92751409f7e9c403cbfeb503cc494279c712c9ab (diff)
Use library list files to track library dependencies
Diffstat (limited to 'core')
-rw-r--r--core/curl/gen.rc12
-rw-r--r--core/git/gen.rc24
-rw-r--r--core/libressl/gen.rc6
-rw-r--r--core/openssh/gen.rc34
4 files changed, 30 insertions, 46 deletions
diff --git a/core/curl/gen.rc b/core/curl/gen.rc
index f5f8129c..24b16d0b 100644
--- a/core/curl/gen.rc
+++ b/core/curl/gen.rc
@@ -46,6 +46,10 @@ lib libcurl.a -d $"deps lib/^(\
cyassl.c schannel.c darwinssl.c gskit.c\
mbedtls.c\
)\
+) '$builddir'/^(\
+ core/libressl/libssl.a.d\
+ core/libressl/libcrypto.a.d\
+ core/zlib/libz.a\
)
build '$outdir'/tool_hugehelp.c.o cc '$dir'/tool_hugehelp.c '||' '$srcdir'/src/tool_hugehelp.h
@@ -94,13 +98,7 @@ exe curl -d '$outdir'/include/curl/curlbuild.h\
tool_xattr.c\
)\
tool_hugehelp.c.o\
- libcurl.a\
- '$builddir'/^(\
- core/libressl/libssl.a\
- core/libressl/libcrypto.a\
- core/openbsd/libbsd.a\
- core/zlib/libz.a\
- )
+ libcurl.a.d
file bin/curl '$outdir'/curl 755
file share/man/man1/curl.1 '$srcdir'/docs/curl.1 644
diff --git a/core/git/gen.rc b/core/git/gen.rc
index 83f82776..3fa499da 100644
--- a/core/git/gen.rc
+++ b/core/git/gen.rc
@@ -184,7 +184,9 @@ lib libgit.a -d $"deps\
xdiff-interface.c\
zlib.c\
\
- thread-utils.c
+ thread-utils.c\
+ libxdiff.a\
+ '$builddir'/^(core/libressl/libcrypto.a.d core/zlib/libz.a)
# src/Makefile:/^XDIFF_OBJS.\+=
lib libxdiff.a xdiff/^(\
@@ -197,18 +199,8 @@ lib libxdiff.a xdiff/^(\
xhistogram.c\
)
-libs=(\
- common-main.c.o libgit.a libxdiff.a\
- '$builddir'/core/^(\
- curl/libcurl.a\
- libressl/^(libssl.a libcrypto.a)\
- openbsd/libbsd.a\
- zlib/libz.a\
- )\
-)
-
# src/Makefile:/^BUILTIN_OBJS.\+=
-exe git -d $"deps git.c builtin/^(\
+exe git -d $"deps git.c common-main.c.o builtin/^(\
add.c\
am.c\
annotate.c\
@@ -312,7 +304,7 @@ exe git -d $"deps git.c builtin/^(\
verify-tag.c\
worktree.c\
write-tree.c\
-) $libs
+) libgit.a.d
file bin/git '$outdir'/git 755
fn x {
@@ -320,7 +312,7 @@ fn x {
shift
if(~ $#* 0) srcs=$name.c
if not srcs=$*
- exe git-$name -d $"deps $srcs $libs
+ exe git-$name -d $"deps $srcs common-main.c.o libgit.a.d
file libexec/git-core/git-$name '$outdir'/git-$name 755
}
@@ -329,14 +321,14 @@ x credential-store
x daemon
x fast-import
x http-backend
-x imap-send
+x imap-send imap-send.c '$builddir'/core/libressl/libssl.a.d
x sh-i18n--envsubst
x shell
x show-index
x upload-pack
# git-remote-testsvn is intentionally omitted.
-x remote-http remote-curl.c http.c http-walker.c
+x remote-http remote-curl.c http.c http-walker.c '$builddir'/core/curl/libcurl.a.d
for(remote in https ftp ftps) sym libexec/git-core/git-remote-$remote git-remote-http
rule sh_gen 'sed -f $dir/sh_gen.sed $in >$out.tmp && mv $out.tmp $out'
diff --git a/core/libressl/gen.rc b/core/libressl/gen.rc
index 5895e3f9..44ee46d2 100644
--- a/core/libressl/gen.rc
+++ b/core/libressl/gen.rc
@@ -267,7 +267,7 @@ lib libcrypto.a -d 'phony/$dir/headers' src/lib/libcrypto/^(\
des/^(des_enc.c fcrypt_b.c)\
rc4/^(rc4_enc.c rc4_skey.c)\
whrlpool/^(wp_block.c)\
-)
+) '$builddir'/core/openbsd/libbsd.a
file lib/libcrypto.a '$outdir'/libcrypto.a 644
# src/lib/libssl/ssl/Makefile
@@ -285,7 +285,7 @@ lib libssl.a src/lib/libssl/^(\
\
s3_cbc.c\
bs_ber.c bs_cbb.c bs_cbs.c\
-)
+) libcrypto.a.d
file lib/libssl.a '$outdir'/libssl.a 644
# src/usr.bin/openssl/Makefile
@@ -297,7 +297,7 @@ exe openssl src/usr.bin/openssl/^(\
pkeyutl.c prime.c rand.c req.c rsa.c rsautl.c s_cb.c s_client.c\
s_server.c s_socket.c s_time.c sess_id.c smime.c speed.c spkac.c ts.c\
verify.c version.c x509.c\
-) libssl.a libcrypto.a '$builddir'/core/openbsd/libbsd.a
+) libssl.a.d libcrypto.a.d
file bin/openssl '$outdir'/openssl 755
file share/man/man1/openssl.1 '$srcdir'/src/usr.bin/openssl/openssl.1 644
diff --git a/core/openssh/gen.rc b/core/openssh/gen.rc
index 8267e46a..2ac23aae 100644
--- a/core/openssh/gen.rc
+++ b/core/openssh/gen.rc
@@ -31,10 +31,13 @@ lib libopenbsd-compat.a openbsd-compat/^(\
bsd-statvfs.c bsd-waitpid.c fake-rfc2553.c openssl-compat.c xmmap.c\
xcrypt.c kludge-fd_set.c\
\
- port-aix.c port-irix.c port-linux.c port-solaris.c port-tun.c port-uw.c\
+ port-aix.c port-irix.c port-linux.c port-solaris.c port-uw.c\
)
deps=phony/core/^(libressl zlib)^/headers
+
+# port-tun.c from openbsd-compat depends on sshbuf-getput-basic.c and ssherr.c
+# from libssh.a, so just include it in libssh.a.
lib libssh.a -d $"deps\
ssh_api.c\
ssherr.c\
@@ -62,21 +65,14 @@ lib libssh.a -d $"deps\
kex.c kexdh.c kexgex.c kexecdh.c kexc25519.c\
kexdhc.c kexgexc.c kexecdhc.c kexc25519c.c\
kexdhs.c kexgexs.c kexecdhs.c kexc25519s.c\
- platform-pledge.c platform-tracing.c
-
-libs=(\
- libssh.a libopenbsd-compat.a\
- '$builddir'/^(\
- core/libressl/^(libssl.a libcrypto.a)\
- core/openbsd/libbsd.a\
- core/zlib/libz.a\
- )\
-)
+ platform-pledge.c platform-tracing.c\
+ openbsd-compat/port-tun.c libopenbsd-compat.a\
+ '$builddir'/^(core/libressl/libcrypto.a.d core/zlib/libz.a)\
exe ssh\
ssh.c readconf.c clientloop.c sshtty.c\
sshconnect.c sshconnect1.c sshconnect2.c mux.c\
- $libs
+ libssh.a.d
file bin/ssh '$outdir'/ssh 755
file share/man/man1/ssh.1 '$srcdir'/ssh.1 644
@@ -98,29 +94,27 @@ exe sshd\
sandbox-null.c sandbox-rlimit.c sandbox-systrace.c sandbox-darwin.c\
sandbox-seccomp-filter.c sandbox-capsicum.c sandbox-pledge.c\
sandbox-solaris.c\
- $libs
+ libssh.a.d
file bin/sshd '$outdir'/sshd 755
file share/man/man8/sshd.8 '$srcdir'/sshd.8 644
-exe scp scp.c libssh.a libopenbsd-compat.a libssh.a '$builddir'/core/openbsd/libbsd.a
+exe scp scp.c libssh.a.d
file bin/scp '$outdir'/scp 755
file share/man/man1/scp.1 '$srcdir'/scp.1 644
-exe ssh-add ssh-add.c $libs
+exe ssh-add ssh-add.c libssh.a.d
file bin/ssh-add '$outdir'/ssh-add 755
file share/man/man1/ssh-add.1 '$srcdir'/ssh-add.1 644
-exe ssh-agent ssh-agent.c ssh-pkcs11-client.c $libs
+exe ssh-agent ssh-agent.c ssh-pkcs11-client.c libssh.a.d
file bin/ssh-agent '$outdir'/ssh-agent 755
file share/man/man1/ssh-agent.1 '$srcdir'/ssh-agent.1 644
-exe ssh-keygen ssh-keygen.c $libs
+exe ssh-keygen ssh-keygen.c libssh.a.d
file bin/ssh-keygen '$outdir'/ssh-keygen 755
file share/man/man1/ssh-keygen.1 '$srcdir'/ssh-keygen.1 644
-exe sftp-server\
- sftp-common.c.o sftp-server.c.o sftp-server-main.c\
- libssh.a libopenbsd-compat.a '$builddir'/core/openbsd/libbsd.a
+exe sftp-server sftp-common.c.o sftp-server.c.o sftp-server-main.c libssh.a.d
file libexec/sftp-server '$outdir'/sftp-server 755
file share/man/man8/sftp-server.8 '$srcdir'/sftp-server.8 644