* [PATCH 1/2] m4/getloadavg.m4: restrict AIX specific test on AIX @ 2020-02-24 12:56 Jens Rehsack 2020-02-24 12:56 ` [PATCH 2/2] modules: fcntl: allow being detected by importing projects Jens Rehsack 2020-02-24 20:20 ` [PATCH 1/2] m4/getloadavg.m4: restrict AIX specific test on AIX Bruno Haible 0 siblings, 2 replies; 4+ messages in thread From: Jens Rehsack @ 2020-02-24 12:56 UTC (permalink / raw) To: bug-gnulib; +Cc: Jens Rehsack When cross compiling for a system without getloadavg, do not try add additional linker paths unless it's absolutely necessary. Signed-off-by: Jens Rehsack <sno@netbsd.org> --- m4/getloadavg.m4 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/m4/getloadavg.m4 b/m4/getloadavg.m4 index 3bd2a142e..696c5de90 100644 --- a/m4/getloadavg.m4 +++ b/m4/getloadavg.m4 @@ -42,6 +42,8 @@ AC_CHECK_FUNC([getloadavg], [], fi if test $gl_func_getloadavg_done = no; then + AS_CASE([$host_os], + [aix*], [ # There is a commonly available library for RS/6000 AIX. # Since it is not a standard part of AIX, it might be installed locally. gl_getloadavg_LIBS=$LIBS @@ -49,6 +51,7 @@ AC_CHECK_FUNC([getloadavg], [], AC_CHECK_LIB([getloadavg], [getloadavg], [LIBS="-lgetloadavg $LIBS" gl_func_getloadavg_done=yes], [LIBS=$gl_getloadavg_LIBS]) + ], [:]) fi # Set up the replacement function if necessary. -- 2.17.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] modules: fcntl: allow being detected by importing projects 2020-02-24 12:56 [PATCH 1/2] m4/getloadavg.m4: restrict AIX specific test on AIX Jens Rehsack @ 2020-02-24 12:56 ` Jens Rehsack 2020-02-24 20:08 ` Bruno Haible 2020-02-24 20:20 ` [PATCH 1/2] m4/getloadavg.m4: restrict AIX specific test on AIX Bruno Haible 1 sibling, 1 reply; 4+ messages in thread From: Jens Rehsack @ 2020-02-24 12:56 UTC (permalink / raw) To: bug-gnulib; +Cc: Jens Rehsack GNU project `make` relies on gnulib but provides some own compatibility functions - including an `fcntl`, which fails on mingw. The intension of gnulib is providing these functions and being wider tested, but silently injecting a function opens battle of compatibility layers. So adding a hint into target `config.h` to allow deciding whether using an own compatibility implementation or not. Signed-off-by: Jens Rehsack <sno@netbsd.org> --- modules/fcntl | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/fcntl b/modules/fcntl index 3ee0811c8..508794de2 100644 --- a/modules/fcntl +++ b/modules/fcntl @@ -17,6 +17,7 @@ configure.ac: gl_FUNC_FCNTL if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then AC_LIBOBJ([fcntl]) + AC_DEFINE(HAVE_GNULIB_FCNTL, 1, [Define to 1 if you have the `fcntl' function via gnulib.]) fi gl_FCNTL_MODULE_INDICATOR([fcntl]) -- 2.17.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] modules: fcntl: allow being detected by importing projects 2020-02-24 12:56 ` [PATCH 2/2] modules: fcntl: allow being detected by importing projects Jens Rehsack @ 2020-02-24 20:08 ` Bruno Haible 0 siblings, 0 replies; 4+ messages in thread From: Bruno Haible @ 2020-02-24 20:08 UTC (permalink / raw) To: bug-gnulib; +Cc: Jens Rehsack Jens Rehsack wrote: > battle of compatibility layers. Yes, we need C preprocessor macros to avoid conflicts between compatibility layers. It's preferable to have this witness macro defined through the .h file. 2020-02-24 Bruno Haible <bruno@clisp.org> fcntl: Add witness of gnulib override. Reported by Jens Rehsack <sno@netbsd.org> in <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00137.html>. * lib/fcntl.in.h (GNULIB_defined_rpl_fcntl, GNULIB_defined_fcntl): New macros. diff --git a/lib/fcntl.in.h b/lib/fcntl.in.h index b2e1e51..0a21c95 100644 --- a/lib/fcntl.in.h +++ b/lib/fcntl.in.h @@ -116,9 +116,15 @@ _GL_WARN_ON_USE (creat, "creat is not always POSIX compliant - " # endif _GL_FUNCDECL_RPL (fcntl, int, (int fd, int action, ...)); _GL_CXXALIAS_RPL (fcntl, int, (int fd, int action, ...)); +# if !GNULIB_defined_rpl_fcntl +# define GNULIB_defined_rpl_fcntl 1 +# endif # else # if !@HAVE_FCNTL@ _GL_FUNCDECL_SYS (fcntl, int, (int fd, int action, ...)); +# if !GNULIB_defined_fcntl +# define GNULIB_defined_fcntl 1 +# endif # endif _GL_CXXALIAS_SYS (fcntl, int, (int fd, int action, ...)); # endif ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] m4/getloadavg.m4: restrict AIX specific test on AIX 2020-02-24 12:56 [PATCH 1/2] m4/getloadavg.m4: restrict AIX specific test on AIX Jens Rehsack 2020-02-24 12:56 ` [PATCH 2/2] modules: fcntl: allow being detected by importing projects Jens Rehsack @ 2020-02-24 20:20 ` Bruno Haible 1 sibling, 0 replies; 4+ messages in thread From: Bruno Haible @ 2020-02-24 20:20 UTC (permalink / raw) To: bug-gnulib; +Cc: Jens Rehsack Jens Rehsack wrote: > When cross compiling for a system without getloadavg, do not try add > additional linker paths unless it's absolutely necessary. > > Signed-off-by: Jens Rehsack <sno@netbsd.org> > --- > m4/getloadavg.m4 | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/m4/getloadavg.m4 b/m4/getloadavg.m4 > index 3bd2a142e..696c5de90 100644 > --- a/m4/getloadavg.m4 > +++ b/m4/getloadavg.m4 > @@ -42,6 +42,8 @@ AC_CHECK_FUNC([getloadavg], [], > fi > > if test $gl_func_getloadavg_done = no; then > + AS_CASE([$host_os], > + [aix*], [ > # There is a commonly available library for RS/6000 AIX. > # Since it is not a standard part of AIX, it might be installed locally. > gl_getloadavg_LIBS=$LIBS In gnulib, we often try to be system-agnostic in the *.m4 files. For example, if on a different system someone builds a libgetloadavg.{a,so}, this autoconf test snippet would recognize it. This is a feature, not a misfeature. Also, in gnulib, we don't use the AS_IF, AS_CASE, etc. macros, because it's simpler to write the shell code directly. 2020-02-24 Bruno Haible <bruno@clisp.org> getloadavg: Don't use /usr/local when cross-compiling on AIX. Reported by Jens Rehsack <sno@netbsd.org> in <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00136.html>. * m4/getloadavg.m4 (gl_GETLOADAVG): Don't look in /usr/local/lib when cross-compiling. diff --git a/m4/getloadavg.m4 b/m4/getloadavg.m4 index 3bd2a14..8e96965 100644 --- a/m4/getloadavg.m4 +++ b/m4/getloadavg.m4 @@ -7,7 +7,7 @@ # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -#serial 8 +#serial 9 # Autoconf defines AC_FUNC_GETLOADAVG, but that is obsolescent. # New applications should use gl_GETLOADAVG instead. @@ -45,7 +45,9 @@ AC_CHECK_FUNC([getloadavg], [], # There is a commonly available library for RS/6000 AIX. # Since it is not a standard part of AIX, it might be installed locally. gl_getloadavg_LIBS=$LIBS - LIBS="-L/usr/local/lib $LIBS" + if test $cross_compiling != yes; then + LIBS="-L/usr/local/lib $LIBS" + fi AC_CHECK_LIB([getloadavg], [getloadavg], [LIBS="-lgetloadavg $LIBS" gl_func_getloadavg_done=yes], [LIBS=$gl_getloadavg_LIBS]) ^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-02-24 20:20 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-02-24 12:56 [PATCH 1/2] m4/getloadavg.m4: restrict AIX specific test on AIX Jens Rehsack 2020-02-24 12:56 ` [PATCH 2/2] modules: fcntl: allow being detected by importing projects Jens Rehsack 2020-02-24 20:08 ` Bruno Haible 2020-02-24 20:20 ` [PATCH 1/2] m4/getloadavg.m4: restrict AIX specific test on AIX Bruno Haible
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).