Re: 2.99.2 xdvik does not detect multiple definition handling on IRIX

Stefan Ulrich <[email protected]> Mon, 8 Nov 2004 22:58:42 +0000
Newsgroups gmane.comp.tex.tetex.beta
Message-ID <[email protected]>
Thomas Esser <[email protected]> writes:

> > (is the BUGS file in the sources tarball?)
> 
> It is BUGS at top-level in the xdvik "stand alone" tarball. teTeX only
> has the texk/xdvik subdirectory of it. I have copied that file from
>   xdvik-22.84.5/BUGS
> to
>   tetex-src/texk/xdvik

Sigh, it wasn't my day that weekend - I had moved the file to
texk/xdvik/BUGS in my CVS version, but forgotten to do the same for
the patch I sent you. You can get the up-to-date version from:

http://cvs.sourceforge.net/viewcvs.py/xdvi/xdvik/texk/xdvik/BUGS?rev=1.3.2.3

> Anything new besides the twi fixes to aclocal.m4 and that one fix
> to xdvi.h? These, I already have now...

In texk/xdvik/version.h, change

#define XDVI_VERSION "22.84.6-RC1"

to

#define XDVI_VERSION "22.84.6"


Then I decided to not refer to BUGS in the warning message after all;
the updated XDVI_LINKER_MULTIPLE_DEFNS macro for aclocal.m4 is now:


AC_DEFUN(XDVI_LINKER_MULTIPLE_DEFNS,
[AC_CACHE_CHECK([whether linker supports the --allow-multiple-definition flag],
xdvi_linker_multiple_defns,
xdvi_save_LDFLAGS="$LDFLAGS"
LDFLAGS="-Xlinker --allow-multiple-definition"
x_linker_options=""
[AC_TRY_LINK(
   [#include <stdio.h>
   ],
   [void foo(void);
   ],
   xdvi_linker_multiple_defns=yes, xdvi_linker_multiple_defns=no
)]
)
if test $xdvi_linker_multiple_defns = yes; then
x_linker_options="-Xlinker --allow-multiple-definition"
LDFLAGS="$xdvi_save_LDFLAGS"
else
    LDFLAGS="$xdvi_save_LDFLAGS"

    xdvi_ld_save_LIBS="$LIBS"
    xdvi_ld_save_CFLAGS="$CFLAGS"
    xdvi_ld_save_CPPFLAGS="$CPPFLAGS"
    xdvi_ld_save_LDFLAGS="$LDFLAGS"

    LIBS="$X_PRE_LIBS -lXt -lX11 $X_EXTRA_LIBS $LIBS"
    CFLAGS="$X_CFLAGS $CFLAGS"
    CPPFLAGS="$X_CFLAGS $CPPFLAGS"
    LDFLAGS="$X_LIBS $LDFLAGS"

    AC_MSG_CHECKING([whether linker supports multiple definitions by default])

    AC_TRY_LINK([
    #include <X11/Intrinsic.h>

    XtIntervalId
    XtAppAddTimeOut(XtAppContext app,
		    unsigned long interval,
		    XtTimerCallbackProc proc,
	            XtPointer closure)
    {
        (void)app; (void)interval; (void)proc; (void)closure;
        return (XtIntervalId)0;
    }
    ],[
	return 0;
    ],
    xdvi_linker_multiple_defns=yes, xdvi_linker_multiple_defns=no
    )

    if test $xdvi_linker_multiple_defns = yes; then
        AC_MSG_RESULT(yes)
    AC_DEFINE(LD_ALLOWS_MULTIPLE_DEFINITIONS)
    else
        AC_MSG_RESULT(no)
 	AC_MSG_WARN([Linker does not allow multiple definitions.
  *****************************************************************
  * Warning: Your linker does not allow multiple definitions.     *
  * This does not make xdvik unusable, but it will cause problems *
  * with event handling: Some widgets, e.g. the print log window, *
  * tooltips, statusline messages and hyperlink location markers  *
  * will not be updated until the mouse is moved.                 *
  *****************************************************************])
    fi
    LIBS="$xdvi_ld_save_LIBS"
    CFLAGS="$xdvi_ld_save_CFLAGS"
    CPPFLAGS="$xdvi_ld_save_CPPFLAGS"
    LDFLAGS="$xdvi_ld_save_LDFLAGS"
fi
AC_SUBST(x_linker_options)])

---------- END of XDVI_LINKER_MULTIPLE_DEFNS Macro ----------



That should be it ... thanks for your patience ;-)

Best,
Stefan