Since the required fix seemed to be a simple find and replace, I did it myself: the new patch is at http://www.cs.utexas.edu/~subbuk/cygwin-ddd-patch.gz
So the new recipe is as follows: 1. cp -r ddd-3.3.8 ddd-3.3.8-orig 2. wget http://www.cs.utexas.edu/~subbuk/cygwin-ddd-patch.gz gunzip -c cygwin-ddd-patch.gz | patch -p0 3. cd ddd-3.3.8 && bash ./configure && make && make install Thanks, --subbu On Fri, Dec 05, 2003 at 08:08:21PM -0600, S Iyer wrote: > Harold, it is Richard's patch not mine. I was only pointing out > that one step in the recipe should be removed - if you move > the gcc/include into ddd/include, then patch gets confused > on those files. > > That said, the error is in non-cygwin case, which is why the > whole compilation went through flawlessly for me! > Richard, can you fix this appropriately? > > Thanks, > --subbu > > On Fri, Dec 05, 2003 at 08:01:20PM -0500, Harold L Hunt II wrote: > > Subbu, > > > > The patch is no good. It takes the following: > > > > #ifdef __GNUG__ > > #pragma implementation "foo.h" > > #endif > > > > and turns it into: > > > > #ifdef __GNUG__ > > #ifndef __CYGWIN__ > > #pragma implementation > > #endif "foo.h" > > #endif > > > > Here is an example: > > > > #ifdef __GNUG__ > > +#ifndef __CYGWIN__ > > #pragma implementation > > -#pragma implementation "Map.h" > > +#endif > > +#ifndef __CYGWIN__ > > +#pragma implementation > > +#endif "Map.h" > > #endif > > > > > > The mistake was matching only "#pragma implementation (.*)" and > > replacing that with "#ifndef __CYGWIN__ #pragma implementation #endif > > (.*)" instead of replacing it with "#ifndef __CYGWIN__ #pragma > > implementation (.*) #endif". > > > > Could you send in the original search and replace command (or string of > > commands) that you used to do this so that I can fix it and run the > > change again? > > > > Harold > > > > > > S Iyer wrote: > > > > >Step no 2 (copying the gcc include files) is no longer necessary > > >as it is subsumed by the diff. So all that needs done to get a > > >working ddd is: > > > > > >1. cp -r ddd-3.3.8 ddd-3.3.8-orig > > >2. wget http://bellsouthpwp.net/u/l/ulvester/ddddiffs.gz > > > gunzip -c ddddiffs.gz | patch -p0 > > >3. cd ddd-3.3.8 && bash ./configure && make && make install > > > > > >Thanks to all who got this fixed so quickly, esp to Richard. > > > > > >Will it be possible to get this into cygwin's setup.exe? > > > > > >Thanks > > >--subbu > > > > > >On Fri, Dec 05, 2003 at 01:39:43PM -0500, Richard Campbell wrote: > > > > > >>Resend - got denied because of attachment size, so I've uploaded my diffs > > >>to > > >>a web page. > > >> > > >>Ok, I think this is the quickest way to get a working (as far as I can > > >>tell, > > >>and I > > >>didn't play with it all that much, although I did load up the cxxtest.exe, > > >>set a breakpoint, > > >>run through, etc.) DDD 3.3.8 on cygwin: > > >> > > >>1. Get the DDD 3.3.8 source and a gcc 3.3.x source. > > >>2. Copy the gcc/include contents into ddd-3.3.8/include > > >>3. Edit ddd-3.3.8/configure to remove the "old_archive_from_expsyms_cmds" > > >>variable (patch > > >> below, which is just in the cygwin section of configure): > > >> > > >>bash-2.05b$ diff -u ddd-3.3.8-orig/configure ddd-3.3.8/configure > > >>--- ddd-3.3.8-orig/configure 2003-10-22 15:29:40.000000000 -0400 > > >>+++ ddd-3.3.8/configure 2003-12-05 11:34:05.948423800 -0500 > > >>@@ -9492,7 +9492,8 @@ > > >> else $CC -o impgen impgen.c ; fi)~ > > >> $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def' > > >> > > >>- old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname > > >>--def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' > > >>+# old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname > > >>--def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' > > >>+ old_archive_from_expsyms_cmds= > > >> > > >> # cygwin and mingw dlls have different entry points and sets of > > >> symbols > > >> # to exclude. > > >> > > >>4. bash ./configure > > >>5. Edit all of ddd/*.C ddd/*.h to remove or guard all "#pragma interface" > > >>and > > >> "#pragma implementation" lines. > > >>6. make > > >>7. make install > > >>8. run as normal. > > >> > > >>The usual disclaimers apply. I have included the output of: > > >> > > >>diff -u -r -N ddd-3.3.8-orig/ ddd-3.3.8 > > >> > > >>Available at: > > >> > > >>http://bellsouthpwp.net/u/l/ulvester/ddddiffs.gz > > >> > > >>Feel free to play with it if the prospect of handediting 500 .C and .h > > >>files > > >>doesn't thrill you. > > >> > > >>-Richard Campbell. > > > > > > > > > > -- --
