From b6c492972a7e1a7dd6604a645d649247bb186bdf Mon Sep 17 00:00:00 2001 From: Patrick Griffis Date: Sat, 26 Dec 2015 23:10:32 -0500 Subject: More build system clean up --- configure.ac | 104 +++++++++++++++++++++++++------------------- extern/rss-glib/Makefile.am | 57 +++++++++--------------- src/Makefile.am | 41 +++++++++++------ src/trg-rss-window.c | 4 +- 4 files changed, 110 insertions(+), 96 deletions(-) diff --git a/configure.ac b/configure.ac index 07e59df..e66f634 100644 --- a/configure.ac +++ b/configure.ac @@ -37,6 +37,7 @@ AC_PROG_INSTALL LT_PREREQ([2.2.0]) LT_INIT +LT_LIB_M IT_PROG_INTLTOOL([0.50.1]) PKG_PROG_PKG_CONFIG([0.28]) DESKTOP_FILE @@ -46,7 +47,7 @@ GETTEXT_PACKAGE=AC_PACKAGE_NAME AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [Gettext package name]) - +dnl ---- win32 ---- case "${host_os}" in *mingw32*) WIN32="yes" ;; *cygwin*) WIN32="yes" ;; @@ -54,71 +55,84 @@ case "${host_os}" in CPPFLAGS="$CPPFLAGS -I/usr/local/include" ;; *) WIN32="no" ;; esac - AM_CONDITIONAL([WIN32], test "$WIN32" = "yes") -#if WIN32 -CFLAGS="$CFLAGS -IC:/MinGW/msys/1.0/include" -#endif + +dnl ---- required deps ---- +AC_DEFINE([GLIB_VERSION_MIN_REQUIRED], [GLIB_VERSION_2_44], [Dont warn using older APIs]) +AC_DEFINE([GLIB_VERSION_MAX_ALLOWED], [GLIB_VERSION_2_44], [Prevents using newer APIs]) + +PKG_CHECK_MODULES([TRG], [ + json-glib-1.0 >= 0.8 + gthread-2.0 + libcurl + gio-2.0 >= 2.44 + gtk+-3.0 >= 3.16 +]) + + +dnl ---- optional deps ---- AC_ARG_WITH([libgeoip], AC_HELP_STRING([--without-libgeoip], [disable GeoIP support])) -have_libgeoip=no +have_geoip=no AS_IF([test x$with_libgeoip != xno], [ - AC_CHECK_HEADER([GeoIP.h],[have_geoip=yes],[have_geoip=no]) -]) -AS_IF([test "x$have_geoip" = "xyes"], [ - AC_DEFINE(HAVE_GEOIP, 1, [GeoIP Support.]) - GEOIP_LIBS="-lGeoIP" - AC_SUBST([GEOIP_LIBS]) + PKG_CHECK_MODULES([GEOIP], [geoip], [ + have_geoip="yes" + ], [ + AC_MSG_WARN([libgeoip not found]) + ]) ]) AM_CONDITIONAL([HAVE_GEOIP], [test "x$have_geoip" = "xyes"]) + AC_ARG_WITH([libnotify], AC_HELP_STRING([--without-libnotify], [disable libnotify])) have_libnotify=no -AC_ARG_WITH([libmrss], AC_HELP_STRING([--without-libmrss], [disable RSS support])) -have_libmrss=no -AC_ARG_WITH([libproxy], AC_HELP_STRING([--without-libproxy], [disable libproxy])) -have_libproxy=no -AC_ARG_WITH([libappindicator], AC_HELP_STRING([--without-libappindicator], [disable libappindicator])) -have_libappindicator=no - AS_IF([test x$with_libnotify != xno], [ - PKG_CHECK_MODULES([notify], [libnotify], AC_DEFINE(HAVE_LIBNOTIFY, 1, [Define if libnotify is available]), AC_MSG_WARN([libnotify is required for popup desktop notifications])) + PKG_CHECK_MODULES([NOTIFY], [libnotify], [ + have_libnotify=yes + AC_DEFINE(HAVE_LIBNOTIFY, 1, [Define if libnotify is available]) + ], [ + AC_MSG_WARN([libnotify is required for popup desktop notifications]) + ]) ]) -#if test x$with_librssglib != xno; then -# PKG_CHECK_MODULES([rssglib], [rss-glib-1.0], AC_DEFINE(HAVE_RSSGLIB, 1, [Define if rss-glib is available]), AC_MSG_WARN([rss-glib is required for RSS viewer functionality])) -#fi -# -AS_IF([test x$with_libproxy != xno], [ - PKG_CHECK_MODULES([libproxy], [libproxy-1.0], AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available]), AC_MSG_WARN([libproxy is required for HTTP proxy support])) -]) +AC_ARG_WITH([libmrss], AC_HELP_STRING([--without-libmrss], [disable RSS support])) +have_libmrss=no AS_IF([test x$with_libmrss != xno], [ - PKG_CHECK_MODULES([mrss], [mrss >= 0.18], [ have_libmrss="yes" ], [ have_libmrss="no" ]) + PKG_CHECK_MODULES([MRSS], [mrss >= 0.18], [ + have_libmrss="yes" + AC_DEFINE(HAVE_RSS, 1, [Define if RSS features available]) + ], [ + AC_MSG_WARN([libmrss is required for RSS reader]) + ]) ]) +AM_CONDITIONAL([HAVE_RSS], [test x$have_libmrss == xyes ]) -AS_IF([test x$have_libmrss == xyes], [ - AC_DEFINE(HAVE_RSS, 1, [Define if RSS features available]) -], [ - AC_MSG_WARN([libmrss is required for RSS reader]) -]) -AM_CONDITIONAL([HAVE_RSS], [test x$have_libmrss == xyes ]) +AC_ARG_WITH([libproxy], AC_HELP_STRING([--without-libproxy], [disable libproxy])) +have_libproxy=no +AS_IF([test x$with_libproxy != xno], [ + PKG_CHECK_MODULES([PROXY], [libproxy-1.0], [ + have_libproxy=yes + AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available]) + ], [ + AC_MSG_WARN([libproxy is required for HTTP proxy support]) + ]) +]) -AC_DEFINE([GLIB_VERSION_MIN_REQUIRED], [GLIB_VERSION_2_44], [Dont warn using older APIs]) -AC_DEFINE([GLIB_VERSION_MAX_ALLOWED], [GLIB_VERSION_2_44], [Prevents using newer APIs]) -PKG_CHECK_MODULES([jsonglib], [json-glib-1.0 >= 0.8]) -PKG_CHECK_MODULES([gthread], [gthread-2.0]) -PKG_CHECK_MODULES([libcurl], [libcurl]) -PKG_CHECK_MODULES([gio], [gio-2.0 >= 2.44]) -PKG_CHECK_MODULES([gtk], [gtk+-3.0 >= 3.16], [ - AS_IF([test x$with_libappindicator != xno], [ - PKG_CHECK_MODULES([libappindicator], [appindicator3-0.1], - AC_DEFINE(HAVE_LIBAPPINDICATOR, 1, [Define if libappindicator is available]), AC_MSG_WARN([Ubuntu Unity users should consider building with libappindicator])) +AC_ARG_WITH([libappindicator], AC_HELP_STRING([--without-libappindicator], [disable libappindicator])) +have_libappindicator=no +AS_IF([test x$with_libappindicator != xno], [ + PKG_CHECK_MODULES([APPINDICATOR], [appindicator3-0.1], [ + AC_DEFINE(HAVE_LIBAPPINDICATOR, 1, [Define if libappindicator is available]) + ], [ + AC_MSG_WARN([Ubuntu Unity users should consider building with libappindicator]) ]) ]) + +dnl ---- build flags ---- AX_APPEND_COMPILE_FLAGS([ \ -std=gnu99 \ -funsigned-char \ @@ -164,7 +178,7 @@ echo " prefix ........: $prefix debug .........: $enable_debug - geoip .........: $have_libgeoip + geoip .........: $have_geoip libnotify .....: $have_libnotify libmrss .......: $have_libmrss libproxy ......: $have_libproxy diff --git a/extern/rss-glib/Makefile.am b/extern/rss-glib/Makefile.am index d423bd9..e673f73 100644 --- a/extern/rss-glib/Makefile.am +++ b/extern/rss-glib/Makefile.am @@ -1,43 +1,28 @@ -NULL = -AM_CFLAGS = \ - -I. \ - -DPREFIX=\""$(prefix)"\" \ - -DLIBDIR=\""$(libdir)"\" \ - -DG_LOG_DOMAIN=\"Rss\" \ - $(gtk_CFLAGS) \ - $(mrss_CFLAGS) \ - $(NULL) +noinst_LTLIBRARIES = librss.la -source_h = \ - rss-parser.h \ - rss-document.h \ - rss-item.h \ - rss-version.h \ - $(NULL) +librss_la_CPPFLAGS = \ + -DG_LOG_DOMAIN=\"Rss\" -source_h_private = \ - rss-document-private.h \ - rss-item-private.h \ - rss-parser-private.h \ - $(NULL) - -source_c = \ - rss-parser.c \ - rss-document.c \ - rss-item.c \ - $(NULL) +librss_la_CFLAGS = \ + $(TRG_CFLAGS) \ + $(MRSS_CFLAGS) -noinst_LTLIBRARIES = librss.la +librss_la_LIBADD = \ + $(MRSS_LIBS) -librss_la_LIBADD = $(mrss_LIBS) librss_la_SOURCES = \ - $(source_c) \ - $(source_h) \ - $(source_h_private) \ - $(NULL) - -EXTRA_DIST = \ - rss-glib.h + rss-parser.c \ + rss-document.c \ + rss-item.c -librss_la_LDFLAGS = $(LDADD) +noinst_HEADERS = \ + rss-document-private.h \ + rss-item-private.h \ + rss-parser-private.h \ + rss-parser.h \ + rss-document.h \ + rss-item.h \ + rss-version.h \ + rss-glib.h + diff --git a/src/Makefile.am b/src/Makefile.am index a5ea1af..889ff20 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -17,15 +17,7 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # -if !WIN32 -EXTRA_DIST = transmission-remote-gtk.pod -CLEANFILES = transmission-remote-gtk.1 - -man_MANS = transmission-remote-gtk.1 -endif - bin_PROGRAMS = transmission-remote-gtk -AM_CFLAGS = -DLOCALEDIR=\""$(localedir)"\" $(libcurl_CFLAGS) $(jsonglib_CFLAGS) $(gthread_CFLAGS) $(gtk_CFLAGS) $(gio_CFLAGS) $(notify_CFLAGS) $(libproxy_CFLAGS) $(libappindicator_CFLAGS) $(mrss_CFLAGS) -I$(top_srcdir)/extern transmission_remote_gtk_SOURCES = \ trg-cell-renderer-speed.c \ @@ -150,10 +142,29 @@ noinst_HEADERS = \ protocol-constants.h \ icon-turtle.h -transmission_remote_gtk_LDFLAGS = -lm $(jsonglib_LIBS) $(gtk_LIBS) $(gthread_LIBS) $(GEOIP_LIBS) $(gio_LIBS) $(notify_LIBS) $(libproxy_LIBS) $(libcurl_LIBS) $(libappindicator_LIBS) +transmission_remote_gtk_CPPFLAGS = \ + -DLOCALEDIR=\""$(localedir)"\" \ + -I$(top_srcdir)/extern + +transmission_remote_gtk_CFLAGS = \ + $(TRG_CFLAGS) \ + $(GEOIP_CFLAGS) \ + $(NOTIFY_CFLAGS) \ + $(MRSS_CFLAGS) \ + $(APPINDICATOR_CFLAGS) \ + $(PROXY_CFLAGS) + +transmission_remote_gtk_LDFLAGS = \ + $(LIBM) \ + $(TRG_LIBS) \ + $(GEOIP_LIBS) \ + $(NOTIFY_LIBS) \ + $(PROXY_LIBS) \ + $(APPINDICATOR_LIBS) \ + $(MRSS_CFLAGS) if HAVE_RSS -transmission_remote_gtk_LDFLAGS += $(mrss_LIBS) $(top_srcdir)/extern/rss-glib/librss.la +transmission_remote_gtk_LDFLAGS += $(top_srcdir)/extern/rss-glib/librss.la transmission_remote_gtk_SOURCES += trg-rss-model.c trg-rss-window.c trg-rss-cell-renderer.c noinst_HEADERS += trg-rss-model.h trg-rss-window.h trg-rss-cell-renderer.h @@ -165,12 +176,16 @@ if WIN32 %.o : %.rc windres $^ -o $@ -CFLAGS += -mms-bitfields -mwin32 -mwindows -LDFLAGS += -Wl,--allow-multiple-definition -lws2_32 -lintl +transmission_remote_gtk_CFLAGS += -mms-bitfields -mwin32 -mwindows +transmission_remote_gtk_LDFLAGS += -Wl,--allow-multiple-definition -lws2_32 -lintl transmission_remote_gtk_SOURCES += win32.rc win32-mailslot.c -AM_CFLAGS += -O2 else %.1: %.pod pod2man --release="" --center="Transmission Remote GTK" $< > $@ + +EXTRA_DIST = transmission-remote-gtk.pod +CLEANFILES = transmission-remote-gtk.1 + +man_MANS = transmission-remote-gtk.1 endif diff --git a/src/trg-rss-window.c b/src/trg-rss-window.c index dbe2f5a..a4b6f63 100644 --- a/src/trg-rss-window.c +++ b/src/trg-rss-window.c @@ -202,7 +202,7 @@ static void trg_rss_on_get_error(TrgRssModel *model, rss_get_error *error, gpoin GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, - msg); + "%s", msg); g_free(msg); gtk_window_set_title(GTK_WINDOW(dialog), _("Error")); gtk_dialog_run(GTK_DIALOG(dialog)); @@ -216,7 +216,7 @@ static void trg_rss_on_parse_error(TrgRssModel *model, rss_parse_error *error, g GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, - msg); + "%s", msg); g_free(msg); gtk_window_set_title(GTK_WINDOW(dialog), _("Error")); gtk_dialog_run(GTK_DIALOG(dialog)); -- cgit v1.2.3