From: SourceForge.net <no...@so...> - 2008-04-21 16:20:21
|
Bugs item #1928876, was opened at 2008-03-29 14:54 Message generated for change (Comment added) made by earnie You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1928876&group_id=2435 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: MinGW Group: Known Feature >Status: Open Resolution: Invalid Priority: 5 Private: No Submitted By: Paulo Manuel Martins Lopes (pmml) Assigned to: Nobody/Anonymous (nobody) Summary: make 3.8x fails to compile files.S Initial Comment: Hello all, I've been trying to compile some asm files and mingw32-make 3.80, 3.81 and even the latest snapshot seem to be buggy when in my project i have files with .S extension. I think that .s is an ASM code file that doesn't support pre processor and .S an ASM that supports it. Having this for base I create a file named main.S file and a simple Makefile like this: CFLAGS = -Wall CXXFLAGS = $(CFLAGS) ASFLAGS = $(CFLAGS) all: main.o with the faulty versions 3.80, 3.81 and snapshot, I get an error on GCC trying to assemble main.s (make fails to identify the right case) which fails because my main.S uses some preprocessing directives. 3.71 works fine and identifies as main.S and compiles ok! To sum up: mingw32-make 3.8x assumes all files .S are .s which leads to compilation errors mingw32-make 3.79 was good with it! ---------------------------------------------------------------------- >Comment By: Earnie Boyd (earnie) Date: 2008-04-21 12:20 Message: Logged In: YES user_id=15438 Originator: NO BTW, this issue prevents mingw32-make from building the mingw runtime. Do we really want that? I've reopened the issue to continue discussion. ---------------------------------------------------------------------- Comment By: Earnie Boyd (earnie) Date: 2008-04-21 09:26 Message: Logged In: YES user_id=15438 Originator: NO mingw32-make-3.79 allowed case sensitive name patterns. After all even though the FS is case insensitive it is case preserving and allows case sensitive patterns within make to work properly. mingw32-make-3.81 has the case insensitive name patterns compile time switch enabled. Paulo will need to rebuild the make from source without the switch. I myself consider this an issue since case preserved FS names should IMO be case sensitive matched in the make process. ---------------------------------------------------------------------- Comment By: Keith Marshall (keithmarshall) Date: 2008-04-21 06:20 Message: Logged In: YES user_id=823908 Originator: NO How do you expect to discriminate between `*.S' and `*.s' files, on a case insensitive file system? IIRC, all versions of mingw32-make honour the case insensitive property of the Win32 file system, and consider *all* file and goal names as if stated in lower case *only*, (which seems inconsistent with your assertion that mingw32-make-3.79 was good with it; perhaps you are comparing mingw32-make-3.8x with *MSYS* make-3.79)? If you can't choose some alternative extension to discriminate these file types, then you cannot use mingw32-make. You can, however, use MSYS. Versions of MSYS `make' prior to make-3.81 exploited the case preserving property of the Win32 file system, to pretend case sensitivity. From MSYS make-3.81 onward, this pretence has been dropped from the default build, but continues to be offered in the guise of csmake-3.81, for those who wish, (or need), to preserve the fiction. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=102435&aid=1928876&group_id=2435 |