#!/bin/sh _int_module="x264kMod" _glb_home=$(kread wrk_dir ${_config_}) _glb_cwd=$(pwd) _mod_conf=${_glb_home}/$(kread conf_${_int_module} ${_config_}) _mod_home=${_glb_home}/$(kread work_dir ${_mod_conf}) cd ${_mod_home} function x264kMod_default { echo "[X264KMOD] commands:" } function x264kMod_update_source { local _src=$(kread sources ${_mod_conf}) local _updater=$(kread update_source_script ${_config_}) ${_updater} ${_src} return $? } function x264kMod_update_work { local _src=$(kread sources ${_mod_conf}) [[ -d ./src ]] && rm -rf ./src cp -rfp ${_src} ./ mv "./$(basename $_src)" "./src" return $? } function x264kMod_test { return } function x264kMod_update_work_if_old { local _src_dir="$(kread sources ${_mod_conf})" local _dst_dir="${_mod_home}/src" [[ ! -d ${_src_dir} ]] && { wr_log "\"${_src_dir}\" not found..." return 1 } local _src_ver="$(get_src_ver ${_src_dir})" wr_log "SRC:[$_src_dir]" wr_log "SRC:[$_src_ver]" local _dst_ver="$(get_src_ver ${_dst_dir})" wr_log "DST:[$_dst_dir]" wr_log "DST:[$_dst_ver]" [[ ! "$_src_ver" = "$_dst_ver" ]] && { wr_log "Updating..." ${_int_module}_update_work return 0 } wr_log "Nothing to update." return $? } function x264kMod_cc_prepare { ${_int_module}_update_work cd src local p_dir="${_mod_home}/$(kread patch_dir ${_mod_conf})" local pp="$(kread patches ${_mod_conf})" for i in ${pp}; do local _p_=$(kread "p_$i" ${_mod_conf}) wr_log "Use patch: ${p_dir}/$_p_ ${dryrun}" [[ -r ${p_dir}/$_p_ ]] && { patch --dry-run -u -l -p 1 -f -i "${p_dir}/$_p_" >/dev/null if [[ $? -gt 0 ]]; then wr_log "Error while patching [${p_dir}/$_p_]... Exit." exit 1 else patch -u -l -p 1 -f -i "${p_dir}/$_p_" fi } done mv -f ./version.sh ./version.sh.original sed -e "s/kXXXk/kMod/" ./version.sh.original >./version.sh return $? } function x264kMod_cc_config { wr_log "[${_int_module}_cc_config] begin" [[ ! -d src ]] && ${_int_module}_cc_prepare cd src [[ -r config.mak ]] && make distclean _bits=${1:-"32"} source ${_my_dir_}/cc_set.sh local _cf="${_cf} -I${_idir} -Wno-deprecated-declarations" local _lf="${_lf} -L${_ldir}" local xOpt_config="" local xCross="" wr_log "[x264_cc_config] _bits=${_bits}; _prx=${_prx}; _idir=${_idir}; _ldir=${_ldir}; _cf=${_cf}; _lf=${_lf}; CC=${_CC}" CC=${_CC} \ ./configure \ --host=$(GetHOST ${_bits}) \ --enable-static \ --enable-strip \ ${xCross} \ --extra-cflags="${_cf}" \ --extra-ldflags="${_lf}" \ ${xOpt_config} wr_log "[${_int_module}_cc_config] done" return $? # --enable-debug \ } function x264kMod_cc_make { wr_log "[${_int_module}_cc_make] begin" cd src local _fp_="$(kread fprofile ${_mod_conf})" if [[ "x${_fp_}" = "x1" ]]; then local _fpv_="$(kread fvid ${_mod_conf})" make -j1 fprofiled VIDS="${_fpv_}" else make -j1 fi wr_log "[${_int_module}_cc_make] done" return $? } function x264kMod_cc_install { cd src [[ -f ./x264.exe ]] && { local _d=`grep 'X264_POINTVER' x264_config.h | cut -d ' ' -f 3 | cut -d '.' -f 3` local _b=`grep 'ARCH_X86_64' config.h | cut -d ' ' -f 3` if [[ "x${_b}" = "x1" ]]; then _b="x86_64" else _b="x86" fi _d="$(kread pub_dir ${_mod_conf})/x264.${_d}.${_b}.exe" echo "Publish to: ${_d}" cp -f ./x264.exe ${_d} } return $? } function x264kMod_cc_post_install { return $? } function x264kMod_cc_clean { wr_log "[${_int_module}_cc_clean] begin" [[ -d src ]] && { cd src [[ -r config.mak ]] && make distclean } wr_log "[${_int_module}_cc_clean] done" return $? }