Commit 69c27ecd authored by Frédéric Péters's avatar Frédéric Péters

Update build system to make use of gnome-common

parent 81d14715
dnl Turn on the additional warnings last, so -Werror doesn't affect other tests.
AC_DEFUN([IMENDIO_COMPILE_WARNINGS],[
if test -f $srcdir/autogen.sh; then
default_compile_warnings="error"
else
default_compile_warnings="no"
fi
AC_ARG_WITH(compile-warnings, [ --with-compile-warnings=[no/yes/error] Compiler warnings ], [enable_compile_warnings="$withval"], [enable_compile_warnings="$default_compile_warnings"])
warnCFLAGS=
if test "x$GCC" != xyes; then
enable_compile_warnings=no
fi
warning_flags=
realsave_CFLAGS="$CFLAGS"
case "$enable_compile_warnings" in
no)
warning_flags=
;;
yes)
warning_flags="-Wall -Wunused -Wmissing-prototypes -Wmissing-declarations"
;;
maximum|error)
warning_flags="-Wall -Wunused -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith"
CFLAGS="$warning_flags $CFLAGS"
for option in -Wno-sign-compare; do
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $option"
AC_MSG_CHECKING([whether gcc understands $option])
AC_TRY_COMPILE([], [],
has_option=yes,
has_option=no,)
CFLAGS="$SAVE_CFLAGS"
AC_MSG_RESULT($has_option)
if test $has_option = yes; then
warning_flags="$warning_flags $option"
fi
unset has_option
unset SAVE_CFLAGS
done
unset option
if test "$enable_compile_warnings" = "error" ; then
warning_flags="$warning_flags -Werror"
fi
;;
*)
AC_MSG_ERROR(Unknown argument '$enable_compile_warnings' to --enable-compile-warnings)
;;
esac
CFLAGS="$realsave_CFLAGS"
AC_MSG_CHECKING(what warning flags to pass to the C compiler)
AC_MSG_RESULT($warning_flags)
WARN_CFLAGS="$warning_flags"
AC_SUBST(WARN_CFLAGS)
])
AC_DEFUN([IGE_PLATFORM_CHECK],[
gdk_target=`$PKG_CONFIG --variable=target gtk+-2.0`
......@@ -87,46 +26,3 @@ AC_DEFUN([IGE_PLATFORM_CHECK],[
AM_CONDITIONAL(HAVE_PLATFORM_X11, test $IGE_PLATFORM = x11)
])
dnl AM_GCONF_SOURCE_2
dnl Defines GCONF_SCHEMA_CONFIG_SOURCE which is where you should install schemas
dnl (i.e. pass to gconftool-2
dnl Defines GCONF_SCHEMA_FILE_DIR which is a filesystem directory where
dnl you should install foo.schemas files
dnl
AC_DEFUN([AM_GCONF_SOURCE_2],
[
if test "x$GCONF_SCHEMA_INSTALL_SOURCE" = "x"; then
GCONF_SCHEMA_CONFIG_SOURCE=`gconftool-2 --get-default-source`
else
GCONF_SCHEMA_CONFIG_SOURCE=$GCONF_SCHEMA_INSTALL_SOURCE
fi
AC_ARG_WITH([gconf-source],
AC_HELP_STRING([--with-gconf-source=sourceaddress],
[Config database for installing schema files.]),
[GCONF_SCHEMA_CONFIG_SOURCE="$withval"],)
AC_SUBST(GCONF_SCHEMA_CONFIG_SOURCE)
AC_MSG_RESULT([Using config source $GCONF_SCHEMA_CONFIG_SOURCE for schema installation])
if test "x$GCONF_SCHEMA_FILE_DIR" = "x"; then
GCONF_SCHEMA_FILE_DIR='$(sysconfdir)/gconf/schemas'
fi
AC_ARG_WITH([gconf-schema-file-dir],
AC_HELP_STRING([--with-gconf-schema-file-dir=dir],
[Directory for installing schema files.]),
[GCONF_SCHEMA_FILE_DIR="$withval"],)
AC_SUBST(GCONF_SCHEMA_FILE_DIR)
AC_MSG_RESULT([Using $GCONF_SCHEMA_FILE_DIR as install directory for schema files])
AC_ARG_ENABLE(schemas-install,
[ --disable-schemas-install Disable the schemas installation],
[case ${enableval} in
yes|no) ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-schemas-install) ;;
esac])
AM_CONDITIONAL([GCONF_SCHEMAS_INSTALL], [test "$enable_schemas_install" != no])
])
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
CONFIGURE=configure.ac
: ${AUTOCONF=autoconf}
: ${AUTOHEADER=autoheader}
: ${AUTOMAKE=automake}
: ${ACLOCAL=aclocal}
: ${INTLTOOLIZE=intltoolize}
: ${LIBTOOLIZE=libtoolize}
: ${GTKDOCIZE=gtkdocize}
#
# Nothing should need changing below.
#
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
cd $srcdir
DIE=0
($AUTOCONF --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have autoconf installed to compile this project."
echo "Download the appropriate package for your distribution,"
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
DIE=1
}
(grep "^IT_PROG_INTLTOOL" $srcdir/$CONFIGURE >/dev/null) && {
($INTLTOOLIZE --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have intltoolize installed to compile this project."
echo "Get ftp://ftp.gnome.org/pub/GNOME/stable/sources/intltool/intltool-0.35.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
}
}
# Check if gtk-doc is explicitly disabled.
for option in $AUTOGEN_CONFIGURE_ARGS $@
do
case $option in
-disable-gtk-doc | --disable-gtk-doc)
enable_gtk_doc=no
;;
esac
done
if test x$enable_gtk_doc != xno; then
echo "Checking for gtkdocize ... "
if grep "^GTK_DOC_CHECK" $CONFIGURE > /dev/null; then
if !($GTKDOCIZE --version) < /dev/null > /dev/null 2>&1; then
echo
echo " You must have gtk-doc installed to compile this project."
echo " Install the appropriate package for your distribution,"
echo " or get the source tarball at"
echo " http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/"
echo " You can also use the option --disable-gtk-doc to skip"
echo " this test but then you will not be able to generate a"
echo " configure script that can build the API documentation."
DIE=1
fi
fi
fi
($AUTOMAKE --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have automake installed to compile this project."
echo "Get ftp://sourceware.cygnus.com/pub/automake/automake-1.11.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
}
($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have libtool installed to compile this project."
echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.5.22.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
}
if grep "^AM_[A-Z0-9_]\{1,\}_GETTEXT" "$CONFIGURE" >/dev/null; then
if grep "sed.*POTFILES" "$CONFIGURE" >/dev/null; then
GETTEXTIZE=""
else
if grep "^AM_GLIB_GNU_GETTEXT" "$CONFIGURE" >/dev/null; then
GETTEXTIZE="glib-gettextize"
GETTEXTIZE_URL="ftp://ftp.gtk.org/pub/gtk/v2.0/glib-2.0.0.tar.gz"
else
GETTEXTIZE="gettextize"
GETTEXTIZE_URL="ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz"
fi
$GETTEXTIZE --version < /dev/null > /dev/null 2>&1
if test $? -ne 0; then
echo
echo "You must have $GETTEXTIZE installed to compile this project."
echo "Get $GETTEXTIZE_URL"
echo "(or a newer version if it is available)"
DIE=1
fi
fi
fi
if test "$DIE" -eq 1; then
exit 1
fi
PKG_NAME="Devhelp"
test -f $CONFIGURE || {
echo "You must run this script in the top-level this project directory"
exit 1
(test -f $srcdir/src/dh-main.c) || {
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
echo " top-level $PKG_NAME directory"
exit 1
}
rm -rf autom4te.cache
do_cmd() {
echo "Running '$@'"
$@ || exit $?
which gnome-autogen.sh || {
echo "You need to install gnome-common."
exit 1
}
do_cmd $ACLOCAL $ACLOCAL_FLAGS
if grep "^IT_PROG_INTLTOOL" $CONFIGURE >/dev/null; then
do_cmd $INTLTOOLIZE --copy --force --automake
fi
do_cmd $LIBTOOLIZE --copy --force --automake
if grep "^GTK_DOC_CHECK" $CONFIGURE > /dev/null; then
if test x$enable_gtk_doc = xno; then
echo "WARNING: You have disabled gtk-doc."
echo " As a result, you will not be able to generate the API"
echo " documentation and 'make dist' will not work."
echo
else
do_cmd $GTKDOCIZE --copy --flavour no-tmpl --docdir build
fi
fi
do_cmd $AUTOHEADER
touch $srcdir/ChangeLog # required for automake
do_cmd $AUTOMAKE --add-missing -Wall
do_cmd $AUTOCONF
cd $ORIGDIR || exit $?
test -e $srcdir/ChangeLog || touch $srcdir/ChangeLog
if test x$NOCONFIGURE = x; then
echo "Running '$srcdir/configure $@'"
$srcdir/configure "$@" && echo "Now type 'make' to compile." || exit 1
else
echo Skipping configure process.
fi
ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I m4" REQUIRED_AUTOMAKE_VERSION=1.9 REQUIRED_MACROS=python.m4 USE_GNOME2_MACROS=1 . gnome-autogen.sh
BUILT_SOURCES =
CLEANFILES =
DISTCLEANFILES =
EXTRA_DIST =
MAINTAINERCLEANFILES =
CLEANFILES += $(BUILT_SOURCES)
MAINTAINERCLEANFILES += Makefile.in
AM_CPPFLAGS = -I$(top_srcdir)
check-local: Makefile
@for f in $(GI18N_CHECK_LIB_FILES); do \
if echo $$f | grep -q "\\.h\$$"; then \
if grep -n "#.*include.*glib/gi18n.*\\.h" $$f; then \
echo "$$f includes an i18n header" >&2 ; \
exit 1; \
fi; \
elif echo $$f | grep -q "\\.c\$$"; then \
if grep -n "#.*include.*glib/gi18n\\.h" $$f; then \
echo "$$f includes glib/gi18n.h, not glib/gi18n-lib.h" >&2 ; \
exit 1; \
fi; \
fi; \
done; \
\
for f in $(GI18N_CHECK_APP_FILES); do \
if grep -n "#.*include.*glib/gi18n-lib\\.h" $$f; then \
echo "$$f includes glib/gi18n-lib.h, not glib/gi18n.h" >&2 \
exit 1; \
fi; \
done
$(MARSHAL)-marshal.h: $(MARSHAL)-marshal.list
(cd $(srcdir) && \
$(GLIB_GENMARSHAL) --prefix=_$(MARSHAL)_marshal $(MARSHAL)-marshal.list --header) > xgen-gmh \
&& (cmp -s xgen-gmh $(MARSHAL)-marshal.h || cp xgen-gmh $(MARSHAL)-marshal.h) \
&& rm -f xgen-gmh xgen-gmh~
$(MARSHAL)-marshal.c: $(MARSHAL)-marshal.list
(cd $(srcdir) && \
echo "#include \"$(MARSHAL)-marshal.h\""; \
$(GLIB_GENMARSHAL) --prefix=_$(MARSHAL)_marshal $(MARSHAL)-marshal.list --body) > xgen-gmc \
&& cp xgen-gmc $(MARSHAL)-marshal.c \
&& rm -f xgen-gmc xgen-gmc~
BUILT_SOURCES += \
$(MARSHAL)-marshal.h \
$(MARSHAL)-marshal.c \
$(NULL)
EXTRA_DIST += \
$(MARSHAL)-marshal.list \
$(NULL)
AC_PREREQ(2.60)
AC_INIT([Devhelp],[0.23.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=devhelp],[devhelp])
# LT Version numbers, remember to change them just *before* a release.
# (Interfaces removed: CURRENT++, AGE=0, REVISION=0)
# (Interfaces added: CURRENT++, AGE++, REVISION=0)
# (No interfaces changed: REVISION++)
LIBDEVHELP_CURRENT=0
LIBDEVHELP_AGE=0
LIBDEVHELP_REVISION=0
AC_SUBST(LIBDEVHELP_CURRENT)
AC_SUBST(LIBDEVHELP_AGE)
AC_SUBST(LIBDEVHELP_REVISION)
AC_CONFIG_HEADERS(config.h)
AC_CONFIG_AUX_DIR(build)
AC_CONFIG_SRCDIR(src/dh-main.c)
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([1.9 no-define -Wall])
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
......@@ -12,19 +25,15 @@ AC_PROG_LIBTOOL
# to make
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AC_PROG_CC
AC_PROG_CPP
AM_PROG_CC_C_O
AM_PATH_GLIB_2_0
IT_PROG_INTLTOOL([0.40.0])
AC_PATH_PROG(GCONFTOOL, gconftool-2)
PKG_PROG_PKG_CONFIG
AM_GCONF_SOURCE_2
IMENDIO_COMPILE_WARNINGS
GNOME_COMPILE_WARNINGS
dnl -----------------------------------------------------------
dnl Platform (GTK+ X11 or GTK OS X)
......
include $(top_srcdir)/build/Makefile.am.common
include $(top_srcdir)/build/Makefile.am.marshal
include $(top_srcdir)/build/Makefile.am.gi18n-check
dh-marshal.h: dh-marshal.list
$(AM_V_GEN) $(GLIB_GENMARSHAL) $< --header --prefix=_dh_marshal dh-marshal.list > $@
AM_CPPFLAGS += \
dh-marshal.c: dh-marshal.list
$(AM_V_GEN) echo "#include \"dh-marshal.h\"" > $@ && \
$(GLIB_GENMARSHAL) $< --body --prefix=_dh_marshal dh-marshal.list >> $@
BUILT_SOURCES = \
dh-marshal.h \
dh-marshal.c \
$(NULL)
EXTRA_DIST = \
dh-marshal.list \
$(NULL)
AM_CPPFLAGS = \
-I$(top_srcdir) \
-DLOCALEDIR=\""$(datadir)/locale"\" \
-DDATADIR=\""$(datadir)"\" \
-DG_LOG_DOMAIN=\"Devhelp\" \
......@@ -81,6 +94,8 @@ libdevhelp_1_la_LIBADD = \
libdevhelp_1_la_LDFLAGS = \
-no-undefined \
-version-info ${LIBDEVHELP_CURRENT}:${LIBDEVHELP_REVISION}:${LIBDEVHELP_AGE} \
-export-symbols-regex ^dh_ \
$(ZLIB_LDFLAGS)
if HAVE_PLATFORM_OSX
......@@ -91,7 +106,3 @@ if HAVE_PLATFORM_X11
conf_platform_sources = ige-conf-gconf.c
endif
MARSHAL=dh
GI18N_CHECK_LIB_FILES = $(libdevhelp_1_la_SOURCES) $(devhelpinclude_HEADERS)
GI18N_CHECK_APP_FILES = $(devhelp_SOURCES)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment