I do use make bookstrap to ensure a clean install.
Loading /home/kmodi/downloads/git/emacs/lisp/emacs-lisp/cl-preloaded.el (source)...
Warning: Eager macro-expansion skipped due to cycle:
… => (load "cl-macs.el") => (macroexpand-all (define-inline cl-typep …)) => (load "cl-macs.el")
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
Eager macro-expansion failure: (void-function define-inline)
Warning: Eager macro-expansion skipped due to cycle:
… => (load "cl-macs.el") => (macroexpand-all (define-inline cl-typep …)) => (load "cl-macs.el")
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
macroexp--expand-all: (void-function define-inline)
Compiler-macro error for cl-typep: (void-function cl--compiler-macro-typep)
#!/bin/tcsh -f
# Time-stamp: <2015-09-11 10:56:05 kmodi>
# Usage: source mybuild.csh <VERSION or BRANCH>
# Example: source mybuild.csh emacs-24
# source mybuild.csh master
# For RHEL 6, do "setenv MY_OSREV 6"
# "${HOME}/usr_local/${MY_OSREV}" is the directory that I use as
# --prefix for building libraries locally when the default library
# does not exist or is older than the requirements.
# I already have the env vars PATH, LD_LIBRARY_PATH, PKG_CONFIG_PATH
# and INCLUDE_PATH to include the respective directories in
# ${HOME}/usr_local/${MY_OSREV}.
# Ensure that PKG_CONFIG_PATH has /usr/share/pkgconfig for xproto.pc
# and related files. This is necessary for XFT and related X11
# features.. otherwise the fonts will look horrible.
set emacs_gdb_build = 0
git checkout master
git fetch --all
git reset --hard $argv[1]
# If $argv[1] is master, basename $argv[1] -> master
# If $argv[1] is origin/emacs-24.5, basename $argv[1] -> emacs-24.5
if ( ${emacs_gdb_build} ) then
setenv MY_EMACS_INSTALL_DIR "${HOME}/usr_local/apps/${MY_OSREV}/emacs/`basename $argv[1]`_debug"
else
setenv MY_EMACS_INSTALL_DIR "${HOME}/usr_local/apps/${MY_OSREV}/emacs/`basename $argv[1]`"
endif
# setenv MY_EMACS_INSTALL_DIR "${HOME}/usr_local/apps/${MY_OSREV}/emacs/test"
mkdir -p ${MY_EMACS_INSTALL_DIR}
# Basic configure command
setenv MY_EMACS_CONFIGURE "./configure --prefix=${MY_EMACS_INSTALL_DIR}"
# Initialize the configure flag vairables
set emacs_configure_CFLAGS = ''
set emacs_configure_CXXFLAGS = ''
set emacs_configure_CPPFLAGS = ''
set emacs_configure_LDFLAGS = ''
set emacs_configure_CPPFLAGS = 'CPPFLAGS="'"-fgnu89-inline -I${HOME}/usr_local/${MY_OSREV}/include -I/usr/include/freetype2 -I/usr/include"
# -L${HOME}/usr_local/${MY_OSREV}/lib required for libgpm (GPM feature)
# -L${HOME}/usr_local/${MY_OSREV}/lib64 required for libgif (GIF feature)
set emacs_configure_LDFLAGS = 'LDFLAGS="'"-L${HOME}/usr_local/${MY_OSREV}/lib -L${HOME}/usr_local/${MY_OSREV}/lib64"
# For Debug
if ( ${emacs_gdb_build} ) then
set emacs_configure_CFLAGS = 'CFLAGS="'"-ggdb3 -O0"
set emacs_configure_CXXFLAGS = 'CXXFLAGS="'"-ggdb3 -O0"
set emacs_configure_LDFLAGS = "${emacs_configure_LDFLAGS} -ggdb3"
endif
# Close the double quotes
if ( ! ( "${emacs_configure_CFLAGS}" == "" ) ) then
set emacs_configure_CFLAGS = "${emacs_configure_CFLAGS}"'"'
endif
if ( ! ( "${emacs_configure_CXXFLAGS}" == "" ) ) then
set emacs_configure_CXXFLAGS = "${emacs_configure_CXXFLAGS}"'"'
endif
if ( ! ( "${emacs_configure_CPPFLAGS}" == "" ) ) then
set emacs_configure_CPPFLAGS = "${emacs_configure_CPPFLAGS}"'"'
endif
if ( ! ( "${emacs_configure_LDFLAGS}" == "" ) ) then
set emacs_configure_LDFLAGS = "${emacs_configure_LDFLAGS}"'"'
endif
setenv MY_EMACS_CONFIGURE "${MY_EMACS_CONFIGURE} ${emacs_configure_CPPFLAGS} ${emacs_configure_CFLAGS} ${emacs_configure_CXXFLAGS} ${emacs_configure_LDFLAGS}"
echo ""
echo " MY_EMACS_CONFIGURE = ${MY_EMACS_CONFIGURE}"
echo ""
echo "Waiting for 5 seconds .. Press Ctrl+C to cancel this installation."
sleep 5
\rm -f configure Makefile
make clean
if ( ! -e src/epaths.in.bkp ) then
endif
sed -i 's|/usr/local|${MY_EMACS_INSTALL_DIR}|g' src/
epaths.in
if ( ! -e GNUmakefile.bkp ) then
\cp GNUmakefile GNUmakefile.bkp
endif
\cp -f GNUmakefile.bkp GNUmakefile
sed -i 's|./configure|${MY_EMACS_CONFIGURE}|g' GNUmakefile
# Do NOT call autoreconf. "make bookstrap" below will call autoreconf with
# proper arguments.
# The `make bootstrap' step is required for a clean fresh install
if ( -f Makefile ) then
make bootstrap
endif
make install
# I use the Exuberant ctags (now Universal ctags build from its github
# repo). So rename the binary and man of "ctags" that ship with emacs so
# that I do not end up using the incorrect ctags.
if ( -e ${MY_EMACS_INSTALL_DIR}/bin/ctags ) then
\mv ${MY_EMACS_INSTALL_DIR}/bin/ctags ${MY_EMACS_INSTALL_DIR}/bin/ctags_emacs
endif
if ( -e ${MY_EMACS_INSTALL_DIR}/share/man/man1/ctags.1.gz ) then
\mv ${MY_EMACS_INSTALL_DIR}/share/man/man1/ctags.1.gz ${MY_EMACS_INSTALL_DIR}/share/man/man1/ctags_emacs.1.gz
endif
# unset all internal variables
unset {emacs_configure_CFLAGS}
unset {emacs_configure_CPPFLAGS}
unset {emacs_configure_CXXFLAGS}
unset {emacs_configure_LDFLAGS}