summaryrefslogtreecommitdiff
path: root/ffbuild/library.mak
Commit message (Collapse)AuthorAge
* Fix libversion.sh for split version headers, to unbreak shared library buildsMartin Storsjö2022-03-17
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Makefile: Redo duplicating object files in shared buildsAndreas Rheinhardt2022-01-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case of shared builds, some object files containing tables are currently duplicated into other libraries: log2_tab.c, golomb.c, reverse.c. The check for whether this is duplicated is simply whether CONFIG_SHARED is true. Yet this is crude: E.g. libavdevice includes reverse.c for shared builds, but only needs it for the decklink input device, which given that decklink is not enabled by default will be unused in most libavdevice.so. This commit changes this by making it more explicit about what to duplicate from other libraries. To do this, two new Makefile variables were added: SHLIBOBJS and STLIBOBJS. SHLIBOBJS contains the objects that are duplicated from other libraries in case of shared builds; STLIBOBJS contains stuff that a library has to provide for other libraries in case of static builds. These new variables provide a way to enable/disable with a finer granularity than just whether shared builds are enabled or not. E.g. lavd's Makefile now contains: SHLIBOBJS-$(CONFIG_DECKLINK_INDEV) += reverse.o Another example is provided by the golomb tables. These are provided by lavc for static builds, even if one uses a build configuration that makes only lavf use them. Therefore lavc's Makefile contains STLIBOBJS-$(CONFIG_MXF_MUXER) += golomb.o, whereas lavf's Makefile has a corresponding SHLIBOBJS-$(CONFIG_MXF_MUXER) += golomb_tab.o. E.g. in case the MXF muxer is the only component needing these tables only libavformat.so will contain them for shared builds; currently libavcodec.so does so, too. (There is currently a CONFIG_EXTRA group for golomb. But actually one would need two groups (golomb_avcodec and golomb_avformat) in order to know when and where to include these tables. Therefore this commit uses a Makefile-based approach for this and stops using these groups for the users in libavformat.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* Merge commit '17b6c7efb471e8ff1b8a7271f6531ba1d52bf69c'James Almer2017-11-12
| | | | | | | * commit '17b6c7efb471e8ff1b8a7271f6531ba1d52bf69c': build: Add missing config.sh dependency for pkg-config files Merged-by: James Almer <jamrial@gmail.com>
* Merge commit '7ebe7e8e7a76c0ce302f4f583ef0d14220031214'James Almer2017-11-12
| | | | | | | * commit '7ebe7e8e7a76c0ce302f4f583ef0d14220031214': build: Remove pkg-config files on clean instead of on distclean Merged-by: James Almer <jamrial@gmail.com>
* Merge commit 'fbf77b5ac37bf2a807d8336450801d7aecf2e359'James Almer2017-11-12
| | | | | | | * commit 'fbf77b5ac37bf2a807d8336450801d7aecf2e359': build: Add uninstall-pkgconfig target to match install-lib*-pkgconfig Merged-by: James Almer <jamrial@gmail.com>
* Merge commit 'abf1c058d1bd0ed1b820ea5e501a4484756f00b0'James Almer2017-11-11
| | | | | | | * commit 'abf1c058d1bd0ed1b820ea5e501a4484756f00b0': msvc: Properly specify dllexport for data symbols shared across dll boundaries Merged-by: James Almer <jamrial@gmail.com>
* Merge commit '857e26b655a769e5a56bada1a0d9adb44cc176b7'James Almer2017-11-06
| | | | | | | | | | | * commit '857e26b655a769e5a56bada1a0d9adb44cc176b7': build: Add an option for passing linker flags to the shared library build See e34a3468f294f21878875e0f6ad5564cd52af70e. --extra-ldlibflags is left in place for compatibility reasons. Merged-by: James Almer <jamrial@gmail.com>
* Merge commit 'f960fd2fb1218d49866d0bf47cbf839233fb9904'James Almer2017-11-01
| | | | | | | * commit 'f960fd2fb1218d49866d0bf47cbf839233fb9904': build: Skip generating .version files when reconfiguring Merged-by: James Almer <jamrial@gmail.com>
* Merge commit '7cb1d9e2dbbe5bf4652be5d78cdd68e956fa3d63'James Almer2017-10-11
| | | | | | | | | | | * commit '7cb1d9e2dbbe5bf4652be5d78cdd68e956fa3d63': build: Fine-grained link-time dependency settings Also included are bug fix commits 5ff3b5cafcc685b6936d16602b0f80aa09a95870, d9da7151eef7fc469787e7298196cea291acfd82 and 5e27ef800bfa2be17a6353ddedac6b7400e4624f. Merged-by: James Almer <jamrial@gmail.com>
* build: prevent SDL2 from polluting global cflags and extralibsJames Almer2017-10-09
| | | | | | | | | Remove the SDL_main define from the global cflags but not from the ffplay cflags, and the -mwindows linker option from extralibs instead of overriding it with the addition of -mconsole. Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* build: Skip generating .version files when cleaningDiego Biurrun2017-09-10
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* build: remove --enable-raise-major configure optionJames Almer2017-05-17
| | | | | | | | It's not used by anything, has dubious usefulness, the reasons for which it was introduced are no longer valid, and only serves to add complexity to the build system. Signed-off-by: James Almer <jamrial@gmail.com>
* library.mak: fix build rules that depend on pgk-config filesJames Almer2017-05-05
| | | | Regression since 6fdd35a312
* Merge commit '92db5083077a8b0f8e1050507671b456fd155125'James Almer2017-05-04
| | | | | | | | | | | | | | * commit '92db5083077a8b0f8e1050507671b456fd155125': build: Generate pkg-config files from Make and not from configure build: Store library version numbers in .version files Includes cherry-picked commits 8a34f3659371680ca523aecfd9098c28f0f809eb and ee164727dd64c199b87118917e674b17c25e0da3 to fix issues. Changes were also made to retain support for raise_major and build_suffix. Reviewed-by: ubitux Merged-by: James Almer <jamrial@gmail.com>
* Merge commit '11a9320de54759340531177c9f2b1e31e6112cc2'Clément Bœsch2017-05-03
* commit '11a9320de54759340531177c9f2b1e31e6112cc2': build: Move build-system-related helper files to a separate subdirectory "ffbuild" directory name is used instead of "avbuild". Merged-by: Clément Bœsch <u@pkh.me>