--- On Mon, 2014/4/21, Paul Eggert wrote: > Hmm, looks like you haven't used gnulib-tool; it should create .m4 files that > define those macros. Please see the gnulib manual, e.g.: > > http://www.gnu.org/software/gnulib/manual/html_node/Invoking-gnulib_002dtool.html > Thanks for the reply and sorry for the insufficient information.
I used gnulib-tool to import files. $ cd "D:\usr\Tatsu\mingw32work\gnulib\socket_poll" #(Here is working directory, #the clone directory is ../gnulib) $ ../gnulib/gnulib-tool --import sys_socket poll Module list with included dependencies (indented): absolute-header alloca alloca-opt dup2 errno extensions extern-inline fd-hook include_next msvc-inval msvc-nothrow poll poll-h select signal-h snippet/arg-nonnull snippet/c++defs snippet/warn-on-use socketlib sockets socklen ssize_t stdalign stddef sys_select sys_socket sys_time sys_types sys_uio unistd File list: build-aux/snippet/arg-nonnull.h build-aux/snippet/c++defs.h build-aux/snippet/warn-on-use.h lib/alloca.c lib/alloca.in.h lib/dup2.c lib/errno.in.h lib/fd-hook.c lib/fd-hook.h lib/msvc-inval.c lib/msvc-inval.h lib/msvc-nothrow.c lib/msvc-nothrow.h lib/poll.c lib/poll.in.h lib/select.c lib/signal.in.h lib/sockets.c lib/sockets.h lib/stdalign.in.h lib/stddef.in.h lib/sys_select.in.h lib/sys_socket.c lib/sys_socket.in.h lib/sys_time.in.h lib/sys_types.in.h lib/sys_uio.in.h lib/unistd.c lib/unistd.in.h lib/w32sock.h m4/00gnulib.m4 m4/absolute-header.m4 m4/alloca.m4 m4/dup2.m4 m4/errno_h.m4 m4/extensions.m4 m4/extern-inline.m4 m4/gnulib-common.m4 m4/include_next.m4 m4/msvc-inval.m4 m4/msvc-nothrow.m4 m4/off_t.m4 m4/onceonly.m4 m4/poll.m4 m4/poll_h.m4 m4/select.m4 m4/signal_h.m4 m4/socketlib.m4 m4/sockets.m4 m4/socklen.m4 m4/sockpfaf.m4 m4/ssize_t.m4 m4/stdalign.m4 m4/stddef_h.m4 m4/sys_select_h.m4 m4/sys_socket_h.m4 m4/sys_time_h.m4 m4/sys_types_h.m4 m4/sys_uio_h.m4 m4/unistd_h.m4 m4/warn-on-use.m4 m4/wchar_t.m4 Creating directory ./lib Creating directory ./m4 Creating directory ././snippet Copying file ./snippet/arg-nonnull.h Copying file ./snippet/c++defs.h Copying file ./snippet/warn-on-use.h Copying file lib/alloca.c Copying file lib/alloca.in.h Copying file lib/dup2.c Copying file lib/errno.in.h Copying file lib/fd-hook.c Copying file lib/fd-hook.h Copying file lib/msvc-inval.c Copying file lib/msvc-inval.h Copying file lib/msvc-nothrow.c Copying file lib/msvc-nothrow.h Copying file lib/poll.c Copying file lib/poll.in.h Copying file lib/select.c Copying file lib/signal.in.h Copying file lib/sockets.c Copying file lib/sockets.h Copying file lib/stdalign.in.h Copying file lib/stddef.in.h Copying file lib/sys_select.in.h Copying file lib/sys_socket.c Copying file lib/sys_socket.in.h Copying file lib/sys_time.in.h Copying file lib/sys_types.in.h Copying file lib/sys_uio.in.h Copying file lib/unistd.c Copying file lib/unistd.in.h Copying file lib/w32sock.h Copying file m4/00gnulib.m4 Copying file m4/absolute-header.m4 Copying file m4/alloca.m4 Copying file m4/dup2.m4 Copying file m4/errno_h.m4 Copying file m4/extensions.m4 Copying file m4/extern-inline.m4 Copying file m4/gnulib-common.m4 Copying file m4/gnulib-tool.m4 Copying file m4/include_next.m4 Copying file m4/msvc-inval.m4 Copying file m4/msvc-nothrow.m4 Copying file m4/off_t.m4 Copying file m4/onceonly.m4 Copying file m4/poll.m4 Copying file m4/poll_h.m4 Copying file m4/select.m4 Copying file m4/signal_h.m4 Copying file m4/socketlib.m4 Copying file m4/sockets.m4 Copying file m4/socklen.m4 Copying file m4/sockpfaf.m4 Copying file m4/ssize_t.m4 Copying file m4/stdalign.m4 Copying file m4/stddef_h.m4 Copying file m4/sys_select_h.m4 Copying file m4/sys_socket_h.m4 Copying file m4/sys_time_h.m4 Copying file m4/sys_types_h.m4 Copying file m4/sys_uio_h.m4 Copying file m4/unistd_h.m4 Copying file m4/warn-on-use.m4 Copying file m4/wchar_t.m4 Creating lib/Makefile.am Creating m4/gnulib-cache.m4 Creating m4/gnulib-comp.m4 Finished. You may need to add #include directives for the following .h files. #include <poll.h> #include <sys/socket.h> You may need to use the following Makefile variables when linking. Use them in <program>_LDADD when linking a program, or in <library>_a_LDFLAGS or <library>_la_LDFLAGS when linking a library. $(LIBSOCKET) $(LIB_POLL) $(LIB_SELECT) Don't forget to - add "lib/Makefile" to AC_CONFIG_FILES in ./configure.ac, - mention "lib" in SUBDIRS in Makefile.am, - mention "-I m4" in ACLOCAL_AMFLAGS in Makefile.am, - mention "m4/gnulib-cache.m4" in EXTRA_DIST in Makefile.am, - invoke gl_EARLY in ./configure.ac, right after AC_PROG_CC, - invoke gl_INIT in ./configure.ac. #********************** I have modified the files according the above instruction. One point set 'SUBDIRS = lib' gave an automake error. I saw http://www.gnu.org/software/gnulib/manual/html_node/Invoking-gnulib_002dtool.html But I found : First, you must ensure Autoconf can find the macro definitions in gnulib-comp.m4. Use the ACLOCAL_AMFLAGS specifier in your top-level Makefile.am file, as in: ACLOCAL_AMFLAGS = -I m4 I wrote it not in the top level so that I move it in the top level in the lib/Makefile.am. And execute, aclocal autoconf automake --add-missing However, gl_EARLY and gl_INIT are not recognized. Any suggestions? Tatsuro