On 30/03/14 10:49 AM, Vittorio Giovara wrote:
> From: Timothy Gu <timothyg...@gmail.com>
> 
> ---
> Anyone willing to test this on Windows would be welcome.
> Vittorio
> 
>  tools/gen-rc | 122 
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 122 insertions(+)
>  create mode 100755 tools/gen-rc
> 
> diff --git a/tools/gen-rc b/tools/gen-rc
> new file mode 100755
> index 0000000..269f2f6
> --- /dev/null
> +++ b/tools/gen-rc
> @@ -0,0 +1,122 @@
> +#!/bin/sh
> +#
> +# Copyright (c) 2012 James Almer
> +# Copyright (c) 2013 Tiancheng "Timothy" Gu
> +#
> +# This file is part of Libav.
> +#
> +# Libav 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.
> +#
> +# Libav 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 Libav; 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 Libav 
> libraries.
> +The output .rc file is to be compiled by windres(1). It is mainly useful for
> +Libav 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 'Libav 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     "Libav utility library"
> +# gen-rc libavcodec    "Libav codec library"
> +# gen-rc libavformat   "Libav container format library"
> +# gen-rc libavdevice   "Libav device handling library"
> +# gen-rc libavfilter   "Libav audio/video filtering library"
> +# gen-rc libavresample "Libav audio resampling library"
> +# gen-rc libswscale    "Libav image rescaling 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 Libav.
> + *
> + * Libav 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.
> + *
> + * Libav 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 Libav; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 
> USA
> + */
> +
> +#include "config.h"
> +
> +#include <windows.h>
> +
> +#include "libavutil/version.h"
> +
> +#include "$name/version.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",      "Libav Project"
> +            VALUE "FileDescription",  "$comment"
> +            VALUE "FileVersion",      AV_STRINGIFY($version)
> +            VALUE "InternalName",     "$name"
> +            VALUE "LegalCopyright",   "Copyright (C) 2000-" 
> AV_STRINGIFY(CONFIG_THIS_YEAR) " Libav Project"

This will fail because the commit adding CONFIG_THIS_YEAR is not in the tree.
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to