[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
DDD on cygwin
From: |
Jong B. Lee |
Subject: |
DDD on cygwin |
Date: |
Tue, 5 Dec 2000 12:05:55 +0900 |
OK.
I finally configured the DDD-3.2.91 to work on cygwin.
Here's my patches to the ddd configure script.
Attached file : patch.tar.gz : contains
- configure
- Makefile.am
- Makefile.in
- sigName.C
Unpack those files and copy them to ddd-3.2.91/ddd directory.
Then, do ./configure
Good luck !
Jong B. Lee
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.
patch.tar.gz
Description: GNU Zip compressed data
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- DDD on cygwin,
Jong B. Lee <=