emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Preprocessor defines in MS-Windows build


From: Stefan Monnier
Subject: Re: Preprocessor defines in MS-Windows build
Date: Sat, 07 Jun 2008 15:04:21 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

> Here's an example of a typical compilation command line on Windows:
>   gcc -I. -DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0400 -D_X86_=1 -c -gstabs+ 
> -g3  -mtune=pentium4 -O2  -Di386 -D_CRTAPI1=_cdecl   -Demacs=1 -DWINDOWSNT 
> -DDOS_NT -DHAVE_CONFIG_H -I../nt/inc -D_UCHAR_T -DHAVE_NTGUI=1 
> -DUSE_CRT_DLL=1  -o oo-spd/i386/dispnew.o dispnew.c

> This uses a lot -f -DSOMETHING switches, and it looks like most of

Similar issues show on other platforms.  I recently made minro changes
to remove on or the other of those defines and move it into
src/config.h instead.

> these are not needed, and almost all the rest can be put on
> src/s/ms-w32.h.

Ideally src/config.h, no (tho maybe it's more difficult)?

> Can someone help understanding the purpose of each switch?
> Below I summarize what I gleaned from grepping fo each symbol in the
> Emacs sources and in the system headers:

Look at admin/CPP-DEFINES as well (and update/improve it whenever
possible, of course).

>  HAVE_NTGUI          -- can be replaced with WINDOWSNT, since the W32
>                         build doesn't use any other GUI

Don't we support W32 builds without GUI?

> Does someone know anything that contradicts the above?  If not, I
> think we should remove those defines that are not needed anymore, and
> put those which are needed in ms-w32.h.

Sounds fine to me,


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]