emacs-devel
[Top][All Lists]
Advanced

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

Re: Two strange messages while building Emacs on MS-Windows


From: Eli Zaretskii
Subject: Re: Two strange messages while building Emacs on MS-Windows
Date: Sat, 08 Dec 2012 15:38:59 +0200

> From: Óscar Fuentes <address@hidden>
> Date: Sat, 08 Dec 2012 14:24:23 +0100
> 
> So Wine is neglecting cmd.exe. Using one from a Windows XP install
> allows the script to complete. Then, buildobj.h causes a failure because
> it contains too much " and '. Apparently make-buildobj-SH: is used
> instead of make-buildobj-CMD.

Maybe the Windows makefiles assume something that is false in Wine.
The test for the shell type is in nt/gmake.defs:

  # Determine whether make is using sh or cmd/command as shell; cmd.exe
  # will output "ECHO is on" when echo is given by itself, while sh will
  # not produce any output.
  sh_output := $(shell echo)
  ifeq "$(findstring ECHO, $(sh_output))" "ECHO"
  THE_SHELL = $(COMSPEC)$(ComSpec)
  SHELLTYPE=CMD
  SWITCHCHAR=/
  else
  USING_SH = 1
  THE_SHELL = $(SHELL)
  SHELLTYPE=SH

Which part(s) of this do(es)n't work in Wine?

> mingw32-make[1]: Entering directory `D:/exp/emacs/emacs/lib-src'
> mmingw32-make[1]: Leaving directory `D:/exp/emacs/emacs/lib-src'
> ingw32-make[1]: *** No rule to make target `../lisp/abbrev.elc', needed by 
> `DOC'.  Stop.
> mingw32-make: *** [all-other-dirs-gmake] Error 2

You need to say "make bootstrap" explicitly, the Windows build scripts
cannot automatically intuit that a bootstrap is needed.

> Then I blindly remove the DOC target from here and there and the build
> reaches the point where temacs.bin is created:
> 
> gcc -o oo-spd/i386/temacs.bin  -gdwarf-2 -g3   -Ld:/exp/emacs/gnuwin32/lib 
> -Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x01000000 
> -Wl,-subsystem,console -Wl,-entry,__start -Wl,-Map,oo-spd/i386/temacs.map 
> oo-spd/i386/firstfile.o oo-spd/i386/emacs.res oo-spd/i386/temacs0.a 
> oo-spd/i386/temacs1.a oo-spd/i386/temacs2.a oo-spd/i386/lastfile.a 
> ../lib/oo-spd/i386/libgnu.a -lwinmm -ladvapi32 -lgdi32 -lcomdlg32 -luser32 
> -lmpr -lshell32 -lwinspool -lole32 -lcomctl32 -lusp10  
> "./../nt/oo-spd/i386/addsection" "oo-spd/i386/temacs.bin" 
> "oo-spd/i386/temacs.exe" EMHEAP 27
> Dumping from oo-spd/i386/temacs.bin
>           to oo-spd/i386/temacs.exe
> "./oo-spd/i386/temacs.exe" -batch -l loadup dump
> mingw32-make[1]: *** [oo-spd/i386/emacs.exe] Error -1

This means the above dump command failed.  So something is wrong with
the resulting binary.

Thanks.




reply via email to

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