Signed-off-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
		
			
				
	
	
		
			122 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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
 |