mirror of https://github.com/FFmpeg/FFmpeg.git
Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>pull/51/head
parent
572965c9a6
commit
d6c5fd9f15
1 changed files with 121 additions and 0 deletions
@ -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 |
Loading…
Reference in new issue