Package: emacs;
Reported by: Miles Bader <miles <at> gnu.org>
Date: Mon, 12 Apr 2010 05:20:04 UTC
Severity: normal
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Miles Bader <miles.bader.fz <at> renesas.com> To: bug-gnu-emacs <at> gnu.org Cc: emacs-devel <at> gnu.org Subject: 24.0.50; get rid of "unix" pre-defined macro when preprocessing Makefile Date: Mon, 12 Apr 2010 13:32:55 +0900
Emacs uses the C preprocessor to process src/Makefile.in, and the CPP on many systems defines the token "unix" (to be "1") for historical reasons. This has bad results if some of the Makefile contents include that token; in particular, on my system, the definition of ALL_CFLAGS contains " -I/usr/include/gio-unix-2.0/", and due to the bogus predefined unix macro, this ends up as something that's not even legal compiler command-line syntax. Luckily, the "unix" macro isn't actually used by Makefile preprocessing, so it's simple enough to add that to the list of things which the Emacs configure script explicitly undefines when doing Makefile preprocessing. The following patch does this: diff --git a/configure.in b/configure.in index 515b779..a66f27e 100644 --- a/configure.in +++ b/configure.in @@ -3132,7 +3132,7 @@ test "${exec_prefix}" != NONE && # the C preprocessor to some helpful value like 1, or maybe the empty # string. Needless to say consequent macro substitutions are less # than conducive to the makefile finding the correct directory. -[cpp_undefs="`echo $srcdir $configuration $canonical | +[cpp_undefs="`echo $srcdir $configuration $canonical unix | sed -e 's/[^a-zA-Z0-9_]/ /g' -e 's/^/ /' -e 's/ *$//' \ -e 's/ */ -U/g' -e 's/-U[0-9][^ ]*//g'`"] Thanks, -Miles In GNU Emacs 24.0.50.12 (x86_64-unknown-linux-gnu, GTK+ Version 2.20.0) of 2010-04-12 on dhlpc061 Windowing system distributor `The X.Org Foundation', version 11.0.10706000 Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: ja_JP.UTF-8 value of $XMODIFIERS: @im=SCIM locale-coding-system: utf-8-unix default enable-multibyte-characters: t Major mode: Shell-script Minor modes in effect: show-paren-mode: t recentf-mode: t rcirc-track-minor-mode: t minibuffer-electric-default-mode: t display-time-mode: t desktop-save-mode: t tooltip-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-encryption-mode: t auto-compression-mode: t temp-buffer-resize-mode: t line-number-mode: t transient-mark-mode: t Recent input: C-e C-a <down-mouse-4> <mouse-4> <double-down-mouse-4> <double-mouse-4> <triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4> C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f C-f <down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5> C-x k <return> C-x C-g = n i SPC n SPC n q K g g C-x C-v $ l s e C-g C-x C-v $ l s e / m s a t e r <escape> h m a s t e r / M a k e SPC <escape> h <escape> h C-y <escape> h c o n f i g u r e . i n <return> C-s c p p C-s C-s C-s C-s <escape> > C-r m a k e f i l e . c C-a C-q C-q C-q C-q C-q C-q C-q C-q C-q C-q C-q C-q C-r c p p _ u d n e f s <backspace> <backspace> <backspace> <backspace> <backspace> n d e f s C-r C-e C-b u n i x SPC C-x C-s C-x C-v M a k <escape> b s r c / C-e <tab> c <return> C-x C-x C-r C-a C-x C-v M-p <escape> h <backspace> SPC SPC <backspace> . i n SPC C-g C-x k <return> C-x C-v $ l b e / m a s t e r / <return> C-x C-v s r c / M a SPC SPC . c <return> C-s C-g C-x C-v M a SPC C-g C-s u n d e f C-s C-s C-s C-s C-s C-s C-a C-s - U C-s C-a C-x C-v M-n <backspace> <backspace> <return> C-s C-s C-s C-x C-v M-h c o n f SPC . SPC <return> C-s C-s C-a <escape> x r e p o r t - e m SPC <return> Recent messages: Mark saved where search started x*DING* Mark saved where search started Note: file is write protected x*DING* Setting up indent for shell type bash setting up indent stuff Indentation variables are now local. Indentation setup for shell type bash Mark saved where search started Load-path shadows: /home/soft1/miles/.emacs.d/elpa/lua-mode-20070608/lua-mode hides /usr/local/share/emacs/site-lisp/lua-mode /usr/share/emacs22/site-lisp/dictionaries-common/ispell hides /usr/local/share/emacs/24.0.50/lisp/textmodes/ispell /usr/share/emacs22/site-lisp/dictionaries-common/flyspell hides /usr/local/share/emacs/24.0.50/lisp/textmodes/flyspell ~/src/elisp/timer hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/timer Features: (shadow warnings emacsbug help-mode view multi-isearch autoconf autoconf-mode image-mode compface gnus-fun flow-fill pp sort gnus-cite smiley ansi-color mail-extr gnus-agent gnus-srvr nnvirtual gnus-async gnus-bcklg gnus-score score-mode gnus-dup qp gnus-ml disp-table gnus-topic gnus-nocem parse-time timezone gnus-cache pop3 byte-opt bytecomp byte-compile nnml nndraft nnmh copyright auth-source netrc nntp spam spam-stat gnus-uu yenc gnus-msg gnus-art mm-uu mml2015 epg-config mm-view smime password-cache dig mailcap gnus-sum nnoo gnus-group gnus-undo nnmail mail-source format-spec gnus-start gnus-spec gnus-int gnus-range gnus-win yow cookie1 info nxml-uchnm rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok sh-script executable vc-arch face-remap vc-git dired make-mode vc-mcvs vc-cvs flyspell ispell cc-mode cc-fonts cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs lua-mode-autoloads xml-rpc-autoloads package reporter server edmacro kmacro jka-compr uniquify paren recentf tree-widget rcirc time-date ring minibuf-eldef gnus gnus-ems nnheader gnus-util wid-edit time desktop cus-start cus-load advice help-fns advice-preload dabbrev easy-mmode derived message sendmail regexp-opt rfc822 mml easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mailabbrev mail-utils gmm-utils mailheader japan-util tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd font-setting tool-bar dnd fontset image fringe lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar mldrag mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button minibuffer faces cus-face files text-properties overlay md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind font-render-setting gtk x-toolkit x multi-tty emacs) -- What the fuck do white people have to be blue about!? Banana Republic ran out of Khakis? The Espresso Machine is jammed? Hootie and The Blowfish are breaking up??! Shit, white people oughtta understand, their job is to GIVE people the blues, not to get them! -- George Carlin
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.