0a55a28475
2000-04-27 Ulrich Drepper <drepper@redhat.com> * hesiod/nss_hesiod/hesiod-grp.c (_nss_hesiod_initgroups): Handle overflows in conversion from ASCII. 2000-04-26 Jakub Jelinek <jakub@redhat.com> * Makeconfig (full_config_sysdirs): Renamed from full-config-sysdirs. * Makerules (full_config_sysdirs): Likewise. * MakeTAGS (full_config_sysdirs): Likewise. 2000-04-26 Jakub Jelinek <jakub@redhat.com> * .cvsignore: Remove linuxthreads. * po/.cvsignore: Remove *.pot. * posix/glob/.cvsignore: Removed. * sysdeps/unix/bsd/osf/.cvsignore: Removed. 2000-04-25 Andreas Jaeger <aj@suse.de> * conform/Makefile (distribute): Also distribute contents of subdirectories. * Makerules (no_deps): Remove abi-versions.h. * nis/nis_print_group_entry.c: Include alloca.h for alloca prototype. 2000-04-25 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/sparc64/elf/Dist: Remove. * sysdeps/sparc/sparc64/elf/crtbegin.S: Remove. * sysdeps/sparc/sparc64/elf/crtbeginS.S: Remove. * sysdeps/sparc/sparc64/elf/crtend.S: Remove. * sysdeps/sparc/sparc64/elf/crtendS.S: Remove. * sysdeps/sparc/sparc64/elf/Makefile: Don't build crtbegin/crtend objects. 2000-04-25 Thorsten Kukuk <kukuk@suse.de> * nscd/grpcache.c: Fix gr_name pointer [PR/1702]. 2000-04-23 Bruno Haible <clisp.cons.org> * intl/dcigettext.c: Define _GNU_SOURCE as early as possible. * intl/l10nflist.c: Likewise. 2000-04-23 Bruno Haible <clisp.cons.org> * intl/bindtextdom.c [!_LIBC]: Define __libc_rwlock_define, __libc_rwlock_wrlock, __libc_rwlock_unlock as empty. * intl/textdomain.c [!_LIBC]: Likewise. * intl/dcigettext.c [!_LIBC]: Define __libc_rwlock_define_initialized, __libc_rwlock_rdlock, __libc_rwlock_unlock as empty. * intl/loadmsgcat.c (_nl_load_domain) [!_LIBC, !HAVE_ICONV]: Avoid syntax error. 2000-04-23 Bruno Haible <clisp.cons.org> * intl/dcigettext.c (_nl_find_msg): Do the plural treatment and character set conversion also in the case the translation was found after a hash collision or through binary search. Store the maximum index together with the converted message. Use iconv() when available. In case of out of memory during conversion, return the unconverted translated string, not NULL.
185 lines
5.3 KiB
Plaintext
185 lines
5.3 KiB
Plaintext
# Make the TAGS files.
|
||
|
||
# Copyright (C) 1992, 1994, 1995, 1996, 1998 Free Software Foundation, Inc.
|
||
# This file is part of the GNU C Library.
|
||
|
||
# The GNU C Library is free software; you can redistribute it and/or
|
||
# modify it under the terms of the GNU Library General Public License
|
||
# as published by the Free Software Foundation; either version 2 of
|
||
# the License, or (at your option) any later version.
|
||
|
||
# The GNU C Library is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||
# Library General Public License for more details.
|
||
|
||
# You should have received a copy of the GNU Library General Public
|
||
# License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||
# write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||
# Boston, MA 02111-1307, USA.
|
||
|
||
# Make this the default goal.
|
||
TAGS:
|
||
|
||
ifdef subdir
|
||
.. := ../
|
||
endif
|
||
|
||
include $(..)Makeconfig
|
||
|
||
ifndef tags_sources
|
||
ifeq ($(subdir),ctype)
|
||
# In most cases, we want the C source files to come before
|
||
# the header files so tags for optimizing #define's in the
|
||
# headers won't be put in the tags files, but for ctype,
|
||
# the functions are just backup for the #define's in the header.
|
||
tags_sources = $(all-headers) $(all-sources) $(all-dist)
|
||
else # Not ctype.
|
||
tags_sources = $(all-sources) $(all-headers) $(all-dist)
|
||
endif # ctype
|
||
endif # No tags_sources
|
||
|
||
sysdep-dirs := $(full_config_sysdirs)
|
||
|
||
ifndef sysdep_dirs
|
||
# Find all sysdep directories.
|
||
sysdep_dirs := $(shell find $(..)sysdeps \
|
||
$(wildcard \
|
||
$(patsubst %,$(..)%/sysdeps,$(add-ons))) \
|
||
-type d ! -name RCS ! -name CVS \
|
||
! -name SCCS -print)
|
||
endif
|
||
|
||
# Find all sysdep dirs there are, but putting the ones
|
||
# we are configured to use first and preserving their order.
|
||
all-dirs := $(subdir-dirs) \
|
||
$(objdir) \
|
||
$(sysdep-dirs) \
|
||
$(source_dirs) \
|
||
$(filter-out $(sysdep-dirs),$(sysdep_dirs))
|
||
|
||
# Find all the subdirs there are, but putting the ones
|
||
# we are configured to use first and preserving their order.
|
||
ifndef subdir
|
||
subdirs := $(subdirs) \
|
||
$(filter-out $(subdirs),\
|
||
$(shell sed -e 's/\#.*$$//' \
|
||
$(wildcard $(addsuffix /Subdirs,\
|
||
$(all-dirs)))\
|
||
/dev/null))
|
||
all-dist = $(foreach Dist,$(wildcard $(all-dirs:%=%/Dist)),\
|
||
$(addprefix $(Dist:%/Dist=%)/,\
|
||
$(filter %.c %.h %.S %.s,\
|
||
$(shell cat $(Dist)))))
|
||
tags_sources = $(all-sources) $(all-headers) $(all-dist)
|
||
else
|
||
all-dist = $(distribute)
|
||
endif
|
||
|
||
# sources and headers must be simply expanded variables
|
||
sources := $(sources) $(filter %.c %.s %.S,$(all-dist))
|
||
headers := $(headers) $(filter %.h,$(all-dist))
|
||
all-dist := $(filter-out %.h %.c %.s %.S,$(all-dist))
|
||
|
||
sources += $(foreach lib,$(extra-libs),$($(lib)-routines:=.c))
|
||
|
||
# All different versions of $(sources), preserving the configured sysdep
|
||
# directory order.
|
||
# Files that are found in the current directory cannot occur in
|
||
# sysdep directories, so don't bother searching them.
|
||
sysdep-sources := $(filter-out $(wildcard $(sources)), $(sources))
|
||
all-sources = $(wildcard $(sort $(sources) $(sources:.c=.S) $(sources:.c=.s) \
|
||
$(others:=.c) $(tests:=.c) $(test-srcs:=.c))) \
|
||
$(foreach dir,$(all-dirs),\
|
||
$(wildcard \
|
||
$(addprefix $(dir)/,\
|
||
$(sort $(sysdep-sources) \
|
||
$(sysdep-sources:.c=.S) \
|
||
$(sysdep-sources:.c=.s)))))
|
||
|
||
sysdep-headers := $(filter-out $(wildcard $(headers)), $(headers))
|
||
all-headers = $(wildcard $(headers)) \
|
||
$(foreach dir,$(all-dirs),\
|
||
$(wildcard $(addprefix $(dir)/,$(sysdep-headers))))
|
||
|
||
tags_sources := $(strip $(tags_sources))
|
||
|
||
TAGS: $(tags_sources)
|
||
ifdef subdir
|
||
ifdef tags_sources
|
||
$(ETAGS) -o $@ $^
|
||
else
|
||
# No sources. Create a dummy file.
|
||
touch $@
|
||
endif # tags_sources
|
||
else # parent
|
||
TAGS: subdir_TAGS
|
||
# Note that this uses the -i switch, and thus requires v19 etags.
|
||
$(ETAGS) -o $@ \
|
||
$(subdirs:%=-i %/TAGS) \
|
||
$(filter-out subdir_TAGS,$^)
|
||
|
||
.PHONY: subdir_TAGS $(subdirs:%=%/TAGS)
|
||
subdir_TAGS: $(subdirs:%=%/TAGS)
|
||
$(subdirs:%=%/TAGS):
|
||
$(MAKE) -C $(@D) no_deps=t $(@F)
|
||
|
||
endif # subdir
|
||
|
||
ifndef XGETTEXT
|
||
XGETTEXT = xgettext
|
||
endif
|
||
|
||
P = $(..)po
|
||
|
||
ifdef subdir
|
||
domain = $(subdir)
|
||
else
|
||
domain = libc-top
|
||
endif
|
||
|
||
define extract
|
||
@rm -f $@.new
|
||
$(XGETTEXT) --keyword=_ --keyword=N_ --add-comments=TRANS --sort-output \
|
||
--omit-header -n -d - $(XGETTEXTFLAGS-$(@F)) > $@.new $^
|
||
mv -f $@.new $@
|
||
endef
|
||
|
||
text-srcs := $(filter %.c %.h %.cc %.C,$(tags_sources))
|
||
$P/$(domain).pot: $(text-srcs)
|
||
ifeq (,$(text-srcs))
|
||
cp /dev/null $@
|
||
else
|
||
$(extract)
|
||
endif
|
||
|
||
all-pot = $P/libc-top.pot $P/subdirs.pot
|
||
|
||
ifndef subdir
|
||
# Collect all the subdir messages, massaging the file names in comments
|
||
# to include the subdir name.
|
||
$P/subdirs.pot: $(subdirs:%=$P/%.pot)
|
||
@rm -f $@.new
|
||
(for d in $(subdirs); \
|
||
do sed "/^#:/s% % $$d/%g" $P/$$d.pot; done) > $@.new
|
||
mv -f $@.new $@
|
||
|
||
# Combine all the messages into the final sorted template translation file.
|
||
# The following code requires GNU date.
|
||
$P/libc.pot: $(all-pot)
|
||
@rm -f $@.new
|
||
set `date -R`; disp="$$6"; \
|
||
sed -e 's/VERSION/$(version)/' \
|
||
-e "s/DATE/`date +'%Y-%m-%d %H:%M'$$disp`/" \
|
||
po/header.pot > $@.new
|
||
$(XGETTEXT) -d - --omit-header -n -s $^ >> $@.new
|
||
mv -f $@.new $@
|
||
ifeq ($(with-cvs),yes)
|
||
test ! -d CVS || cvs $(CVSOPTS) ci -m'Regenerated from source files' $@
|
||
endif
|
||
|
||
$(subdirs:%=$P/%.pot): $P/%.pot: FORCE
|
||
$(MAKE) -C $* no_deps=t ../$@
|
||
FORCE:
|
||
endif
|