Prepared build-system for tint2conf.

Some cleanup.


git-svn-id: http://tint2.googlecode.com/svn/trunk@154 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
Spooky85@gmail.com 2009-07-26 15:45:15 +00:00
parent 5017fae290
commit 1228a9030d
5 changed files with 89 additions and 32 deletions

View file

@ -16,7 +16,7 @@ examplesdir =
dist_examples_DATA =
endif
DISTCLEANFILES = configure depcomp config.guess config.sub config.h.in config.h.in~ ltmain.sh missing aclocal.m4 install-sh Makefile.in INSTALL
DISTCLEANFILES += configure depcomp config.guess config.sub config.h.in config.h.in~ ltmain.sh missing aclocal.m4 install-sh INSTALL
dist-hook:
find $(distdir)/ -type d -name '.svn' -exec rm -rf {} ';'

View file

@ -1,17 +1,48 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_INIT([tint2], [0.7.1], [http://code.google.com/p/tint2/issues])
AC_INIT([tint2], [9.9.9-svn], [http://code.google.com/p/tint2/issues])
LT_INIT
AM_INIT_AUTOMAKE
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([src/tint.c])
AC_CONFIG_HEADERS([config.h])
# tint2
AC_ARG_ENABLE([battery],
[AS_HELP_STRING([--disable-battery], [Disable battery status plugin])],
[case "${enableval}" in
yes) battery=true ;;
no) battery=false ;;
*) AC_MSG_ERROR([bad value ${enableval} for --disable-battery]) ;;
esac], [battery=true])
AM_CONDITIONAL([ENABLE_BATTERY], [test x$battery = xtrue])
#
AC_ARG_ENABLE([examples],
[AS_HELP_STRING([--enable-examples], [Install additional tin2rc examples])],
[case "${enableval}" in
yes) examples=true ;;
no) examples=false ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-examples]) ;;
esac],[examples=false])
AM_CONDITIONAL([INSTALL_EXAMPLES], [test x$examples = xtrue])
# tint2conf
AC_ARG_ENABLE([tint2conf],
[AS_HELP_STRING([--enable-tint2conf], [Build and install tint2conf, a GTK+2 configuration utility for tint2 (EXPERIMENTAL)])],
[case "${enableval}" in
yes) tint2conf=true ;;
no) tint2conf=false ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-tint2conf]) ;;
esac],[tint2conf=false])
AM_CONDITIONAL([ENABLE_TINT2CONF], [test x$tint2conf = xtrue])
#
# Checks for programs.
AC_LANG([C])
AC_PROG_CC
PKG_PROG_PKG_CONFIG
# Checks for libraries.
PKG_CHECK_MODULES([PANGOCAIRO], [pangocairo])
@ -54,9 +85,10 @@ LIBS=$LIBS_SAVED
# Checks for header files.
AC_PATH_X
AC_CHECK_HEADERS([fcntl.h stdlib.h string.h sys/time.h unistd.h])
AC_CHECK_HEADERS([fcntl.h locale.h stdlib.h string.h sys/time.h unistd.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_TYPE_INT16_T
AC_TYPE_INT64_T
AC_TYPE_INT8_T
@ -67,28 +99,50 @@ AC_FUNC_FORK
AC_FUNC_MALLOC
AC_CHECK_FUNCS([gettimeofday memset select setlocale strcasecmp strchr strdup])
AC_ARG_ENABLE([battery],
[AS_HELP_STRING([--disable-battery], [Disable battery status plugin])],
[case "${enableval}" in
yes) battery=true ;;
no) battery=false ;;
*) AC_MSG_ERROR([bad value ${enableval} for --disable-battery]) ;;
esac], [battery=true])
AM_CONDITIONAL([ENABLE_BATTERY], [test x$battery = xtrue])
# tint2conf (experimental)
if test "x$tint2conf" = xtrue;
then
# We want just link against stuff we really need so thats why I don't use PKG_CHECK_MODULES.
# gtk/glib is a bit horrible because we have to add -I directives for various features (like cairo, pango etc.)
# even if we don't need them.
# Sorry if that might be confusing %-)
AC_ARG_ENABLE([examples],
[AS_HELP_STRING([--enable-examples], [Install additional tin2rc examples])],
[case "${enableval}" in
yes) examples=true ;;
no) examples=false ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-examples]) ;;
esac],[examples=false])
AM_CONDITIONAL([INSTALL_EXAMPLES], [test x$examples = xtrue])
# Save LIBS value and clear the variable, AC_CHECK_LIB will append all libs to LIBS on success.
LIBS_SAVED=$LIBS
LIBS=
AC_CONFIG_FILES([
Makefile
AC_CHECK_LIB([pthread], [pthread_create], [],
[AC_MSG_ERROR([libpthread is missing, usually provided by glibc])])
AC_CHECK_LIB([glib-2.0], [g_free], [],
[AC_MSG_ERROR([glib-2.x is missing])])
AC_CHECK_LIB([gobject-2.0], [g_signal_connect_data], [],
[AC_MSG_ERROR([libgobject-2.0 is missing, usually provided by glib-2.x])])
AC_CHECK_LIB([gtk-x11-2.0], [gtk_main], [],
[AC_MSG_ERROR([gtk+-2.x is missing or not built with X support])])
AC_CHECK_LIB([gthread-2.0], [g_thread_init], [],
[AC_MSG_ERROR([libgthread-2.0 is missing, usually provided by glib-2.x])])
TINT2CONF_LIBS="${LIBS} ${PTHREAD_LIB} ${GLIB2_LIB} ${GOBJECT2_LIB}"
LIBS=$LIBS_SAVED
TINT2CONF_CFLAGS="$(${PKG_CONFIG} --cflags gtk+-x11-2.0 glib-2.0 gobject-2.0 gthread-2.0)"
AC_SUBST(TINT2CONF_CFLAGS)
AC_SUBST(TINT2CONF_LIBS)
fi
#
#
AM_CFLAGS="-Wall"
AM_LDFLAGS="-Wl,--as-needed"
AC_SUBST(AM_CFLAGS)
AC_SUBST(AM_LDFLAGS)
DISTCLEANFILES="Makefile.in"
AC_SUBST(DISTCLEANFILES)
AC_CONFIG_FILES([Makefile
doc/Makefile
src/Makefile
])
src/tint2conf/Makefile])
AC_OUTPUT

