more build stuff
This commit is contained in:
parent
1735982eb5
commit
b4e678b42e
37
Makefile.in
37
Makefile.in
@ -31,11 +31,16 @@ PROGRAM_SOURCE=\
|
|||||||
thin_repair.cc \
|
thin_repair.cc \
|
||||||
thin_restore.cc
|
thin_restore.cc
|
||||||
|
|
||||||
|
CXX=g++
|
||||||
OBJECTS=$(subst .cc,.o,$(SOURCE))
|
OBJECTS=$(subst .cc,.o,$(SOURCE))
|
||||||
TOP_DIR:=$(PWD)
|
TOP_DIR:=@top_srcdir@
|
||||||
CPPFLAGS=-Wall -g -I$(TOP_DIR) -O8
|
CXXFLAGS=-Wall -I$(TOP_DIR)
|
||||||
#CPPFLAGS=-Wall -std=c++0x -g -I$(TOP_DIR)
|
CXXFLAGS+=@CXXOPTIMISE_FLAG@
|
||||||
|
CXXFLAGS+=@CXXDEBUG_FLAG@
|
||||||
LIBS=-lstdc++ -lboost_program_options -lexpat
|
LIBS=-lstdc++ -lboost_program_options -lexpat
|
||||||
|
INSTALL=@INSTALL@
|
||||||
|
INSTALL_PROGRAM=$(INSTALL) -m 555
|
||||||
|
BINDIR=@prefix@/bin
|
||||||
|
|
||||||
.PHONEY: test-programs
|
.PHONEY: test-programs
|
||||||
|
|
||||||
@ -44,27 +49,41 @@ test-programs: $(TEST_PROGRAMS)
|
|||||||
.SUFFIXES: .cc .o .d
|
.SUFFIXES: .cc .o .d
|
||||||
|
|
||||||
%.d: %.cc
|
%.d: %.cc
|
||||||
g++ -MM -MT $(subst .cc,.o,$<) $(CPPFLAGS) $< > $@.$$$$; \
|
$(CXX) -MM -MT $(subst .cc,.o,$<) $(CXXFLAGS) $< > $@.$$$$; \
|
||||||
sed 's,\([^ :]*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
|
sed 's,\([^ :]*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
|
||||||
rm -f $@.$$$$
|
rm -f $@.$$$$
|
||||||
|
|
||||||
.cc.o:
|
.cc.o:
|
||||||
g++ -c $(CPPFLAGS) $(INCLUDES) -o $@ $<
|
$(CXX) -c $(CXXFLAGS) $(INCLUDES) -o $@ $<
|
||||||
|
|
||||||
thin_dump: $(OBJECTS) thin_dump.o
|
thin_dump: $(OBJECTS) thin_dump.o
|
||||||
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
|
$(CXX) $(CXXFLAGS) -o $@ $+ $(LIBS)
|
||||||
|
|
||||||
thin_restore: $(OBJECTS) thin_restore.o
|
thin_restore: $(OBJECTS) thin_restore.o
|
||||||
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
|
$(CXX) $(CXXFLAGS) -o $@ $+ $(LIBS)
|
||||||
|
|
||||||
thin_repair: $(OBJECTS) thin_repair.o
|
thin_repair: $(OBJECTS) thin_repair.o
|
||||||
g++ $(CPPFLAGS) -o $@ $+ $(LIBS)
|
$(CXX) $(CXXFLAGS) -o $@ $+ $(LIBS)
|
||||||
|
|
||||||
.PHONEY: clean
|
.PHONEY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o unit-tests/*.o $(TEST_PROGRAMS) $(PROGRAMS)
|
rm -f *.o unit-tests/*.o $(TEST_PROGRAMS) $(PROGRAMS)
|
||||||
|
|
||||||
include unit-tests/Makefile.in
|
|
||||||
|
.PHONEY: install
|
||||||
|
install: $(PROGRAMS)
|
||||||
|
$(INSTALL_PROGRAM) -D thin_repair $(BINDIR)/thin_repair
|
||||||
|
$(INSTALL_PROGRAM) -D thin_dump $(BINDIR)/thin_dump
|
||||||
|
$(INSTALL_PROGRAM) -D thin_restore $(BINDIR)/thin_restore
|
||||||
|
|
||||||
|
.PHONEY: release
|
||||||
|
release:
|
||||||
|
|
||||||
|
|
||||||
include $(subst .cc,.d,$(SOURCE))
|
include $(subst .cc,.d,$(SOURCE))
|
||||||
include $(subst .cc,.d,$(TEST_SOURCE))
|
include $(subst .cc,.d,$(TEST_SOURCE))
|
||||||
include $(subst .cc,.d,$(PROGRAM_SOURCE))
|
include $(subst .cc,.d,$(PROGRAM_SOURCE))
|
||||||
|
|
||||||
|
ifeq ("$(TESTING)", "yes")
|
||||||
|
include unit-tests/Makefile.in
|
||||||
|
endif
|
||||||
|
1501
autoconf/config.guess
vendored
Executable file
1501
autoconf/config.guess
vendored
Executable file
File diff suppressed because it is too large
Load Diff
1705
autoconf/config.sub
vendored
Executable file
1705
autoconf/config.sub
vendored
Executable file
File diff suppressed because it is too large
Load Diff
60
configure.in
60
configure.in
@ -28,24 +28,37 @@ AC_CONFIG_HEADERS([configure.h])
|
|||||||
################################################################################
|
################################################################################
|
||||||
dnl -- Setup the directory where autoconf has auxilary files
|
dnl -- Setup the directory where autoconf has auxilary files
|
||||||
AC_CONFIG_AUX_DIR(autoconf)
|
AC_CONFIG_AUX_DIR(autoconf)
|
||||||
|
AC_CANONICAL_TARGET([])
|
||||||
|
AC_PROG_CXX([g++])
|
||||||
|
AC_LANG(C++)
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
dnl -- Checks for programs.
|
dnl -- Checks for programs.
|
||||||
|
AC_PROG_SED
|
||||||
AC_PROG_AWK
|
AC_PROG_AWK
|
||||||
AC_PROG_CXX([g++])
|
|
||||||
AC_PROG_LN_S
|
AC_PROG_LN_S
|
||||||
AC_PROG_MAKE_SET
|
AC_PROG_MAKE_SET
|
||||||
AC_PROG_MKDIR_P
|
AC_PROG_MKDIR_P
|
||||||
|
AC_PROG_INSTALL
|
||||||
################################################################
|
|
||||||
dnl -- Check for header files.
|
|
||||||
AC_CHECK_HEADERS(expat.h)
|
|
||||||
AC_CHECK_HEADERS(boost/shared_ptr.hpp)
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
dnl -- Prefix is /usr by default, the exec_prefix default is setup later
|
dnl -- Prefix is /usr by default, the exec_prefix default is setup later
|
||||||
AC_PREFIX_DEFAULT(/usr)
|
AC_PREFIX_DEFAULT(/usr)
|
||||||
|
|
||||||
|
AC_CHECK_HEADERS([expat.h \
|
||||||
|
iostream \
|
||||||
|
boost/bind.hpp \
|
||||||
|
boost/crc.hpp \
|
||||||
|
boost/intrusive/circular_list_algorithms.hpp \
|
||||||
|
boost/intrusive/rbtree_algorithms.hpp \
|
||||||
|
boost/lexical_cast.hpp \
|
||||||
|
boost/noncopyable.hpp \
|
||||||
|
boost/optional.hpp \
|
||||||
|
boost/program_options.hpp \
|
||||||
|
boost/shared_ptr.hpp \
|
||||||
|
boost/static_assert.hpp],
|
||||||
|
[], [AC_MSG_ERROR(bailing out)])
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
dnl -- Setup the ownership of the files
|
dnl -- Setup the ownership of the files
|
||||||
AC_MSG_CHECKING(file owner)
|
AC_MSG_CHECKING(file owner)
|
||||||
@ -79,20 +92,24 @@ AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [enable debugging]),
|
|||||||
DEBUG=$enableval, DEBUG=no)
|
DEBUG=$enableval, DEBUG=no)
|
||||||
AC_MSG_RESULT($DEBUG)
|
AC_MSG_RESULT($DEBUG)
|
||||||
|
|
||||||
dnl -- Normally turn off optimisation for debug builds
|
|
||||||
if test x$DEBUG = xyes; then
|
if test x$DEBUG = xyes; then
|
||||||
COPTIMISE_FLAG=
|
CXXDEBUG_FLAG=-g
|
||||||
fi
|
fi
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
dnl -- Override optimisation
|
dnl -- Override optimisation
|
||||||
AC_MSG_CHECKING(for C++ optimisation flag)
|
AC_MSG_CHECKING(for C++ optimisation flag)
|
||||||
|
CXXOPTIMISE_FLAG="-O8"
|
||||||
AC_ARG_WITH(optimisation,
|
AC_ARG_WITH(optimisation,
|
||||||
AC_HELP_STRING([--with-optimisation=OPT],
|
AC_HELP_STRING([--with-optimisation=OPT],
|
||||||
[C++ optimisation flag [[OPT=-O2]]]),
|
[C++ optimisation flag [[OPT=-O8]]]),
|
||||||
CXXOPTIMISE_FLAG=$withval)
|
CXXOPTIMISE_FLAG=$withval)
|
||||||
AC_MSG_RESULT($CXXOPTIMISE_FLAG)
|
AC_MSG_RESULT($CXXOPTIMISE_FLAG)
|
||||||
|
|
||||||
|
if test x$CXXOPTIMISE_FLAG = xyes; then
|
||||||
|
CXXOPTIMISE_FLAG=-O8
|
||||||
|
fi
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
dnl -- Enable testing
|
dnl -- Enable testing
|
||||||
AC_MSG_CHECKING(whether to enable unit testing)
|
AC_MSG_CHECKING(whether to enable unit testing)
|
||||||
@ -114,16 +131,23 @@ dnl -- Check for getopt
|
|||||||
AC_CHECK_HEADERS(getopt.h, AC_DEFINE([HAVE_GETOPTLONG], 1, [Define to 1 if getopt_long is available.]))
|
AC_CHECK_HEADERS(getopt.h, AC_DEFINE([HAVE_GETOPTLONG], 1, [Define to 1 if getopt_long is available.]))
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
dnl VERSION="\"`cat "$srcdir"/VERSION 2>/dev/null || echo Unknown`\""
|
VERSION="\"`cat "$srcdir"/VERSION 2>/dev/null || echo Unknown`\""
|
||||||
|
|
||||||
dnl VER=`cat "$srcdir"/VERSION`
|
VER=`cat "$srcdir"/VERSION`
|
||||||
dnl RELEASE_DATE="\"`echo $VER | $SED 's/.* (//;s/).*//'`\""
|
RELEASE_DATE="\"`echo $VER | $SED 's/.* (//;s/).*//'`\""
|
||||||
dnl VER=`echo "$VER" | $AWK '{print $1}'`
|
VER=`echo "$VER" | $AWK '{print $1}'`
|
||||||
dnl RELEASE="\"`echo "$VER" | $AWK -F '-' '{print $2}'`\""
|
RELEASE="\"`echo "$VER" | $AWK -F '-' '{print $2}'`\""
|
||||||
dnl VER=`echo "$VER" | $AWK -F '-' '{print $1}'`
|
VER=`echo "$VER" | $AWK -F '-' '{print $1}'`
|
||||||
dnl VERSION_MAJOR=`echo "$VER" | $AWK -F '.' '{print $1}'`
|
VERSION_MAJOR=`echo "$VER" | $AWK -F '.' '{print $1}'`
|
||||||
dnl VERSION_MINOR=`echo "$VER" | $AWK -F '.' '{print $2}'`
|
VERSION_MINOR=`echo "$VER" | $AWK -F '.' '{print $2}'`
|
||||||
dnl VERSION_PATCHLEVEL=`echo "$VER" | $AWK -F '[[(.]]' '{print $3}'`
|
VERSION_PATCHLEVEL=`echo "$VER" | $AWK -F '[[(.]]' '{print $3}'`
|
||||||
|
|
||||||
|
################################################################
|
||||||
|
AC_SUBST(CXXDEBUG_FLAG)
|
||||||
|
AC_SUBST(CXXOPTIMISE_FLAG)
|
||||||
|
AC_SUBST(INSTALL)
|
||||||
|
AC_SUBST(prefix)
|
||||||
|
AC_SUBST(RELEASE_DATE)
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
dnl -- First and last lines should not contain files to generate in order to
|
dnl -- First and last lines should not contain files to generate in order to
|
||||||
|
24
mk_release
Executable file
24
mk_release
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
orig_dir=$(pwd)
|
||||||
|
|
||||||
|
# usage: mk_release <git tag>
|
||||||
|
tag=$1
|
||||||
|
echo "creating release tarball for tag '"$tag"'"
|
||||||
|
|
||||||
|
tmp=$(mktemp -d)
|
||||||
|
dir=$tmp/thin-provisioning-tools-$tag
|
||||||
|
|
||||||
|
mkdir $dir
|
||||||
|
|
||||||
|
git clone . $dir
|
||||||
|
cd $dir
|
||||||
|
git checkout $tag
|
||||||
|
rm -rf .git
|
||||||
|
cd $tmp
|
||||||
|
tar jcvf $orig_dir/thin-provisioning-tools-$tag.tar.bz2 thin-provisioning-tools-$tag
|
||||||
|
cd $orig_dir
|
||||||
|
|
||||||
|
rm -rf $tmp
|
Loading…
Reference in New Issue
Block a user