Keep including the full version.h when headers are included externally

This avoids unnecessary churn and build breakage for users, by
making sure the whole version.h is included like it has been so far,
while keeping the benefit of not needing to rebuild most files in
the ffmpeg tree on minor/micro bumps.

Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
Martin Storsjö 2022-03-18 10:13:27 +02:00
parent fce0127642
commit 2d368392a5
8 changed files with 44 additions and 7 deletions

View File

@ -14,15 +14,10 @@ libavutil: 2021-04-27
API changes, most recent first:
2022-03-16 - xxxxxxxxxx - all libraries - version.h, version_major.h
No longer implicitly include lib<name>/version.h in lib<name>/<name>.h.
Users who depend on defines from these files (LIB<name>_VERSION*,
LIB<name>_IDENT) must explicitly include these headers instead of
relying on them being included implicitly.
2022-03-16 - xxxxxxxxxx - all libraries - version_major.h
Add lib<name>/version_major.h as new installed headers, which only
contain the major version number (and corresponding API deprecation
defines). These headers are still implicitly included from the
library main headers.
defines).
2022-03-10 - xxxxxxxxxx - lavu 57.23.100 - cpu.h
Add AV_CPU_FLAG_AVX512ICL.

View File

@ -44,6 +44,12 @@
#include "defs.h"
#include "packet.h"
#include "version_major.h"
#ifndef HAVE_AV_CONFIG_H
/* When included as part of the ffmpeg build, only include the major version
* to avoid unnecessary rebuilds. When included externally, keep including
* the full version information. */
#include "version.h"
#endif
/**
* @defgroup libavc libavcodec

View File

@ -20,6 +20,12 @@
#define AVDEVICE_AVDEVICE_H
#include "version_major.h"
#ifndef HAVE_AV_CONFIG_H
/* When included as part of the ffmpeg build, only include the major version
* to avoid unnecessary rebuilds. When included externally, keep including
* the full version information. */
#include "version.h"
#endif
/**
* @file

View File

@ -48,6 +48,12 @@
#include "libavutil/rational.h"
#include "libavfilter/version_major.h"
#ifndef HAVE_AV_CONFIG_H
/* When included as part of the ffmpeg build, only include the major version
* to avoid unnecessary rebuilds. When included externally, keep including
* the full version information. */
#include "libavfilter/version.h"
#endif
/**
* Return the LIBAVFILTER_VERSION_INT constant.

View File

@ -320,6 +320,12 @@
#include "avio.h"
#include "libavformat/version_major.h"
#ifndef HAVE_AV_CONFIG_H
/* When included as part of the ffmpeg build, only include the major version
* to avoid unnecessary rebuilds. When included externally, keep including
* the full version information. */
#include "libavformat/version.h"
#endif
struct AVFormatContext;
struct AVStream;

View File

@ -35,6 +35,12 @@
*/
#include "libpostproc/version_major.h"
#ifndef HAVE_AV_CONFIG_H
/* When included as part of the ffmpeg build, only include the major version
* to avoid unnecessary rebuilds. When included externally, keep including
* the full version information. */
#include "libpostproc/version.h"
#endif
/**
* Return the LIBPOSTPROC_VERSION_INT constant.

View File

@ -126,6 +126,12 @@
#include "libavutil/samplefmt.h"
#include "libswresample/version_major.h"
#ifndef HAVE_AV_CONFIG_H
/* When included as part of the ffmpeg build, only include the major version
* to avoid unnecessary rebuilds. When included externally, keep including
* the full version information. */
#include "libswresample/version.h"
#endif
/**
* @name Option constants

View File

@ -34,6 +34,12 @@
#include "libavutil/log.h"
#include "libavutil/pixfmt.h"
#include "version_major.h"
#ifndef HAVE_AV_CONFIG_H
/* When included as part of the ffmpeg build, only include the major version
* to avoid unnecessary rebuilds. When included externally, keep including
* the full version information. */
#include "version.h"
#endif
/**
* @defgroup libsws libswscale