vim 移植记录

  • 下载两个源码包:

    vim : 
        ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2
    ncurses-5.8.tar.gz
        http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.8.tar.gz
  • 因为vim 依赖相关的终端库,所以先交叉编译 ncurses

    tar -xvf  ncurses-5.8.tar.gz
    cd ncurses-5.8
    vim  build.sh
    #!/bin/sh     
           
    ./configure --prefix=/home/sbc_7816_sdk6/test/gdb/ncurses-5.8/output  --host=arm-linux CC=arm-linux-gcc  --without-cxx --without-cxx-binding --without-ada --without-manpages --without-progs --without-tests --with-shared
    make
    make install
    生成的库在 output 目录下
    sbc_7816_sdk6@aplex:~/test/gdb/ncurses-5.8$ ls output/
    bin  include  lib  share
    
    sbc_7816_sdk6@aplex:~/test/gdb/ncurses-5.8$ ls output/lib/
    libform.a    libform.so.5    libmenu_g.a   libmenu.so.5.8  libncurses.so      libpanel.a    libpanel.so.5
    libform_g.a  libform.so.5.8  libmenu.so    libncurses.a    libncurses.so.5    libpanel_g.a  libpanel.so.5.8
    ibform.so   libmenu.a       libmenu.so.5  libncurses_g.a  libncurses.so.5.8  libpanel.so   terminfo
  • 相关的库交叉编译出来了,现在来交叉编译 vim

    tar -xvf vim-7.4.tar.bz2
    cd  vim74
    vim build.sh
    #!/bin/sh                                                                       
                                                                                
    ./configure --with-features=tiny --disable-gui                                 
        --without-x --disable-selinux --disable-acl --disable-gpm                  
           CC=arm-none-linux-gnueabi-gcc                                           
        --host=arm-none-linux-gnueabi                                              
        --with-tlib=ncurses                                                        
        vim_cv_terminfo=yes                                                        
        vim_cv_getcwd_broken=no                                                    
        vim_cv_memmove_handles_overlap=yes                                         
        vim_cv_stat_ignores_slash=yes                                              
        vim_cv_tgetent=zero                                                        
        vim_cv_terminfo=yes                                                        
        vim_cv_toupper_broken=no                                                   
        vim_cv_tty_group=root                                                      
        vim_cv_tty_mode=0620                                     
    --with-tlib=ncurses     
    // 这个参数很重要,要指定库的名字,不然后 configure 一直过不去。
    make 
    // 这个make install 不了。
    // 在  src  里面能找到 vim 
    //  将vim  放到目标文件的 usr/sbin/  里面,替换原来的  vim
    //  将 ncurses  的库放在 usr/lib 里面。
    //  在目标文件系统里面  etc/profile 里面加入
    export TERM="xterm"
    // 不然会报  E437: terminal capability "cm" required  错误
    // 启动嵌入式文件系统,看一下效果。
原文地址:https://www.cnblogs.com/chenfulin5/p/7144437.html