RE: 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

2003-12-05 Thread Richard Campbell
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/configure2003-10-22 15:29:40.0 -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/iffs.gz

Feel free to play with it if the prospect of handediting 500 .C and .h files
doesn't thrill you.

-Richard Campbell.


Re: 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

2003-12-05 Thread Harold L Hunt II
Subbu,

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/iffs.gz
   gunzip -c iffs.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.
Thanks for the recipe.

Will it be possible to get this into cygwin's setup.exe?
Well, I am working on building the package, but I get a silly error:

configure: configuring in libiberty
configure: running /bin/bash 
'/home/harold/x-devel/4.3/ports/ddd/ddd-3.3.8/libiberty/configure' 
--prefix=/usr  '--srcdir=/home/harold/x-devel/4.3/ports/ddd/ddd-3.3.8' 
'--prefix=/usr' '--exec-prefix=/usr' '--sysconfdir=/etc' 
'--libdir=/usr/lib' '--includedir=/usr/include' 
'--mandir=/usr/share/man' '--infodir=/usr/share/info' 
'--libexecdir=${sbindir}' '--localstatedir=/var' 
'--datadir=${prefix}/share' 'CFLAGS=-O2' 'LDFLAGS=' 
--cache-file=/dev/null 
--srcdir=/home/harold/x-devel/4.3/ports/ddd/ddd-3.3.8/libiberty
configure: warning: CFLAGS=-O2: invalid host type
configure: warning: LDFLAGS=: invalid host type
configure: error: can only configure for one host and one target at a time
configure: error: /bin/bash 
'/home/harold/x-devel/4.3/ports/ddd/ddd-3.3.8/libiberty/configure' 
failed for libiberty

This is due to the way that the configure script for libiberty is called 
in configure.ac:

if test $ddd_have_libiberty != true; then
# Avoid calling config.guess again.  In libiberty, this destroys 
dummy.c.
old_ac_configure_args=$ac_configure_args
case $ac_configure_args in
*--host*) ;;
*) ac_configure_args=$ac_configure_args --build=$build 
--target=$target;;
esac
AC_CONFIG_SUBDIRS([libiberty])
ac_configure_args=$old_ac_configure_args
fi

I haven't looked into it enough to fix it at the moment (gotta drive 
somewhere in a few minutes).  I would appreciate it if someone had a fix 
or suggested fix waiting for me when I plugged into the net again.  :)

By the way, the packaging script calls configure like so:

conf() {
  (cd ${objdir}  \
  CFLAGS=${MY_CFLAGS} LDFLAGS=${MY_LDFLAGS} \
  ${srcdir}/configure \
  --srcdir=${srcdir} --prefix=${prefix} \
  --exec-prefix=${prefix} --sysconfdir=${sysconfdir} \
  --libdir=${prefix}/lib --includedir=${prefix}/include \
  --mandir=${prefix}/share/man --infodir=${prefix}/share/info \
  --libexecdir='${sbindir}' --localstatedir=/var \
  --datadir='${prefix}/share'
)
}
Harold



RE: 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

2003-12-05 Thread Richard Campbell
This is due to the way that the configure script for libiberty is called 
in configure.ac:

If I was paying attention, libiberty uses autoconf 2.13 or similar, and the 
other pieces use 2.5...That's going to be a real pain to set up, I think...

-Richard Campbell.


Re: 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

2003-12-05 Thread Harold L Hunt II
Richard Campbell wrote:
This is due to the way that the configure script for libiberty is called 
in configure.ac:


If I was paying attention, libiberty uses autoconf 2.13 or similar, and the 
other pieces use 2.5...That's going to be a real pain to set up, I think...
It's just our top-level configure being stupid and passing CFLAGS and 
LDFLAGS as options instead of as environment variables.  I don't think 
it matters what version of autoconf libiberty is using (at least not for 
this problem).

Harold



Re: 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

2003-12-05 Thread Brian Ford
On Fri, 5 Dec 2003, Harold L Hunt II wrote:
 Richard Campbell wrote:
 Harold L Hunt II wrote:
 This is due to the way that the configure script for libiberty is called
 in configure.ac:
 
  If I was paying attention, libiberty uses autoconf 2.13 or similar, and the
  other pieces use 2.5...That's going to be a real pain to set up, I think...
 
 It's just our top-level configure being stupid and passing CFLAGS and
 LDFLAGS as options instead of as environment variables.  I don't think
 it matters what version of autoconf libiberty is using (at least not for
 this problem).

HTH

http://cvs.sourceforge.net/viewcvs.py/ddd/ddd/PROBLEMS?r1=1.106r2=1.107

-- 
Brian Ford
Senior Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
Phone: 314-551-8460
Fax:   314-551-8444


Re: 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

2003-12-05 Thread Harold L Hunt II
Brian,

Brian Ford wrote:
On Fri, 5 Dec 2003, Harold L Hunt II wrote:

Richard Campbell wrote:

Harold L Hunt II wrote:

