From ad8230c938a46d42fa53e69915c35842936612d2 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 15 Jan 2005 22:20:14 +0000 Subject: add autoconf stuff git-svn-id: file:///home/lennart/svn/public/heatload/trunk@9 3bca8330-beed-0310-b360-ea58cfc96e4b --- Makefile.am | 38 ++++++++++++++++++++++++++++ bootstrap.sh | 46 ++++++++++++++++++++++++++++++++++ configure.ac | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/Makefile | 46 ---------------------------------- src/Makefile.am | 24 ++++++++++++++++++ 5 files changed, 185 insertions(+), 46 deletions(-) create mode 100644 Makefile.am create mode 100755 bootstrap.sh create mode 100644 configure.ac delete mode 100644 src/Makefile create mode 100644 src/Makefile.am diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..574c2fd --- /dev/null +++ b/Makefile.am @@ -0,0 +1,38 @@ +# $Id$ +# +# This file is part of heatload. +# +# heatload is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# heatload is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with heatload; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +EXTRA_DIST = bootstrap.sh README LICENSE +SUBDIRS=src #doc + +MAINTAINERCLEANFILES=README +noinst_DATA = README + +README: + rm -f README + touch README +# $(MAKE) -C doc README +# cd $(srcdir) && ln -s doc/README README + +homepage: all dist doxygen + test -d $$HOME/homepage/private + mkdir -p $$HOME/homepage/private/projects/heatload + cp heatload-@PACKAGE_VERSION@.tar.gz doc/README.html doc/style.css $$HOME/homepage/private/projects/heatload + ln -sf README.html $$HOME/homepage/private/projects/heatload/index.html + +.PHONY: homepage diff --git a/bootstrap.sh b/bootstrap.sh new file mode 100755 index 0000000..3ccb697 --- /dev/null +++ b/bootstrap.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# $Id$ + +# This file is part of heatload. +# +# heatload is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# heatload is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with heatload; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +run_versioned() { + local P + type -p "$1-$2" &> /dev/null && P="$1-$2" || local P="$1" + + shift 2 + "$P" "$@" +} + +if [ "x$1" = "xam" ] ; then + set -ex + run_versioned automake 1.8 -a -c --foreign + ./config.status +else + set -ex + + rm -rf autom4te.cache + rm -f config.cache + + run_versioned aclocal 1.8 + autoheader + run_versioned automake 1.8 -a -c --foreign + autoconf -Wall + + CFLAGS="-g -O0" ./configure --sysconfdir=/etc "$@" + + make clean +fi diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..3e0898c --- /dev/null +++ b/configure.ac @@ -0,0 +1,77 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +# $Id$ + +# This file is part of heatload. +# +# heatload is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# heatload is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with heatload; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +AC_PREREQ(2.59) +AC_INIT([heatload],[0.3],[mzurngybnq (at) 0pointer (dot) de]) +AC_CONFIG_SRCDIR([src/heatload.cc]) +AC_CONFIG_HEADERS([config.h]) +AM_INIT_AUTOMAKE([foreign -Wall]) + +AC_SUBST(PACKAGE_URL, [http://0pointer.de/lennart/projects/heatload/]) + +if type -p stow > /dev/null && test -d /usr/local/stow ; then + AC_MSG_NOTICE([*** Found /usr/local/stow: default install prefix set to /usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION} ***]) + ac_default_prefix="/usr/local/stow/${PACKAGE_NAME}-${PACKAGE_VERSION}" +fi + +# Checks for programs. +AC_PROG_CC +AC_PROG_CXX +AC_PROG_CPP +AC_PROG_INSTALL +AC_PROG_LN_S +AC_PROG_MAKE_SET + +# If using GCC specify some additional parameters +if test "x$GCC" = "xyes" ; then + CFLAGS="$CFLAGS -pipe -W -Wall -pedantic" + CXXFLAGS="$CXXFLAGS -pipe -W -Wall" + + AC_LANG_CONFTEST([int main() {}]) + $CC -c conftest.c -std=c99 -Wno-unused-parameter $CFLAGS > /dev/null 2> /dev/null && CFLAGS="$CFLAGS -std=c99 -Wno-unused-parameter" + rm -f conftest.o +fi + +PKG_CHECK_MODULES(GTKMM, [ gtkmm-2.4 ]) +AC_SUBST(GTKMM_CFLAGS) +AC_SUBST(GTKMM_LIBS) + +# LYNX documentation generation +AC_ARG_ENABLE(lynx, + AS_HELP_STRING(--disable-lynx,Turn off lynx usage for documentation generation), +[case "${enableval}" in + yes) lynx=yes ;; + no) lynx=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --disable-lynx) ;; +esac],[lynx=yes]) + +if test x$lynx = xyes ; then + AC_CHECK_PROG(have_lynx, lynx, yes, no) + + if test x$have_lynx = xno ; then + AC_MSG_WARN([*** lynx not found, plain text README will not be built ***]) + fi +fi + +AM_CONDITIONAL([USE_LYNX], [test "x$lynx" = xyes]) + +AC_CONFIG_FILES([Makefile src/Makefile]) # doc/Makefile doc/README.html]) +AC_OUTPUT diff --git a/src/Makefile b/src/Makefile deleted file mode 100644 index 2f96dd2..0000000 --- a/src/Makefile +++ /dev/null @@ -1,46 +0,0 @@ -VERSION=0.3 -CXXFLAGS=-Wall -W -pipe -O2 -g -DVERSION=\"$(VERSION)\" `pkg-config --cflags gtkmm-2.4 gdkmm-2.4` -TAR=heatload-$(VERSION).tar.gz -SOURCES=heatload.cc -BINARY=heatload -LIBS=`pkg-config --libs gtkmm-2.4 gdkmm-2.4` -PACKAGE=heatload - -all: $(BINARY) - -$(BINARY): $(SOURCES) - $(CXX) $(CXXFLAGS) $(SOURCES) -o $(BINARY) $(LIBS) - -strip: $(BINARY) - @du -h $(BINARY) - strip -s $(BINARY) - @du -h $(BINARY) - -clean: - rm -f $(BINARY) - rm -f *~ *.bak *.tar.gz - -install: strip - install -g root -o root -m 555 $(BINARY) /usr/local/bin - -deinstall: - rm -f /usr/local/bin/$(BINARY) - -README: README.in - sed s/VERSION/$(VERSION)/ < README.in > README - -index.html: README - txt2html -t "$(PACKAGE) $(VERSION)" < README > index.html - -html: index.html - -$(TAR): clean README - tar -C.. --exclude=$(PACKAGE)/$(TAR) -czvf $(TAR) $(PACKAGE) - -tar: $(TAR) - -web: $(TAR) README - cp README $(TAR) ../../homepage/lennart/projects/$(PACKAGE)/ && $(MAKE) -C ../../homepage/lennart/projects/$(PACKAGE) - -upload: web - $(MAKE) -C ../../homepage/lennart upload diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..e6818a8 --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,24 @@ +# $Id$ +# +# This file is part of heatload. +# +# heatload is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# heatload is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with heatload; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + +bin_PROGRAMS = heatload + +heatload_SOURCES = heatload.cc +heatload_CXXFLAGS = $(AM_CXXFLAGS) $(GTKMM_CFLAGS) +heatload_LDADD = $(AM_LDADD) $(GTKMM_LIBS) -- cgit