bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

coreutils-6.0 on BeOS (2)


From: Bruno Haible
Subject: coreutils-6.0 on BeOS (2)
Date: Mon, 21 Aug 2006 20:24:22 +0200
User-agent: KMail/1.9.1

Compiling coreutils-6.0 on BeOS leads to a compilation error:

source='strstr.c' object='strstr.o' libtool=no \
DEPDIR=.deps depmode=gcc /bin/sh ../build-aux/depcomp \
gcc -DHAVE_CONFIG_H -DLIBDIR=\"/boot/home/config/lib\" -I. -I. -I..  -I.. -I. 
-Wall -I/boot/home/config/include   -g -O2 -c strstr.c
In file included from /boot/home/gnubuild/coreutils-6.0/lib/mbuiter.h:101,
                 from /boot/home/gnubuild/coreutils-6.0/lib/strstr.c:29:
/boot/home/gnubuild/coreutils-6.0/lib/mbchar.h:159: wctype.h: No such file or 
directory
make[3]: *** [strstr.o] Error 1
make[3]: Leaving directory `/boot/home/gnubuild/coreutils-6.0/lib'

and, if that is fixed locally in mbchar.h, a link error:

gcc  -g -O2   -o cp  cp.o copy.o cp-hash.o ../lib/libcoreutils.a 
/boot/home/config/lib/libintl.so -L/boot/home/config/lib 
/boot/home/config/lib/libiconv.so -Wl,-rpath -Wl,/boot/home/config/lib 
../lib/libcoreutils.a   
../lib/libcoreutils.a(strcasecmp.o): In function `rpl_strcasecmp':
/boot/home/gnubuild/coreutils-6.0/lib/mbchar.h:437: undefined reference to 
`is_basic_table'
/boot/home/gnubuild/coreutils-6.0/lib/mbchar.h:437: undefined reference to 
`is_basic_table'
/boot/home/gnubuild/coreutils-6.0/lib/mbchar.h:437: undefined reference to 
`is_basic_table'
/boot/home/gnubuild/coreutils-6.0/lib/mbchar.h:437: undefined reference to 
`is_basic_table'
collect2: ld returned 1 exit status
make[3]: *** [cp] Error 1
make[3]: Leaving directory `/boot/home/gnubuild/coreutils-6.0/src'

The reason is that BeOS has mbrtowc() but no <wctype.h>, and hence mbchar.c has
not been compiled. I'm committing this fix to gnulib.


2006-08-19  Bruno Haible  <address@hidden>

        BeOS portability.
        * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
        BeOS has mbrtowc() but no <wctype.h>.
        * lib/mbchar.h: Include <wctype.h> only if it exists.
        * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
        exist.

*** gnulib-20060816/modules/mbchar      2006-06-28 18:13:49.000000000 +0200
--- gnulib-20060816-modified/modules/mbchar     2006-08-19 14:33:50.000000000 
+0200
***************
*** 17,23 ****
  lib_SOURCES += mbchar.h
  
  Include:
! #if HAVE_WCHAR_H && HAVE_WCTYPE_H
  #include "mbchar.h"
  #endif
  
--- 17,23 ----
  lib_SOURCES += mbchar.h
  
  Include:
! #if HAVE_WCHAR_H
  #include "mbchar.h"
  #endif
  
*** gnulib-20060816/lib/mbchar.h        2006-07-28 19:29:31.000000000 +0200
--- gnulib-20060816-modified/lib/mbchar.h       2006-08-19 14:36:11.000000000 
+0200
***************
*** 156,162 ****
  #include <time.h>
  #include <wchar.h>
  
! #include <wctype.h>
  /* FreeBSD 4.4 to 4.11 has <wctype.h> but lacks the functions.
     Assume all 12 functions are implemented the same way, or not at all.  */
  #if !defined iswalnum && !HAVE_ISWCNTRL
--- 156,165 ----
  #include <time.h>
  #include <wchar.h>
  
! /* BeOS 5 has the functions but no <wctype.h>.  */
! #if HAVE_WCTYPE_H
! # include <wctype.h>
! #endif
  /* FreeBSD 4.4 to 4.11 has <wctype.h> but lacks the functions.
     Assume all 12 functions are implemented the same way, or not at all.  */
  #if !defined iswalnum && !HAVE_ISWCNTRL
*** gnulib-20060816/m4/mbchar.m4        2006-07-28 16:35:19.000000000 +0200
--- gnulib-20060816-modified/m4/mbchar.m4       2006-08-19 14:35:38.000000000 
+0200
***************
*** 1,4 ****
! # mbchar.m4 serial 3
  dnl Copyright (C) 2005-2006 Free Software Foundation, Inc.
  dnl This file is free software; the Free Software Foundation
  dnl gives unlimited permission to copy and/or distribute it,
--- 1,4 ----
! # mbchar.m4 serial 4
  dnl Copyright (C) 2005-2006 Free Software Foundation, Inc.
  dnl This file is free software; the Free Software Foundation
  dnl gives unlimited permission to copy and/or distribute it,
***************
*** 10,22 ****
  AC_DEFUN([gl_MBCHAR],
  [
    AC_REQUIRE([AC_GNU_SOURCE])
!   dnl The following line is that so the user can test
!   dnl HAVE_WCHAR_H && HAVE_WCTYPE_H before #include "mbchar.h".
!   AC_CHECK_HEADERS_ONCE(wchar.h wctype.h)
!   dnl Compile mbchar.c only if HAVE_WCHAR_H && HAVE_WCTYPE_H.
!   if test $ac_cv_header_wchar_h = yes && test $ac_cv_header_wctype_h = yes; 
then
      AC_LIBOBJ([mbchar])
      dnl Prerequisites of mbchar.h and mbchar.c.
      AC_CHECK_FUNCS([iswcntrl])
    fi
  ])
--- 10,23 ----
  AC_DEFUN([gl_MBCHAR],
  [
    AC_REQUIRE([AC_GNU_SOURCE])
!   dnl The following line is that so the user can test HAVE_WCHAR_H
!   dnl before #include "mbchar.h".
!   AC_CHECK_HEADERS_ONCE([wchar.h])
!   dnl Compile mbchar.c only if HAVE_WCHAR_H.
!   if test $ac_cv_header_wchar_h = yes; then
      AC_LIBOBJ([mbchar])
      dnl Prerequisites of mbchar.h and mbchar.c.
+     AC_CHECK_HEADERS_ONCE([wctype.h])
      AC_CHECK_FUNCS([iswcntrl])
    fi
  ])




reply via email to

[Prev in Thread] Current Thread [Next in Thread]