bugThe FreeType Project - Bugs: bug #27045, "mingw32-make.exe setup"...


bug #27045: "mingw32-make.exe setup" does not work well in CMD of WINE

Submitted by:  suzuki toshiya <mpsuzuki>
Submitted on:  Fri 17 Jul 2009 03:02:43 AM UTC  
Severity:  3 - Normal Item Group:  Incorrect behaviour
Status:  In Progress Privacy:  Public
Assigned to:  suzuki toshiya <mpsuzuki> Open/Closed:  Open
Planned Release:  None

Add a New Comment (Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


Mon 25 Jun 2012 09:12:00 AM UTC, comment #4: 


has this patch been applied to FreeType?
Could you take care of this bug report if time permits?

Werner LEMBERG <wl>
Project Administrator
Fri 17 Jul 2009 06:28:56 AM UTC, comment #3: 

Here is a patch which prevents UNIX-checking
when OS == Windows_NT && defined( ComSpec ).
If the system is not UNIX, OS == Windows_NT
is sufficient to make builds/win32/detect.mk
recognize the systems as Win32.

The ECHO of WINE CMD cannot handle the special
characters used in builds/detect.mk, so they
are simplified when "is_wine" is defined.

(file #18427)

suzuki toshiya <mpsuzuki>
Project AdministratorIn charge of this item.
Fri 17 Jul 2009 05:12:17 AM UTC, comment #2: 

I want to restrict the change to builds/win32/detect.mk,
but there is a possibility that builds/unix/detect.mk
should be revised too :-(.

On WINE CMD, the initial test of builds/unix/detect.mk

  is_unix := $(strip $(wildcard /sbin/init) \
                     $(wildcard /usr/sbin/init) \
                     $(wildcard /hurd/auth))

defines non-empty values to is_unix.

I don't know the reason, but DIR command shows
similar difference. In Microsoft Windows XP SP2

  dir /sbin

returns simple error

  Parameter format not correct - "sbin"

But, in WINE CMD,

  dir /sbin

starts something like 'ls -lR'

Volume in drive C is
Volume Serial Number is 0000-0000

Directory of C:\

2009/07/16     17:11  <DIR>         borland
2009/07/16     17:19  <DIR>         home
2009/07/16     17:11  <DIR>         MinGW
2008/09/04     16:20  <DIR>         Program Files
2009/07/16     17:11  <DIR>         WATCOM
2008/09/04     16:20  <DIR>         windows
       0 files                        0 bytes

[blah blah blah]

To avoid such, I have to insert some hook
to exclude WINE CMD from the test looking
up /sbin/init etc, into builds/unix/detect.mk.
But it is ugly design.

suzuki toshiya <mpsuzuki>
Project AdministratorIn charge of this item.
Fri 17 Jul 2009 04:52:02 AM UTC, comment #1: 

It seems that CMD of WINE is case-sensitive about
the environmental variables. In Microsoft Windows
XP SP2 command line, ComSpec is defined (`set'
does not list COMSPEC). But mingw32-make.exe can
read ComSpec value via COMSPEC. On the other hand,
in WINE CMD, mingw32-make.exe cannot read ComSpec
value from COMSPEC. Thus, builds/dos/detect.mk and
builds/win32/detect.mk cannot recognize WINE CMD
as Win32 environment.

Although the behaviour of WINE CMD is different
from Microsoft Windows CMD.EXE, I guess this is
designed behaviour of WINE. In WINE CMD, all UNIX
environmental variables are carried over. If WINE
CMD shrink the namespace of environmental variables
from case-sensitive to case-insensitive, there might
be some confusions to interact with Unix frameworks.

suzuki toshiya <mpsuzuki>
Project AdministratorIn charge of this item.
Fri 17 Jul 2009 03:02:43 AM UTC, original submission:  

When I execute "mingw32-make.exe setup" in CMD of WINE
(a replacement of Microsoft genuine \windows\system32\cmd.exe),
it misunderstands the system as unix.

$ wine cmd
CMD Version 1.0.1

C:\temp\ft2>c:\mingw\bin\mingw32-make.exe setup
"FreeType build system -- automatic system detection"
"The following settings are used:"
"  platform                    unix"
"  compiler                    cc"
"  configuration directory     ./builds/unix"
"  configuration rules         ./builds/unix/unix.mk"
"If this does not correspond to your system or settings please remove the file"
"\`config.mk' from this directory then read the INSTALL file for help."
"Otherwise, simply type \`C:/mingw/bin/mingw32-make' again to build the library,"
"or \`C:/mingw/bin/mingw32-make refdoc' to build the API reference (the latter needs python)."
process_begin: CreateProcess(NULL, cp ./builds/unix/unix.mk config.mk, ...) failed.
make (e=2): File not found
mingw32-make: *** [std_setup] Error 2

The platform should be recognized as win32 (or dos).

suzuki toshiya <mpsuzuki>
Project AdministratorIn charge of this item.


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

Attached Files
file #18427:  wine-cmd-20090717.patch added by mpsuzuki (4KiB - text/x-patch)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by wl (Posted a comment)
  • -email is unavailable- added by mpsuzuki (Submitted the item)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    Follows 1 latest change.

    Date Changed by Updated Field Previous Value => Replaced by
    2009-07-17 mpsuzuki Attached File- => Added wine-cmd-20090717.patch, #18427

    Back to the top

    Powered by Savane 3.5