libc-lock.h; transition from sysdeps/generic/

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

libc-lock.h; transition from sysdeps/generic/

Thomas Schwinge-6
Hi!

Before the transition away from sysdeps/generic/ was done, the generic
libc-lock.h was located in sysdeps/generic/bits/.  Now it's in bits/.

The GNU/Mach port of glibc has a system-specific one in
sysdeps/mach/{hurd/,}bits/, which is no longer picked up for installation
as the generic one, bits/libc-lock.h, will always be picked up instead:

Makefile
#v+
[...]
headers := limits.h values.h features.h gnu-versions.h bits/libc-lock.h \
           bits/xopen_lim.h gnu/libc-version.h
[...]
#v-

#v+
$ make -d install_root="$SYS_ROOT" "$SYS_ROOT"/include/bits/libc-lock.h
[...]
Updating goal targets....
Considering target file `/home/thomas/tmp/gnu-2/sys_root/include/bits/libc-lock.h'.
 File `/home/thomas/tmp/gnu-2/sys_root/include/bits/libc-lock.h' does not exist.
  Considering target file `bits/libc-lock.h'.
   Looking for an implicit rule for `bits/libc-lock.h'.
   No implicit rule found for `bits/libc-lock.h'.
   Finished prerequisites of target file `bits/libc-lock.h'.
  No need to remake target `bits/libc-lock.h'.
  Considering target file `force-install'.
   File `force-install' does not exist.
   Finished prerequisites of target file `force-install'.
  Must remake target `force-install'.
  Successfully remade target file `force-install'.
 Finished prerequisites of target file `/home/thomas/tmp/gnu-2/sys_root/include/bits/libc-lock.h'.
Must remake target `/home/thomas/tmp/gnu-2/sys_root/include/bits/libc-lock.h'.
/usr/bin/install -c -m 644 bits/libc-lock.h /home/thomas/tmp/gnu-2/sys_root/include/bits/libc-lock.h
[...]
#v-

How is this supposed to be fixed?  Splitting the bits/ headers from the
other headers?


Regards,
 Thomas
Reply | Threaded
Open this post in threaded view
|

Re: libc-lock.h; transition from sysdeps/generic/

Roland McGrath
It's a general problem in make install for all sysdeps headers since the
reorganization.  I've some commited makefile changes for header installation.
Please verify that they install the right things in the right places (i.e.,
same as before the source reorganizations).


Thanks,
Roland
Reply | Threaded
Open this post in threaded view
|

Re: libc-lock.h; transition from sysdeps/generic/

Roland McGrath
In reply to this post by Thomas Schwinge-6
It's a general problem in make install for all sysdeps headers since the
reorganization.  I've some commited makefile changes for header installation.
Please verify that they install the right things in the right places (i.e.,
same as before the source reorganizations).


Thanks,
Roland
Reply | Threaded
Open this post in threaded view
|

Re: libc-lock.h; transition from sysdeps/generic/

Thomas Schwinge-6
In reply to this post by Roland McGrath
On Mon, Jan 16, 2006 at 08:30:53PM -0800, Roland McGrath wrote:
> It's a general problem in make install for all sysdeps headers since the
> reorganization.  I've some commited makefile changes for header installation.
> Please verify that they install the right things in the right places (i.e.,
> same as before the source reorganizations).

Something like the following patch is needed:

2006-01-19  Thomas Schwinge  <[hidden email]>

        * mach/Machrules: Tighten rule for building .h files to match only
        those that are actually buildable.

Index: mach/Machrules
===================================================================
RCS file: /cvs/glibc/libc/mach/Machrules,v
retrieving revision 1.75
diff -u -r1.75 Machrules
--- mach/Machrules 17 Feb 2002 07:57:18 -0000 1.75
+++ mach/Machrules 19 Jan 2006 16:13:38 -0000
@@ -1,5 +1,5 @@
 # Rules for MiG interfaces that want to go into the C library.
-# Copyright (C) 1991,92,93,94,95,96,98,99,2001,02
+# Copyright (C) 1991,92,93,94,95,96,98,99,2001,02,2006
 # Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
@@ -173,7 +173,7 @@
        -header $@ -server /dev/null -user /dev/null
 endef
 
-$(objpfx)%.h: $(objpfx)%.__h $(objpfx)%.uh
+$(foreach i,$(user-interfaces),$(objpfx)$(i).h): %.h: %.__h %.uh
 # The last line of foo.__h is "#endif _foo_user_".
 # The first two lines of foo.uh are "#ifndef _foo_user_"/"#define _foo_user_".
  (sed -e '$$d' $<; sed -e '1,2d' $(word 2,$^)) > $@-new


Without that patch, glibc will--at the `make install' stage--try to
remake GNU Mach's header files from nonexistent .defs files, which will
obviously fail.


Regards,
 Thomas


P.S.

2006-01-19  Thomas Schwinge  <[hidden email]>

        * libio/genops.c: Include <stdbool.h>.

Index: libio/genops.c
===================================================================
RCS file: /cvs/glibc/libc/libio/genops.c,v
retrieving revision 1.68
diff -u -r1.68 genops.c
--- libio/genops.c 11 Jan 2006 08:09:39 -0000 1.68
+++ libio/genops.c 19 Jan 2006 16:13:38 -0000
@@ -33,6 +33,7 @@
 #include <stdlib.h>
 #endif
 #include <string.h>
+#include <stdbool.h>
 
 #ifdef _IO_MTSAFE_IO
 static _IO_lock_t list_all_lock = _IO_lock_initializer;