2009-01-20 Claudio Saavedra <csaavedra@igalia.com>
[hildon] / configure.ac
index 7fe89c5..284e277 100644 (file)
@@ -1,4 +1,4 @@
-AC_INIT([Hildon gtk widgets], [1.0.0], [michael.kostrzewa@nokia.com], [hildon])
+AC_INIT([Hildon gtk widgets], [2.1.36], [hildon@projects.maemo.org], [hildon])
 AC_CANONICAL_SYSTEM
 
 AM_CONFIG_HEADER(config.h)
@@ -9,8 +9,23 @@ AM_MAINTAINER_MODE
 # define PACKAGE_VERSION_* variables
 AS_VERSION
 
+#define API_VERSION_MAJOR
+API_VERSION_MAJOR=1
+AC_SUBST(API_VERSION_MAJOR)
+
 # set the libtool versioning
-AS_LIBTOOL(HILDON, 0, 0, 0)
+# Quick guide into libtool versioning:
+# 1. Start with version information of `0:0:0' for each libtool library.
+# 2. Update the version information only immediately before a public release of your software. 
+#    More frequent updates are unnecessary, and only guarantee that the current interface number 
+#    gets larger faster.
+# 3. If the library source code has changed at all since the last update, then increment revision 
+#    (`c:r:a' becomes `c:r+1:a').
+# 4. If any interfaces have been added, removed, or changed since the last update, 
+#    increment current, and set revision to 0.
+# 5. If any interfaces have been added since the last public release, then increment age.
+# 6. If any interfaces have been removed since the last public release, then set age to 0.  
+AS_LIBTOOL(HILDON, 18, 7, 18)
 AM_INIT_AUTOMAKE
 
 AC_PROG_CC
@@ -20,18 +35,18 @@ AC_PROG_AWK
 
 AC_HEADER_STDC
 
-GTK_VERSION=2.10
+GTK_VERSION=2.12.12
 
-PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.10)
+PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_VERSION)
 AC_SUBST(GTK_LIBS)
 AC_SUBST(GTK_CFLAGS)
 AC_SUBST(GTK_VERSION)
 
-# ESD is needed for the hildon-note sounds.
+# libcanberra is needed for the hildon-note sounds.
 
-PKG_CHECK_MODULES(ESD, esound)
-AC_SUBST(ESD_LIBS)
-AC_SUBST(ESD_CFLAGS)
+PKG_CHECK_MODULES(CANBERRA, libcanberra)
+AC_SUBST(CANBERRA_LIBS)
+AC_SUBST(CANBERRA_CFLAGS)
 
 PKG_CHECK_MODULES(GCONF, gconf-2.0 >= 2.6)
 AC_SUBST(GCONF_CFLAGS)
@@ -82,6 +97,30 @@ else
     AC_MSG_NOTICE(Will not build examples )
 fi
 
+# use maemo gtk+ specific api (or not)
+AC_ARG_WITH(maemo-gtk, 
+    AC_HELP_STRING([--with-maemo-gtk], [Use Maemo GTK+ API]),
+    [
+     case "${withval}" in
+         yes) USE_MAEMO_GTK=yes ;;
+         no)  USE_MAEMO_GTK=no ;;
+         *)   AC_MSG_ERROR(bad value ${withval} for --with-maemo-gtk) ;;
+     esac],
+     [USE_MAEMO_GTK=yes])
+
+AM_CONDITIONAL(USE_MAEMO_GTK, test "x$USE_MAEMO_GTK" = "xyes")
+
+# just print out our status
+if test x$USE_MAEMO_GTK = xyes; then
+    AC_MSG_NOTICE(Will use Maemo GTK+ specific API)
+    MAEMO_GTK="-DMAEMO_GTK"
+    AC_SUBST(MAEMO_GTK)
+    MAEMO_CHANGES="-DMAEMO_CHANGES"
+    AC_SUBST(MAEMO_CHANGES)
+else
+    AC_MSG_NOTICE(Will not use Maemo GTK+ specific API)
+fi
+
 # build with assertion checks (or not)
 AC_ARG_WITH(asserts, 
     AC_HELP_STRING([--with-asserts], [Build with the assertion checks]),
@@ -102,26 +141,64 @@ else
     ASSERT_CFLAGS="-DG_DISABLE_ASSERT"
 fi
 
+# build with relaxed flags or not
+AC_ARG_ENABLE(fatal, 
+    AC_HELP_STRING([--enable-fatal], [Build with fatal warnings]),
+    [
+     case "${enableval}" in
+         yes) BUILD_WITH_FATAL=yes ;;
+         no)  BUILD_WITH_FATAL=no ;;
+         *)   AC_MSG_ERROR(bad value ${enableval} for --enable-fatal) ;;
+     esac],
+     [BUILD_WITH_FATAL=no])
+
+# just print out our status
+if test x$BUILD_WITH_FATAL = xyes; then
+    AC_MSG_NOTICE(Will build with fatal warnings)
+    FATAL_CFLAGS="-Werror"
+else
+    AC_MSG_NOTICE(Will build with non-fatal warnings)
+    FATAL_CFLAGS=""
+fi
+
+# disable deprecated symbols
+AC_ARG_ENABLE(deprecated,
+              [AC_HELP_STRING([--enable-deprecated],
+                             [enable use of deprecated symbols [default=yes]])],,
+              [enable_deprecated="yes"])
+
+if test x$enable_deprecated = xno; then
+    DISABLE_DEPRECATED="-DHILDON_DISABLE_DEPRECATED"
+fi
+
+AM_CONDITIONAL([HILDON_DISABLE_DEPRECATED], test "x$enable_deprecated" = "xno")
+
 # Check support (c unit test)
 PKG_CHECK_MODULES(CHECK, check , [BUILD_TESTS="yes"], [BUILD_TESTS="no"])
 AM_CONDITIONAL(BUILD_TESTS, test "x$BUILD_TESTS" = "xyes")
 