View file

@ -1,4 +1,3 @@
man1_MANS = $(PACKAGE_NAME).1
EXTRA_DIST = $(man1_MANS)
DISTCLEANFILES = Makefile.in

View file

@ -1,8 +1,8 @@
AM_CFLAGS = -Wall
if ENABLE_TINT2CONF
SUBDIRS = tint2conf
endif
AM_CFLAGS += @PANGOCAIRO_CFLAGS@ @PANGO_CFLAGS@ @CAIRO_CFLAGS@ @GLIB2_CFLAGS@ @GOBJECT2_CFLAGS@ @X11_CFLAGS@ @XINERAMA_CFLAGS@ @IMLIB2_CFLAGS@
AM_LDFLAGS = -Wl,--as-needed
LIBS = @PANGOCAIRO_LIBS@ @PANGO_LIBS@ @CAIRO_LIBS@ @GLIB2_LIBS@ @GOBJECT2_LIBS@ @X11_LIBS@ @XINERAMA_LIBS@ @IMLIB2_LIBS@
INCLUDES = -Iutil -Iclock -Itaskbar -Isystray
@ -29,12 +29,9 @@ tint2_SOURCES = config.c \
taskbar/task.h
if ENABLE_BATTERY
AM_CFLAGS += -DENABLE_BATTERY
DEFS += -DENABLE_BATTERY
INCLUDES += -Ibattery
tint2_SOURCES += battery/battery.c \
battery/battery.h
endif
DISTCLEANFILES = Makefile.in

View file

@ -0,0 +1,7 @@
if ENABLE_TINT2CONF
bin_PROGRAMS = tint2conf
tint2conf_SOURCES = main.c
AM_CFLAGS += @TINT2CONF_CFLAGS@
LIBS += @TINT2CONF_LIBS@
endif