spiegel-keyman/linux/scripts/build.sh
glasseyes c294c8d9df move scripts to scripts dir
add VS code workspace for linux dir
that also includes onboard-keyman dir
fix cow.sh creation of hook scripts
2018-09-15 17:49:26 +07:00

55 lines
1.7 KiB
Bash
Executable file

#!/bin/bash
# Build KMFL in the required order: kmflcomp libkmfl ibus-kmfl
# install each to temp install dir INSTALLDIR which is /tmp/kmfl by default
# so that libkmfl and ibus-kmfl can use what they need that have been installed
# It must be run from the keyman/linux directory
# To install the ibus-kmfl xml file and icons to /usr/share so that ibus
# will use ibus-kmfl you must run SUDOINSTALL="yes" ./build.sh
# This will install everything else to /usr/local
set -e
BASEDIR=`pwd`
SUDOINSTALL=${SUDOINSTALL:-"no"}
INSTALLDIR=${INSTALLDIR:-"/tmp/kmfl"}
if [[ "${SUDOINSTALL}" == "uninstall" ]]
then
echo "putting ibus-kmfl package component file back"
sudo mv /usr/share/doc/ibus-kmfl/kmfl.xml /usr/share/ibus/component/
exit 0
fi
if [ -f "/usr/share/ibus/component/kmfl.xml" ] && [ "${SUDOINSTALL}" == "yes" ]; then
if grep -Fq "/usr/lib/ibus" /usr/share/ibus/component/kmfl.xml
then
echo "component file is ibus-kmfl package version so move it"
echo "run 'SUDOINSTALL=uninstall ./build.sh' to put it back"
sudo mv /usr/share/ibus/component/kmfl.xml /usr/share/doc/ibus-kmfl/
else
echo "component file is local one so overwrite it"
fi
fi
for proj in kmflcomp libkmfl ibus-kmfl; do
rm -rf build-$proj
mkdir build-$proj
cd build-$proj
if [[ "${SUDOINSTALL}" == "yes" ]]
then
echo "doing sudo install of $proj"
../$proj/configure CPPFLAGS="-I$/usr/local/include" LDFLAGS="-L/usr/local/lib" --libexecdir=/usr/local/lib/ibus --datadir=/usr/share
make
sudo make install
else
../$proj/configure CPPFLAGS="-I${INSTALLDIR}/include" LDFLAGS="-L${INSTALLDIR}/lib" --prefix=${INSTALLDIR} --libexecdir=${INSTALLDIR}/lib/ibus
make
make install
fi
cd $BASEDIR
done