This is the mail archive of the cygwin@sources.redhat.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

DDD on cygwin


OK.

I finally configured the DDD-3.2.91 to work on cygwin.


Followings are what I have done.

DDD author's Link order : 
   -lXm -lXp -lXpm -lXaw -lXmu -lXext -lXt -lSM -lICE -lX11 -lncurses -liberty -lm

My Link order :
   -lXm -lXp -lXaw -lXmu -lXpm -lXext -lXt -lX11 -lSM -lICE -lncurses -liberty -lm


First, ddd configure script is using *wrong* order to link some X libraries.
=====
Here, the *wrong* means that it can not configure well on cygwin environments.

According to LessTif FAQ (http://www.lesstif.org/FAQ.html#TOPIC5), the link order should be

-lX11 -lSM -lICE.
---------------
Yes, it should be -lX11 -lSM -lICE.
With reversed order, you will get unresolved symbols error, especially on the cygwin.

The DDD author says (line # 6990 at ddd/configure) :
  # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
  # check for ICE first), but we must link in the order -lSM -lICE or
  # we get undefined symbols.  So assume we have SM if we have ICE.
  # These have to be linked with before -lX11, unlike the other
  # libraries we check for below, so use a different variable.
And, in the ddd mailing list,
   The `-lSM -lICE -lX11' part is inferred by the `autoconf'
   `AC_PATH_XTRA' macro, which I cannot control.  (And I assume the
   `autoconf' people know their job.)

But, Dear Andreas,
I don't think that's true.

I changed the ddd-3.2.91/ddd/configure script as follows :

  - Put $X_PRE_LIBS after -lX11
  - ex) line # 7088
          7088c7088
          < LIBS="$X_PRE_LIBS -lXm -lXt -lX11 $X_EXTRA_LIBS $LIBS"   :  original
          ---
          > LIBS="-lXm -lXt -lX11 $X_PRE_LIBS $X_EXTRA_LIBS $LIBS"   :  modified


Second, configure:8066: checking for XawTextSetInsertionPoint in -lXaw
=======
There should be -lXpm at line 8071.
Without this, -lXaw fails, resulting $XAW_LIBS = -lXmu. (without -lXaw)

configure:8071:LIBS="-lXaw ${XAW_LIBS} -lXpm ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} $LIBS"

Third, Makefile.am and Makefile.in
=======
Reorder the X libraries.

Changed the @X_PRE_LIBS@ @X11_LIBS@  as  @X11_LIBS@ @X_PRE_LIBS@ .

And, $(LIBXPM) $(LIBXAW)  as $(LIBXAW) $(LIBXPM) .

With reversed order, you will get unresolved errors, again.


Makefile.am:
646c646
< LIBX11 = @X_PRE_LIBS@ @X11_LIBS@ @X_EXTRA_LIBS@
---
> LIBX11 = @X11_LIBS@ @X_PRE_LIBS@ @X_EXTRA_LIBS@
649,650c649
< ALL_X_LIBS = $(X_LDFLAGS) $(LIBXM) $(LIBXP) $(LIBXPM) $(LIBXAW) $(LIBXEXT) \
<       $(LIBXT) $(LIBX11) $(LIBGEN)
---
> ALL_X_LIBS = $(X_LDFLAGS) $(LIBXM) $(LIBXP) $(LIBXAW) $(LIBXPM) $(LIBXEXT) $(LIBXT) $(LIBX11) $(LIBGEN)


Makefile.in:
302c302
< LIBX11 = @X_PRE_LIBS@ @X11_LIBS@ @X_EXTRA_LIBS@
---
> LIBX11 = @X11_LIBS@ @X_PRE_LIBS@ @X_EXTRA_LIBS@
305c305
< ALL_X_LIBS = $(X_LDFLAGS) $(LIBXM) $(LIBXP) $(LIBXPM) $(LIBXAW) $(LIBXEXT)       $(LIBXT) $(LIBX11) $(LIBGEN)
---
> ALL_X_LIBS = $(X_LDFLAGS) $(LIBXM) $(LIBXP) $(LIBXAW) $(LIBXPM) $(LIBXEXT) $(LIBXT) $(LIBX11) $(LIBGEN)


Finally, sigName.C
========

strsignal is declared const char *, not char * in cygwin's /usr/include/string.h:70

So, I changed the ddd-3.2.91/ddd/sigName.C
   46c46
   < extern "C" char *strsignal(int signo);
   ---
   > extern "C" const char *strsignal(int signo);
   51c51
   <     return strsignal(signo);
   ---
   >     return (char *)strsignal(signo);


=======================================================
Changes in configure script :

7088c7088
< LIBS="$X_PRE_LIBS -lXm -lXt -lX11 $X_EXTRA_LIBS $LIBS"
---
> LIBS="-lXm -lXt -lX11 $X_PRE_LIBS $X_EXTRA_LIBS $LIBS"
7163c7163
< LIBS="$X_PRE_LIBS -lXm -lXt -lX11 $X_EXTRA_LIBS $LIBS"
---
> LIBS="-lXm -lXt -lX11 $X_PRE_LIBS $X_EXTRA_LIBS $LIBS"
7304c7304
< LIBS="$X_PRE_LIBS -lXaw -lXmu -lXext -lXt -lX11 $X_EXTRA_LIBS $LIBS"
---
> LIBS="-lXaw -lXmu -lXext -lXt -lX11 $X_PRE_LIBS $X_EXTRA_LIBS $LIBS"
7382c7382
< LIBS="$X_PRE_LIBS -lXaw -lXmu -lXext -lXt -lX11 $X_EXTRA_LIBS $LIBS"
---
> LIBS="-lXaw -lXmu -lXext -lXt -lX11 $X_PRE_LIBS $X_EXTRA_LIBS $LIBS"
7520c7520
< LIBS="$X_PRE_LIBS -lXpm -lXt -lX11 $X_EXTRA_LIBS $LIBS"
---
> LIBS="-lXpm -lXt -lX11 $X_PRE_LIBS $X_EXTRA_LIBS $LIBS"
7597c7597
< LIBS="$X_PRE_LIBS -lXpm -lXt -lX11 $X_EXTRA_LIBS $LIBS"
---
> LIBS="-lXpm -lXt -lX11 $X_PRE_LIBS $X_EXTRA_LIBS $LIBS"
7842c7842
< LIBS="-lXintl ${X_PRE_LIBS} ${X11_LIBS} $LIBS"
---
> LIBS="-lXintl ${X11_LIBS} ${X_PRE_LIBS} $LIBS"
7885c7885
< LIBS="-lipc ${X_PRE_LIBS} ${X11_LIBS} $LIBS"
---
> LIBS="-lipc ${X11_LIBS} ${X_PRE_LIBS} $LIBS"
7929c7929
< LIBS="-lXt ${X_PRE_LIBS} ${X11_LIBS} $LIBS"
---
> LIBS="-lXt ${X11_LIBS} ${X_PRE_LIBS} $LIBS"
7981c7981
< LIBS="-lXext ${X_PRE_LIBS} ${X11_LIBS} $LIBS"
---
> LIBS="-lXext ${X11_LIBS} ${X_PRE_LIBS} $LIBS"
8028c8028
< LIBS="-lXmu ${X_PRE_LIBS} ${XAW_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} $LIBS"
---
> LIBS="-lXmu ${XAW_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} $LIBS"
8071c8071
< LIBS="-lXaw ${X_PRE_LIBS} ${XAW_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} $LIBS"
---
> LIBS="-lXaw ${XAW_LIBS} -lXpm ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} $LIBS"
8215c8215
< LIBS="-lXpm ${X_PRE_LIBS} ${X11_LIBS} $LIBS"
---
> LIBS="-lXpm ${X11_LIBS} ${X_PRE_LIBS} $LIBS"
8310c8310
< LIBS="-lXp ${X_PRE_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${LIBGEN} $LIBS"
---
> LIBS="-lXp ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} ${LIBGEN} $LIBS"
8357c8357
< LIBS="-lXm ${X_PRE_LIBS} ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${LIBGEN} $LIBS"
---
> LIBS="-lXm ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} ${LIBGEN} $LIBS"
8404c8404
< LIBS="-lXm ${X_PRE_LIBS} ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${LIBGEN} $LIBS"
---
> LIBS="-lXm ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} ${LIBGEN} $LIBS"
8450c8450
< LIBS="-lXm ${X_PRE_LIBS} ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${LIBGEN} $LIBS"
---
> LIBS="-lXm ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} ${LIBGEN} $LIBS"
8496c8496
< LIBS="-lXm ${X_PRE_LIBS} ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${LIBGEN} $LIBS"
---
> LIBS="-lXm ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} ${LIBGEN} $LIBS"
8582c8582
< LIBS="$LIBS ${XM_LIBS} ${X_PRE_LIBS} ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${LIBGEN}"
---
> LIBS="$LIBS ${XM_LIBS} ${XP_LIBS} ${XPM_LIBS} ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS} ${X11_LIBS} ${X_PRE_LIBS} ${LIBGEN}"

=====================================
I don't know why the author duplicates ${XEXT_LIBS}, as in ${XEXT_LIBS} ${XT_LIBS} ${XEXT_LIBS}.

Thanks for reading.

Jong B. Lee.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]