diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 74bf6d5013b5128bfff3acee92c248df9d882865..f6d99ab3ddd3798bea570b95d2bb33e465d1a1af 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -66,6 +66,9 @@
 #include "compat/os2threads.h"
 #endif
 
+#include "libavutil/ffversion.h"
+const char av_codec_ffversion[] = "FFmpeg version " FFMPEG_VERSION;
+
 #if HAVE_PTHREADS || HAVE_W32THREADS || HAVE_OS2THREADS
 static int default_lockmgr_cb(void **arg, enum AVLockOp op)
 {
diff --git a/libavdevice/avdevice.c b/libavdevice/avdevice.c
index fda3cd03544d02e0ee9c273cc035da51d9da947f..d59e99a31f791b1dd11ec12d3db9fc5bd4d82705 100644
--- a/libavdevice/avdevice.c
+++ b/libavdevice/avdevice.c
@@ -23,6 +23,9 @@
 #include "avdevice.h"
 #include "config.h"
 
+#include "libavutil/ffversion.h"
+const char av_device_ffversion[] = "FFmpeg version " FFMPEG_VERSION;
+
 #define E AV_OPT_FLAG_ENCODING_PARAM
 #define D AV_OPT_FLAG_DECODING_PARAM
 #define A AV_OPT_FLAG_AUDIO_PARAM
diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c
index 963f5e6479053421a0d39e70ad543c4767283f11..b37ff1f2c880162a5dd4d5b40f611b73fc1c697e 100644
--- a/libavfilter/avfilter.c
+++ b/libavfilter/avfilter.c
@@ -37,6 +37,9 @@
 #include "formats.h"
 #include "internal.h"
 
+#include "libavutil/ffversion.h"
+const char av_filter_ffversion[] = "FFmpeg version " FFMPEG_VERSION;
+
 static int ff_filter_frame_framed(AVFilterLink *link, AVFrame *frame);
 
 void ff_tlog_ref(void *ctx, AVFrame *ref, int end)
diff --git a/libavformat/utils.c b/libavformat/utils.c
index a883745cf96ada55ebd812800f2915e5222ecd47..752270d5f5795c36a9f1fa411989fa7118ca1f2b 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -53,6 +53,9 @@
 #include "riff.h"
 #include "url.h"
 
+#include "libavutil/ffversion.h"
+const char av_format_ffversion[] = "FFmpeg version " FFMPEG_VERSION;
+
 /**
  * @file
  * various utility functions for use within FFmpeg
diff --git a/libavutil/utils.c b/libavutil/utils.c
index aafd3b909e70ec92b8413fd88e3f956f3ffd8456..da8b5ae2d35e6d4ec3eaa32c354735eb27236209 100644
--- a/libavutil/utils.c
+++ b/libavutil/utils.c
@@ -27,6 +27,9 @@
  * various utility functions
  */
 
+#include "libavutil/ffversion.h"
+const char av_util_ffversion[] = "FFmpeg version " FFMPEG_VERSION;
+
 unsigned avutil_version(void)
 {
     static int checks_done;
diff --git a/libpostproc/postprocess.c b/libpostproc/postprocess.c
index f8fb35639194f786592bd40fbefb8935a0f3b73b..c11debcd7049614972f49533f08e80d22ae9ed1e 100644
--- a/libpostproc/postprocess.c
+++ b/libpostproc/postprocess.c
@@ -89,6 +89,9 @@ try to unroll inner for(x=0 ... loop to avoid these damn if(x ... checks
 #include "postprocess_internal.h"
 #include "libavutil/avstring.h"
 
+#include "libavutil/ffversion.h"
+const char postproc_ffversion[] = "FFmpeg version " FFMPEG_VERSION;
+
 unsigned postproc_version(void)
 {
     av_assert0(LIBPOSTPROC_VERSION_MICRO >= 100);
diff --git a/libswresample/swresample.c b/libswresample/swresample.c
index b0bd697e04ab50ce5dd1d71feae4a24b62fca824..eb6effa8ef8eba0f7f949ba6dc5e95c65d984952 100644
--- a/libswresample/swresample.c
+++ b/libswresample/swresample.c
@@ -28,6 +28,9 @@
 
 #define ALIGN 32
 
+#include "libavutil/ffversion.h"
+const char swr_ffversion[] = "FFmpeg version " FFMPEG_VERSION;
+
 unsigned swresample_version(void)
 {
     av_assert0(LIBSWRESAMPLE_VERSION_MICRO >= 100);