bugmake - Bugs: bug #34818, PATH_SEPARATOR_CHAR broken for...

 
 

bug #34818: PATH_SEPARATOR_CHAR broken for windows when cross-compiled

Submitted by:  Ozkan Sezer <sezero>
Submitted on:  Mon 14 Nov 2011 11:04:23 AM UTC  
 
Severity: 3 - NormalItem Group: None
Status: FixedPrivacy: Public
Assigned to: Paul D. Smith <psmith>Open/Closed: Closed
Component Version: 3.82Operating System: MS Windows
Fixed Release: 4.0Triage Status: None

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

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

 

(Jump to the original submission Jump to the original submission)

Mon 16 Jan 2012 09:31:31 PM UTC, comment #7:

I committed this change.

Paul D. Smith <psmith>
Project AdministratorIn charge of this item.
Mon 14 Nov 2011 06:23:50 PM UTC, comment #6:

> Cross-compiling for a Windows target sounds funky
> to me but I definitely see the attraction there :-)


Yep :)

I, for one, compile 95% of times on linux rather than
on windows or djgpp.

Ozkan Sezer <sezero>
Mon 14 Nov 2011 06:19:56 PM UTC, comment #5:

Gotcha. I didn't realize people were using autotools with Windows targets. Cross-compiling for a Windows target sounds funky to me but I definitely see the attraction there :-).

Paul D. Smith <psmith>
Project AdministratorIn charge of this item.
Mon 14 Nov 2011 05:41:37 PM UTC, comment #4:

> ... For typical Windows, VMS, OS2, etc. builds GNU make doesn't
> run autotools (as I understand it).


Well, need not run autotools, if one is lazy or especially when
building on the native OS itself, provided that he has his own
build scripts or makefiles, etc. When cross-compiling from linux
(or whatever else unix) to windows, djgpp, os2 or whatever, one
usually does use and usually prefers using autotools. There you
have the problems with autotool's PATH_SEPARATOR_CHAR.

I do not object to adding OS-specific PATH_SEPARATOR_CHAR values
to OS-specific config.h templates, however removing those defines
from make.h shall lead to trouble.

Ozkan Sezer <sezero>
Mon 14 Nov 2011 04:40:19 PM UTC, comment #3:

Maybe I don't understand the context. For typical Windows, VMS, OS2, etc. builds GNU make doesn't run autotools (as I understand it). It has predefined config.h variations for those targets and you copy the right one over to config.h before you build (or the build script or whatever does it for you).

Adding PATH_SEPARATOR_CHAR there wouldn't be an issue for autotools.

Paul D. Smith <psmith>
Project AdministratorIn charge of this item.
Mon 14 Nov 2011 03:27:42 PM UTC, comment #2:

> A slightly cleaner implementation might have PATH_SEPARATOR_CHAR
> defined in the various target-specific config.h files on systems
> that don't support autoconf, ...


Autoconf is the problem here, because its PATH_SEP detection is
not cross-compilation-friendly, therefore it needs defining per-
target-OS. See, e.g., the binutils tree, for example, where they
use autotools is used PATH_SEPARATOR+shell scripts thingies, but
all .c and .h define it themselves. (I am not an autools expert,
though..)

Ozkan Sezer <sezero>
Mon 14 Nov 2011 02:33:16 PM UTC, comment #1:

Hi Eli; let me know if you want me to commit this or if you've got it.

A slightly cleaner implementation might have PATH_SEPARATOR_CHAR defined in the various target-specific config.h files on systems that don't support autoconf, then in make.h we can just use:

and save ourselves some more complicated ifdef'ing.

Paul D. Smith <psmith>
Project AdministratorIn charge of this item.
Mon 14 Nov 2011 11:04:23 AM UTC, original submission:

PATH_SEPARATOR_CHAR is defined incorrectly when make is configured for windows in a cross-build environment such as on linux. The issue was noticed during this discussion:
http://sourceforge.net/mailarchive/message.php?msg_id=26032191

The fix patch was posted by Chris Sutcliffe here:
http://lists.gnu.org/archive/html/make-w32/2010-08/msg00039.html

It was approved, AFAICS, but hasn't been applied, so far. Creating this bug entry so that this doesn't get lost/forgotten.

Ozkan Sezer <sezero>

 

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

Attach File(s):
   
   
Comment:
   

Attached Files
file #24368:  make-PATH_SEPARATOR_CHAR.patch added by sezero (948B - application/octet-stream - PATH_SEPARATOR_CHAR fix when cross-compiling)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by psmith (Posted a comment)
  • -unavailable- added by sezero (Submitted the item)
  •  

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

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 6 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 16 Jan 2012 09:31:31 PM UTCpsmithStatusNone=>Fixed
      Assigned toNone=>psmith
      Open/ClosedOpen=>Closed
      Component VersionNone=>3.82
      Fixed ReleaseNone=>4.0
    Mon 14 Nov 2011 11:04:23 AM UTCsezeroAttached File-=>Added make-PATH_SEPARATOR_CHAR.patch, #24368

    Back to the top


    Powered by Savane 3.1-cleanup