From: Roland McGrath Date: Fri, 25 Jun 1999 14:46:27 +0000 (+0000) Subject: 1999-06-25 Roland McGrath X-Git-Tag: cvs/glibc_2-1-2~351 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=622ccdb562edda5dcc34007c8096845e26e89859;p=thirdparty%2Fglibc.git 1999-06-25 Roland McGrath * hurd.h, hurd/fd.h, hurd/port.h, hurd/signal.h, hurd/threadvar.h, hurd/userlink.h: Instead of _EXTERN_INLINE, use a macro specific to each file, _HURD_FD_H_EXTERN_INLINE and the like. * hurd/Makefile (inline-headers): New variable. (routines): Remove hurdinline. Add $(inlines). (inlines): New variable. ($(inlines:%=$(objpfx)%.c)): New static pattern rule to generate them. (generated): Append those here. * hurd/hurdinline.c: File removed. --- diff --git a/hurd/Makefile b/hurd/Makefile index a9e63b93cf9..0d932e501f0 100644 --- a/hurd/Makefile +++ b/hurd/Makefile @@ -28,6 +28,9 @@ headers = hurd.h $(interface-headers) \ $(addprefix hurd/,fd.h id.h port.h signal.h sigpreempt.h ioctl.h\ userlink.h resource.h threadvar.h lookup.h) +inline-headers = hurd.h $(addprefix hurd/,fd.h signal.h \ + userlink.h threadvar.h port.h) + # The RPC interfaces go in a separate library. interface-library := libhurduser user-interfaces := $(addprefix hurd/,\ @@ -54,13 +57,14 @@ routines = hurdstartup hurdinit \ fopenport \ vpprintf \ ports-get ports-set hurdports hurdmsg \ - $(sig) $(dtable) hurdinline port-cleanup report-wait + $(sig) $(dtable) $(inlines) port-cleanup report-wait sig = hurdsig hurdfault siginfo hurd-raise preempt-sig \ trampoline longjmp-ts catch-exc exc2signal hurdkill sigunwind \ thread-self thread-cancel intr-msg catch-signal dtable = dtable port2fd new-fd alloc-fd intern-fd \ getdport openport \ fd-close fd-read fd-write hurdioctl ctty-input ctty-output +inlines = $(inline-headers:%.h=%-inlines) distribute = hurdstartup.h hurdfault.h hurdhost.h \ faultexc.defs intr-rpc.defs intr-rpc.h intr-msg.h Notes @@ -74,6 +78,15 @@ routines += compat-20 endif shared-only-routines = compat-20 + +# For each of the $(inline-headers), generate a trivial source +# file that will #include it to define its inline functions as real functions. +$(inlines:%=$(objpfx)%.c): $(objpfx)%-inlines.c: %.h + (h="`echo $(subst /,_,$*) | tr '[a-z]' '[A-Z]'`"; \ + echo "#define _$${h}_H_EXTERN_INLINE /* Define real function. */"; \ + echo '#include "$<"') > $@-new + mv -f $@-new $@ +generated += $(inlines:=.c) include ../mach/Machrules include ../Rules diff --git a/hurd/hurdinline.c b/hurd/hurdinline.c deleted file mode 100644 index ed55ed63000..00000000000 --- a/hurd/hurdinline.c +++ /dev/null @@ -1,13 +0,0 @@ -/* Include these first to avoid defining their inline functions. */ -#include -#include - -#undef _EXTERN_INLINE -#define _EXTERN_INLINE /* Define the real function. */ - -#include "hurd.h" -#include "hurd/fd.h" -#include "hurd/signal.h" -#include "hurd/userlink.h" -#include "hurd/threadvar.h" -#include "hurd/port.h"