XEmacs 21.4.15 does not compile on cygwin with gcc 3.3.3

Vin Shelton acs at xemacs.org
Tue Aug 24 21:22:22 EDT 2004


Hi Volker,

Thanks for sending your cygwin patches.  I'd like to see if we can't
figure out how to accomodate them in the stable XEmacs source tree.
I'll include my comments with your patches.  I'd encourage others to
post their comments.

>
> This is my diff which I used to compile the cygwin version:
>
> diff -urN -x .build -x .inst -x .sinst xemacs-21.4.15-orig/configure xemacs-21.4.15/configure
> --- xemacs-21.4.15-orig/configure	2004-01-24 05:34:33.000000000 +0100
> +++ xemacs-21.4.15/configure	2004-02-24 14:41:06.157574400 +0100
> @@ -13336,7 +13336,7 @@
>    echo "$ac_t""yes" 1>&6
>    sound_found=yes
>         need_miscplay=yes
> -        extra_objs="$extra_objs linuxplay.o" &&  if test "$extra_verbose" = "yes"; then
> +        extra_objs="$extra_objs" &&  if test "$extra_verbose" = "yes"; then
>     echo "    xemacs will be linked with \"linuxplay.o\""
>   fi
>          { test "$extra_verbose" = "yes" && cat << EOF

Why does the test for linuxplay.o succeed incorrectly?  How can we fix
this up (in configure.in, of course).


> diff -urN -x .build -x .inst -x .sinst xemacs-21.4.15-orig/configure.in xemacs-21.4.15/configure.in
> --- xemacs-21.4.15-orig/configure.in	2004-01-24 05:37:54.000000000 +0100
> +++ xemacs-21.4.15/configure.in	2004-02-24 14:41:06.167588800 +0100
> @@ -4447,7 +4447,7 @@
>    AC_MSG_CHECKING(for Berkeley db.h)
>    for header in "db/db.h" "db.h"; do
>      case "$opsys" in
> -        *freebsd*)
> +        *freebsd*|*cygwin*)
>      AC_TRY_COMPILE([
>  #include <stdlib.h>
>  #if !(defined __GLIBC__ && __GLIBC_MINOR__ >= 1)

I think this is acceptable as is.


> diff -urN -x .build -x .inst -x .sinst xemacs-21.4.15-orig/lisp/find-paths.el xemacs-21.4.15/lisp/find-paths.el
> --- xemacs-21.4.15-orig/lisp/find-paths.el	2002-08-20 13:34:41.000000000 +0200
> +++ xemacs-21.4.15/lisp/find-paths.el	2004-02-24 14:41:06.177603200 +0100
> @@ -103,7 +103,7 @@
>    (or
>     ;; installed
>     (paths-file-readable-directory-p (paths-construct-path (list directory
> -								"lib"
> +								"share"
>  								emacs-program-name)))
>     ;; in-place or windows-nt
>     (and
> @@ -211,7 +211,7 @@
>    (paths-find-emacs-directory roots
>  			      (file-name-as-directory
>  			       (paths-construct-path (list
> -						      "lib"
> +						      "share"
>  						      emacs-program-name)))
>  			      base
>  			      envvar default
> @@ -225,7 +225,7 @@
>    (paths-find-emacs-directory roots
>  			      (file-name-as-directory
>  			       (paths-construct-path
> -				(list "lib"
> +				(list "share"
>  				      (construct-emacs-version-name))))
>  			      base
>  			      envvar default

Volker, do you really need to change "lib" into "share" here?  Are
there cygwin standards at work?  Can anyone suggest how to do this?
Michael, what do you think? Would others find an

(if (equal system-type 'cygwin)
    "share"
  "lib")

blecherous?  

> diff -urN -x .build -x .inst -x .sinst xemacs-21.4.15-orig/src/database.c xemacs-21.4.15/src/database.c
> --- xemacs-21.4.15-orig/src/database.c	2003-06-19 05:34:42.000000000 +0200
> +++ xemacs-21.4.15/src/database.c	2004-02-24 14:41:06.187617600 +0100
> @@ -43,9 +43,11 @@
>  /* glibc 2.1 doesn't have this problem with DB 2.x */
>  #if !(defined __GLIBC__ && __GLIBC_MINOR__ >= 1)
>  #ifdef HAVE_INTTYPES_H
> +#ifndef __CYGWIN__
>  #define __BIT_TYPES_DEFINED__
> +#endif
>  #include <inttypes.h>
> -#ifndef __FreeBSD__
> +#if !defined(__FreeBSD__) && !defined(__CYGWIN__)
>  typedef uint8_t  u_int8_t;
>  typedef uint16_t u_int16_t;
>  typedef uint32_t u_int32_t;

I think this is acceptable.

Thanks,
  Vin




More information about the XEmacs-Beta mailing list