diff options
| author | Michael Forney <mforney@mforney.org> | 2016-10-29 15:06:37 -0700 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2016-10-30 13:44:58 -0700 |
| commit | 1e4272543281e050bb222945376a224a5ec9fd87 (patch) | |
| tree | 06ad8e566e5928d46f72ff2816ad135d8581ed86 | |
| parent | 92751409f7e9c403cbfeb503cc494279c712c9ab (diff) | |
Use library list files to track library dependencies
| -rw-r--r-- | core/curl/gen.rc | 12 | ||||
| -rw-r--r-- | core/git/gen.rc | 24 | ||||
| -rw-r--r-- | core/libressl/gen.rc | 6 | ||||
| -rw-r--r-- | core/openssh/gen.rc | 34 | ||||
| -rw-r--r-- | desktop/fontconfig/gen.rc | 3 | ||||
| -rw-r--r-- | desktop/freetype/gen.rc | 2 | ||||
| -rw-r--r-- | desktop/libdrm/gen.rc | 2 | ||||
| -rw-r--r-- | desktop/wayland/gen.rc | 4 | ||||
| -rw-r--r-- | extra/msmtp/gen.rc | 5 | ||||
| -rw-r--r-- | extra/transmission/gen.rc | 20 | ||||
| -rw-r--r-- | media/alsa-utils/gen.rc | 3 | ||||
| -rw-r--r-- | media/ffmpeg/gen.rc | 29 | ||||
| -rw-r--r-- | media/libass/gen.rc | 3 | ||||
| -rw-r--r-- | media/mpv/gen.rc | 17 |
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) { |
