#!/bin/sh _int_module="lsmash" _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 lsmash_default { echo "[GPAC] commands:" } function lsmash_update_source { local _src=$(kread sources ${_mod_conf}) local _updater=$(kread update_source_script ${_config_}) ${_updater} ${_src} return $? } function lsmash_update_work { local _src=$(kread sources ${_mod_conf}) [[ -d ./src ]] && rm -rf ./src cp -rfp ${_src} ./ mv "./$(basename $_src)" "./src" return $? } function lsmash_test { return } function lsmash_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 lsmash_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 return $? } function lsmash_cc_config { wr_log "[${_int_module}_cc_config] begin" cd src [[ -r config.mak ]] && make distclean _bits=${1:-"32"} source ${_my_dir_}/cc_set.sh local _gcpu="i686" local _cross="" [[ "x${_bits}" = "x64" ]] && { _gcpu="x86_64"; } wr_log "[${_int_module}_cc_config] _bits=${_bits}; _prx=${_prx}; _idir=${_idir}; _ldir=${_ldir}; _cf=${_cf}; _lf=${_lf}" ./configure \ --prefix="${_prx}" \ --cc="${_CC}" \ --extra-cflags="${_cf}" wr_log "[${_int_module}_cc_config] done" return $? } function lsmash_cc_make { wr_log "[${_int_module}_cc_make] begin" cd src make -j1 lib wr_log "[${_int_module}_cc_make] done" return $? } function lsmash_cc_install { wr_log "[${_int_module}_cc_install] begin" _bits=${1:-"32"} source ${_my_dir_}/cc_set.sh cd src make install-lib wr_log "[${_int_module}_cc_install] done" return $? } function lsmash_cc_post_install { wr_log "[${_int_module}_cc_post_install] begin" _bits=${1:-"32"} source ${_my_dir_}/cc_set.sh local _dst_dir="${_mod_home}/src" local _dst_ver="$(get_src_ver ${_dst_dir})" local _tag_file=${_prx}/${_int_module}.tag mkdir -p `dirname ${_tag_file}` echo "L-SMASH: ${_dst_ver}" >${_tag_file} wr_log "[${_int_module}_cc_post_install] done" return $? } function lsmash_cc_clean { wr_log "[${_int_module}_cc_clean] begin" cd src [[ -r config.mak ]] && make distclean wr_log "[${_int_module}_cc_clean] done" return $? }