• Msys2编译Emacs


    Msys2编译Emacs

    Msys2编译Emacs

    Origin link: https://gist.github.com/nauhygon/f3b44f51b34e89bc54f8

    1 Download & install MSYS2

    Download MSYS2 (msys2-x86_64-20140704.exe) from this download page.

    Install MSYS2 to, for example, C:msys2 (make sure no space in path).

    2 console

    Optionally prettify the MSYS2 console mintty with ~/.minttyrc to make it more pleasing to eyes. Thanks to this awesome theme!

    ForegroundColour=131,148,150
    BackgroundColour=0,43,54
    CursorColour=192,192,192
    Black=7,54,66
    BoldBlack=0,43,54
    Red=220,50,47
    BoldRed=203,75,22
    Green=133,153,0
    BoldGreen=88,110,117
    Yellow=181,137,0
    BoldYellow=101,123,131
    Blue=38,139,210
    BoldBlue=131,148,150
    Magenta=211,54,130
    BoldMagenta=108,113,196
    Cyan=42,161,152
    BoldCyan=147,161,161
    White=238,232,213
    BoldWhite=253,246,227
    BoldAsFont=yes
    Font=Consolas
    FontHeight=12
    Transparency=off
    OpaqueWhenFocused=no
    ScrollbackLines=200000
    FontSmoothing=full
    CursorType=underscore
    CursorBlinks=yes
    ScrollMod=off
    RightClickAction=paste
    ClickTargetMod=off
    

    Remove all /c/* paths in $PATH by adding this to .bashrc and restart mintty.

    This is important to avoid interference from programs installed on the same machine, especially if you have Cygwin installed.

    # Remove '/c/*' from PATH if running under Msys to avoid possible
    # interference from programs already installed on system. Removal
    # with awk is copied from http://stackoverflow.com/a/370192.
    if [ $(uname -o) == 'Msys' ]; then
        export PATH=`echo ${PATH} | awk -v RS=: -v ORS=: '/c// {next} {print}' | sed 's/:*$//'`
    fi
    
    The whole .bashrc is copied here.
    
    # .bashrc
    
    # Source global definitions
    if [ -f /etc/bashrc ]; then
        . /etc/bashrc
    fi
    
    ##############
    ### Basics ###
    ##############
    
    # Don't wait for job termination notification
    set -o notify
    
    # Enables UTF-8 in Putty.
    # See http://www.earth.li/~huggie/blog/tech/mobile/putty-utf-8-trick.html
    echo -ne 'e%Ge[?47he%Ge[?47l'
    
    # My pretty prompt (Yay!)
    PS1='[e[32;40m]u[e[0m][e[34;40m]H[e[0m][e[40;1m]w[e[0m] '
    
    ############
    ### PATH ###
    ############
    
    # Remove '/c/*' from PATH if running under Msys to avoid possible
    # interference from programs already installed on system. Removal
    # with awk is copied from http://stackoverflow.com/a/370192.
    if [ $(uname -o) == 'Msys' ]; then
        export PATH=`echo ${PATH} | awk -v RS=: -v ORS=: '/c// {next} {print}' | sed 's/:*$//'`
    fi
    
    ###############
    ### Aliases ###
    ###############
    
    
    alias less='less -r'
    alias rm='rm -i'
    alias whence='type -a'
    alias ls='ls -F --color=auto'
    alias dir='ls --color=auto --format=long -L'
    alias vdir='ls --color=auto --format=long'
    alias ll='ls -l'
    alias la='ls -A'
    alias l='ls -CF'
    alias md='mkdir'
    alias pico='nano'
    alias cls='clear'
    

    3 Install packages required to build Emacs.

    Follow instructions on this page first.

    pacman -Syu
    pacman -Sy
    pacman -Sy
        --needed 
        filesystem 
        msys2-runtime 
        bash 
        libreadline 
        libiconv 
        libarchive 
        libgpgme 
        libcurl 
        pacman 
        ncurses 
        libintl
    

    Close mintty and restart it, do this again.

    pacman -Su
    

    Then let us install all required libs for building Emacs.

    #!/usr/bin/bash
    pacman -S 
          autoconf 
          autogen 
          automake 
          automake-wrapper 
          diffutils 
          git 
          guile 
          libgc 
          libguile 
          libltdl 
          libunistring 
          make 
          mingw-w64-x86_64-binutils 
          mingw-w64-x86_64-bzip2 
          mingw-w64-x86_64-cairo 
          mingw-w64-x86_64-cloog 
          mingw-w64-x86_64-crt-git 
          mingw-w64-x86_64-dbus 
          mingw-w64-x86_64-expat 
          mingw-w64-x86_64-fontconfig 
          mingw-w64-x86_64-freetype 
          mingw-w64-x86_64-gcc 
          mingw-w64-x86_64-gcc-libs 
          mingw-w64-x86_64-gdk-pixbuf2 
          mingw-w64-x86_64-gettext 
          mingw-w64-x86_64-giflib 
          mingw-w64-x86_64-glib2 
          mingw-w64-x86_64-gmp 
          mingw-w64-x86_64-gnutls 
          mingw-w64-x86_64-harfbuzz 
          mingw-w64-x86_64-headers-git 
          mingw-w64-x86_64-imagemagick 
          mingw-w64-x86_64-isl 
          mingw-w64-x86_64-libcroco 
          mingw-w64-x86_64-libffi 
          mingw-w64-x86_64-libiconv 
          mingw-w64-x86_64-libjpeg-turbo 
          mingw-w64-x86_64-libpng 
          mingw-w64-x86_64-librsvg 
          mingw-w64-x86_64-libtiff 
          mingw-w64-x86_64-libwinpthread-git 
          mingw-w64-x86_64-libxml2 
          mingw-w64-x86_64-mpc 
          mingw-w64-x86_64-mpfr 
          mingw-w64-x86_64-pango 
          mingw-w64-x86_64-pixman 
          mingw-w64-x86_64-winpthreads 
          mingw-w64-x86_64-xpm-nox 
          mingw-w64-x86_64-xz 
          mingw-w64-x86_64-zlib 
          tar 
          wget
    

    4 Get emacs source.

    mkdir emacs; cd emacs
    git clone http://git.savannah.gnu.org/r/emacs.git emacs
    git config core.autocrlf false
    

    5 Build Emacs!

    Change target accordingly, the directory in which the freshly built Emacs binaries, libraries, and docs live.

    target=/c/emacs
    
    export PATH=/mingw64/bin:$PATH
    
    mkdir build; cd build
    
    (cd ../emacs; ./autogen.sh)
    
    export PKG_CONFIG_PATH=/mingw64/lib/pkgconfig
    
    ../emacs/configure 
        --host=x86_64-w64-mingw32 
        --target=x86_64-w64-mingw32 
        --build=x86_64-w64-mingw32 
        --with-gnutls 
        --with-imagemagick 
        --with-jpeg 
        --with-png 
        --with-rsvg 
        --with-tiff 
        --with-wide-int 
        --with-xft 
        --with-xml2 
        --with-xpm 
        'CFLAGS=-I/mingw64/include/noX' 
        prefix=$target
    
    make
    
    make install prefix=$target
    
    cp /mingw64/bin/*.dll $target
    

    Date: 2017-01-15 15:25

    Created: 2017-04-26 周三 21:49

    Emacs 26.0.50 (Org mode 8.2.10)

    Validate

  • 相关阅读:
    Mono和IL2Cpp
    axios无法获取响应头headers的ContentDisposition
    elcascader(联机选择器)动态加载+编辑默认值回显
    Vue ElTree 拖拽排序方法(通用)
    Postman保存token并使用token的整个流程
    python 使用exec执行定义好的方法,提示“name 'XXX' is not defined”
    Python+flask+flaskapscheduer实现定时下发任务
    androidtools下的uiautomatorviewer截图,提示“Unexpected error while obtaining UI hierarchy”
    python 插入mysql数据库字符串中含有单引号或双引号报错
    python 根据传进来的参数,动态拼接sql
  • 原文地址:https://www.cnblogs.com/yangwen0228/p/6771244.html
Copyright © 2020-2023  润新知