Commit b34fc6df authored by Anika Treffehn's avatar Anika Treffehn
Browse files

Merge branch 'script_patch_delivery' into 'main'

script for patching headers for delivered code, to remove the IVAS PC header...

See merge request !1020
parents 342bda7a 4cf02595
Loading
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@
#   the United Nations Convention on Contracts on the International Sales of Goods.
#

options=$1
WORKDIR=..
OBJDIR=obj

@@ -65,7 +64,7 @@ while getopts ":ftnhd:" OPT; do
done

if [ $help -ne 0 ]; then
    echo "Usage: $0 [-ftn]"
    echo "Usage: $0 [-dftn]"
    echo " where"
    echo "       -d <dir>: set C-code dir (default: ${WORKDIR})"
    echo "       -f: functions only"
+155 −0
Original line number Diff line number Diff line
#!/bin/bash

#
#   (C) 2022-2023 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
#   Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
#   Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
#   Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
#   contributors to this repository. All Rights Reserved.
#
#   This software is protected by copyright law and by international treaties.
#   The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
#   Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
#   Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
#   Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
#   contributors to this repository retain full ownership rights in their respective contributions in
#   the software. This notice grants no license of any kind, including but not limited to patent
#   license, nor is any license granted by implication, estoppel or otherwise.
#
#   Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
#   contributions.
#
#   This software is provided "AS IS", without any express or implied warranties. The software is in the
#   development stage. It is intended exclusively for experts who have experience with such software and
#   solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
#   and fitness for a particular purpose are hereby disclaimed and excluded.
#
#   Any dispute, controversy or claim arising under or in relation to providing this software shall be
#   submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
#   accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
#   the United Nations Convention on Contracts on the International Sales of Goods.
#

WORKDIR=c-code

help=0

while getopts ":hd:" OPT; do
  case "$OPT" in
    d)
       WORKDIR=$(realpath -s "${OPTARG}")
       ;;
    h)
       help=1
       ;;
    *) # getopts produces error
       exit 1
       ;;
  esac
done

if [ $help -ne 0 ]; then
    echo "Usage: $0 [-dh]"
    echo " where"
    echo "       -d <dir>: set C-code dir (default: ${WORKDIR})"
    exit 0
fi


#
# C-Code
#

c_header_new=\
'/*====================================================================================
    3GPP TS26.258 Aug 24, 2023. IVAS Codec Version IVAS-FL-1.0
  ====================================================================================*/'


####
c_header_patch=\
'@@ -1,31 +1,0 @@
-/******************************************************************************************************
-
-   (C) 2022-2023 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
-   Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
-   Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
-   Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
-   contributors to this repository. All Rights Reserved.
-
-   This software is protected by copyright law and by international treaties.
-   The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
-   Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
-   Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
-   Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
-   contributors to this repository retain full ownership rights in their respective contributions in
-   the software. This notice grants no license of any kind, including but not limited to patent
-   license, nor is any license granted by implication, estoppel or otherwise.
-
-   Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
-   contributions.
-
-   This software is provided "AS IS", without any express or implied warranties. The software is in the
-   development stage. It is intended exclusively for experts who have experience with such software and
-   solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
-   and fitness for a particular purpose are hereby disclaimed and excluded.
-
-   Any dispute, controversy or claim arising under or in relation to providing this software shall be
-   submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
-   accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
-   the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
'

#
# Patch *.[ch]-files by means of a generalized patch
#

#tmpfile=test.txt
#rm -f $tmpfile
#touch $tmpfile
#echo "$c_header_patch" >> $tmpfile
#find $WORKDIR -name "*.[ch]" -not -name "wmc_auto.[ch]" -exec patch -i $tmpfile \{\} \;
#rm -f $tmpfile

#
# Alternative approach (currently disabled):
# Strip everying between beginning and ending of block
#

find $WORKDIR -name "*.[ch]" -not -name "wmc_auto.[ch]" -exec sed -i.bak -e "1,/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\//d" \{\} \;
sed -i.bak -e "1,/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\//d" $WORKDIR/readme.txt

# or
#
# find $WORKDIR -name "*.[ch]" -not -name "wmc_auto.[ch]" -exec sed -i.bak -e "/^\/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/,/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\//d" \{\} \;
#

# add new header
tmpfile=`mktemp`
rm -f $tmpfile
touch $tmpfile
echo "$c_header_new" >> $tmpfile
find $WORKDIR -name "*.[ch]" -exec sed -i.bak -e "1 e cat $tmpfile" \{\} \;
sed -i.bak -e "1 e cat $tmpfile" $WORKDIR/readme.txt
rm -f $tmpfile

#
# Patch Printout
#

sed -i.bak -e "s/IVAS\ Codec\ Baseline/IVAS\ Codec\ Version\ IVAS-FL-1\.0/g" $WORKDIR/lib_com/disclaimer.c


#
# Remove License file
#

rm $WORKDIR/LICENSE.md

#
# Cleanup
#
find $WORKDIR -name "*.bak" -exec rm \{\} \;