+2008-04-15 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * gnulib/Makefile.am, gnulib/m4/gnulib-cache.m4,
+ gnulib/aux/link-warning.h, gnulib/extra/link-warning.h: Adjust
+ by rerunning gnulib-tool with --aux-dir=gnulib/extra.
+ * gnulib/Makefile.in: Regenerate.
+
2008-04-14 Daniel Jacobowitz <dan@codesourcery.com>
* Makefile.in (GNULIB_H): New. Trigger all-lib.
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib --m4-base=gnulib/m4 --doc-base=doc --aux-dir=gnulib/aux --no-libtool --macro-prefix=gl memmem
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib --m4-base=gnulib/m4 --doc-base=doc --aux-dir=gnulib/extra --no-libtool --macro-prefix=gl memmem
AUTOMAKE_OPTIONS = 1.5 gnits
## begin gnulib module link-warning
-LINK_WARNING_H=$(top_srcdir)/gnulib/aux/link-warning.h
+LINK_WARNING_H=$(top_srcdir)/gnulib/extra/link-warning.h
-EXTRA_DIST += $(top_srcdir)/gnulib/aux/link-warning.h
+EXTRA_DIST += $(top_srcdir)/gnulib/extra/link-warning.h
## end gnulib module link-warning
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib --m4-base=gnulib/m4 --doc-base=doc --aux-dir=gnulib/aux --no-libtool --macro-prefix=gl memmem
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib --m4-base=gnulib/m4 --doc-base=doc --aux-dir=gnulib/extra --no-libtool --macro-prefix=gl memmem
noinst_HEADERS =
noinst_LIBRARIES = libgnu.a
noinst_LTLIBRARIES =
-EXTRA_DIST = $(top_srcdir)/gnulib/aux/link-warning.h memchr.c memcmp.c \
- memmem.c str-two-way.h stdint.in.h string.in.h wchar.in.h
+EXTRA_DIST = $(top_srcdir)/gnulib/extra/link-warning.h memchr.c \
+ memcmp.c memmem.c str-two-way.h stdint.in.h string.in.h \
+ wchar.in.h
BUILT_SOURCES = $(STDINT_H) string.h $(WCHAR_H)
SUFFIXES =
MOSTLYCLEANFILES = core *.stackdump stdint.h stdint.h-t string.h \
libgnu_a_LIBADD = $(gl_LIBOBJS)
libgnu_a_DEPENDENCIES = $(gl_LIBOBJS)
EXTRA_libgnu_a_SOURCES = memchr.c memcmp.c memmem.c
-LINK_WARNING_H = $(top_srcdir)/gnulib/aux/link-warning.h
+LINK_WARNING_H = $(top_srcdir)/gnulib/extra/link-warning.h
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-am
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/$(top_srcdir)/gnulib/aux
+ $(mkdir_p) $(distdir)/$(top_srcdir)/gnulib/extra
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
--- /dev/null
+/* GL_LINK_WARNING("literal string") arranges to emit the literal string as
+ a linker warning on most glibc systems.
+ We use a linker warning rather than a preprocessor warning, because
+ #warning cannot be used inside macros. */
+#ifndef GL_LINK_WARNING
+ /* This works on platforms with GNU ld and ELF object format.
+ Testing __GLIBC__ is sufficient for asserting that GNU ld is in use.
+ Testing __ELF__ guarantees the ELF object format.
+ Testing __GNUC__ is necessary for the compound expression syntax. */
+# if defined __GLIBC__ && defined __ELF__ && defined __GNUC__
+# define GL_LINK_WARNING(message) \
+ GL_LINK_WARNING1 (__FILE__, __LINE__, message)
+# define GL_LINK_WARNING1(file, line, message) \
+ GL_LINK_WARNING2 (file, line, message) /* macroexpand file and line */
+# define GL_LINK_WARNING2(file, line, message) \
+ GL_LINK_WARNING3 (file ":" #line ": warning: " message)
+# define GL_LINK_WARNING3(message) \
+ ({ static const char warning[sizeof (message)] \
+ __attribute__ ((__unused__, \
+ __section__ (".gnu.warning"), \
+ __aligned__ (1))) \
+ = message "\n"; \
+ (void)0; \
+ })
+# else
+# define GL_LINK_WARNING(message) ((void) 0)
+# endif
+#endif
# Specification in the form of a command-line invocation:
-# gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib --m4-base=gnulib/m4 --doc-base=doc --aux-dir=gnulib/aux --no-libtool --macro-prefix=gl memmem
+# gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib --m4-base=gnulib/m4 --doc-base=doc --aux-dir=gnulib/extra --no-libtool --macro-prefix=gl memmem
# Specification in the form of a few gnulib-tool.m4 macro invocations:
gl_LOCAL_DIR([])