# $Id$ # mozilla global smage2 functions mozconf_add() { echo "ac_add_options $@" >> .mozconfig || die } rebuild_extension_list() { # do not use die here, if no extension are selected this will break # resolve multiple --enable-extensions down to one declare exts=$(sed -n 's/^ac_add_options --enable-extensions=\([^ ]*\).*/\1/p' \ ${SRCDIR}/.mozconfig | xargs) sed -i '/^ac_add_options --enable-extensions/d' ${SRCDIR}/.mozconfig echo "ac_add_options --enable-extensions=${exts// /,}" >> ${SRCDIR}/.mozconfig } mozilla_remove_cflags() { # this removes extraneous CFLAGS from the Makefiles to reduce RAM # requirements while compiling (gentoo) export CFLAGS="${CFLAGS} -Wno-return-type -w" export CXXFLAGS="${CXXFLAGS} -Wno-return-type -w" echo "Parsing Makefiles ..." find . -iname makefile | while read MAKEFILE do cp ${MAKEFILE} ${MAKEFILE}.old # We already add "-Wno-return-type -w" to compiler flags, so # no need to replace "-Wall" and "-Wreturn-type" with them. sed -e 's:-Wall::g' \ -e 's:-Wreturn-type::g' \ -e 's:-pedantic::g' ${MAKEFILE}.old > ${MAKEFILE} rm -f ${MAKEFILE}.old done # mozilla use .mk includes find . -name '*.mk' | while read MAKEFILE do cp ${MAKEFILE} ${MAKEFILE}.old sed -e 's:-Wall::g' \ -e 's:-Wreturn-type::g' \ -e 's:-pedantic::g' ${MAKEFILE}.old > ${MAKEFILE} rm -f ${MAKEFILE}.old done } # simulate the csh makemake script (gentoo) makemake() { typeset m topdir for m in $(find . -name Makefile.in); do topdir=$(echo "$m" | sed -r 's:[^/]+:..:g') sed -e "s:@srcdir@:.:g" -e "s:@top_srcdir@:${topdir}:g" \ < ${m} > ${m%.in} || die "sed ${m} failed" done } makemake2() { typeset m topdir for m in $(find ../ -name Makefile.in); do topdir=$(echo "$m" | sed -r 's:[^/]+:..:g') sed -e "s:@srcdir@:.:g" -e "s:@top_srcdir@:${topdir}:g" \ < ${m} > ${m%.in} || die "sed ${m} failed" done } msetpref() { : ${MOZILLA_PREF_CONFIG="magellan.js"} : ${MOZILLA_PREF_PATH="/usr/$(mlibdir)/mozilla-firefox/defaults/pref"} local pref="$1" local value="$2" [[ -z ${pref} ]] && die "msetpref(): no \$pref given" if [[ ${pref} = --init ]] then # only create an empty config :> ${BINDIR}/${MOZILLA_PREF_PATH}/${MOZILLA_PREF_CONFIG} || die else # write a pref value [[ -z ${value} ]] && die "msetpref(): no \$value given" # handle escaped strings: # check if value is an integer -> no escaping #if printf "%d" ${value} > /dev/null 2>&1 # the better way (only use one! bracket!!) if [ "${value}" -eq "${value}" ] > /dev/null 2>&1 then value="${value}" # check for "false" or "true" -> no escaping elif [[ ${value} = false ]] || [[ ${value} = true ]] then value="${value}" # all other values needs escaping else value="\"${value}\"" fi # eg: # pref("general.useragent.vendor","Magellan-Linux"); echo "pref(\"${pref}\",${value});" >> ${BINDIR}/${MOZILLA_PREF_PATH}/${MOZILLA_PREF_CONFIG} || die fi }