summaryrefslogtreecommitdiff
path: root/qpid/cpp/make-dist
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/make-dist')
-rwxr-xr-xqpid/cpp/make-dist105
1 files changed, 105 insertions, 0 deletions
diff --git a/qpid/cpp/make-dist b/qpid/cpp/make-dist
new file mode 100755
index 0000000000..a0c02402e5
--- /dev/null
+++ b/qpid/cpp/make-dist
@@ -0,0 +1,105 @@
+#!/bin/bash
+
+#
+#
+# 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.
+#
+
+
+#
+# Temporary hack for producing a binary dev distribution.
+# Includes regular stuff from 'make install' + examples and headers.
+#
+# TODO: Also include debug libraries.
+#
+
+Usage() {
+ echo "usage: $0 [release-version]
+ release-version e.g. 1.0M1 (defaults to the svn revision)" >&2
+ exit 2
+}
+
+if [[ $# -eq 1 ]]; then
+ [[ $1 == "-?" ]] && Usage
+ version=$1
+elif [[ $# -ne 0 ]]; then
+ Usage
+else
+ # Default the version to the svn revision
+ if which svn >/dev/null 2>&1; then
+ svnRevision=$(svn info | grep ^Revision: | awk '{print $2}')
+ version=r${svnRevision}
+ else
+ echo "You need to have svn in your PATH or specify a release-version"
+ exit 2
+ fi
+fi
+
+releaseName=qpid-cpp-dev-${version}-$(uname -s)-$(uname -p)
+releaseDir=release/$releaseName
+
+if [[ -d $releaseDir ]]; then
+ echo "$releaseDir already exists"
+ exit 2
+fi
+
+# Copy bin.
+mkdir -p $releaseDir/bin
+cp -r src/.libs/* ${releaseDir}/bin
+
+# Copy libs.
+mkdir -p $releaseDir/lib
+cp lib/broker/.libs/lib* lib/common/.libs/lib* lib/client/.libs/lib* \
+ $releaseDir/lib
+
+# Copy gen include files.
+find gen -name \*.h | while read file; do
+ destFile=${releaseDir}/include/$file
+ baseDir=$(dirname $destFile)
+ mkdir -p $baseDir
+ cp $file $destFile
+done
+
+# Copy in lib include files.
+(
+ cd lib; find . -name \*.h | while read file; do
+ destFile=../${releaseDir}/include/$file
+ baseDir=$(dirname $destFile)
+ mkdir -p $baseDir
+ cp $file $destFile
+ done
+)
+
+# Copy non-cppunit tests as examples.
+mkdir -p $releaseDir/examples
+for file in tests/*.cpp; do
+ if grep CppUnit $file >/dev/null; then
+ echo Skipping cppunit file $file
+ else
+ cp $file $releaseDir/examples
+ fi
+done
+
+# Copy Makefile and README for examples.
+cp tests/examples.Makefile $releaseDir/examples/Makefile
+cp tests/examples.README $releaseDir/examples/README
+
+cd release
+tar=$releaseName.tar
+tar cvf $tar $releaseName
+bzip2 $tar