summaryrefslogtreecommitdiff
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
parent92751409f7e9c403cbfeb503cc494279c712c9ab (diff)
Use library list files to track library dependencies
-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
-rw-r--r--desktop/fontconfig/gen.rc3
-rw-r--r--desktop/freetype/gen.rc2
-rw-r--r--desktop/libdrm/gen.rc2
-rw-r--r--desktop/wayland/gen.rc4
-rw-r--r--extra/msmtp/gen.rc5
-rw-r--r--extra/transmission/gen.rc20
-rw-r--r--media/alsa-utils/gen.rc3
-rw-r--r--media/ffmpeg/gen.rc29
-rw-r--r--media/libass/gen.rc3
-rw-r--r--media/mpv/gen.rc17
14 files changed, 75 insertions, 89 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
diff --git a/desktop/fontconfig/gen.rc b/desktop/fontconfig/gen.rc
index eca47c71..710072e8 100644
--- a/desktop/fontconfig/gen.rc
+++ b/desktop/fontconfig/gen.rc
@@ -50,6 +50,9 @@ lib libfontconfig.a -d 'phony/$dir/deps' src/^(\
fcweight.c\
fcxml.c\
ftglue.c\
+) '$builddir'/^(\
+ desktop/expat/libexpat.a\
+ desktop/freetype/libfreetype.a.d\
)
fetch git
diff --git a/desktop/freetype/gen.rc b/desktop/freetype/gen.rc
index a60d5674..9b4181ee 100644
--- a/desktop/freetype/gen.rc
+++ b/desktop/freetype/gen.rc
@@ -38,6 +38,6 @@ lib libfreetype.a builds/unix/ftsystem.c src/^(\
type1/type1.c\
type42/type42.c\
winfonts/winfnt.c\
-)
+) '$builddir'/core/zlib/libz.a
fetch git
diff --git a/desktop/libdrm/gen.rc b/desktop/libdrm/gen.rc
index 023ce9ad..7ea2182b 100644
--- a/desktop/libdrm/gen.rc
+++ b/desktop/libdrm/gen.rc
@@ -21,7 +21,7 @@ if(~ intel $config_video_drivers) {
intel_bufmgr_gem.c\
intel_decode.c\
mm.c\
- )
+ ) '$builddir'/desktop/libpciaccess/libpciaccess.a
}
if(~ nouveau $config_video_drivers) {
diff --git a/desktop/wayland/gen.rc b/desktop/wayland/gen.rc
index c0706847..38a06db8 100644
--- a/desktop/wayland/gen.rc
+++ b/desktop/wayland/gen.rc
@@ -44,13 +44,13 @@ lib libwayland-server.a -d 'phony/$dir/headers' src/^(\
wayland-shm.c\
wayland-util.c.o\
event-loop.c\
-) wayland-protocol.c.o
+) wayland-protocol.c.o '$builddir'/desktop/libffi/libffi.a
lib libwayland-client.a -d 'phony/$dir/headers' src/^(\
connection.c.o\
wayland-os.c.o\
wayland-client.c\
wayland-util.c.o\
-) wayland-protocol.c.o
+) wayland-protocol.c.o '$builddir'/desktop/libffi/libffi.a
fetch git
diff --git a/extra/msmtp/gen.rc b/extra/msmtp/gen.rc
index b70ed220..14a7fd34 100644
--- a/extra/msmtp/gen.rc
+++ b/extra/msmtp/gen.rc
@@ -21,10 +21,7 @@ exe msmtp src/^(\
tls.c\
\
base64.c md5.c md5-apps.c\
-) '$builddir'/core/^(\
- libressl/^(libssl.a libcrypto.a)\
- openbsd/libbsd.a\
-)
+) '$builddir'/core/libressl/^(libssl.a.d libcrypto.a.d)
file bin/msmtp '$outdir'/msmtp 755
file share/man/man1/msmtp.1 '$srcdir'/doc/msmtp.1 644
diff --git a/extra/transmission/gen.rc b/extra/transmission/gen.rc
index bfeab2ed..254fe869 100644
--- a/extra/transmission/gen.rc
+++ b/extra/transmission/gen.rc
@@ -87,6 +87,11 @@ lib libtransmission.a -d $"deps libtransmission/^(\
watchdir-inotify.c\
file-posix.c\
crypto-utils-openssl.c\
+) libb64.a libdht.a libminiupnp.a libnatpmp.a libutp.a '$builddir'/^(\
+ core/curl/libcurl.a.d\
+ core/libressl/libcrypto.a.d\
+ core/zlib/libz.a\
+ extra/libevent/libevent.a\
)
lib libb64.a third-party/libb64/^(cdecode.c cencode.c)
@@ -135,22 +140,11 @@ lib libdht.a third-party/dht/dht.c
lib libutp.a third-party/libutp/^(utp.cpp utp_utils.cpp)
} >libutp.ninja ; subninja libutp.ninja
-libs=(\
- libtransmission.a libb64.a libdht.a libminiupnp.a libnatpmp.a libutp.a\
- '$builddir'/^(\
- core/curl/libcurl.a\
- core/libressl/^(libssl.a libcrypto.a)\
- core/openbsd/libbsd.a\
- core/zlib/libz.a\
- extra/libevent/libevent.a\
- )\
-)
-
-exe transmission-daemon -d $"deps daemon/^(daemon.c daemon-posix.c) $libs
+exe transmission-daemon -d $"deps daemon/^(daemon.c daemon-posix.c) libtransmission.a.d
file bin/transmission-daemon '$outdir'/transmission-daemon 755
file share/man/man1/transmission-daemon.1 '$srcdir'/daemon/transmission-daemon.1 644
-exe transmission-remote -d $"deps daemon/remote.c libtransmission.a $libs
+exe transmission-remote -d $"deps daemon/remote.c libtransmission.a.d
file bin/transmission-remote '$outdir'/transmission-remote 755
file share/man/man1/transmission-remote.1 '$srcdir'/daemon/transmission-remote.1 644
diff --git a/media/alsa-utils/gen.rc b/media/alsa-utils/gen.rc
index 1c59ce5a..e996e7ad 100644
--- a/media/alsa-utils/gen.rc
+++ b/media/alsa-utils/gen.rc
@@ -4,13 +4,12 @@ cflags\
-I '$dir' \
-I '$srcdir'/include
-libs='$builddir'/media/alsa-lib/libasound.a
deps=phony/media/alsa-lib/headers
fn x {
name=$1
shift
- exe bin/$name -d $"deps $* $libs
+ exe bin/$name -d $"deps $* '$builddir'/media/alsa-lib/libasound.a
file bin/$name '$outdir'/bin/$name 755
file share/man/man1/$name.1 '$srcdir'/$name/$name.1 644
}
diff --git a/media/ffmpeg/gen.rc b/media/ffmpeg/gen.rc
index fa577d21..a625172b 100644
--- a/media/ffmpeg/gen.rc
+++ b/media/ffmpeg/gen.rc
@@ -40,9 +40,11 @@ deps=(\
)
fn fflib {
- name=$1 srcs=()
+ name=$1 srcs=() libs=()
shift
for(src) switch($src) {
+ case *.[ad]
+ libs=($libs $src)
case $arch/*
srcs=($srcs $src)
case */*
@@ -51,7 +53,7 @@ fn fflib {
}
srcs=($srcs `{awk -f sources.awk 'lib='$name 'sources='sources.txt 'arch='$arch options.h | sort -u})
checkstatus
- lib $name.a -d $"deps $name/$srcs
+ lib $name.a -d $"deps $name/$srcs $libs
}
cc libavcodec/bitstream_filters.c '||' '$outdir'/internal/libavcodec/bsf_list.c
@@ -83,9 +85,11 @@ fflib libavcodec\
utils.c\
vorbis_parser.c\
xiph.c\
- x86/constants.c
+ x86/constants.c\
+ libavutil.a
-fflib libavdevice alldevices.c avdevice.c utils.c
+fflib libavdevice alldevices.c avdevice.c utils.c\
+ libavcodec.a.d libavformat.a.d libavutil.a
fflib libavfilter\
allfilters.c\
@@ -102,7 +106,8 @@ fflib libavfilter\
graphparser.c\
opencl_allkernels.c\
transform.c\
- video.c
+ video.c\
+ libavutil.a
cc libavformat/protocols.c '||' '$outdir'/internal/libavformat/protocol_list.c
fflib libavformat\
@@ -123,7 +128,9 @@ fflib libavformat\
riff.c\
sdp.c\
url.c\
- utils.c
+ utils.c\
+ libavcodec.a.d libavutil.a\
+ '$builddir'/core/libressl/libssl.a.d
fflib libavutil\
adler32.c\
@@ -207,7 +214,8 @@ fflib libswresample\
x86/^(\
audio_convert.asm rematrix.asm resample.asm\
audio_convert_init.c rematrix_init.c resample_init.c\
- )
+ )\
+ libavutil.a
fflib libswscale\
alphablend.c\
@@ -228,11 +236,12 @@ fflib libswscale\
rgb2rgb.c swscale.c yuv2rgb.c\
hscale_fast_bilinear_simd.c\
input.asm output.asm scale.asm\
- )
+ )\
+ libavutil.a
libs=(\
- libavfilter.a libavdevice.a libavformat.a libavcodec.a libswresample.a libswscale.a libavutil.a\
- '$builddir'/core/^(libressl/^(libssl.a libcrypto.a) openbsd/libbsd.a)\
+ libavcodec.a.d libavdevice.a.d libavfilter.a.d libavformat.a.d libavutil.a\
+ libswresample.a.d libswscale.a.d\
)
cc cmdutils.c
diff --git a/media/libass/gen.rc b/media/libass/gen.rc
index 7196661c..ba84d50f 100644
--- a/media/libass/gen.rc
+++ b/media/libass/gen.rc
@@ -19,6 +19,9 @@ lib libass.a -d $"deps libass/^(\
ass_strtod.c ass_fontconfig.c\
ass_string.c\
ass_rasterizer.c ass_rasterizer_c.c\
+) '$builddir'/^(\
+ desktop/freetype/libfreetype.a.d\
+ extra/fribidi/libfribidi.a\
)
fetch git
diff --git a/media/mpv/gen.rc b/media/mpv/gen.rc
index 0889d3b8..a65a840f 100644
--- a/media/mpv/gen.rc
+++ b/media/mpv/gen.rc
@@ -16,17 +16,14 @@ checkstatus
libs=(\
media/ffmpeg/^(\
- libavformat.a\
- libavfilter.a\
- libavcodec.a\
- libavdevice.a\
+ libavcodec.a.d\
+ libavdevice.a.d\
+ libavfilter.a.d\
+ libavformat.a.d\
libavutil.a\
- libswresample.a\
- libswscale.a\
+ libswresample.a.d\
+ libswscale.a.d\
)\
- core/libressl/libssl.a\
- core/libressl/libcrypto.a\
- core/openbsd/libbsd.a\
core/zlib/libz.a\
)
@@ -68,7 +65,7 @@ if(grep -qF 'HAVE_DRM 1' config.h) {
}
if(grep -qF 'HAVE_LIBASS 1' config.h) {
cflags=($cflags -isystem '$builddir'/media/libass/include)
- libs=($libs media/libass/libass.a desktop/freetype/libfreetype.a extra/fribidi/libfribidi.a)
+ libs=($libs media/libass/libass.a.d)
deps=($deps phony/media/libass/headers)
}
if(grep -qF 'HAVE_LUA 1' config.h) {