|
@@ -0,0 +1,121 @@
|
|
|
+#!/bin/sh
|
|
|
+#
|
|
|
+# Copyright (c) 2012 James Almer
|
|
|
+# Copyright (c) 2013 Tiancheng "Timothy" Gu
|
|
|
+#
|
|
|
+# This file is part of FFmpeg.
|
|
|
+#
|
|
|
+# FFmpeg is free software; you can redistribute it and/or
|
|
|
+# modify it under the terms of the GNU Lesser General Public
|
|
|
+# License as published by the Free Software Foundation; either
|
|
|
+# version 2.1 of the License, or (at your option) any later version.
|
|
|
+#
|
|
|
+# FFmpeg is distributed in the hope that it will be useful,
|
|
|
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
+# See the GNU Lesser General Public License for more details.
|
|
|
+#
|
|
|
+# You should have received a copy of the GNU Lesser General Public License
|
|
|
+# along with FFmpeg; if not, write to the Free Software Foundation, Inc.,
|
|
|
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
+
|
|
|
+## Help
|
|
|
+die() {
|
|
|
+ cat <<EOF >&2
|
|
|
+This script is used to generate Windows resources file for the FFmpeg libraries.
|
|
|
+The output .rc file is to be compiled by windres(1). It is mainly useful for
|
|
|
+FFmpeg developers to tweak and regenerate all resources files at once.
|
|
|
+
|
|
|
+Usage: $0 <libname> <comment>
|
|
|
+
|
|
|
+The script will output the file to '<libname>/<libname-without-lib>res.rc'.
|
|
|
+
|
|
|
+Example: $0 libavcodec 'FFmpeg codecs library'
|
|
|
+EOF
|
|
|
+ exit 1
|
|
|
+}
|
|
|
+
|
|
|
+# Script to generate all:
|
|
|
+# (to remove prefix '# ' and add 'tools/' as prefix: sed -r 's/^.{2}/tools\//')
|
|
|
+# gen-rc libavutil "FFmpeg utility library"
|
|
|
+# gen-rc libavcodec "FFmpeg codec library"
|
|
|
+# gen-rc libavformat "FFmpeg container format library"
|
|
|
+# gen-rc libavdevice "FFmpeg device handling library"
|
|
|
+# gen-rc libavfilter "FFmpeg audio/video filtering library"
|
|
|
+# gen-rc libpostproc "FFmpeg postprocessing library"
|
|
|
+# gen-rc libavresample "Libav audio resampling library"
|
|
|
+# gen-rc libswscale "FFmpeg image rescaling library"
|
|
|
+# gen-rc libswresample "FFmpeg audio resampling library"
|
|
|
+
|
|
|
+## Sanity checks and argument parsing
|
|
|
+if test $# -lt 2 || test $# -gt 3; then
|
|
|
+ die
|
|
|
+fi
|
|
|
+
|
|
|
+name=$1
|
|
|
+shortname=${name#lib}
|
|
|
+comment=$2
|
|
|
+capname=`echo $name | awk '{print toupper($0)}'`
|
|
|
+version=${capname}_VERSION
|
|
|
+
|
|
|
+mkdir -p "$name"
|
|
|
+output="$name/${shortname}res.rc"
|
|
|
+
|
|
|
+## REAL magic
|
|
|
+cat <<EOF > $output
|
|
|
+/*
|
|
|
+ * Windows resource file for $name
|
|
|
+ *
|
|
|
+ * Copyright (C) 2012 James Almer
|
|
|
+ * Copyright (C) 2013 Tiancheng "Timothy" Gu
|
|
|
+ *
|
|
|
+ * This file is part of FFmpeg.
|
|
|
+ *
|
|
|
+ * FFmpeg is free software; you can redistribute it and/or
|
|
|
+ * modify it under the terms of the GNU Lesser General Public
|
|
|
+ * License as published by the Free Software Foundation; either
|
|
|
+ * version 2.1 of the License, or (at your option) any later version.
|
|
|
+ *
|
|
|
+ * FFmpeg is distributed in the hope that it will be useful,
|
|
|
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
+ * Lesser General Public License for more details.
|
|
|
+ *
|
|
|
+ * You should have received a copy of the GNU Lesser General Public
|
|
|
+ * License along with FFmpeg; if not, write to the Free Software
|
|
|
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
+ */
|
|
|
+
|
|
|
+#include <windows.h>
|
|
|
+#include "$name/version.h"
|
|
|
+#include "libavutil/ffversion.h"
|
|
|
+#include "config.h"
|
|
|
+
|
|
|
+1 VERSIONINFO
|
|
|
+FILEVERSION ${version}_MAJOR, ${version}_MINOR, ${version}_MICRO, 0
|
|
|
+PRODUCTVERSION ${version}_MAJOR, ${version}_MINOR, ${version}_MICRO, 0
|
|
|
+FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
|
|
+FILEOS VOS_NT_WINDOWS32
|
|
|
+FILETYPE VFT_DLL
|
|
|
+{
|
|
|
+ BLOCK "StringFileInfo"
|
|
|
+ {
|
|
|
+ BLOCK "040904B0"
|
|
|
+ {
|
|
|
+ VALUE "CompanyName", "FFmpeg Project"
|
|
|
+ VALUE "FileDescription", "$comment"
|
|
|
+ VALUE "FileVersion", AV_STRINGIFY($version)
|
|
|
+ VALUE "InternalName", "$name"
|
|
|
+ VALUE "LegalCopyright", "Copyright (C) 2000-" AV_STRINGIFY(CONFIG_THIS_YEAR) " FFmpeg Project"
|
|
|
+ VALUE "OriginalFilename", "$shortname" BUILDSUF "-" AV_STRINGIFY(${version}_MAJOR) SLIBSUF
|
|
|
+ VALUE "ProductName", "FFmpeg"
|
|
|
+ VALUE "ProductVersion", FFMPEG_VERSION
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ BLOCK "VarFileInfo"
|
|
|
+ {
|
|
|
+ VALUE "Translation", 0x0409, 0x04B0
|
|
|
+ }
|
|
|
+}
|
|
|
+EOF
|