纯手工编译安装 KDE4-svn

发布: 2008-07-29 12:37


  1. 前提:

    qt-4.4.0以上



    g++



    cmake



    subversion



    确认qmake, g++, cmake, svn 在你的PATH中。



  2. 安装KDE4桌面必须的基本包:

    kdesupport



    webkitkde



    kdelibs



    kdepimlibs



    kdebase



  3. 环境变量:

    KDEDIR kde安装路径



    PKG_CONFIG_PATH .pc文件搜索路径 在这个变量中加上路径:~/kde/lib/pkgconfig/



    如:export PKG_CONFIG_PATH=/home/kde/kde/lib/pkgconfig/:$PKG_CONFIG_PATH



  4. 目录结构:

    ~/kde/ 安装编译好的KDE4程序及库



    ~/sources/ 源代码,编译临时文件。



    ~/sources/src/ 源代码,



    ~/sources/src/kdesupport/



    ~/sources/src/webkitkde/



    ~/sources/src/KDE/



    ~/sources/src/KDE/kdelibs/



    ~/sources/src/KDE/kdepimlibs/



    ~/sources/src/KDE/kdebase/



    ~/sources/src/zh_CN/ 这目录存放.po翻译的源文件。可以装成你想要的任何语言。



    ~/sources/build/ 编译临时文件。



  5. cmake 命令:

    命令参数:




    • DCMAKE_INSTALL_PREFIX=/home/kneworld/kde/ 指定安装目录,必须指定绝对路径.必要参数。


    • DPKGCONFIG_INSTALL_PREFIX=/home/kneworld/kde/lib/pkgconfig/ 。 必要参数。


    • DCMAKE_VERBOSE_MAKEFILE=on开启makefile详细信息输出功能,可不用。


    • DCMAKE_BUILD_TYPE=release 是否编译高工信息,可为release, debug, 可不用。



  6. 编译过程:

    cmake -DCMAKE_VERBOSE_MAKEFILE=on -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=/home/kneworld/kde/ -DPKGCONFIG_INSTALL_PREFIX=/home/kneworld/kde/lib/pkgconfig/ ../src/kdesupport/



    nice make -j2 使用nice可以让你在编译KDE的时候能正常工作,这调整编译过程的优化级。如果你机器够快,或者临时不用这台机器,可以去掉命令中的nice,让你的机器全速编译KDE。



    make install



  7. 去掉程序中的debug信息:

    strip executable bin file or lib file



  8. 附脚本:(mykde4_maker.sh)

    此脚本默认情况下编译 KDE4 桌面需要的基本包。



    如果带个参数 all, 则编译所有 KDE4 包。






[code type="bash"]

#!/bin/sh

###############
KDEDIR=$HOME/kde/
PKG_CONFIG_PATH=$KDEDIR/lib/pkgconfig/
XDG_DATA_HOME=$KDEDIR/share
XDG_DATA_DIRS=$KDEDIR/share

export KDEDIR PKG_CONFIG_PATH XDG_DATA_HOME XDG_DATA_DIRS

SRCDIR=$HOME/sources/src/
BUILDDIR=$HOME/sources/build/

##################
function build_package()
{
# PACKAGE=kdesupport
PACKAGE=$1
cd $SRCDIR/$PACKAGE && svn cleanup && svn up
cd $BUILDDIR && mkdir -p $PACKAGE && cd $PACKAGE
cmake -DCMAKE_VERBOSE_MAKEFILE=on \
-DCMAKE_BUILD_TYPE=release \
-DCMAKE_INSTALL_PREFIX=$KDEDIR \
-DPKGCONFIG_INSTALL_PREFIX=$KDEDIR/lib/pkgconfig/ \
$SRCDIR/$PACKAGE/

nice make
make install
}

###########################
KDEBASE_PACKAGES="kdesupport webkitkde KDE/kdelibs KDE/kdepimlibs KDE/kdebase"
KDEALL_PACKAGES="KDE/kdepim KDE/kdegraphics KDE/kdemultimedia KDE/kdenetwork KDE/kdeutils KDE/kdevplatform KDE/kdevelop"
PACKAGES=$KDEBASE_PACKAGES

if [ "$1" = "all" ] ; then
PACKAGES=$PACKAGES $KDEALL_PACKAGES
fi

for pkg_name in $PACKAGES
do
echo "Building package $pkg_name now"
build_package $pkg_name
done

[/code]


原文: http://qtchina.tk/?q=node/216

Powered by zexport