Hi, A few suggestions: Related to "#pragma interface" and gang, could you submit a bug report to the gcc folks ? As far as ddd is concerned, you could write an autoconf test that makes sure that "#pragma ..." does not create a link failure and patch properly the ddd source code. "#ifndef __CYWIN__" all over the ddd source code is not acceptable IMO. Related to the libtool problem, you should get the ddd source from the CVS repository and use "./CVSMake" directly under cygwin using recent version of the autotools. It may uncover some problems in configure.ac and friends. Please report (and possibly fix) them to [EMAIL PROTECTED]
Regards, ----- Original Message ----- From: "Richard Campbell" <[EMAIL PROTECTED]> Newsgroups: gmane.os.cygwin.xfree,gmane.comp.debugging.ddd.bugs Cc: <[EMAIL PROTECTED]> Sent: Friday, December 05, 2003 6:39 PM Subject: RE: DDD 3.3.8 recipe - was - RE: libtool created import libs broken? was RE: DDD 3.3.8 (i686-pc-cygwin) gets `Segmentation fault > 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. >
