From 8c96daf08d9322d99e78673ed19bfa62cc942f4b Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 10 Jul 2008 17:12:34 -0700 Subject: [PATCH] autotools crap --- configure.ac | 13 +++-- m4/ac_pkg_swig.m4 | 125 ------------------------------------------ m4/ax_with_perl.m4 | 30 ---------- m4/ax_with_prog.m4 | 69 ----------------------- m4/swig.m4 | 95 -------------------------------- m4/swig_enable_cxx.m4 | 56 ------------------- src/Makefile.am | 113 +++++++++++++++++++------------------- 7 files changed, 64 insertions(+), 437 deletions(-) delete mode 100644 m4/ac_pkg_swig.m4 delete mode 100644 m4/ax_with_perl.m4 delete mode 100644 m4/ax_with_prog.m4 delete mode 100644 m4/swig.m4 delete mode 100644 m4/swig_enable_cxx.m4 diff --git a/configure.ac b/configure.ac index b810e8d9b59f..268348fb74c2 100644 --- a/configure.ac +++ b/configure.ac @@ -27,16 +27,17 @@ AC_PROG_CXX AC_PROG_RANLIB AC_PROG_MAKE_SET -# swig -AX_WITH_PERL -CEPH_CHECK_SWIG -SWIG_ENABLE_CXX - - # Checks for libraries. AC_CHECK_LIB([m], [pow]) AC_CHECK_LIB([pthread], [pthread_create]) +# debug crap? +AC_ARG_WITH([debug], + [AS_HELP_STRING([--with-debug], [build extra debug binaries])], + [], + [want_debug=yes]) +AM_CONDITIONAL(WITH_DEBUG, [test "$want_debug" = "yes"]) + # fuse? AC_ARG_WITH([fuse], [AS_HELP_STRING([--with-fuse], [use FUSE library for client])], diff --git a/m4/ac_pkg_swig.m4 b/m4/ac_pkg_swig.m4 deleted file mode 100644 index 040eba831976..000000000000 --- a/m4/ac_pkg_swig.m4 +++ /dev/null @@ -1,125 +0,0 @@ -##### http://autoconf-archive.cryp.to/ac_pkg_swig.html -# -# SYNOPSIS -# -# AC_PROG_SWIG([major.minor.micro]) -# -# DESCRIPTION -# -# This macro searches for a SWIG installation on your system. If -# found you should call SWIG via $(SWIG). You can use the optional -# first argument to check if the version of the available SWIG is -# greater than or equal to the value of the argument. It should have -# the format: N[.N[.N]] (N is a number between 0 and 999. Only the -# first N is mandatory.) -# -# If the version argument is given (e.g. 1.3.17), AC_PROG_SWIG checks -# that the swig package is this version number or higher. -# -# In configure.in, use as: -# -# AC_PROG_SWIG(1.3.17) -# SWIG_ENABLE_CXX -# SWIG_MULTI_MODULE_SUPPORT -# SWIG_PYTHON -# -# LAST MODIFICATION -# -# 2006-10-22 -# -# COPYLEFT -# -# Copyright (c) 2006 Sebastian Huber -# Copyright (c) 2006 Alan W. Irwin -# Copyright (c) 2006 Rafael Laboissiere -# Copyright (c) 2006 Andrew Collier -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. -# -# As a special exception, the respective Autoconf Macro's copyright -# owner gives unlimited permission to copy, distribute and modify the -# configure scripts that are the output of Autoconf when processing -# the Macro. You need not follow the terms of the GNU General Public -# License when using or distributing such scripts, even though -# portions of the text of the Macro appear in them. The GNU General -# Public License (GPL) does govern all other use of the material that -# constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the -# Autoconf Macro released by the Autoconf Macro Archive. When you -# make and distribute a modified version of the Autoconf Macro, you -# may extend this special exception to the GPL to apply to your -# modified version as well. - -AC_DEFUN([AC_PROG_SWIG],[ - AC_PATH_PROG([SWIG],[swig]) - if test -z "$SWIG" ; then - AC_MSG_WARN([cannot find 'swig' program. You should look at http://www.swig.org]) - SWIG='echo "Error: SWIG is not installed. You should look at http://www.swig.org" ; false' - elif test -n "$1" ; then - AC_MSG_CHECKING([for SWIG version]) - [swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`] - AC_MSG_RESULT([$swig_version]) - if test -n "$swig_version" ; then - # Calculate the required version number components - [required=$1] - [required_major=`echo $required | sed 's/[^0-9].*//'`] - if test -z "$required_major" ; then - [required_major=0] - fi - [required=`echo $required | sed 's/[0-9]*[^0-9]//'`] - [required_minor=`echo $required | sed 's/[^0-9].*//'`] - if test -z "$required_minor" ; then - [required_minor=0] - fi - [required=`echo $required | sed 's/[0-9]*[^0-9]//'`] - [required_patch=`echo $required | sed 's/[^0-9].*//'`] - if test -z "$required_patch" ; then - [required_patch=0] - fi - # Calculate the available version number components - [available=$swig_version] - [available_major=`echo $available | sed 's/[^0-9].*//'`] - if test -z "$available_major" ; then - [available_major=0] - fi - [available=`echo $available | sed 's/[0-9]*[^0-9]//'`] - [available_minor=`echo $available | sed 's/[^0-9].*//'`] - if test -z "$available_minor" ; then - [available_minor=0] - fi - [available=`echo $available | sed 's/[0-9]*[^0-9]//'`] - [available_patch=`echo $available | sed 's/[^0-9].*//'`] - if test -z "$available_patch" ; then - [available_patch=0] - fi - if test $available_major -ne $required_major \ - -o $available_minor -ne $required_minor \ - -o $available_patch -lt $required_patch ; then - AC_MSG_WARN([SWIG version >= $1 is required. You have $swig_version. You should look at http://www.swig.org]) - SWIG='echo "Error: SWIG version >= $1 is required. You have '"$swig_version"'. You should look at http://www.swig.org" ; false' - else - AC_MSG_NOTICE([SWIG executable is '$SWIG']) - SWIG_LIB=`$SWIG -swiglib` - AC_MSG_NOTICE([SWIG library directory is '$SWIG_LIB']) - fi - else - AC_MSG_WARN([cannot determine SWIG version]) - SWIG='echo "Error: Cannot determine SWIG version. You should look at http://www.swig.org" ; false' - fi - fi - AC_SUBST([SWIG_LIB]) -]) diff --git a/m4/ax_with_perl.m4 b/m4/ax_with_perl.m4 deleted file mode 100644 index f9db485e2d92..000000000000 --- a/m4/ax_with_perl.m4 +++ /dev/null @@ -1,30 +0,0 @@ -##### http://autoconf-archive.cryp.to/ax_with_perl.html -# -# SYNOPSIS -# -# AX_WITH_PERL([VALUE-IF-NOT-FOUND],[PATH]) -# -# DESCRIPTION -# -# Locates an installed Perl binary, placing the result in the -# precious variable $PERL. Accepts a present $PERL, then --with-perl, -# and failing that searches for perl in the given path (which -# defaults to the system path). If perl is found, $PERL is set to the -# full path of the binary; if it is not found, $PERL is set to -# VALUE-IF-NOT-FOUND, which defaults to 'perl'. -# -# LAST MODIFICATION -# -# 2008-01-29 -# -# COPYLEFT -# -# Copyright (c) 2008 Francesco Salvestrini -# -# Copying and distribution of this file, with or without -# modification, are permitted in any medium without royalty provided -# the copyright notice and this notice are preserved. - -AC_DEFUN([AX_WITH_PERL],[ - AX_WITH_PROG(PERL,perl) -]) diff --git a/m4/ax_with_prog.m4 b/m4/ax_with_prog.m4 deleted file mode 100644 index dba14e66f8b7..000000000000 --- a/m4/ax_with_prog.m4 +++ /dev/null @@ -1,69 +0,0 @@ -##### http://autoconf-archive.cryp.to/ax_with_prog.html -# -# SYNOPSIS -# -# AX_PROG_WITH([VARIABLE],[program],[PATH],[VALUE-IF-NOT-FOUND]) -# -# DESCRIPTION -# -# Locates an installed program binary, placing the result in the -# precious variable VARIABLE. Accepts a present VARIABLE, then -# --with-program, and failing that searches for program in the given -# path (which defaults to the system path). If program is found, -# VARIABLE is set to the full path of the binary; if it is not found, -# VARIABLE is set to VALUE-IF-NOT-FOUND, which defaults to 'program'. -# -# A typical example could be the following one: -# -# AX_WITH_PROG(PERL,perl) -# -# NOTE: This macro is based upon the original AX_WITH_PYTHON macro -# from Dustin J. Mitchell . -# -# LAST MODIFICATION -# -# 2008-01-29 -# -# COPYLEFT -# -# Copyright (c) 2008 Francesco Salvestrini -# Copyright (c) 2008 Dustin J. Mitchell -# -# Copying and distribution of this file, with or without -# modification, are permitted in any medium without royalty provided -# the copyright notice and this notice are preserved. - -AC_DEFUN([AX_WITH_PROG],[ - AC_PREREQ([2.59]) - - pushdef([VARIABLE],$1) - pushdef([EXECUTABLE],$2) - pushdef([PATH_PROG],$3) - pushdef([VALUE_IF_NOT_FOUND],$4) - - AC_ARG_VAR(VARIABLE,Absolute path to EXECUTABLE executable) - - AS_IF(test -z "$VARIABLE",[ - AC_MSG_CHECKING(whether EXECUTABLE executable path has been provided) - AC_ARG_WITH(EXECUTABLE,AS_HELP_STRING([--with-EXECUTABLE=[[[[PATH]]]]],absolute path to EXECUTABLE executable), [ - AS_IF([test "$withval" != "yes"],[ - VARIABLE="$withval" - AC_MSG_RESULT($VARIABLE) - ],[ - VARIABLE="" - AC_MSG_RESULT([no]) - ]) - ],[ - AC_MSG_RESULT([no]) - ]) - - AS_IF(test -z "$VARIABLE",[ - AC_PATH_PROG([]VARIABLE[],[]EXECUTABLE[],[]VALUE_IF_NOT_FOUND[],[]PATH_PROG[]) - ]) - ]) - - popdef([VALUE_IF_NOT_FOUND]) - popdef([PATH_PROG]) - popdef([EXECUTABLE]) - popdef([VARIABLE]) -]) diff --git a/m4/swig.m4 b/m4/swig.m4 deleted file mode 100644 index a024b7459e9e..000000000000 --- a/m4/swig.m4 +++ /dev/null @@ -1,95 +0,0 @@ -dnl check to see if SWIG is current enough. -dnl -dnl if it is, then check to see if we have the correct version of python. -dnl -dnl if we do, then set up the appropriate SWIG_ variables to build the -dnl python bindings. - -AC_DEFUN([CEPH_CHECK_SWIG], -[ - AC_ARG_WITH(swig, - AS_HELP_STRING([--with-swig=PATH], - [Try to use 'PATH/bin/swig' to build the - swig bindings. If PATH is not specified, - look for a 'swig' binary in your PATH.]), - [ - case "$withval" in - "no") - SWIG_SUITABLE=no - CEPH_FIND_SWIG(no) - ;; - "yes") - CEPH_FIND_SWIG(check) - ;; - *) - CEPH_FIND_SWIG($withval) - ;; - esac - ], - [ - CEPH_FIND_SWIG(check) - ]) -]) - -AC_DEFUN([CEPH_FIND_SWIG], -[ - where=$1 - - if test $where = no; then - AC_PATH_PROG(SWIG, none, none) - elif test $where = check; then - AC_PATH_PROG(SWIG, swig, none) - else - if test -f "$where"; then - SWIG="$where" - else - SWIG="$where/bin/swig" - fi - if test ! -f "$SWIG" || test ! -x "$SWIG"; then - AC_MSG_ERROR([Could not find swig binary at $SWIG]) - fi - fi - - if test "$SWIG" != "none"; then - AC_MSG_CHECKING([swig version]) - SWIG_VERSION_RAW="`$SWIG -version 2>&1 | \ - sed -ne 's/^.*Version \(.*\)$/\1/p'`" - # We want the version as an integer so we can test against - # which version we're using. SWIG doesn't provide this - # to us so we have to come up with it on our own. - # The major is passed straight through, - # the minor is zero padded to two places, - # and the patch level is zero padded to three places. - # e.g. 1.3.24 becomes 103024 - SWIG_VERSION="`echo \"$SWIG_VERSION_RAW\" | \ - sed -e 's/[[^0-9\.]].*$//' \ - -e 's/\.\([[0-9]]\)$/.0\1/' \ - -e 's/\.\([[0-9]][[0-9]]\)$/.0\1/' \ - -e 's/\.\([[0-9]]\)\./0\1/; s/\.//g;'`" - AC_MSG_RESULT([$SWIG_VERSION_RAW]) - # If you change the required swig version number, don't forget to update: - # subversion/bindings/swig/INSTALL - # packages/rpm/redhat-8+/subversion.spec - # packages/rpm/redhat-7.x/subversion.spec - # packages/rpm/rhel-3/subversion.spec - # packages/rpm/rhel-4/subversion.spec - SWIG_SUITABLE=yes - fi - - if test "$PERL" != "none"; then - AC_MSG_CHECKING([perl version]) - dnl Note that the q() bit is there to avoid unbalanced brackets - dnl which m4 really doesn't like. - PERL_VERSION="`$PERL -e 'q([[); print $]] * 1000000,$/;'`" - AC_MSG_RESULT([$PERL_VERSION]) - if test "$PERL_VERSION" -ge "5008000"; then - SWIG_PL_INCLUDES="\$(SWIG_INCLUDES) `$PERL -MExtUtils::Embed -e ccopts`" - else - AC_MSG_WARN([perl bindings require perl 5.8.0 or newer.]) - fi - fi - - - AC_SUBST(SWIG) - AC_SUBST(SWIG_PL_INCLUDES) -]) diff --git a/m4/swig_enable_cxx.m4 b/m4/swig_enable_cxx.m4 deleted file mode 100644 index 39ae9327da7a..000000000000 --- a/m4/swig_enable_cxx.m4 +++ /dev/null @@ -1,56 +0,0 @@ -##### http://autoconf-archive.cryp.to/swig_enable_cxx.html -# -# SYNOPSIS -# -# SWIG_ENABLE_CXX -# -# DESCRIPTION -# -# Enable SWIG C++ support. This affects all invocations of $(SWIG). -# -# LAST MODIFICATION -# -# 2006-10-22 -# -# COPYLEFT -# -# Copyright (c) 2006 Sebastian Huber -# Copyright (c) 2006 Alan W. Irwin -# Copyright (c) 2006 Rafael Laboissiere -# Copyright (c) 2006 Andrew Collier -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. -# -# As a special exception, the respective Autoconf Macro's copyright -# owner gives unlimited permission to copy, distribute and modify the -# configure scripts that are the output of Autoconf when processing -# the Macro. You need not follow the terms of the GNU General Public -# License when using or distributing such scripts, even though -# portions of the text of the Macro appear in them. The GNU General -# Public License (GPL) does govern all other use of the material that -# constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the -# Autoconf Macro released by the Autoconf Macro Archive. When you -# make and distribute a modified version of the Autoconf Macro, you -# may extend this special exception to the GPL to apply to your -# modified version as well. - -AC_DEFUN([SWIG_ENABLE_CXX],[ - AC_REQUIRE([AC_PROG_SWIG]) - AC_REQUIRE([AC_PROG_CXX]) - SWIG="$SWIG -c++" -]) diff --git a/src/Makefile.am b/src/Makefile.am index 70747ad1da6e..5724c5f5488f 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -7,10 +7,10 @@ AUTOMAKE_OPTIONS = gnu # monitor cmon_SOURCES = cmon.cc msg/SimpleMessenger.cc cmon_LDADD = libmon.a libcrush.a libcommon.a + +# admin tools cmonctl_SOURCES = cmonctl.cc msg/SimpleMessenger.cc cmonctl_LDADD = libcommon.a - -# tools mkmonfs_SOURCES = mkmonfs.cc mkmonfs_LDADD = libmon.a libcommon.a libcrush.a monmaptool_SOURCES = monmaptool.cc @@ -20,14 +20,6 @@ crushtool_LDADD = libcommon.a libcrush.a osdmaptool_SOURCES = osdmaptool.cc osdmaptool_LDADD = libmon.a libcommon.a libcrush.a -psim_SOURCES = psim.cc -psim_LDADD = libcommon.a libcrush.a - -test_ebofs_SOURCES = ebofs/test.ebofs.cc -test_ebofs_LDADD = libebofs.a libcommon.a libos.a -mkfs_ebofs_SOURCES = ebofs/mkfs.ebofs.cc -mkfs_ebofs_LDADD = libebofs.a libcommon.a libos.a - # mds cmds_SOURCES = cmds.cc msg/SimpleMessenger.cc cmds_LDADD = libmds.a libosdc.a libcrush.a libcommon.a @@ -47,27 +39,45 @@ streamtest_LDADD = libebofs.a libcommon.a libos.a csyn_SOURCES = csyn.cc msg/SimpleMessenger.cc csyn_LDADD = libclient.a libosdc.a libcrush.a libcommon.a -# fuse client -if WITH_FUSE -FUSEBIN = cfuse fakefuse -else -FUSEBIN = -endif +bin_PROGRAMS = \ + cmon cmds cosd csyn \ + cmonctl \ + mkmonfs monmaptool osdmaptool crushtool \ + streamtest dupstore dumpjournal + +# fuse targets? +if WITH_FUSE cfuse_SOURCES = cfuse.cc msg/SimpleMessenger.cc client/fuse.cc client/fuse_ll.cc cfuse_LDADD = -lfuse libclient.a libosdc.a libcrush.a libcommon.a +bin_PROGRAMS += cfuse + +if WITH_DEBUG fakefuse_SOURCES = fakefuse.cc msg/FakeMessenger.cc client/fuse.cc client/fuse_ll.cc fakefuse_LDADD = -lfuse libmon.a libmds.a libosd.a libos.a libebofs.a \ libclient.a libosdc.a libcrush.a libcommon.a +bin_PROGRAMS += fakefuse +endif + +endif + +# debug targets? +if WITH_DEBUG +psim_SOURCES = psim.cc +psim_LDADD = libcommon.a libcrush.a + +test_ebofs_SOURCES = ebofs/test.ebofs.cc +test_ebofs_LDADD = libebofs.a libcommon.a libos.a +mkfs_ebofs_SOURCES = ebofs/mkfs.ebofs.cc +mkfs_ebofs_LDADD = libebofs.a libcommon.a libos.a -# debug targets fakesyn_SOURCES = fakesyn.cc msg/FakeMessenger.cc fakesyn_LDADD = libmon.a libmds.a libosd.a libos.a libebofs.a \ libclient.a libosdc.a libcrush.a libcommon.a -#newsyn_SOURCES = newsyn.cc msg/SimpleMessenger.cc -#newsyn_LDADD = libmon.a libmds.a libosd.a libebofs.a \ -# libclient.a libosdc.a libcrush.a libcommon.a +bin_PROGRAMS += psim test.ebofs mkfs.ebofs fakesyn +endif + ## libcrush.so libcrush_so_a_SOURCES = \ @@ -81,36 +91,35 @@ libcrush_so_a_CFLAGS = ${AM_CFLAGS} -fPIC #BUILT_SOURCES = libcrush.so # crushwrapper -SWIG_FILES = crush/CrushWrapper.i crush/CrushWrapper.h -crush/CrushWrapper_wrap.cxx: ${SWIG_FILES} - ${SWIG} -perl5 -c++ -shadow -outdir . $< - -libCrushWrapper.so: crush/CrushWrapper_wrap.cxx libcrush_so.a - ${CXX} ${CXXFLAGS} ${SWIG_PL_INCLUDES} -I. -shared -fPIC $^ config.cc -o $@ - +#SWIG_FILES = crush/CrushWrapper.i crush/CrushWrapper.h +#crush/CrushWrapper_wrap.cxx: ${SWIG_FILES} +# ${SWIG} -perl5 -c++ -shadow -outdir . $< +# +#libCrushWrapper.so: crush/CrushWrapper_wrap.cxx libcrush_so.a +# ${CXX} ${CXXFLAGS} ${SWIG_PL_INCLUDES} -I. -shared -fPIC $^ config.cc -o $@ #BUILT_SOURCES = libCrushWrapper.so ## libcephclient.so -libcephclient_so_a_SOURCES = \ - client/Client.cc \ - client/SyntheticClient.cc \ - client/Trace.cc \ - msg/Message.cc \ - common/Logger.cc \ - common/Clock.cc \ - common/Timer.cc \ - common/Finisher.cc \ - mon/MonMap.cc \ - mon/MonClient.cc \ - osd/OSDMap.cc \ - config.cc \ - osdc/Objecter.cc \ - osdc/ObjectCacher.cc \ - osdc/Filer.cc \ - osdc/Journaler.cc -libcephclient_so_a_CXXFLAGS = ${AM_CXXFLAGS} -fPIC -libcephclient_so_a_CFLAGS = ${AM_CFLAGS} -fPIC +#libcephclient_so_a_SOURCES = \ +# client/Client.cc \ +# client/SyntheticClient.cc \ +# client/Trace.cc \ +# msg/Message.cc \ +# common/Logger.cc \ +# common/Clock.cc \ +# common/Timer.cc \ +# common/Finisher.cc \ +# mon/MonMap.cc \ +# mon/MonClient.cc \ +# osd/OSDMap.cc \ +# config.cc \ +# osdc/Objecter.cc \ +# osdc/ObjectCacher.cc \ +# osdc/Filer.cc \ +# osdc/Journaler.cc +#libcephclient_so_a_CXXFLAGS = ${AM_CXXFLAGS} -fPIC +#libcephclient_so_a_CFLAGS = ${AM_CFLAGS} -fPIC #BUILT_SOURCES += libcephclient_so.a @@ -136,14 +145,6 @@ AM_CXXFLAGS = -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_THREAD_SAFE AM_CFLAGS = -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_THREAD_SAFE AM_LDFLAGS = -bin_PROGRAMS = \ - cmon cmds cosd csyn \ - cmonctl \ - mkmonfs monmaptool osdmaptool crushtool \ - fakesyn \ - streamtest dupstore psim dumpjournal \ - test.ebofs mkfs.ebofs \ - $(FUSEBIN) $(NEWSYN) noinst_LIBRARIES = \ libcommon.a libcrush.a \ libmon.a libmds.a libosdc.a libosd.a libclient.a \ @@ -156,9 +157,9 @@ EXTRA_DIST = mkcephfs.sh mkfs.sh restart.sh startnew.sh stop.sh # cleaning clean-local: - -rm crush/*.cxx -rm *.so - -rm CrushWrapper.pm +# -rm crush/*.cxx +# -rm CrushWrapper.pm # libs libcommon_a_SOURCES = \ -- 2.47.3