From ea47d89f3f1e7314d0ff2c61bc882d130ad63af5 Mon Sep 17 00:00:00 2001 From: Nate Bargmann Date: Tue, 25 Sep 2012 22:29:30 -0500 Subject: [PATCH] configure.ac: Quell autoconf obsolete warnings Using the -Wall switch to autoconf/autoreconf revealed a number of obsolete macros. At the moment, offending macros have been commented out using 'dnl'. They will be removed at some later date. --- configure.ac | 41 ++++--- macros/{acx_pthread.m4 => ax_pthread.m4} | 142 ++++++++++++++--------- macros/gr_pwin32.m4 | 5 +- src/event.c | 16 +-- 4 files changed, 122 insertions(+), 82 deletions(-) rename macros/{acx_pthread.m4 => ax_pthread.m4} (70%) diff --git a/configure.ac b/configure.ac index 6d4388141..b7e07ed0f 100644 --- a/configure.ac +++ b/configure.ac @@ -54,18 +54,21 @@ AC_PROG_MAKE_SET dnl Pkgconfig PKG_PROG_PKG_CONFIG -AC_AIX -AC_ISC_POSIX -AC_MINIX -AC_PROG_CC() -AC_DIAGNOSE([obsolete],[AM_PROG_CC_STDC: - your code should no longer depend upon 'am_cv_prog_cc_stdc', but upon - 'ac_cv_prog_cc_stdc'. Remove this warning and the assignment when - you adjust the code. You can also remove the above call to - AC_PROG_CC if you already called it elsewhere.]) -am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc +dnl AC_AIX +dnl AC_ISC_POSIX +dnl AC_MINIX + +dnl AC_PROG_CC + +dnl AC_DIAGNOSE([obsolete],[AM_PROG_CC_STDC: +dnl your code should no longer depend upon 'am_cv_prog_cc_stdc', but upon +dnl 'ac_cv_prog_cc_stdc'. Remove this warning and the assignment when +dnl you adjust the code. You can also remove the above call to +dnl AC_PROG_CC if you already called it elsewhere.]) +dnl am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc AC_PROG_GCC_TRADITIONAL + AC_C_CONST AC_C_INLINE @@ -85,11 +88,11 @@ AC_CHECK_HEADERS([linux/ppdev.h linux/parport.h linux/ioctl.h linux/hidraw.h]) AC_CHECK_HEADERS([dev/ppbus/ppi.h dev/ppbus/ppbconf.h]) AC_CHECK_HEADERS([sys/socket.h netinet/in.h netdb.h arpa/inet.h ws2tcpip.h]) -dnl Check for Mingw support +dnl Check for Mingw (Win32 Sleep) support GR_PWIN32 -ACX_PTHREAD -if test x"$acx_pthread_ok" = xyes; then +AX_PTHREAD +if test x"$ax_pthread_ok" = xyes; then CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" CXXFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" fi @@ -102,7 +105,7 @@ AM_CPPFLAGS="${AM_CPPFLAGS} -I\$(top_srcdir)/include -I\$(top_srcdir)/src -I\$(t dnl Checks for typedefs, structures, and compiler characteristics. AC_TYPE_SIZE_T AC_HEADER_TIME -AC_TYPE_SIGNAL +dnl AC_TYPE_SIGNAL AC_CHECK_TYPES([siginfo_t],[],[],[#include ]) dnl Checks for libraries. @@ -178,10 +181,12 @@ AC_LIBOBJ(dummy) ## libtool Initialisation. ## ## ------------------------ ## ## N.b. LT_INIT([dlopen], [win32-dll]) does not work for older libtool -AC_LIBTOOL_DLOPEN -AC_LIBTOOL_WIN32_DLL -AC_PROG_LIBTOOL -AM_PROG_LIBTOOL +LT_PREREQ([2.2.6b]) +LT_INIT([dlopen win32-dll]) +dnl AC_LIBTOOL_DLOPEN +dnl AC_LIBTOOL_WIN32_DLL +dnl AC_PROG_LIBTOOL +dnl AM_PROG_LIBTOOL INCLTDL="" LIBLTDL="-lltdl" AC_SUBST(INCLTDL) diff --git a/macros/acx_pthread.m4 b/macros/ax_pthread.m4 similarity index 70% rename from macros/acx_pthread.m4 rename to macros/ax_pthread.m4 index eb09f5acc..d90de34d1 100644 --- a/macros/acx_pthread.m4 +++ b/macros/ax_pthread.m4 @@ -1,10 +1,10 @@ # =========================================================================== -# http://autoconf-archive.cryp.to/acx_pthread.html +# http://www.gnu.org/software/autoconf-archive/ax_pthread.html # =========================================================================== # # SYNOPSIS # -# ACX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) +# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) # # DESCRIPTION # @@ -25,14 +25,18 @@ # If you are only building threads programs, you may wish to use these # variables in your default LIBS, CFLAGS, and CC: # -# LIBS="$PTHREAD_LIBS $LIBS" -# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -# CC="$PTHREAD_CC" +# LIBS="$PTHREAD_LIBS $LIBS" +# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +# CC="$PTHREAD_CC" # # In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant # has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name # (e.g. PTHREAD_CREATE_UNDETACHED on AIX). # +# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the +# PTHREAD_PRIO_INHERIT symbol is defined when compiling with +# PTHREAD_CFLAGS. +# # ACTION-IF-FOUND is a list of shell commands to run if a threads library # is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it # is not found. If ACTION-IF-FOUND is not specified, the default action @@ -45,13 +49,12 @@ # Alejandro Forero Cuervo to the autoconf macro repository. We are also # grateful for the helpful feedback of numerous users. # -# LAST MODIFICATION +# Updated for Autoconf 2.68 by Daniel Richard G. # -# 2008-04-12 -# -# COPYLEFT +# LICENSE # # Copyright (c) 2008 Steven G. Johnson +# Copyright (c) 2011 Daniel Richard G. # # This program is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the @@ -75,15 +78,17 @@ # all other use of the material that constitutes the Autoconf Macro. # # This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Macro Archive. When you make and -# distribute a modified version of the Autoconf Macro, you may extend this -# special exception to the GPL to apply to your modified version as well. +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. -AC_DEFUN([ACX_PTHREAD], [ +#serial 18 + +AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) +AC_DEFUN([AX_PTHREAD], [ AC_REQUIRE([AC_CANONICAL_HOST]) -AC_LANG_SAVE -AC_LANG_C -acx_pthread_ok=no +AC_LANG_PUSH([C]) +ax_pthread_ok=no # We used to check for pthread.h first, but this fails if pthread.h # requires special compiler flags (e.g. on True64 or Sequent). @@ -98,9 +103,9 @@ if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) - AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) - AC_MSG_RESULT($acx_pthread_ok) - if test x"$acx_pthread_ok" = xno; then + AC_TRY_LINK_FUNC(pthread_join, ax_pthread_ok=yes) + AC_MSG_RESULT($ax_pthread_ok) + if test x"$ax_pthread_ok" = xno; then PTHREAD_LIBS="" PTHREAD_CFLAGS="" fi @@ -118,7 +123,7 @@ fi # which indicates that we try without any flags at all, and "pthread-config" # which is a program returning the flags for the Pth emulation library. -acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" +ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" # The ordering *is* (sometimes) important. Some notes on the # individual items follow: @@ -140,8 +145,8 @@ acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -m # --thread-safe: KAI C++ # pthread-config: use pthread-config program (for GNU Pth library) -case "${host_cpu}-${host_os}" in - *solaris*) +case ${host_os} in + solaris*) # On Solaris (at least, for some versions), libc contains stubbed # (non-functional) versions of the pthreads routines, so link-based @@ -151,12 +156,16 @@ case "${host_cpu}-${host_os}" in # who knows whether they'll stub that too in a future libc.) So, # we'll just look for -pthreads and -lpthread first: - acx_pthread_flags="-pthreads pthread -mt -pthread $acx_pthread_flags" + ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" + ;; + + darwin*) + ax_pthread_flags="-pthread $ax_pthread_flags" ;; esac -if test x"$acx_pthread_ok" = xno; then -for flag in $acx_pthread_flags; do +if test x"$ax_pthread_ok" = xno; then +for flag in $ax_pthread_flags; do case $flag in none) @@ -168,12 +177,12 @@ for flag in $acx_pthread_flags; do PTHREAD_CFLAGS="$flag" ;; - pthread-config) - AC_CHECK_PROG(acx_pthread_config, pthread-config, yes, no) - if test x"$acx_pthread_config" = xno; then continue; fi - PTHREAD_CFLAGS="`pthread-config --cflags`" - PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" - ;; + pthread-config) + AC_CHECK_PROG(ax_pthread_config, pthread-config, yes, no) + if test x"$ax_pthread_config" = xno; then continue; fi + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; *) AC_MSG_CHECKING([for the pthreads library -l$flag]) @@ -195,17 +204,23 @@ for flag in $acx_pthread_flags; do # pthread_cleanup_push because it is one of the few pthread # functions on Solaris that doesn't have a non-functional libc stub. # We try pthread_create on general principles. - AC_TRY_LINK([#include ], - [pthread_t th; pthread_join(th, 0); - pthread_attr_init(0); pthread_cleanup_push(0, 0); - pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], - [acx_pthread_ok=yes]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include + static void routine(void *a) { a = 0; } + static void *start_routine(void *a) { return a; }], + [pthread_t th; pthread_attr_t attr; + pthread_create(&th, 0, start_routine, 0); + pthread_join(th, 0); + pthread_attr_init(&attr); + pthread_cleanup_push(routine, 0); + pthread_cleanup_pop(0) /* ; */])], + [ax_pthread_ok=yes], + []) LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" - AC_MSG_RESULT($acx_pthread_ok) - if test "x$acx_pthread_ok" = xyes; then + AC_MSG_RESULT($ax_pthread_ok) + if test "x$ax_pthread_ok" = xyes; then break; fi @@ -215,19 +230,21 @@ done fi # Various other checks: -if test "x$acx_pthread_ok" = xyes; then +if test "x$ax_pthread_ok" = xyes; then save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. - AC_MSG_CHECKING([for joinable pthread attribute]) - attr_name=unknown - for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do - AC_TRY_LINK([#include ], [int attr=$attr; return attr;], - [attr_name=$attr; break]) - done + AC_MSG_CHECKING([for joinable pthread attribute]) + attr_name=unknown + for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], + [int attr = $attr; return attr /* ; */])], + [attr_name=$attr; break], + []) + done AC_MSG_RESULT($attr_name) if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name, @@ -237,24 +254,41 @@ if test "x$acx_pthread_ok" = xyes; then AC_MSG_CHECKING([if more special flags are required for pthreads]) flag=no - case "${host_cpu}-${host_os}" in - *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; - *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + case ${host_os} in + aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";; + osf* | hpux*) flag="-D_REENTRANT";; + solaris*) + if test "$GCC" = "yes"; then + flag="-D_REENTRANT" + else + flag="-mt -D_REENTRANT" + fi + ;; esac AC_MSG_RESULT(${flag}) if test "x$flag" != xno; then PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" fi + AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], + ax_cv_PTHREAD_PRIO_INHERIT, [ + AC_LINK_IFELSE([ + AC_LANG_PROGRAM([[#include ]], [[int i = PTHREAD_PRIO_INHERIT;]])], + [ax_cv_PTHREAD_PRIO_INHERIT=yes], + [ax_cv_PTHREAD_PRIO_INHERIT=no]) + ]) + AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"], + AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])) + LIBS="$save_LIBS" CFLAGS="$save_CFLAGS" # More AIX lossage: must compile with xlc_r or cc_r - if test x"$GCC" != xyes; then + if test x"$GCC" != xyes; then AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC}) else PTHREAD_CC=$CC - fi + fi else PTHREAD_CC="$CC" fi @@ -264,12 +298,12 @@ AC_SUBST(PTHREAD_CFLAGS) AC_SUBST(PTHREAD_CC) # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$acx_pthread_ok" = xyes; then +if test x"$ax_pthread_ok" = xyes; then ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) : else - acx_pthread_ok=no + ax_pthread_ok=no $2 fi -AC_LANG_RESTORE -])dnl ACX_PTHREAD +AC_LANG_POP +])dnl AX_PTHREAD diff --git a/macros/gr_pwin32.m4 b/macros/gr_pwin32.m4 index c566cfe9f..96d072837 100644 --- a/macros/gr_pwin32.m4 +++ b/macros/gr_pwin32.m4 @@ -52,9 +52,10 @@ dnl Checks for replacements AC_REPLACE_FUNCS([getopt getopt_long usleep gettimeofday]) AC_MSG_CHECKING(for Sleep) -AC_TRY_LINK([ #include +AC_LINK_IFELSE([AC_LANG_PROGRAM([ + #include #include - ], [ Sleep(0); ], + ], [ Sleep(0); ])], [AC_DEFINE(HAVE_SSLEEP,1,[Define to 1 if you have win32 Sleep]) AC_MSG_RESULT(yes)], AC_MSG_RESULT(no) diff --git a/src/event.c b/src/event.c index d6a9b8008..5a940055e 100644 --- a/src/event.c +++ b/src/event.c @@ -70,11 +70,11 @@ static struct sigaction hamlib_trn_oldact, hamlib_trn_poll_oldact; #ifdef HAVE_SIGINFO_T -static RETSIGTYPE sa_sigioaction(int signum, siginfo_t *si, void *data); -static RETSIGTYPE sa_sigalrmaction(int signum, siginfo_t *si, void *data); +static void sa_sigioaction(int signum, siginfo_t *si, void *data); +static void sa_sigalrmaction(int signum, siginfo_t *si, void *data); #else -static RETSIGTYPE sa_sigiohandler(int signum); -static RETSIGTYPE sa_sigalrmhandler(int signum); +static void sa_sigiohandler(int signum); +static void sa_sigalrmhandler(int signum); #endif #endif @@ -367,7 +367,7 @@ static int search_rig_and_poll(RIG *rig, rig_ptr_t data) * then call rig->caps->decode_event() (this is done by search_rig) */ #ifdef HAVE_SIGINFO_T -static RETSIGTYPE sa_sigioaction(int signum, siginfo_t *si, rig_ptr_t data) +static void sa_sigioaction(int signum, siginfo_t *si, rig_ptr_t data) { rig_debug(RIG_DEBUG_VERBOSE, "sa_sigioaction: activity detected\n"); @@ -376,7 +376,7 @@ static RETSIGTYPE sa_sigioaction(int signum, siginfo_t *si, rig_ptr_t data) #else -static RETSIGTYPE sa_sigiohandler(int signum) +static void sa_sigiohandler(int signum) { rig_debug(RIG_DEBUG_VERBOSE, "sa_sigiohandler: activity detected\n"); @@ -394,7 +394,7 @@ static RETSIGTYPE sa_sigiohandler(int signum) * then call get_freq and check for changes (this is done by search_rig) */ #ifdef HAVE_SIGINFO_T -static RETSIGTYPE sa_sigalrmaction(int signum, siginfo_t *si, rig_ptr_t data) +static void sa_sigalrmaction(int signum, siginfo_t *si, rig_ptr_t data) { rig_debug(RIG_DEBUG_TRACE, "sa_sigalrmaction entered\n"); @@ -403,7 +403,7 @@ static RETSIGTYPE sa_sigalrmaction(int signum, siginfo_t *si, rig_ptr_t data) #else -static RETSIGTYPE sa_sigalrmhandler(int signum) +static void sa_sigalrmhandler(int signum) { rig_debug(RIG_DEBUG_TRACE, "sa_sigalrmhandler entered\n");