-CFLAGS="$CFLAGS ${ASSERT_CFLAGS} -Wall -Wmissing-prototypes -Wmissing-declarations -Werror -Wno-format"
+CFLAGS="$CFLAGS ${ASSERT_CFLAGS} -Wall -Wmissing-prototypes -Wmissing-declarations -Wno-format ${FATAL_CFLAGS}"
 # -Wno-format due to way translation string are done
 
+### disable deprecated symbols
+EXTRA_CFLAGS="$DISABLE_DEPRECATED"
+AC_SUBST(EXTRA_CFLAGS)
+
 ### enable MAEMO platform extensions
-CFLAGS="$CFLAGS -DMAEMO_CHANGES"
+CFLAGS="$CFLAGS $MAEMO_CHANGES $MAEMO_GTK"
 
 # HILDON_OBJ_*
 # default vars for the examples
 # includes all the low-level flags
 # FIXME Add esd and gconf flags
 HILDON_OBJ_CFLAGS="\$(CFLAGS) \$(GTK_CFLAGS) \$(CHECK_CFLAGS) \$(GCONF_CFLAGS) -I\$(top_builddir)/src/"
-HILDON_OBJ_LIBS="\$(top_builddir)/src/libhildon_\$(PACKAGE_VERSION_MAJOR).la \$(GTK_LIBS) \$(GCONF_LIBS) \$(CHECK_LIBS) `pkg-config --libs gthread-2.0`"
+HILDON_OBJ_LIBS="\$(top_builddir)/src/libhildon-\$(API_VERSION_MAJOR).la \$(GTK_LIBS) \$(GCONF_LIBS) \$(CHECK_LIBS) `pkg-config --libs gthread-2.0`"
 AC_SUBST(HILDON_OBJ_CFLAGS)
 AC_SUBST(HILDON_OBJ_LIBS)
 
-AC_CONFIG_FILES([Makefile src/Makefile  \
+AC_CONFIG_FILES([Makefile               \
+                 src/Makefile           \
+                 src/hildon-version.h   \
                  pkgconfig/Makefile     \
                  examples/Makefile      \
                  pkgconfig/hildon.pc    \
@@ -139,11 +216,13 @@ Configuration:
 
 - Package:...........: ${PACKAGE}
 - Version............: ${VERSION}
-- Api................: ${PACKAGE}-${PACKAGE_VERSION_MAJOR}
+- Api................: ${PACKAGE}-${API_VERSION_MAJOR}
 - Compiler...........: ${CC}
+- Enable deprecated..: ${enable_deprecated}
 - gtk-doc support....: ${enable_gtk_doc}
 - Build examples.....: ${BUILD_EXAMPLES}
 - Build with asserts.: ${BUILD_WITH_ASSERTS}
 - Build unit tests...: ${BUILD_TESTS}
+- Fatal warnings.....: ${BUILD_WITH_FATAL}
 
 "