diff options
author | Ted Ross <tross@apache.org> | 2008-09-05 14:11:23 +0000 |
---|---|---|
committer | Ted Ross <tross@apache.org> | 2008-09-05 14:11:23 +0000 |
commit | 3fab8e0750ab1fe0a6b68545594033559133ca6a (patch) | |
tree | cfe000496fe2e5d90a2793bf52d2978d6a9c1212 /cpp | |
parent | 8589a44b4c85c423d73c371f1dcdceca0d14f927 (diff) | |
download | qpid-python-3fab8e0750ab1fe0a6b68545594033559133ca6a.tar.gz |
QPID-1274 - Improved packaging for management agent and code generation tool
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@692450 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/configure.ac | 2 | ||||
-rw-r--r-- | cpp/examples/qmf-agent/Makefile | 8 | ||||
-rw-r--r-- | cpp/m4/python.m4 | 168 | ||||
-rw-r--r-- | cpp/managementgen/Makefile.am | 29 | ||||
-rw-r--r-- | cpp/managementgen/management-types.xml | 56 | ||||
-rwxr-xr-x | cpp/managementgen/qmf-gen (renamed from cpp/managementgen/main.py) | 24 | ||||
-rw-r--r-- | cpp/managementgen/qmf/__init__.py (renamed from cpp/managementgen/managementgen) | 7 | ||||
-rwxr-xr-x | cpp/managementgen/qmf/generate.py (renamed from cpp/managementgen/generate.py) | 8 | ||||
-rwxr-xr-x | cpp/managementgen/qmf/schema.py (renamed from cpp/managementgen/schema.py) | 0 | ||||
-rw-r--r-- | cpp/src/Makefile.am | 8 | ||||
-rw-r--r-- | cpp/src/qmf.mk | 31 |
11 files changed, 293 insertions, 48 deletions
diff --git a/cpp/configure.ac b/cpp/configure.ac index 9c977d05d6..2b94430e29 100644 --- a/cpp/configure.ac +++ b/cpp/configure.ac @@ -318,6 +318,8 @@ if test $poller = xno; then AC_MSG_ERROR([Polling mechanism not implemented for $host]) fi +AM_PATH_PYTHON() + # Files to generate AC_CONFIG_FILES([ Makefile diff --git a/cpp/examples/qmf-agent/Makefile b/cpp/examples/qmf-agent/Makefile index 0b37f1a295..6c4d9a867e 100644 --- a/cpp/examples/qmf-agent/Makefile +++ b/cpp/examples/qmf-agent/Makefile @@ -27,12 +27,10 @@ CC = gcc LIB_DIR = $(QPID_DIR)/cpp/src/.libs CC_INCLUDES = -I$(SRC_DIR) -I$(QPID_DIR)/cpp/src -I$(QPID_DIR)/cpp/src/gen -I$(GEN_DIR) CC_FLAGS = -g -O3 -LD_FLAGS = -lqpidclient -lqpidcommon -L$(LIB_DIR) +LD_FLAGS = -lqmfagent -L$(LIB_DIR) SPEC_DIR = $(QPID_DIR)/specs -TYPE_FILE = $(SPEC_DIR)/management-types.xml MGEN_DIR = $(QPID_DIR)/cpp/managementgen -TEMPLATE_DIR = $(MGEN_DIR)/templates -MGEN = $(MGEN_DIR)/main.py +MGEN = $(MGEN_DIR)/qmf-gen vpath %.cpp $(SRC_DIR):$(GEN_DIR) vpath %.d $(OBJ_DIR) @@ -53,7 +51,7 @@ all: gen @$(MAKE) gen: - $(MGEN) $(SCHEMA_FILE) $(TYPE_FILE) $(TEMPLATE_DIR) $(GEN_DIR) + $(MGEN) $(SCHEMA_FILE) $(GEN_DIR) clean: rm -rf $(GEN_DIR) $(OUT_FILE) *.d *.o diff --git a/cpp/m4/python.m4 b/cpp/m4/python.m4 new file mode 100644 index 0000000000..229fd5547b --- /dev/null +++ b/cpp/m4/python.m4 @@ -0,0 +1,168 @@ +## ------------------------ -*- Autoconf -*- +## Python file handling +## From Andrew Dalke +## Updated by James Henstridge +## ------------------------ +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# --------------------------------------------------------------------------- +# Adds support for distributing Python modules and packages. To +# install modules, copy them to $(pythondir), using the python_PYTHON +# automake variable. To install a package with the same name as the +# automake package, install to $(pkgpythondir), or use the +# pkgpython_PYTHON automake variable. +# +# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as +# locations to install python extension modules (shared libraries). +# Another macro is required to find the appropriate flags to compile +# extension modules. +# +# If your package is configured with a different prefix to python, +# users will have to add the install directory to the PYTHONPATH +# environment variable, or create a .pth file (see the python +# documentation for details). +# +# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will +# cause an error if the version of python installed on the system +# doesn't meet the requirement. MINIMUM-VERSION should consist of +# numbers and dots only. +AC_DEFUN([AM_PATH_PYTHON], + [ + dnl Find a Python interpreter. Python versions prior to 1.5 are not + dnl supported because the default installation locations changed from + dnl $prefix/lib/site-python in 1.4 to $prefix/lib/python1.5/site-packages + dnl in 1.5. + m4_define_default([_AM_PYTHON_INTERPRETER_LIST], + [python python2 python2.5 python2.4 python2.3 python2.2 dnl +python2.1 python2.0 python1.6 python1.5]) + + m4_if([$1],[],[ + dnl No version check is needed. + # Find any Python interpreter. + if test -z "$PYTHON"; then + AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :) + fi + am_display_PYTHON=python + ], [ + dnl A version check is needed. + if test -n "$PYTHON"; then + # If the user set $PYTHON, use it and don't search something else. + AC_MSG_CHECKING([whether $PYTHON version >= $1]) + AM_PYTHON_CHECK_VERSION([$PYTHON], [$1], + [AC_MSG_RESULT(yes)], + [AC_MSG_ERROR(too old)]) + am_display_PYTHON=$PYTHON + else + # Otherwise, try each interpreter until we find one that satisfies + # VERSION. + AC_CACHE_CHECK([for a Python interpreter with version >= $1], + [am_cv_pathless_PYTHON],[ + for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do + test "$am_cv_pathless_PYTHON" = none && break + AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break]) + done]) + # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. + if test "$am_cv_pathless_PYTHON" = none; then + PYTHON=: + else + AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON]) + fi + am_display_PYTHON=$am_cv_pathless_PYTHON + fi + ]) + + if test "$PYTHON" = :; then + dnl Run any user-specified action, or abort. + m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])]) + else + + dnl Query Python for its version number. Getting [:3] seems to be + dnl the best way to do this; it's what "site.py" does in the standard + dnl library. + + AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version], + [am_cv_python_version=`$PYTHON -c "import sys; print sys.version[[:3]]"`]) + AC_SUBST([PYTHON_VERSION], [$am_cv_python_version]) + + dnl Use the values of $prefix and $exec_prefix for the corresponding + dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made + dnl distinct variables so they can be overridden if need be. However, + dnl general consensus is that you shouldn't need this ability. + + AC_SUBST([PYTHON_PREFIX], ['${prefix}']) + AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}']) + + dnl At times (like when building shared libraries) you may want + dnl to know which OS platform Python thinks this is. + + AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform], + [am_cv_python_platform=`$PYTHON -c "import sys; print sys.platform"`]) + AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform]) + + + dnl Set up 4 directories: + + dnl pythondir -- where to install python scripts. This is the + dnl site-packages directory, not the python standard library + dnl directory like in previous automake betas. This behavior + dnl is more consistent with lispdir.m4 for example. + dnl Query distutils for this directory. distutils does not exist in + dnl Python 1.5, so we fall back to the hardcoded directory if it + dnl doesn't work. + AC_CACHE_CHECK([for $am_display_PYTHON script directory], + [am_cv_python_pythondir], + [am_cv_python_pythondir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(0,0,prefix='$PYTHON_PREFIX')" 2>/dev/null || + echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`]) + AC_SUBST([pythondir], [$am_cv_python_pythondir]) + + dnl pkgpythondir -- $PACKAGE directory under pythondir. Was + dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is + dnl more consistent with the rest of automake. + + AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE]) + + dnl pyexecdir -- directory for installing python extension modules + dnl (shared libraries) + dnl Query distutils for this directory. distutils does not exist in + dnl Python 1.5, so we fall back to the hardcoded directory if it + dnl doesn't work. + AC_CACHE_CHECK([for $am_display_PYTHON extension module directory], + [am_cv_python_pyexecdir], + [am_cv_python_pyexecdir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(1,0,prefix='$PYTHON_EXEC_PREFIX')" 2>/dev/null || + echo "${PYTHON_EXEC_PREFIX}/lib/python${PYTHON_VERSION}/site-packages"`]) + AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir]) + + dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE) + + AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE]) + + dnl Run any user-specified action. + $2 + fi + +]) + + +# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) +# --------------------------------------------------------------------------- +# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION. +# Run ACTION-IF-FALSE otherwise. +# This test uses sys.hexversion instead of the string equivalent (first +# word of sys.version), in order to cope with versions such as 2.2c1. +# hexversion has been introduced in Python 1.5.2; it's probably not +# worth to support older versions (1.5.1 was released on October 31, 1998). +AC_DEFUN([AM_PYTHON_CHECK_VERSION], + [prog="import sys, string +# split strings by '.' and convert to numeric. Append some zeros +# because we need at least 4 digits for the hex conversion. +minver = map(int, string.split('$2', '.')) + [[0, 0, 0]] +minverhex = 0 +for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[[i]] +sys.exit(sys.hexversion < minverhex)" + AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])]) diff --git a/cpp/managementgen/Makefile.am b/cpp/managementgen/Makefile.am index 993eeb1d20..7a415b4be6 100644 --- a/cpp/managementgen/Makefile.am +++ b/cpp/managementgen/Makefile.am @@ -1,8 +1,8 @@ -managementgendir = $(datadir)/managementgen -dist_managementgen_SCRIPTS = \ - main.py -nobase_managementgen_DATA = \ - schema.py generate.py \ +qmfdatadir = $(datadir)/qmf +qmfpythondir = $(pythondir) +dist_bin_SCRIPTS = \ + qmf-gen +nobase_qmfdata_DATA = \ templates/Args.h \ templates/Class.cpp \ templates/Class.h \ @@ -10,18 +10,9 @@ nobase_managementgen_DATA = \ templates/Package.cpp \ templates/Package.h \ management-types.xml +nobase_qmfpython_DATA = \ + qmf/__init__.py \ + qmf/generate.py \ + qmf/schema.py -dist_bin_SCRIPTS = managementgen - -EXTRA_DIST = $(nobase_managementgen_DATA) - -# This should depend on ../../specs/management-types.xml, but can't -# because it won't exist in a dist. This rule means that dist-gzip -# (and rpmbuild) cannot be run purely on the cpp/ directory, the -# cpp/../specs/ directory must exist, which is not a new dependency -# but this is an additional instance of the dependency. -# -# WARNING: Because this target does not have a proper dependency -# changes to the specs/management-types.xml will not be picked up! -management-types.xml: - cp $(top_srcdir)/../specs/management-types.xml . +EXTRA_DIST = $(nobase_qmfdata_DATA) $(nobase_qmfpython_DATA) diff --git a/cpp/managementgen/management-types.xml b/cpp/managementgen/management-types.xml new file mode 100644 index 0000000000..31337b23bc --- /dev/null +++ b/cpp/managementgen/management-types.xml @@ -0,0 +1,56 @@ +<schema-types> + +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + +<type name="objId" base="REF" cpp="ObjectId" encode="#.encode(@)" decode="#.decode(@)" accessor="direct" init="0"/> +<type name="uint8" base="U8" cpp="uint8_t" encode="@.putOctet(#)" decode="# = @.getOctet()" accessor="direct" init="0"/> +<type name="uint16" base="U16" cpp="uint16_t" encode="@.putShort(#)" decode="# = @.getShort()" accessor="direct" init="0"/> +<type name="uint32" base="U32" cpp="uint32_t" encode="@.putLong(#)" decode="# = @.getLong()" accessor="direct" init="0"/> +<type name="uint64" base="U64" cpp="uint64_t" encode="@.putLongLong(#)" decode="# = @.getLongLong()" accessor="direct" init="0"/> +<type name="int8" base="S8" cpp="int8_t" encode="@.putInt8(#)" decode="# = @.getInt8()" accessor="direct" init="0"/> +<type name="int16" base="S16" cpp="int16_t" encode="@.putInt16(#)" decode="# = @.getInt16()" accessor="direct" init="0"/> +<type name="int32" base="S32" cpp="int32_t" encode="@.putInt32(#)" decode="# = @.getInt32()" accessor="direct" init="0"/> +<type name="int64" base="S64" cpp="int64_t" encode="@.putInt64(#)" decode="# = @.getInt64()" accessor="direct" init="0"/> +<type name="bool" base="BOOL" cpp="uint8_t" encode="@.putOctet(#?1:0)" decode="# = @.getOctet()==1" accessor="direct" init="0"/> +<type name="sstr" base="SSTR" cpp="std::string" encode="@.putShortString(#)" decode="@.getShortString(#)" accessor="direct" init='""'/> +<type name="lstr" base="LSTR" cpp="std::string" encode="@.putLongString(#)" decode="@.getLongString(#)" accessor="direct" init='""'/> +<type name="absTime" base="ABSTIME" cpp="uint64_t" encode="@.putLongLong(#)" decode="# = @.getLongLong()" accessor="direct" init="0"/> +<type name="deltaTime" base="DELTATIME" cpp="uint64_t" encode="@.putLongLong(#)" decode="# = @.getLongLong()" accessor="direct" init="0"/> +<type name="float" base="FLOAT" cpp="float" encode="@.putFloat(#)" decode="# = @.getFloat()" accessor="direct" init="0."/> +<type name="double" base="DOUBLE" cpp="double" encode="@.putDouble(#)" decode="# = @.getDouble()" accessor="direct" init="0."/> +<type name="uuid" base="UUID" cpp="framing::Uuid" encode="#.encode(@)" decode="#.decode(@)" accessor="direct"/> +<type name="map" base="FTABLE" cpp="framing::FieldTable" encode="#.encode(@)" decode="#.decode(@)" accessor="direct"/> + +<type name="hilo8" base="U8" cpp="uint8_t" encode="@.putOctet(#)" decode="# = @.getOctet()" style="wm" accessor="counter" init="0"/> +<type name="hilo16" base="U16" cpp="uint16_t" encode="@.putShort(#)" decode="# = @.getShort()" style="wm" accessor="counter" init="0"/> +<type name="hilo32" base="U32" cpp="uint32_t" encode="@.putLong(#)" decode="# = @.getLong()" style="wm" accessor="counter" init="0"/> +<type name="hilo64" base="U64" cpp="uint64_t" encode="@.putLongLong(#)" decode="# = @.getLongLong()" style="wm" accessor="counter" init="0"/> + +<type name="count8" base="U8" cpp="uint8_t" encode="@.putOctet(#)" decode="# = @.getOctet()" accessor="counter" init="0" perThread="y"/> +<type name="count16" base="U16" cpp="uint16_t" encode="@.putShort(#)" decode="# = @.getShort()" accessor="counter" init="0" perThread="y"/> +<type name="count32" base="U32" cpp="uint32_t" encode="@.putLong(#)" decode="# = @.getLong()" accessor="counter" init="0" perThread="y"/> +<type name="count64" base="U64" cpp="uint64_t" encode="@.putLongLong(#)" decode="# = @.getLongLong()" accessor="counter" init="0" perThread="y"/> + +<!-- Min/Max/Average statistics --> +<type name="mma32" base="U32" cpp="uint32_t" encode="@.putLong(#)" decode="# = @.getLong()" style="mma" accessor="direct" init="0" perThread="y"/> +<type name="mma64" base="U64" cpp="uint64_t" encode="@.putLongLong(#)" decode="# = @.getLongLong()" style="mma" accessor="direct" init="0" perThread="y"/> +<type name="mmaTime" base="DELTATIME" cpp="uint64_t" encode="@.putLongLong(#)" decode="# = @.getLongLong()" style="mma" accessor="direct" init="0" perThread="y"/> + +</schema-types> diff --git a/cpp/managementgen/main.py b/cpp/managementgen/qmf-gen index 4459177a53..a29a4074fd 100755 --- a/cpp/managementgen/main.py +++ b/cpp/managementgen/qmf-gen @@ -18,26 +18,34 @@ # specific language governing permissions and limitations # under the License. # +import sys +import os +from qmf.schema import PackageSchema, SchemaClass +from qmf.generate import Generator +from optparse import OptionParser -from schema import PackageSchema, SchemaClass -from generate import Generator -from optparse import OptionParser +dataPath = os.path.dirname(sys.argv[0]) # Set command line options -usage = "usage: %prog [options] schema-document type-document template-directory out-directory" +usage = "usage: %prog [options] schema-document out-directory" parser = OptionParser (usage=usage) parser.add_option ("-m", "--makefile", dest="makefile", metavar="FILE", help="Makefile fragment") +parser.add_option ("-t", "--typefile", dest="typefile", metavar="FILE", default=dataPath + "/management-types.xml", + help="Type descriptor file") +parser.add_option ("-d", "--templatedir", dest="templatedir", metavar="DIR", default=dataPath + "/templates", + help="Template directory") (opts, args) = parser.parse_args () -if len (args) < 4: +if len (args) < 2: parser.error ("Too few arguments") +typefile = opts.typefile +templatedir = opts.templatedir + schemafile = args[0] -typefile = args[1] -templatedir = args[2] -outdir = args[3] +outdir = args[1] gen = Generator (outdir, templatedir) schema = PackageSchema (typefile, schemafile, opts) diff --git a/cpp/managementgen/managementgen b/cpp/managementgen/qmf/__init__.py index 55ea846270..caef6cc58b 100644 --- a/cpp/managementgen/managementgen +++ b/cpp/managementgen/qmf/__init__.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python - # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file @@ -19,8 +17,3 @@ # under the License. # -import sys - -sys.path.append("/usr/share/managementgen") - -import main diff --git a/cpp/managementgen/generate.py b/cpp/managementgen/qmf/generate.py index 6024173f67..c1edf0b8e2 100755 --- a/cpp/managementgen/generate.py +++ b/cpp/managementgen/qmf/generate.py @@ -107,10 +107,10 @@ class Makefile: def genGenSources (self, stream, variables): mdir = variables["mgenDir"] sdir = variables["specDir"] - stream.write (mdir + "/main.py \\\n") - stream.write (" " + mdir + "/generate.py \\\n") - stream.write (" " + mdir + "/schema.py \\\n") - stream.write (" " + sdir + "/management-types.xml \\\n") + stream.write (mdir + "/qmf-gen \\\n") + stream.write (" " + mdir + "/qmf/generate.py \\\n") + stream.write (" " + mdir + "/qmf/schema.py \\\n") + stream.write (" " + mdir + "/management-types.xml \\\n") stream.write (" " + sdir + "/management-schema.xml \\\n") first = True for template in self.templateFiles: diff --git a/cpp/managementgen/schema.py b/cpp/managementgen/qmf/schema.py index e666bdbb39..e666bdbb39 100755 --- a/cpp/managementgen/schema.py +++ b/cpp/managementgen/qmf/schema.py diff --git a/cpp/src/Makefile.am b/cpp/src/Makefile.am index 3f46874b20..25c27549c3 100644 --- a/cpp/src/Makefile.am +++ b/cpp/src/Makefile.am @@ -28,10 +28,8 @@ $(rgen_generator): # Management generator. mgen_dir=$(top_srcdir)/managementgen -mgen_cmd=$(mgen_dir)/main.py -m $(srcdir)/managementgen.mk \ - $(top_srcdir)/../specs/management-schema.xml \ - $(top_srcdir)/../specs/management-types.xml \ - $(mgen_dir)/templates gen/qpid/management +mgen_cmd=$(mgen_dir)/qmf-gen -m $(srcdir)/managementgen.mk \ + $(top_srcdir)/../specs/management-schema.xml gen/qpid/management $(srcdir)/managementgen.mk $(mgen_broker_cpp) $(dist_qpid_management_HEADERS): mgen.timestamp mgen.timestamp: $(mgen_generator) @@ -100,6 +98,7 @@ lib_LTLIBRARIES = libqpidcommon.la libqpidbroker.la libqpidclient.la include cluster.mk include acl.mk +include qmf.mk # The logger library uses boost::date_time to format time. # We have to disable the unused parameters warning to get around @@ -325,7 +324,6 @@ libqpidclient_la_LIBADD = libqpidcommon.la -luuid libqpidclient_la_SOURCES = \ $(rgen_client_srcs) \ - qpid/agent/ManagementAgentImpl.cpp \ qpid/client/AckPolicy.cpp \ qpid/client/Bounds.cpp \ qpid/client/ConnectionImpl.cpp \ diff --git a/cpp/src/qmf.mk b/cpp/src/qmf.mk new file mode 100644 index 0000000000..3b60be1b96 --- /dev/null +++ b/cpp/src/qmf.mk @@ -0,0 +1,31 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http:#www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +# +# qmf agent library makefile fragment, to be included in Makefile.am +# +lib_LTLIBRARIES += libqmfagent.la + +libqmfagent_la_SOURCES = \ + qpid/agent/ManagementAgent.h \ + qpid/agent/ManagementAgentImpl.cpp \ + qpid/agent/ManagementAgentImpl.h + +libqmfagent_la_LIBADD = libqpidclient.la + |