GNU bug report logs - #5934
24.0.50; get rid of "unix" pre-defined macro when preprocessing Makefile

Previous Next

Package: emacs;

Reported by: Miles Bader <miles <at> gnu.org>

Date: Mon, 12 Apr 2010 05:20:04 UTC

Severity: normal

Merged with 5857, 6932

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 5934 in the body.
You can then email your comments to 5934 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#5934; Package emacs. (Mon, 12 Apr 2010 05:20:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Miles Bader <miles <at> gnu.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 12 Apr 2010 05:20:04 GMT) Full text and rfc822 format available.

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





Merged 5857 5934. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Mon, 12 Apr 2010 06:27:02 GMT) Full text and rfc822 format available.

Merged 5857 5934. Request was from Chong Yidong <cyd <at> stupidchicken.com> to control <at> debbugs.gnu.org. (Mon, 12 Apr 2010 14:00:03 GMT) Full text and rfc822 format available.

Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#5934; Package emacs. (Mon, 12 Apr 2010 14:01:02 GMT) Full text and rfc822 format available.

Message #12 received at 5934 <at> debbugs.gnu.org (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: Miles Bader <miles <at> gnu.org>
Cc: 5934 <at> debbugs.gnu.org, emacs-devel <at> gnu.org
Subject: Re: 24.0.50;
	get rid of "unix" pre-defined macro when preprocessing Makefile
Date: Mon, 12 Apr 2010 10:00:02 -0400
Miles Bader <miles.bader.fz <at> renesas.com> writes:

> 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:

Looks good, could you check it into the trunk?




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 06 Jun 2010 11:24:04 GMT) Full text and rfc822 format available.

bug unarchived. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Sat, 28 Aug 2010 02:39:02 GMT) Full text and rfc822 format available.

Forcibly Merged 5857 5934 6932. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Sat, 28 Aug 2010 02:39:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 25 Sep 2010 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 14 years and 274 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.