From 6f09b2e3c829acd98945d65f09c640ca06fa8d7c Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Sun, 22 Aug 2010 02:56:09 +0000 Subject: Merge in a single build system --- diff --git a/.gitignore b/.gitignore index e69de29..5068607 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,34 @@ +Makefile +Makefile.in +aclocal.m4 +autom4te.cache/ +config.guess +config.h +config.h.in +config.log +config.status +config.sub +configure +depcomp +install-sh +intltool-extract.in +intltool-merge.in +intltool-update.in +libtool +ltmain.sh +m4/intltool.m4 +m4/libtool.m4 +m4/ltoptions.m4 +m4/ltsugar.m4 +m4/ltversion.m4 +m4/lt~obsolete.m4 +missing +po/.intltool-merge-cache +po/Makefile +po/Makefile.in +po/Makefile.in.in +po/POTFILES +po/stamp-it +py-compile +stamp-h1 + diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..7439606 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,15 @@ +ACLOCAL_AMFLAGS = -I m4 + +DISTCLEANFILES = \ + intltool-extract \ + intltool-merge \ + intltool-update + +EXTRA_DIST = \ + intltool-merge.in \ + intltool-update.in \ + intltool-extract.in + +DISTCHECK_CONFIGURE_FLAGS = --disable-update-mimedb + +SUBDIRS = artwork base datastore po shell toolkit diff --git a/artwork/cursor/sugar/Makefile.am b/artwork/cursor/sugar/Makefile.am index 93bd6a6..347322d 100644 --- a/artwork/cursor/sugar/Makefile.am +++ b/artwork/cursor/sugar/Makefile.am @@ -15,8 +15,8 @@ sugar_images = \ sugar-11.png \ sugar-hotspots.png -IMAGE_DIR = $(top_srcdir)/cursor/sugar -OUTPUT_DIR = $(top_builddir)/cursor/sugar +IMAGE_DIR = $(top_srcdir)/artwork/cursor/sugar +OUTPUT_DIR = $(top_builddir)/artwork/cursor/sugar CURSORS_DIR = $(OUTPUT_DIR)/cursors sugar.stamp: $(sugar_images) $(THEMEGEN) sugar.cursortheme diff --git a/artwork/gtk/theme/Makefile.am b/artwork/gtk/theme/Makefile.am index a6b0bd8..176b1d1 100644 --- a/artwork/gtk/theme/Makefile.am +++ b/artwork/gtk/theme/Makefile.am @@ -1,10 +1,10 @@ sugar-72.gtkrc: gtkrc.em $(srcdir)/em.py -p $$ -D scaling=\'72\' $(srcdir)/gtkrc.em > \ - $(top_builddir)/gtk/theme/sugar-72.gtkrc + $(top_builddir)/artwork/gtk/theme/sugar-72.gtkrc sugar-100.gtkrc: gtkrc.em $(srcdir)/em.py -p $$ -D scaling=\'100\' $(srcdir)/gtkrc.em > \ - $(top_builddir)/gtk/theme/sugar-100.gtkrc + $(top_builddir)/artwork/gtk/theme/sugar-100.gtkrc clean: $(RM) sugar-72.gtkrc @@ -16,10 +16,10 @@ GTKRC_FILES = \ install-data-local: $(GTKRC_FILES) $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/sugar-72/gtk-2.0 - $(INSTALL_DATA) $(top_builddir)/gtk/theme/sugar-72.gtkrc \ + $(INSTALL_DATA) $(top_builddir)/artwork/gtk/theme/sugar-72.gtkrc \ $(DESTDIR)$(datadir)/themes/sugar-72/gtk-2.0/gtkrc $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/sugar-100/gtk-2.0 - $(INSTALL_DATA) $(top_builddir)/gtk/theme/sugar-100.gtkrc \ + $(INSTALL_DATA) $(top_builddir)/artwork/gtk/theme/sugar-100.gtkrc \ $(DESTDIR)$(datadir)/themes/sugar-100/gtk-2.0/gtkrc uninstall-local: diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..a71e202 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,4 @@ +#!/bin/sh +intltoolize +autoreconf -i +./configure --enable-maintainer-mode "$@" diff --git a/base/Makefile.am b/base/Makefile.am index b62b8cc..f8238b2 100644 --- a/base/Makefile.am +++ b/base/Makefile.am @@ -1,13 +1,3 @@ ACLOCAL_AMFLAGS = -I m4 -DISTCLEANFILES = \ - intltool-extract \ - intltool-merge \ - intltool-update - -EXTRA_DIST = \ - intltool-merge.in \ - intltool-update.in \ - intltool-extract.in - -SUBDIRS = src po +SUBDIRS = src diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..379861e --- /dev/null +++ b/configure.ac @@ -0,0 +1,154 @@ +AC_PREREQ([2.59]) + +AC_INIT([sugar],[0.99],[],[sugar]) + +AM_INIT_AUTOMAKE([1.9 foreign dist-bzip2 no-dist-gzip]) + +AC_CONFIG_MACRO_DIR([m4]) +AC_CONFIG_SRCDIR([configure.ac]) +AM_CONFIG_HEADER(config.h) + +AM_MAINTAINER_MODE + +AM_DISABLE_STATIC +AC_PROG_LIBTOOL + +AC_PROG_CC +AC_HEADER_STDC + +PKG_PROG_PKG_CONFIG([0.19]) + +GNOME_COMPILE_WARNINGS(maximum) + +AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal]) + +AM_PATH_PYTHON([2.5]) +AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)]) + +GTK_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0` +AC_SUBST(GTK_VERSION) + +AC_PATH_PROG(PYGTK_CODEGEN, pygtk-codegen-2.0, no) + +PYGTK_DEFSDIR=`$PKG_CONFIG --variable=defsdir pygtk-2.0` +AC_SUBST(PYGTK_DEFSDIR) + +PKG_CHECK_MODULES(EXTENSION, pygobject-2.0) +PKG_CHECK_MODULES(GTK2, gtk+-2.0 >= 2.0.0) +PKG_CHECK_MODULES(ENGINE, gtk+-2.0 >= 2.0 gobject-2.0 >= 2.0 cairo >= 0.1.1) +PKG_CHECK_MODULES(SHELL, pygtk-2.0 gtk+-2.0 gconf-2.0) +PKG_CHECK_MODULES(EXT, pygtk-2.0 gtk+-2.0 sm ice alsa) + +GETTEXT_PACKAGE=sugar +AC_PROG_INTLTOOL([0.33]) +AC_SUBST(GETTEXT_PACKAGE) +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Gettext package]) +AM_GLIB_GNU_GETTEXT + +AC_PATH_PROG([ICON_SLICER], [icon-slicer]) +if test -z "$ICON_SLICER"; then + AC_MSG_ERROR([icon-slicer is required]) +fi + +AC_ARG_ENABLE(update-mimedb, + AC_HELP_STRING([--disable-update-mimedb], + [disable the update-mime-database after install [default=no]]),, + enable_update_mimedb=yes) +AM_CONDITIONAL(ENABLE_UPDATE_MIMEDB, test x$enable_update_mimedb = xyes) + +# Verify that gconftool is installed +# +AC_PATH_PROG(GCONFTOOL, gconftool-2, no) + +if test "$GCONFTOOL" = no; then + AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf]) +fi + +AM_GCONF_SOURCE_2 + +ICON_NAMING_UTILS_REQUIRED=0.8.2 + +AC_MSG_CHECKING([icon-naming-utils >= $ICON_NAMING_UTILS_REQUIRED]) +PKG_CHECK_EXISTS(icon-naming-utils >= $ICON_NAMING_UTILS_REQUIRED, + have_utils=yes, have_utils=no) +if test "x$have_utils" = "xyes"; then + UTILS_PATH="`$PKG_CONFIG --variable=program_path icon-naming-utils`" + ICONMAP="$UTILS_PATH/icon-name-mapping" + AC_SUBST(ICONMAP) + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) + AC_MSG_ERROR([icon-naming-utils >= $ICON_NAMING_UTILS_REQUIRED is required to build + and install the icon theme]) +fi + +AC_OUTPUT([ +Makefile +artwork/Makefile +artwork/cursor/Makefile +artwork/cursor/sugar/Makefile +artwork/icons/Makefile +artwork/icons/scalable/Makefile +artwork/icons/scalable/actions/Makefile +artwork/icons/scalable/apps/Makefile +artwork/icons/scalable/categories/Makefile +artwork/icons/scalable/control/Makefile +artwork/icons/scalable/device/Makefile +artwork/icons/scalable/emblems/Makefile +artwork/icons/scalable/mimetypes/Makefile +artwork/icons/scalable/status/Makefile +artwork/gtk/Makefile +artwork/gtk/engine/Makefile +artwork/gtk/theme/Makefile +base/Makefile +base/src/Makefile +base/src/sugar/Makefile +base/src/sugar/dispatch/Makefile +datastore/Makefile +datastore/bin/Makefile +datastore/etc/Makefile +datastore/src/Makefile +datastore/src/carquinyol/Makefile +po/Makefile.in +shell/bin/Makefile +shell/bin/sugar +shell/data/icons/Makefile +shell/data/Makefile +shell/data/sugar-emulator.desktop +shell/extensions/cpsection/aboutcomputer/Makefile +shell/extensions/cpsection/aboutme/Makefile +shell/extensions/cpsection/datetime/Makefile +shell/extensions/cpsection/frame/Makefile +shell/extensions/cpsection/keyboard/Makefile +shell/extensions/cpsection/language/Makefile +shell/extensions/cpsection/modemconfiguration/Makefile +shell/extensions/cpsection/Makefile +shell/extensions/cpsection/network/Makefile +shell/extensions/cpsection/power/Makefile +shell/extensions/cpsection/updater/backends/Makefile +shell/extensions/cpsection/updater/Makefile +shell/extensions/deviceicon/Makefile +shell/extensions/globalkey/Makefile +shell/extensions/Makefile +shell/Makefile +shell/src/jarabe/config.py +shell/src/jarabe/controlpanel/Makefile +shell/src/jarabe/desktop/Makefile +shell/src/jarabe/frame/Makefile +shell/src/jarabe/intro/Makefile +shell/src/jarabe/journal/Makefile +shell/src/jarabe/Makefile +shell/src/jarabe/model/Makefile +shell/src/jarabe/util/Makefile +shell/src/jarabe/util/telepathy/Makefile +shell/src/jarabe/view/Makefile +shell/src/Makefile +toolkit/Makefile +toolkit/src/Makefile +toolkit/src/sugar/Makefile +toolkit/src/sugar/activity/Makefile +toolkit/src/sugar/bundle/Makefile +toolkit/src/sugar/graphics/Makefile +toolkit/src/sugar/presence/Makefile +toolkit/src/sugar/datastore/Makefile +]) diff --git a/m4/python.m4 b/m4/python.m4 new file mode 100644 index 0000000..e1c5266 --- /dev/null +++ b/m4/python.m4 @@ -0,0 +1,62 @@ +## this one is commonly used with AM_PATH_PYTHONDIR ... +dnl AM_CHECK_PYMOD(MODNAME [,SYMBOL [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]]]) +dnl Check if a module containing a given symbol is visible to python. +AC_DEFUN([AM_CHECK_PYMOD], +[AC_REQUIRE([AM_PATH_PYTHON]) +py_mod_var=`echo $1['_']$2 | sed 'y%./+-%__p_%'` +AC_MSG_CHECKING(for ifelse([$2],[],,[$2 in ])python module $1) +AC_CACHE_VAL(py_cv_mod_$py_mod_var, [ +ifelse([$2],[], [prog=" +import sys +try: + import $1 +except ImportError: + sys.exit(1) +except: + sys.exit(0) +sys.exit(0)"], [prog=" +import $1 +$1.$2"]) +if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC + then + eval "py_cv_mod_$py_mod_var=yes" + else + eval "py_cv_mod_$py_mod_var=no" + fi +]) +py_val=`eval "echo \`echo '$py_cv_mod_'$py_mod_var\`"` +if test "x$py_val" != xno; then + AC_MSG_RESULT(yes) + ifelse([$3], [],, [$3 +])dnl +else + AC_MSG_RESULT(no) + ifelse([$4], [],, [$4 +])dnl +fi +]) + +dnl a macro to check for ability to create python extensions +dnl AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE]) +dnl function also defines PYTHON_INCLUDES +AC_DEFUN([AM_CHECK_PYTHON_HEADERS], +[AC_REQUIRE([AM_PATH_PYTHON]) +AC_MSG_CHECKING(for headers required to compile python extensions) +dnl deduce PYTHON_INCLUDES +py_prefix=`$PYTHON -c "import sys; print sys.prefix"` +py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` +PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" +if test "$py_prefix" != "$py_exec_prefix"; then + PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" +fi +AC_SUBST(PYTHON_INCLUDES) +dnl check if the headers exist: +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES" +AC_TRY_CPP([#include ],dnl +[AC_MSG_RESULT(found) +$1],dnl +[AC_MSG_RESULT(not found) +$2]) +CPPFLAGS="$save_CPPFLAGS" +]) diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..e3bfa22 --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,61 @@ +shell/data/sugar.schemas.in +shell/data/sugar.xml.in +shell/extensions/cpsection/aboutcomputer/__init__.py +shell/extensions/cpsection/aboutcomputer/model.py +shell/extensions/cpsection/aboutcomputer/view.py +shell/extensions/cpsection/aboutme/__init__.py +shell/extensions/cpsection/datetime/__init__.py +shell/extensions/cpsection/datetime/view.py +shell/extensions/cpsection/frame/__init__.py +shell/extensions/cpsection/frame/view.py +shell/extensions/cpsection/keyboard/__init__.py +shell/extensions/cpsection/keyboard/view.py +shell/extensions/cpsection/language/__init__.py +shell/extensions/cpsection/language/model.py +shell/extensions/cpsection/modemconfiguration/__init__.py +shell/extensions/cpsection/modemconfiguration/view.py +shell/extensions/cpsection/network/__init__.py +shell/extensions/cpsection/network/view.py +shell/extensions/cpsection/power/__init__.py +shell/extensions/cpsection/power/model.py +shell/extensions/cpsection/power/view.py +shell/extensions/cpsection/updater/__init__.py +shell/extensions/cpsection/updater/view.py +shell/extensions/deviceicon/battery.py +shell/extensions/deviceicon/network.py +shell/extensions/deviceicon/speaker.py +shell/extensions/deviceicon/touchpad.py +shell/extensions/globalkey/screenshot.py +shell/src/jarabe/controlpanel/cmd.py +shell/src/jarabe/controlpanel/gui.py +shell/src/jarabe/controlpanel/sectionview.py +shell/src/jarabe/desktop/activitieslist.py +shell/src/jarabe/desktop/favoriteslayout.py +shell/src/jarabe/desktop/homebox.py +shell/src/jarabe/desktop/keydialog.py +shell/src/jarabe/desktop/meshbox.py +shell/src/jarabe/frame/activitiestray.py +shell/src/jarabe/frame/clipboardmenu.py +shell/src/jarabe/frame/clipboardobject.py +shell/src/jarabe/frame/devicestray.py +shell/src/jarabe/frame/zoomtoolbar.py +shell/src/jarabe/intro/window.py +shell/src/jarabe/journal/detailview.py +shell/src/jarabe/journal/expandedentry.py +shell/src/jarabe/journal/journalactivity.py +shell/src/jarabe/journal/journaltoolbox.py +shell/src/jarabe/journal/listview.py +shell/src/jarabe/journal/misc.py +shell/src/jarabe/journal/modalalert.py +shell/src/jarabe/journal/objectchooser.py +shell/src/jarabe/journal/palettes.py +shell/src/jarabe/journal/volumestoolbar.py +shell/src/jarabe/view/buddymenu.py +shell/src/jarabe/view/keyhandler.py +shell/src/jarabe/view/launcher.py +shell/src/jarabe/view/palettes.py +shell/src/jarabe/view/viewsource.py +toolkit/src/sugar/activity/widgets.py +toolkit/src/sugar/eggdesktopfile.c +toolkit/src/sugar/eggsmclient.c +toolkit/src/sugar/gsm-xsmp.c diff --git a/shell/Makefile.am b/shell/Makefile.am index 9e252af..ef2afa3 100644 --- a/shell/Makefile.am +++ b/shell/Makefile.am @@ -1,14 +1,3 @@ -SUBDIRS = bin data po src extensions - -DISTCLEANFILES = \ - intltool-extract \ - intltool-merge \ - intltool-update - -EXTRA_DIST = \ - $(bin_SCRIPTS) \ - intltool-merge.in \ - intltool-update.in \ - intltool-extract.in +SUBDIRS = bin data src extensions DISTCHECK_CONFIGURE_FLAGS = --disable-update-mimedb diff --git a/shell/data/Makefile.am b/shell/data/Makefile.am index 6a62d23..20abb72 100644 --- a/shell/data/Makefile.am +++ b/shell/data/Makefile.am @@ -2,11 +2,11 @@ SUBDIRS = icons sugar-72.gtkrc: gtkrc.em $(srcdir)/em.py -D scaling=\'72\' $(srcdir)/gtkrc.em > \ - $(top_builddir)/data/sugar-72.gtkrc + $(top_builddir)/shell/data/sugar-72.gtkrc sugar-100.gtkrc: gtkrc.em $(srcdir)/em.py -D scaling=\'100\' $(srcdir)/gtkrc.em > \ - $(top_builddir)/data/sugar-100.gtkrc + $(top_builddir)/shell/data/sugar-100.gtkrc sugardir = $(pkgdatadir)/data sugar_DATA = \ diff --git a/toolkit/Makefile.am b/toolkit/Makefile.am index b62b8cc..f8238b2 100644 --- a/toolkit/Makefile.am +++ b/toolkit/Makefile.am @@ -1,13 +1,3 @@ ACLOCAL_AMFLAGS = -I m4 -DISTCLEANFILES = \ - intltool-extract \ - intltool-merge \ - intltool-update - -EXTRA_DIST = \ - intltool-merge.in \ - intltool-update.in \ - intltool-extract.in - -SUBDIRS = src po +SUBDIRS = src -- cgit v0.9.1