Loading scripts/makefile_noSR.patch 0 → 100644 +85 −0 Original line number Diff line number Diff line --- Makefile 2023-08-11 21:40:55.974878000 +0200 +++ Makefile_patched 2023-08-11 21:43:18.230151000 +0200 @@ -6,13 +6,12 @@ SRC_LIBDEC = lib_dec SRC_LIBENC = lib_enc SRC_LIBREND = lib_rend -SRC_LC3PLUS = lc3plus lc3plus/fft SRC_LIBUTIL = lib_util SRC_APP = apps BUILD = build OBJDIR = obj -SRC_DIRS = $(sort -u $(SRC_LIBCOM) $(SRC_LIBDEBUG) $(SRC_LIBDEC) $(SRC_LIBENC) $(SRC_LIBREND) $(SRC_LC3PLUS) $(SRC_LIBUTIL) $(SRC_APP)) +SRC_DIRS = $(sort -u $(SRC_LIBCOM) $(SRC_LIBDEBUG) $(SRC_LIBDEC) $(SRC_LIBENC) $(SRC_LIBREND) $(SRC_LIBUTIL) $(SRC_APP)) # Name of CLI binaries CLI_APIDEC ?= IVAS_dec @@ -23,7 +22,6 @@ LIB_LIBDEC ?= libivasdec.a LIB_LIBENC ?= libivasenc.a LIB_LIBREND ?= libivasrend.a -LIB_LC3PLUS ?= liblc3plus.a LIB_LIBUTIL ?= libivasutil.a # Default tool settings @@ -124,7 +122,6 @@ SRCS_LIBDEC = $(foreach DIR,$(SRC_LIBDEC),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) SRCS_LIBENC = $(foreach DIR,$(SRC_LIBENC),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) SRCS_LIBREND = $(foreach DIR,$(SRC_LIBREND),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) -SRCS_LC3PLUS = $(foreach DIR,$(SRC_LC3PLUS),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) SRCS_LIBUTIL = $(foreach DIR,$(SRC_LIBUTIL),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) OBJS_LIBCOM = $(addprefix $(OBJDIR)/,$(SRCS_LIBCOM:.c=.o)) @@ -132,14 +129,13 @@ OBJS_LIBDEC = $(addprefix $(OBJDIR)/,$(SRCS_LIBDEC:.c=.o)) OBJS_LIBENC = $(addprefix $(OBJDIR)/,$(SRCS_LIBENC:.c=.o)) OBJS_LIBREND = $(addprefix $(OBJDIR)/,$(SRCS_LIBREND:.c=.o)) -OBJS_LC3PLUS = $(addprefix $(OBJDIR)/,$(SRCS_LC3PLUS:.c=.o)) OBJS_LIBUTIL = $(addprefix $(OBJDIR)/,$(SRCS_LIBUTIL:.c=.o)) OBJS_CLI_APIDEC = $(OBJDIR)/decoder.o OBJS_CLI_APIENC = $(OBJDIR)/encoder.o OBJS_CLI_APPREND = $(OBJDIR)/renderer.o DEPS = $(addprefix $(OBJDIR)/,$(SRCS_LIBCOM:.c=.P) $(SRCS_LIBDEBUG:.c=.P) $(SRCS_LIBDEC:.c=.P) \ - $(SRCS_LIBENC:.c=.P) $(SRCS_LIBUTIL:.c=.P) $(SRCS_LIBREND:.c=.P) $(SRCS_LC3PLUS:.c=.P)) + $(SRCS_LIBENC:.c=.P) $(SRCS_LIBUTIL:.c=.P) $(SRCS_LIBREND:.c=.P)) ############################################################################### @@ -165,28 +161,25 @@ $(LIB_LIBREND): $(OBJS_LIBREND) $(QUIET_AR)$(AR) rcs $@ $^ -$(LIB_LC3PLUS): $(OBJS_LC3PLUS) - $(QUIET_AR)$(AR) rcs $@ $^ - $(LIB_LIBUTIL): $(OBJS_LIBUTIL) $(QUIET_AR)$(AR) rcs $@ $^ -$(CLI_APIENC): $(OBJS_CLI_APIENC) $(LIB_LIBENC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LC3PLUS) +$(CLI_APIENC): $(OBJS_CLI_APIENC) $(LIB_LIBENC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIENC) -L. -livasenc -livascom -livasutil -livasdebug $(LDLIBS) -o $(CLI_APIENC) -$(CLI_APIDEC): $(OBJS_CLI_APIDEC) $(LIB_LIBDEC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LC3PLUS) - $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIDEC) -L. -livasdec -livascom -livasutil -livasdebug -llc3plus $(LDLIBS) -o $(CLI_APIDEC) +$(CLI_APIDEC): $(OBJS_CLI_APIDEC) $(LIB_LIBDEC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) + $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIDEC) -L. -livasdec -livascom -livasutil -livasdebug $(LDLIBS) -o $(CLI_APIDEC) -$(CLI_APIREND): $(OBJS_CLI_APPREND) $(LIB_LIBREND) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LIBDEC) $(LIB_LC3PLUS) - $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APPREND) -L. -livasrend -livasdec -livasutil -livasdebug -livascom -llc3plus $(LDLIBS) -o $(CLI_APIREND) +$(CLI_APIREND): $(OBJS_CLI_APPREND) $(LIB_LIBREND) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LIBDEC) + $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APPREND) -L. -livasrend -livasdec -livasutil -livasdebug -livascom $(LDLIBS) -o $(CLI_APIREND) -libs: $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBREND) $(LIB_LC3PLUS) $(LIB_LIBUTIL) +libs: $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBREND) $(LIB_LIBUTIL) clean: $(QUIET)$(RM) $(OBJS_LIBENC) $(OBJS_LIBDEC) $(DEPS) $(QUIET)$(RM) $(DEPS:.P=.d) $(QUIET)test ! -d $(OBJDIR) || rm -rf $(OBJDIR) - $(QUIET)$(RM) $(CLI_APIENC) $(CLI_APIDEC) $(CLI_APIREND) $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBUTIL) $(LIB_LIBREND) $(LIB_LC3PLUS) + $(QUIET)$(RM) $(CLI_APIENC) $(CLI_APIDEC) $(CLI_APIREND) $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBUTIL) $(LIB_LIBREND) $(OBJDIR)/%.o : %.c | $(OBJDIR) $(QUIET_CC)$(CC) $(CFLAGS) -c -MD -o $@ $< scripts/prepare_delivery.sh +201 −2 Original line number Diff line number Diff line Loading @@ -35,14 +35,48 @@ DATE=`eval date +%Y_%m_%d` OUTDIR=c-code TMPCLEANDIR=clean-c-code ROOT=$(dirname $0)/.. STRIP_SPLITREND=0 # check, whether coan exists coan_exists () { type coan &> /dev/null ; # return false } ########################## # # # Start, Commandline # # # ########################## ALL_OPTS=":h-:" while getopts "$ALL_OPTS" OPTION; do case "${OPTION}" in -) case "${OPTARG}" in strip_sr) STRIP_SPLITREND=1 ;; *) if [ "$OPTERR" = 1 ] && [ "${ALL_OPTS:0:1}" != ":" ]; then echo "Unknown option --${OPTARG}" >&2 fi ;; esac;; h) echo "usage: $0 [--strip_sr]" >&2 exit -1 ;; *) if [ "$OPTERR" != 1 ] || [ "${ALLOPTS:0:1}" = ":" ]; then echo "Unknown argument: '-${OPTARG}'" >&2 fi ;; esac done ########################## # # # Prepare dirs and copy # Loading Loading @@ -79,6 +113,124 @@ rm -f ${OUTDIR}/Workspace_msvc/lib_debug.vcxproj.bak cp ${ROOT}/readme.txt ${OUTDIR} recode lat1..ibmpc ${OUTDIR}/readme.txt # unix2dos ... # LICENSE.md cp ${ROOT}/LICENSE.md ${OUTDIR} recode lat1..ibmpc ${OUTDIR}/LICENSE.md # unix2dos ... # include .clang_format, since this is a VS dependency cp ${ROOT}/.clang-format ${OUTDIR} ########################## # # # Strip Split Rendering # # # ########################## if [ $STRIP_SPLITREND -ne 0 ]; then echo "Stripping Split Rendering" # remove complete lc3plus folder rm -R $OUTDIR/lc3plus # remove other split rendering files declare -a sr_files_rend=( "lib_rend/ivas_CQMFDecoder.c" "lib_rend/ivas_CQMFDecoder.h" "lib_rend/ivas_CQMFEncoder.c" "lib_rend/ivas_CQMFEncoder.h" "lib_rend/ivas_MSPred.c" "lib_rend/ivas_MSPred.h" "lib_rend/ivas_NoiseGen.c" "lib_rend/ivas_NoiseGen.h" "lib_rend/ivas_PerceptualModel.c" "lib_rend/ivas_PerceptualModel.h" "lib_rend/ivas_PredDecoder.c" "lib_rend/ivas_PredDecoder.h" "lib_rend/ivas_PredEncoder.c" "lib_rend/ivas_PredEncoder.h" "lib_rend/ivas_PredTables.h" "lib_rend/ivas_RMSEnvGrouping.c" "lib_rend/ivas_RMSEnvGrouping.h" "lib_rend/ivas_cldfb_codec_bitstream.c" "lib_rend/ivas_cldfb_codec_bitstream.h" "lib_rend/ivas_lc3plus_common.c" "lib_rend/ivas_lc3plus_common.h" "lib_rend/ivas_lc3plus_dec.c" "lib_rend/ivas_lc3plus_dec.h" "lib_rend/ivas_lc3plus_enc.c" "lib_rend/ivas_lc3plus_enc.h" "lib_rend/ivas_lcld_tables.c" "lib_rend/ivas_lcld_tables.h" "lib_rend/ivas_splitRend_lcld_dec.c" "lib_rend/ivas_splitRend_lcld_enc.c" "lib_rend/ivas_splitRendererPLC.c" "lib_rend/ivas_splitRendererPost.c" "lib_rend/ivas_splitRendererPre.c" "lib_rend/ivas_splitRenderer_utils.c" ) for file in ${sr_files_rend[@]}; do rm $OUTDIR/$file file_windows=${file//\//'\\'} sed -i.bak -e "/${file_windows}/d" ${OUTDIR}/Workspace_msvc/lib_rend.vcxproj done declare -a sr_files_util=( "lib_util/split_rend_bfi_file_reader.c" "lib_util/split_rend_bfi_file_reader.h" "lib_util/split_render_file_read_write.c" "lib_util/split_render_file_read_write.h" ) for file in ${sr_files_util[@]}; do rm $OUTDIR/$file file_windows=${file//\//'\\'} sed -i.bak -e "/${file_windows}/d" ${OUTDIR}/Workspace_msvc/lib_util.vcxproj done # strip macros declare -a sr_macros=( "SPLIT_REND_WITH_HEAD_ROT" "SPLIT_REND_PRED_QUANT_63_PNTS" "SPLIT_REND_WITH_HEAD_ROT_PARAMBIN" "FIX_658_SPLIT_REND_MASA" "FIX_658_SPLIT_REND_MASA" "OSBA_SPLIT_RENDERING" ) if coan_exists; then for macro in ${sr_macros[@]}; do coan source --replace --no-transients -K -U${macro} $OUTDIR/lib_{com,dec,enc,util,rend}/*.[hc] coan source --replace --no-transients -K -U${macro} $OUTDIR/apps/*.[hc] sed -i.bak "/#define\ *$macro/d" $OUTDIR/lib_com/options.h done else echo "Coan required in path; Aborting. Available at https://coan2.sourceforge.net/" exit -1 fi # patch Makefile patch ${OUTDIR}/Makefile < ${ROOT}/scripts/makefile_noSR.patch # delete project file rm ${OUTDIR}/Workspace_msvc/LC3plus.vcxproj # patch project/solution files sed -i.bak "/LC3plus.vcxproj/,+1d" ${OUTDIR}/Workspace_msvc/Workspace_msvc.sln find ${OUTDIR}/Workspace_msvc -name "*.vcxproj" -exec sed -i.bak -e "s/..\\lc3plus\;//g" \{\} \; sed -i.bak "/LC3plus.vcxproj/,+3d" ${OUTDIR}/Workspace_msvc/lib_rend.vcxproj # patch dependency # clean-up *.bak-files find $OUTDIR -name "*.bak" -exec rm \{\} \; fi ########################## # # Loading Loading @@ -189,9 +341,15 @@ if coan_exists; then echo "-UDEBUG_SPAR_DIRAC_WRITE_OUT_PRED_PAR" >> $COAN_LIST echo "-UDEBUG_AGC" >> $COAN_LIST echo "-USPAR_HOA_DBG" >> $COAN_LIST echo "-UDEBUG_OSBA" >> $COAN_LIST echo "-UDEBUG_BINAURAL_FILTER_DESIGN" >> $COAN_LIST echo "-UDEBUG_AGC_ENCODER_CMD_OPTION" >> $COAN_LIST echo "-UDEBUG_JBM_CMD_OPTION" >> $COAN_LIST echo "-UVARIABLE_SPEED_DECODING" >> $COAN_LIST echo "-UDBG_WAV_WRITER" >> $COAN_LIST echo "-USPLIT_REND_WITH_HEAD_ROT_DEBUG" >> $COAN_LIST echo "-USPLIT_POSE_CORRECTION_DEBUG" >> $COAN_LIST echo "-USPLIT_MD_CODING_DEBUG" >> $COAN_LIST # apply coan coan source --replace --no-transients -K --file $COAN_LIST $OUTDIR/lib_{com,dec,enc,util,rend}/*.[hc] Loading @@ -217,6 +375,47 @@ else fi ########################## # # # CR Switches for 1st # # delivery # # # ########################## # rename switches from CR_ to NONBE_ tmpfile=`mktemp` rm -f $tmpfile touch $tmpfile cat $OUTDIR/lib_com/options.h | sed -n '/Start NON-BE CR switches/,/End NON-BE CR switches/p' >> $tmpfile sed -i.bak "s/^-D//g" $tmpfile nonbe_list=nonbe_list_delivery.txt rm -f $nonbe_list touch $nonbe_list ${ROOT}/scripts/parse_options_h.sh -c $tmpfile >> $nonbe_list # rename switches while read line do macro=`echo $line | grep '\-D' | sed -e "s/\-D//g"` if [[ ! $macro =~ [^[:space:]] ]] ; then continue fi macro_new=${macro/CR_/NONBE_} find $OUTDIR -name "*.[ch]" -exec sed -i.bak -e "s/${macro}/${macro_new}/g" \{\} \; done < $nonbe_list rm -f $nonbe_list rm -f $tmpfile sed -i.bak -e "s/NON-BE CR switches/NON-BE switches/g" $OUTDIR/lib_com/options.h sed -i.bak -e "/all switches in this category should start with \"CR_\"/d" $OUTDIR/lib_com/options.h ########################## # # # Patch code # Loading Loading
scripts/makefile_noSR.patch 0 → 100644 +85 −0 Original line number Diff line number Diff line --- Makefile 2023-08-11 21:40:55.974878000 +0200 +++ Makefile_patched 2023-08-11 21:43:18.230151000 +0200 @@ -6,13 +6,12 @@ SRC_LIBDEC = lib_dec SRC_LIBENC = lib_enc SRC_LIBREND = lib_rend -SRC_LC3PLUS = lc3plus lc3plus/fft SRC_LIBUTIL = lib_util SRC_APP = apps BUILD = build OBJDIR = obj -SRC_DIRS = $(sort -u $(SRC_LIBCOM) $(SRC_LIBDEBUG) $(SRC_LIBDEC) $(SRC_LIBENC) $(SRC_LIBREND) $(SRC_LC3PLUS) $(SRC_LIBUTIL) $(SRC_APP)) +SRC_DIRS = $(sort -u $(SRC_LIBCOM) $(SRC_LIBDEBUG) $(SRC_LIBDEC) $(SRC_LIBENC) $(SRC_LIBREND) $(SRC_LIBUTIL) $(SRC_APP)) # Name of CLI binaries CLI_APIDEC ?= IVAS_dec @@ -23,7 +22,6 @@ LIB_LIBDEC ?= libivasdec.a LIB_LIBENC ?= libivasenc.a LIB_LIBREND ?= libivasrend.a -LIB_LC3PLUS ?= liblc3plus.a LIB_LIBUTIL ?= libivasutil.a # Default tool settings @@ -124,7 +122,6 @@ SRCS_LIBDEC = $(foreach DIR,$(SRC_LIBDEC),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) SRCS_LIBENC = $(foreach DIR,$(SRC_LIBENC),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) SRCS_LIBREND = $(foreach DIR,$(SRC_LIBREND),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) -SRCS_LC3PLUS = $(foreach DIR,$(SRC_LC3PLUS),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) SRCS_LIBUTIL = $(foreach DIR,$(SRC_LIBUTIL),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) OBJS_LIBCOM = $(addprefix $(OBJDIR)/,$(SRCS_LIBCOM:.c=.o)) @@ -132,14 +129,13 @@ OBJS_LIBDEC = $(addprefix $(OBJDIR)/,$(SRCS_LIBDEC:.c=.o)) OBJS_LIBENC = $(addprefix $(OBJDIR)/,$(SRCS_LIBENC:.c=.o)) OBJS_LIBREND = $(addprefix $(OBJDIR)/,$(SRCS_LIBREND:.c=.o)) -OBJS_LC3PLUS = $(addprefix $(OBJDIR)/,$(SRCS_LC3PLUS:.c=.o)) OBJS_LIBUTIL = $(addprefix $(OBJDIR)/,$(SRCS_LIBUTIL:.c=.o)) OBJS_CLI_APIDEC = $(OBJDIR)/decoder.o OBJS_CLI_APIENC = $(OBJDIR)/encoder.o OBJS_CLI_APPREND = $(OBJDIR)/renderer.o DEPS = $(addprefix $(OBJDIR)/,$(SRCS_LIBCOM:.c=.P) $(SRCS_LIBDEBUG:.c=.P) $(SRCS_LIBDEC:.c=.P) \ - $(SRCS_LIBENC:.c=.P) $(SRCS_LIBUTIL:.c=.P) $(SRCS_LIBREND:.c=.P) $(SRCS_LC3PLUS:.c=.P)) + $(SRCS_LIBENC:.c=.P) $(SRCS_LIBUTIL:.c=.P) $(SRCS_LIBREND:.c=.P)) ############################################################################### @@ -165,28 +161,25 @@ $(LIB_LIBREND): $(OBJS_LIBREND) $(QUIET_AR)$(AR) rcs $@ $^ -$(LIB_LC3PLUS): $(OBJS_LC3PLUS) - $(QUIET_AR)$(AR) rcs $@ $^ - $(LIB_LIBUTIL): $(OBJS_LIBUTIL) $(QUIET_AR)$(AR) rcs $@ $^ -$(CLI_APIENC): $(OBJS_CLI_APIENC) $(LIB_LIBENC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LC3PLUS) +$(CLI_APIENC): $(OBJS_CLI_APIENC) $(LIB_LIBENC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIENC) -L. -livasenc -livascom -livasutil -livasdebug $(LDLIBS) -o $(CLI_APIENC) -$(CLI_APIDEC): $(OBJS_CLI_APIDEC) $(LIB_LIBDEC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LC3PLUS) - $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIDEC) -L. -livasdec -livascom -livasutil -livasdebug -llc3plus $(LDLIBS) -o $(CLI_APIDEC) +$(CLI_APIDEC): $(OBJS_CLI_APIDEC) $(LIB_LIBDEC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) + $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APIDEC) -L. -livasdec -livascom -livasutil -livasdebug $(LDLIBS) -o $(CLI_APIDEC) -$(CLI_APIREND): $(OBJS_CLI_APPREND) $(LIB_LIBREND) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LIBDEC) $(LIB_LC3PLUS) - $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APPREND) -L. -livasrend -livasdec -livasutil -livasdebug -livascom -llc3plus $(LDLIBS) -o $(CLI_APIREND) +$(CLI_APIREND): $(OBJS_CLI_APPREND) $(LIB_LIBREND) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LIBDEC) + $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APPREND) -L. -livasrend -livasdec -livasutil -livasdebug -livascom $(LDLIBS) -o $(CLI_APIREND) -libs: $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBREND) $(LIB_LC3PLUS) $(LIB_LIBUTIL) +libs: $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBREND) $(LIB_LIBUTIL) clean: $(QUIET)$(RM) $(OBJS_LIBENC) $(OBJS_LIBDEC) $(DEPS) $(QUIET)$(RM) $(DEPS:.P=.d) $(QUIET)test ! -d $(OBJDIR) || rm -rf $(OBJDIR) - $(QUIET)$(RM) $(CLI_APIENC) $(CLI_APIDEC) $(CLI_APIREND) $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBUTIL) $(LIB_LIBREND) $(LIB_LC3PLUS) + $(QUIET)$(RM) $(CLI_APIENC) $(CLI_APIDEC) $(CLI_APIREND) $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBUTIL) $(LIB_LIBREND) $(OBJDIR)/%.o : %.c | $(OBJDIR) $(QUIET_CC)$(CC) $(CFLAGS) -c -MD -o $@ $<
scripts/prepare_delivery.sh +201 −2 Original line number Diff line number Diff line Loading @@ -35,14 +35,48 @@ DATE=`eval date +%Y_%m_%d` OUTDIR=c-code TMPCLEANDIR=clean-c-code ROOT=$(dirname $0)/.. STRIP_SPLITREND=0 # check, whether coan exists coan_exists () { type coan &> /dev/null ; # return false } ########################## # # # Start, Commandline # # # ########################## ALL_OPTS=":h-:" while getopts "$ALL_OPTS" OPTION; do case "${OPTION}" in -) case "${OPTARG}" in strip_sr) STRIP_SPLITREND=1 ;; *) if [ "$OPTERR" = 1 ] && [ "${ALL_OPTS:0:1}" != ":" ]; then echo "Unknown option --${OPTARG}" >&2 fi ;; esac;; h) echo "usage: $0 [--strip_sr]" >&2 exit -1 ;; *) if [ "$OPTERR" != 1 ] || [ "${ALLOPTS:0:1}" = ":" ]; then echo "Unknown argument: '-${OPTARG}'" >&2 fi ;; esac done ########################## # # # Prepare dirs and copy # Loading Loading @@ -79,6 +113,124 @@ rm -f ${OUTDIR}/Workspace_msvc/lib_debug.vcxproj.bak cp ${ROOT}/readme.txt ${OUTDIR} recode lat1..ibmpc ${OUTDIR}/readme.txt # unix2dos ... # LICENSE.md cp ${ROOT}/LICENSE.md ${OUTDIR} recode lat1..ibmpc ${OUTDIR}/LICENSE.md # unix2dos ... # include .clang_format, since this is a VS dependency cp ${ROOT}/.clang-format ${OUTDIR} ########################## # # # Strip Split Rendering # # # ########################## if [ $STRIP_SPLITREND -ne 0 ]; then echo "Stripping Split Rendering" # remove complete lc3plus folder rm -R $OUTDIR/lc3plus # remove other split rendering files declare -a sr_files_rend=( "lib_rend/ivas_CQMFDecoder.c" "lib_rend/ivas_CQMFDecoder.h" "lib_rend/ivas_CQMFEncoder.c" "lib_rend/ivas_CQMFEncoder.h" "lib_rend/ivas_MSPred.c" "lib_rend/ivas_MSPred.h" "lib_rend/ivas_NoiseGen.c" "lib_rend/ivas_NoiseGen.h" "lib_rend/ivas_PerceptualModel.c" "lib_rend/ivas_PerceptualModel.h" "lib_rend/ivas_PredDecoder.c" "lib_rend/ivas_PredDecoder.h" "lib_rend/ivas_PredEncoder.c" "lib_rend/ivas_PredEncoder.h" "lib_rend/ivas_PredTables.h" "lib_rend/ivas_RMSEnvGrouping.c" "lib_rend/ivas_RMSEnvGrouping.h" "lib_rend/ivas_cldfb_codec_bitstream.c" "lib_rend/ivas_cldfb_codec_bitstream.h" "lib_rend/ivas_lc3plus_common.c" "lib_rend/ivas_lc3plus_common.h" "lib_rend/ivas_lc3plus_dec.c" "lib_rend/ivas_lc3plus_dec.h" "lib_rend/ivas_lc3plus_enc.c" "lib_rend/ivas_lc3plus_enc.h" "lib_rend/ivas_lcld_tables.c" "lib_rend/ivas_lcld_tables.h" "lib_rend/ivas_splitRend_lcld_dec.c" "lib_rend/ivas_splitRend_lcld_enc.c" "lib_rend/ivas_splitRendererPLC.c" "lib_rend/ivas_splitRendererPost.c" "lib_rend/ivas_splitRendererPre.c" "lib_rend/ivas_splitRenderer_utils.c" ) for file in ${sr_files_rend[@]}; do rm $OUTDIR/$file file_windows=${file//\//'\\'} sed -i.bak -e "/${file_windows}/d" ${OUTDIR}/Workspace_msvc/lib_rend.vcxproj done declare -a sr_files_util=( "lib_util/split_rend_bfi_file_reader.c" "lib_util/split_rend_bfi_file_reader.h" "lib_util/split_render_file_read_write.c" "lib_util/split_render_file_read_write.h" ) for file in ${sr_files_util[@]}; do rm $OUTDIR/$file file_windows=${file//\//'\\'} sed -i.bak -e "/${file_windows}/d" ${OUTDIR}/Workspace_msvc/lib_util.vcxproj done # strip macros declare -a sr_macros=( "SPLIT_REND_WITH_HEAD_ROT" "SPLIT_REND_PRED_QUANT_63_PNTS" "SPLIT_REND_WITH_HEAD_ROT_PARAMBIN" "FIX_658_SPLIT_REND_MASA" "FIX_658_SPLIT_REND_MASA" "OSBA_SPLIT_RENDERING" ) if coan_exists; then for macro in ${sr_macros[@]}; do coan source --replace --no-transients -K -U${macro} $OUTDIR/lib_{com,dec,enc,util,rend}/*.[hc] coan source --replace --no-transients -K -U${macro} $OUTDIR/apps/*.[hc] sed -i.bak "/#define\ *$macro/d" $OUTDIR/lib_com/options.h done else echo "Coan required in path; Aborting. Available at https://coan2.sourceforge.net/" exit -1 fi # patch Makefile patch ${OUTDIR}/Makefile < ${ROOT}/scripts/makefile_noSR.patch # delete project file rm ${OUTDIR}/Workspace_msvc/LC3plus.vcxproj # patch project/solution files sed -i.bak "/LC3plus.vcxproj/,+1d" ${OUTDIR}/Workspace_msvc/Workspace_msvc.sln find ${OUTDIR}/Workspace_msvc -name "*.vcxproj" -exec sed -i.bak -e "s/..\\lc3plus\;//g" \{\} \; sed -i.bak "/LC3plus.vcxproj/,+3d" ${OUTDIR}/Workspace_msvc/lib_rend.vcxproj # patch dependency # clean-up *.bak-files find $OUTDIR -name "*.bak" -exec rm \{\} \; fi ########################## # # Loading Loading @@ -189,9 +341,15 @@ if coan_exists; then echo "-UDEBUG_SPAR_DIRAC_WRITE_OUT_PRED_PAR" >> $COAN_LIST echo "-UDEBUG_AGC" >> $COAN_LIST echo "-USPAR_HOA_DBG" >> $COAN_LIST echo "-UDEBUG_OSBA" >> $COAN_LIST echo "-UDEBUG_BINAURAL_FILTER_DESIGN" >> $COAN_LIST echo "-UDEBUG_AGC_ENCODER_CMD_OPTION" >> $COAN_LIST echo "-UDEBUG_JBM_CMD_OPTION" >> $COAN_LIST echo "-UVARIABLE_SPEED_DECODING" >> $COAN_LIST echo "-UDBG_WAV_WRITER" >> $COAN_LIST echo "-USPLIT_REND_WITH_HEAD_ROT_DEBUG" >> $COAN_LIST echo "-USPLIT_POSE_CORRECTION_DEBUG" >> $COAN_LIST echo "-USPLIT_MD_CODING_DEBUG" >> $COAN_LIST # apply coan coan source --replace --no-transients -K --file $COAN_LIST $OUTDIR/lib_{com,dec,enc,util,rend}/*.[hc] Loading @@ -217,6 +375,47 @@ else fi ########################## # # # CR Switches for 1st # # delivery # # # ########################## # rename switches from CR_ to NONBE_ tmpfile=`mktemp` rm -f $tmpfile touch $tmpfile cat $OUTDIR/lib_com/options.h | sed -n '/Start NON-BE CR switches/,/End NON-BE CR switches/p' >> $tmpfile sed -i.bak "s/^-D//g" $tmpfile nonbe_list=nonbe_list_delivery.txt rm -f $nonbe_list touch $nonbe_list ${ROOT}/scripts/parse_options_h.sh -c $tmpfile >> $nonbe_list # rename switches while read line do macro=`echo $line | grep '\-D' | sed -e "s/\-D//g"` if [[ ! $macro =~ [^[:space:]] ]] ; then continue fi macro_new=${macro/CR_/NONBE_} find $OUTDIR -name "*.[ch]" -exec sed -i.bak -e "s/${macro}/${macro_new}/g" \{\} \; done < $nonbe_list rm -f $nonbe_list rm -f $tmpfile sed -i.bak -e "s/NON-BE CR switches/NON-BE switches/g" $OUTDIR/lib_com/options.h sed -i.bak -e "/all switches in this category should start with \"CR_\"/d" $OUTDIR/lib_com/options.h ########################## # # # Patch code # Loading