This is due to the way that the configure script for libiberty is called
in configure.ac:
If I was paying attention, libiberty uses autoconf 2.13 or similar, and the
other pieces use 2.5...That's going to be a real pain to set up, I think...
It's just our top-level configure being stupid and passing CFLAGS and
LDFLAGS as options instead of as environment variables.  I don't think
it matters what version of autoconf libiberty is using (at least not for
this problem).
HTH

http://cvs.sourceforge.net/viewcvs.py/ddd/ddd/PROBLEMS?r1=1.106r2=1.107
Thanks.  That is exactly what I wanted to know.

Harold



Re: 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

2003-12-05 Thread Harold L Hunt II
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/iffs.gz
   gunzip -c iffs.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/configure2003-10-22 15:29:40.0 -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/iffs.gz

Feel free to play with it if the prospect of handediting 500 .C and .h files
doesn't thrill you.
-Richard Campbell.





Re: 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

2003-12-05 Thread S Iyer
Odd, Richard's patch seems to work perfectly for me.
I don't get any such error!

-subbu
PS: It is Richard's patch, I only wanted to point out that the
move gcc includes to ddd include is unnecessary.


On Fri, Dec 05, 2003 at 05:00:54PM -0500, Harold L Hunt II wrote:
 Date: Fri, 05 Dec 2003 17:00:54 -0500
 From: Harold L Hunt II [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Subject: Re: 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
 
 Subbu,
 
 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/iffs.gz
gunzip -c iffs.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.
 
 Thanks for the recipe.
 
 Will it be possible to get this into cygwin's setup.exe?
 
 Well, I am working on building the package, but I get a silly error:
 
 configure: configuring in libiberty
 configure: running /bin/bash 
 '/home/harold/x-devel/4.3/ports/ddd/ddd-3.3.8/libiberty/configure' 
 --prefix=/usr  '--srcdir=/home/harold/x-devel/4.3/ports/ddd/ddd-3.3.8' 
 '--prefix=/usr' '--exec-prefix=/usr' '--sysconfdir=/etc' 
 '--libdir=/usr/lib' '--includedir=/usr/include' 
 '--mandir=/usr/share/man' '--infodir=/usr/share/info' 
 '--libexecdir=${sbindir}' '--localstatedir=/var' 
 '--datadir=${prefix}/share' 'CFLAGS=-O2' 'LDFLAGS=' 
 --cache-file=/dev/null 
 --srcdir=/home/harold/x-devel/4.3/ports/ddd/ddd-3.3.8/libiberty
 configure: warning: CFLAGS=-O2: invalid host type
 configure: warning: LDFLAGS=: invalid host type
 configure: error: can only configure for one host and one target at a time
 configure: error: /bin/bash 
 '/home/harold/x-devel/4.3/ports/ddd/ddd-3.3.8/libiberty/configure' 
 failed for libiberty
 
 
 This is due to the way that the configure script for libiberty is called 
 in configure.ac:
 
 if test $ddd_have_libiberty != true; then
 # Avoid calling config.guess again.  In libiberty, this destroys 
 dummy.c.
 old_ac_configure_args=$ac_configure_args
 case $ac_configure_args in
 *--host*) ;;
 *) ac_configure_args=$ac_configure_args --build=$build 
 --target=$target;;
 esac
 AC_CONFIG_SUBDIRS([libiberty])
 ac_configure_args=$old_ac_configure_args
 fi
 
 
 I haven't looked into it enough to fix it at the moment (gotta drive 
 somewhere in a few minutes).  I would appreciate it if someone had a fix 
 or suggested fix waiting for me when I plugged into the net again.  :)
 
 By the way, the packaging script calls configure like so:
 
 conf() {
   (cd ${objdir}  \
   CFLAGS=${MY_CFLAGS} LDFLAGS=${MY_LDFLAGS} \
   ${srcdir}/configure \
   --srcdir=${srcdir} --prefix=${prefix} \
   --exec-prefix=${prefix} --sysconfdir=${sysconfdir} \
   --libdir=${prefix}/lib --includedir=${prefix}/include \
   --mandir=${prefix}/share/man --infodir=${prefix}/share/info \
   --libexecdir='${sbindir}' --localstatedir=/var \
   --datadir='${prefix}/share'
 )
 }
 
 
 Harold
 

-- 


Re: 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

2003-12-05 Thread S Iyer
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/iffs.gz
gunzip -c iffs.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/configure2003-10-22 15:29:40.0 -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/iffs.gz
 
 Feel free to play with it if the prospect of handediting 500 .C and .h 
 files
 doesn't thrill you.
 
 -Richard Campbell.
 
 
 

-- 


Re: 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

2003-12-05 Thread Harold L Hunt II
No need.  I fixed my local version by hand.

Harold

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/iffs.gz
 gunzip -c iffs.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/configure2003-10-22 15:29:40.0 -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/iffs.gz

Feel free to play with it if the prospect of handediting 500 .C and .h 
files
doesn't thrill you.

-Richard Campbell.






Re: 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

2003-12-05 Thread S Iyer
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/iffs.gz
 gunzip -c iffs.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/configure2003-10-22 15:29:40.0 -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/iffs.gz
  
  Feel free to play with it if the prospect of handediting 500 .C and .h 
  files
  doesn't thrill you.
  
  -Richard Campbell.
  
  
  
 
 -- 

--