DDD 3.3.8 recipe - was - RE: libtool created import libs brok en? was RE: DDD 3.3.8 (i686-pc-cygwin) gets `Segmentation fault
Harold L Hunt II
huntharo@msu.edu
Sat Dec 6 01:01:00 GMT 2003
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.
>
>
More information about the Cygwin-xfree
mailing list