On Sunday, November 3, 2013 4:00:16 AM UTC-5, Kazunobu Kuriyama wrote: > On Nov 3, 2013, at 11:58 AM, Bram Moolenaar wrote: > > > > > > > > Hisashi T Fujinaka wrote: > > > > > >> I've been chasing this around and around, but on OS X 10.9 I don't get > > >> HAVE_AVAILABILITY_MACROS_H set in os_unix.c, so there's no #include > > >> <AvailabilityMacros.h> and my compile dies withthe following: > > >> > > >> os_unix.c:834:46: warning: declaration of 'struct sigaltstack' will not be > >> visible outside of this function [-Wvisibility] > > >> extern int sigaltstack __ARGS((const struct sigaltstack *ss, > >> struct sigaltstack *oss)); > > >> ^ > > >> ./os_unix.h:88:21: note: expanded from macro '__ARGS' > > >> # define __ARGS(x) x > > >> ^ > > >> os_unix.c:834:13: error: conflicting types for 'sigaltstack' > > >> extern int sigaltstack __ARGS((const struct sigaltstack *ss, > >> struct sigaltstack *oss)); > > >> ^ > > >> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/signal.h:85:5: > >> note: > > >> previous declaration is here > > >> int sigaltstack(const stack_t * __restrict, stack_t * __restrict) > >> __DARWIN_ALIAS(sigaltstack); > > >> ^ > > >> 1 warning and 1 error generated. > > >> make: *** [objects/os_unix.o] Error 1 > > > > > > Have you checked in src/auto/config.log why AvailabilityMacros.h is not > > > found? > > > You did do "make reconfigure" or "make distclean”? > > > > Thank you for your work, but unfortunately I have to say this. > > > > The same thing as Hisashi T Fujinaka experienced happened to me, and neither > re-creation nor cleanup of the autoconf stuff helped me. > > > > The new configure script actually succeeded to detect AvailabilitMacros.h, > and both of resulting config.log and config.cache acknowledged the existence > and presence of the header file in question; however, config.status didn’t > have a line which should look like D[“HAVE_AVAILABILITYMACROS_H"]=“ 1”, which > was supposed to be placed there automatically by (the product of) autoconf. > (Again, script re-creation/cleanup couldn't improve the situation for me.) > > > > Because of that, config.status failed to define and set > HAVE_AVAILABILITYMACROS_H to 1 in config.h; instead, it simply added the line > /* #undef HAVE_AVAILABILITYMACROS_H */ at the very end of the file. Too > conservative for us to compile os_unix.c. > > > > Consequently, os_unix.c couldn’t be compiled with the latest patch, as > Hisashi T Fujinaka reported. > > > > Hopefully, this note may help to fix the problem.
The attached patch applied on top of patch 7.4.61 makes sure that HAVE_AVAILABILITYMACROS_H is in fact defined in config.h. The current "AC_CHECK_HEADER(AvailabilityMacros.h, HAVE_AVAILABILITYMACROS_H=1)" directive in src/configure.in just runs "HAVE_AVAILABILITYMACROS_H=1" if AvailabilityMacros.h is found, which is not very useful. Using AC_CHECK_HEADERS and removing the second parameter allows the HAVE_AVAILABILITYMACROS_H define to be properly set. -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
diff --git a/src/configure.in b/src/configure.in --- a/src/configure.in +++ b/src/configure.in @@ -225,17 +225,17 @@ if test "`(uname) 2>/dev/null`" = Darwin fi else AC_MSG_RESULT(no) fi dnl Mac OS X 10.9+ no longer include AvailabilityMacros.h in Carbon dnl so we need to include it to have access to version macros. -AC_CHECK_HEADER(AvailabilityMacros.h, HAVE_AVAILABILITYMACROS_H=1) +AC_CHECK_HEADERS(AvailabilityMacros.h) AC_SUBST(OS_EXTRA_SRC) AC_SUBST(OS_EXTRA_OBJ) dnl Add /usr/local/lib to $LDFLAGS and /usr/local/include to CFLAGS. dnl Only when the directory exists and it wasn't there yet. dnl For gcc don't do this when it is already in the default search path. dnl Skip all of this when cross-compiling.
