[smuxi/experiments/msg_buffer_tool: 4/6] WIP4: build-sys



commit 86530eaa37ae664b10e79d89c2399fa7a04ee891
Author: Mirco Bauer <meebey meebey net>
Date:   Thu Mar 6 20:03:05 2014 +0100

    WIP4: build-sys

 Makefile.am                                      |    5 +-
 configure.ac                                     |   16 ++-
 po-Engine-MessageBuffer/Makefile.in.in           |  218 ++++++++++++++++++++++
 po-Engine-MessageBuffer/POTFILES.in              |    1 +
 src/Engine-MessageBuffer/Makefile.am             |   35 ++++
 src/Engine-MessageBuffer/smuxi-message-buffer.in |    3 +
 src/Makefile.am                                  |    1 +
 7 files changed, 277 insertions(+), 2 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 87f807f..4fa5420 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -60,6 +60,7 @@ DISTCLEANFILES = \
 
 PODIRS =       po \
                po-Engine \
+               po-Engine-MessageBuffer \
                $(PO_ENGINE_CAMPFIRE) \
                $(PO_ENGINE_IRC) \
                $(PO_ENGINE_JABBR) \
@@ -144,7 +145,8 @@ LINUX_STATIC_BUILD_DIR = $(top_builddir)/bin-linux-static
 
 WIN32_EXE_FILES = \
        $(BUILD_DIR)/smuxi-frontend-gnome.exe \
-       $(BUILD_DIR)/smuxi-server.exe
+       $(BUILD_DIR)/smuxi-server.exe \
+       $(BUILD_DIR)/smuxi-message-buffer.exe
 
 WIN32_FILES = \
        $(WIN32_EXE_FILES) \
@@ -187,6 +189,7 @@ OSX_FILES = \
        $(BUILD_DIR)/smuxi-frontend-gnome-twitter.dll \
        $(BUILD_DIR)/smuxi-frontend-gnome-xmpp.dll \
        $(BUILD_DIR)/smuxi-server.exe \
+       $(BUILD_DIR)/smuxi-message-buffer.exe \
        $(BUILD_DIR)/smuxi-common.dll \
        $(BUILD_DIR)/smuxi-engine.dll \
        $(BUILD_DIR)/smuxi-engine-campfire.dll \
diff --git a/configure.ac b/configure.ac
index e87e899..5cafdc5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,6 +22,7 @@ IT_PROG_INTLTOOL([0.25])
 POSUB="
        po
        po-Engine
+       po-Engine-MessageBuffer
        po-Engine-Campfire
        po-Engine-IRC
        po-Engine-JabbR
@@ -63,6 +64,10 @@ GETTEXT_PACKAGE_ENGINE_JABBR=smuxi-engine-jabbr
 AC_SUBST(GETTEXT_PACKAGE_ENGINE_JABBR)
 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE_ENGINE_JABBR, "$GETTEXT_PACKAGE_ENGINE_JABBR", [Gettext package])
 
+GETTEXT_PACKAGE_MSG_BUFFER=smuxi-message-buffer
+AC_SUBST(GETTEXT_PACKAGE_MSG_BUFFER)
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE_MSG_BUFFER, "$GETTEXT_PACKAGE_MSG_BUFFER", [Gettext package])
+
 GETTEXT_PACKAGE_SERVER=smuxi-server
 AC_SUBST(GETTEXT_PACKAGE_SERVER)
 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE_SERVER, "$GETTEXT_PACKAGE_SERVER", [Gettext package])
@@ -551,6 +556,12 @@ if test "x$ENABLE_ENGINE_JABBR" != "xno"; then
 fi
 AM_CONDITIONAL(ENABLE_ENGINE_JABBR, test "x$ENABLE_ENGINE_JABBR" = "xyes")
 
+# MessageBuffer tool
+if $PKG_CONFIG 'mono >= 2.6'; then
+       MSG_BUFFER_COMPILER_FLAGS+=" -platform:x86"
+fi
+AC_SUBST(MSG_BUFFER_COMPILER_FLAGS)
+
 # Server
 if $PKG_CONFIG 'mono >= 2.6'; then
        SERVER_COMPILER_FLAGS+=" -platform:x86"
