www.digitalmars.com Home | Search | C & C++ | D | DMDScript | News Groups | index | prev | next
Archives

D Programming
D
D.gnu
digitalmars.D
digitalmars.D.bugs
digitalmars.D.dtl
digitalmars.D.dwt
digitalmars.D.announce
digitalmars.D.learn
digitalmars.D.debugger

C/C++ Programming
c++
c++.announce
c++.atl
c++.beta
c++.chat
c++.command-line
c++.dos
c++.dos.16-bits
c++.dos.32-bits
c++.idde
c++.mfc
c++.rtl
c++.stl
c++.stl.hp
c++.stl.port
c++.stl.sgi
c++.stlsoft
c++.windows
c++.windows.16-bits
c++.windows.32-bits
c++.wxwindows

digitalmars.empire
digitalmars.DMDScript

D.gnu - GDC 0.14 fails in fixproto on Mac

Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit


After some more digging, it seems like the reason the
GDC 0.14 building is failing on Mac OS X is because:

"fixprotos" is failing to run the "fix-header" filter
on the etc/c/zlib/zutil.h file... (Gotta love how those
pesky C/C++ header left-overs cripples the whole D build?)


This in turn seems to be because of differences in the
"find" command ? If you run "find ." on Linux, you get
./foo and ./bar - but on Mac OS X you get foo and bar...

This messes up the sed magic that comes later on in "fixprotos":
# Append "/"; remove initial "./". Hence "." -> "" and "sys" -> "sys/".
rel_source_prefix=`echo $rel_source_subdir | sed -e 's|$|/|' -e 's|^./||'`

Ouch! Looks like the good old "forgot to escape period" bug...

Results: (notice how the initial d/ was stripped)
+ rel_source_files=zutil.h
+ rel_source_file=3.3.6/etc/c/zlib/zutil.h

So it runs the "fix-header" with a non-existing file and it fails.
make[1]: *** [stmp-fixproto] Error 1
make: *** [all-gcc] Error 2


Wonder why this was all working OK, in the GDC 0.13 build ?
Anyway, GDC 0.14 is now compiling and should be up shortly...

http://gdcmac.sourceforge.net/

--anders
Jun 29 2005