@@ -680,6 +691,8 @@ AC_CONFIG_FILES([
        src/Engine-XMPP/Makefile
        src/Engine-XMPP/smuxi-engine-xmpp.pc
        src/Engine-Campfire/Makefile
+       src/Engine-MessageBuffer/Makefile
+       src/Engine-MessageBuffer/smuxi-message-buffer
        src/Server/Makefile
        src/Server/smuxi-server
        src/Frontend/Makefile
@@ -707,6 +720,7 @@ AC_CONFIG_FILES([
        po-Engine-JabbR/Makefile.in
        po-Engine-Twitter/Makefile.in
        po-Engine-XMPP/Makefile.in
+       po-Engine-MessageBuffer/Makefile.in
        po-Server/Makefile.in
        po-Frontend/Makefile.in
        po-Frontend-GNOME/Makefile.in
@@ -731,7 +745,7 @@ AC_MSG_RESULT([
 
        * Engines
          -------
-         Core:                (db4o: $WITH_DB4O)
+         Core:                (sqlite: built-in, db4o: $WITH_DB4O)
          IRC:                 $ENABLE_ENGINE_IRC
          XMPP:                $ENABLE_ENGINE_XMPP
          Twitter:             $ENABLE_ENGINE_TWITTER
diff --git a/po-Engine-MessageBuffer/Makefile.in.in b/po-Engine-MessageBuffer/Makefile.in.in
new file mode 100644
index 0000000..dda6f1a
--- /dev/null
+++ b/po-Engine-MessageBuffer/Makefile.in.in
@@ -0,0 +1,218 @@
+# Makefile for program source directory in GNU NLS utilities package.
+# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper gnu ai mit edu>
+# Copyright (C) 2004-2008 Rodney Dawes <dobey pwns gmail com>
+#
+# This file may be copied and used freely without restrictions.  It may
+# be used in projects which are not available under a GNU Public License,
+# but which still want to provide support for the GNU gettext functionality.
+#
+# - Modified by Owen Taylor <otaylor redhat com> to use GETTEXT_PACKAGE
+#   instead of PACKAGE and to look for po2tbl in ./ not in intl/
+#
+# - Modified by jacob berkman <jacob ximian com> to install
+#   Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
+#
+# - Modified by Rodney Dawes <dobey pwns gmail com> for use with intltool
+#
+# We have the following line for use by intltoolize:
+# INTLTOOL_MAKEFILE
+
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE_MSG_BUFFER@
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+top_builddir = @top_builddir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datadir = @datadir@
+datarootdir = @datarootdir@
+libdir = @libdir@
+DATADIRNAME = @DATADIRNAME@
+itlocaledir = $(prefix)/$(DATADIRNAME)/locale
+subdir = po
+install_sh = @install_sh@
+# Automake >= 1.8 provides @mkdir_p  
+# Until it can be supposed, use the safe fallback:
+mkdir_p = $(install_sh) -d
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+
+GMSGFMT = @GMSGFMT@
+MSGFMT = @MSGFMT@
+XGETTEXT = @XGETTEXT@
+INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
+INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
+MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package 
$(GETTEXT_PACKAGE) --dist
+GENPOT   = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package 
$(GETTEXT_PACKAGE) --pot
+
+ALL_LINGUAS = @ALL_LINGUAS@
+
+PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
+
+USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for 
lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS`" -o -n "`echo $$ALINGUAS|grep ' ?$$lang 
?'`"; then printf "$$lang "; fi; done; fi)
+
+USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n 
"$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in 
$$LLINGUAS; do printf "$$lang "; done)
+
+POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
+
+DISTFILES = Makefile.in.in POTFILES.in $(POFILES)
+EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
+
+POTFILES = \
+# This comment gets stripped out
+
+CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
+
+.SUFFIXES:
+.SUFFIXES: .po .pox .gmo .mo .msg .cat
+
+.po.pox:
+       $(MAKE) $(GETTEXT_PACKAGE).pot
+       $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
+
+.po.mo:
+       $(MSGFMT) -o $@ $<
+
+.po.gmo:
+       file=`echo $* | sed 's,.*/,,'`.gmo \
+         && rm -f $$file && $(GMSGFMT) -o $$file $<
+
+.po.cat:
+       sed -f ../intl/po2msg.sed < $< > $*.msg \
+         && rm -f $@ && gencat $@ $*.msg
+
+
+all: all- USE_NLS@
+
+all-yes: $(CATALOGS)
+all-no:
+
+$(GETTEXT_PACKAGE).pot: $(POTFILES)
+       $(GENPOT)
+
+install: install-data
+install-data: install-data- USE_NLS@
+install-data-no: all
+install-data-yes: all
+       $(mkdir_p) $(DESTDIR)$(itlocaledir)
+       linguas="$(USE_LINGUAS)"; \
+       for lang in $$linguas; do \
+         dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
+         $(mkdir_p) $$dir; \
+         if test -r $$lang.gmo; then \
+           $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
+           echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
+         else \
+           $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
+           echo "installing $(srcdir)/$$lang.gmo as" \
+                "$$dir/$(GETTEXT_PACKAGE).mo"; \
+         fi; \
+         if test -r $$lang.gmo.m; then \
+           $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
+           echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
+         else \
+           if test -r $(srcdir)/$$lang.gmo.m ; then \
+             $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
+               $$dir/$(GETTEXT_PACKAGE).mo.m; \
+             echo "installing $(srcdir)/$$lang.gmo.m as" \
+                  "$$dir/$(GETTEXT_PACKAGE).mo.m"; \
+           else \
+             true; \
+           fi; \
+         fi; \
+       done
+
+# Empty stubs to satisfy archaic automake needs
+dvi info tags TAGS ID:
+
+# Define this as empty until I found a useful application.
+install-exec installcheck:
+
+uninstall:
+       linguas="$(USE_LINGUAS)"; \
+       for lang in $$linguas; do \
+         rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
+         rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
+       done
+
+check: all $(GETTEXT_PACKAGE).pot
+       rm -f missing notexist
+       srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
+       if [ -r missing -o -r notexist ]; then \
+         exit 1; \
+       fi
+
+mostlyclean:
+       rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
+       rm -f .intltool-merge-cache
+
+clean: mostlyclean
+
+distclean: clean
+       rm -f Makefile Makefile.in POTFILES stamp-it
+       rm -f *.mo *.msg *.cat *.cat.m *.gmo
+
+maintainer-clean: distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+       rm -f Makefile.in.in
+
+distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir: $(DISTFILES)
+       dists="$(DISTFILES)"; \
+       extra_dists="$(EXTRA_DISTFILES)"; \
+       for file in $$extra_dists; do \
+         test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
+       done; \
+       for file in $$dists; do \
+         test -f $$file || file="$(srcdir)/$$file"; \
+         ln $$file $(distdir) 2> /dev/null \
+           || cp -p $$file $(distdir); \
+       done
+
+update-po: Makefile
+       $(MAKE) $(GETTEXT_PACKAGE).pot
+       tmpdir=`pwd`; \
+       linguas="$(USE_LINGUAS)"; \
+       for lang in $$linguas; do \
+         echo "$$lang:"; \
+         result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
+         if $$result; then \
+           if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+             rm -f $$tmpdir/$$lang.new.po; \
+            else \
+             if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+               :; \
+             else \
+               echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+               rm -f $$tmpdir/$$lang.new.po; \
+               exit 1; \
+             fi; \
+           fi; \
+         else \
+           echo "msgmerge for $$lang.gmo failed!"; \
+           rm -f $$tmpdir/$$lang.new.po; \
+         fi; \
+       done
+
+Makefile POTFILES: stamp-it
+       @if test ! -f $@; then \
+         rm -f stamp-it; \
+         $(MAKE) stamp-it; \
+       fi
+
+stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
+              $(SHELL) ./config.status
+
+# Tell versions [3.59,3.63) of GNU make not to export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/po-Engine-MessageBuffer/POTFILES.in b/po-Engine-MessageBuffer/POTFILES.in
new file mode 100644
index 0000000..098b14c
--- /dev/null
+++ b/po-Engine-MessageBuffer/POTFILES.in
@@ -0,0 +1 @@
+src/Engine-MessageBuffer/Main.cs
diff --git a/src/Engine-MessageBuffer/Makefile.am b/src/Engine-MessageBuffer/Makefile.am
new file mode 100644
index 0000000..0ad570d
--- /dev/null
+++ b/src/Engine-MessageBuffer/Makefile.am
@@ -0,0 +1,35 @@
+TARGET_DIR = $(top_builddir)/bin/$(PROFILE)
+ASSEMBLY_NAME = smuxi-message-buffer
+ASSEMBLY_FILENAME = $(ASSEMBLY_NAME).exe
+ASSEMBLY_TARGET = $(TARGET_DIR)/$(ASSEMBLY_FILENAME)
+
+SOURCES = \
+       $(top_srcdir)/src/AssemblyVersion.cs \
+       AssemblyInfo.cs \
+       Main.cs
+
+REFERENCES = \
+       System \
+       System.Core \
+       Mono.Posix \
+       $(LOG4NET_LIBS)
+
+DLL_REFERENCES = \
+       $(TARGET_DIR)/smuxi-common.dll \
+       $(TARGET_DIR)/smuxi-engine.dll \
+       $(TARGET_DIR)/ServiceStack.Text.dll
+
+SOURCES_BUILD = $(addprefix $(srcdir)/, $(SOURCES))
+
+# automake magic variables
+EXTRA_DIST = $(SOURCES_BUILD)
+CLEANFILES = $(ASSEMBLY_TARGET) $(ASSEMBLY_TARGET).mdb
+
+pkgapp_DATA = $(ASSEMBLY_TARGET) $(ASSEMBLY_TARGET).mdb
+
+include $(top_srcdir)/Makefile.include
+
+all: $(ASSEMBLY_TARGET)
+
+$(ASSEMBLY_TARGET): $(SOURCES) $(DLL_REFERENCES)
+       $(CSC) $(CSC_FLAGS) $(MSG_BUFFER_COMPILER_FLAGS) $(build_references_ref) -target:exe -out:$@ 
$(SOURCES_BUILD)
diff --git a/src/Engine-MessageBuffer/smuxi-message-buffer.in 
b/src/Engine-MessageBuffer/smuxi-message-buffer.in
new file mode 100644
index 0000000..2da8b0c
--- /dev/null
+++ b/src/Engine-MessageBuffer/smuxi-message-buffer.in
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec mono --debug "@expanded_libdir@/@PACKAGE@/smuxi-message-buffer.exe" "$@"
diff --git a/src/Makefile.am b/src/Makefile.am
index 5d2e0ab..44f70e8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -63,6 +63,7 @@ SUBDIRS =     Common \
                $(ENGINE_CAMPFIRE) \
                $(ENGINE_JABBR) \
                $(ENGINE_XMPP) \
+               Engine-MessageBuffer \
                Server \
                Frontend \
                $(FRONTEND_GNOME) \


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]