shared_b=no
LIB_SUFFIX=.a
-# if given here, these vars are initted at the checking point.
if test x$host = xNONE; then
- flowerbuildprefix=.
+ OUTDIR_NAME=${OUTDIR_NAME-"out"}
else
- flowerbuildprefix="../$host-build-dir/Flower"
- mkdir $flowerbuildprefix;
- for a in `find -type d -and -not -name '*-build-dir'`; do
- mkdir $flowerbuildprefix/$a;
- done
+ OUTDIR_NAME=${OUTDIR_NAME-"out-$host"}
fi
+
+for a in `find -type d -and -not -name 'out'`; do
+ if test ! -d $a/$OUTDIR_NAME; then
+ mkdir $a/$OUTDIR_NAME;
+ fi
+done
+
AC_ARG_ENABLE(shared,
[ enable-shared shared flower library],
[ disable-optimise optimisations off],
[optimise_b=$enableval])
+AC_ARG_ENABLE(out-dir,
+ [ out-dir set the directory for machine generated files. Default out or out-HOST],
+ [OUTDIR_NAME=$enableval]
+ [])
+
if test $shared_b = yes; then
MODULE_CXXFLAGS="$MODULE_CXXFLAGS -fPIC"
MODULE_LDFLAGS="-shared -Wl,-soname,libflower.so "
AC_FUNC_MEMCMP
AC_FUNC_VPRINTF
AC_CHECK_FUNCS(memmem snprintf )
-AC_CONFIG_HEADER($flowerbuildprefix/out/config.hh:config.hh.in)
-CXX="$ac_cv_prog_CXX" ../bin/make-version > $flowerbuildprefix/out/version.hh
+if test ! -d $OUTDIR_NAME ; then
+ mkdir $OUTDIR_NAME
+fi
-AC_OUTPUT($flowerbuildprefix/out/Flower-flags.make:Flower-flags.make.in)
+AC_CONFIG_HEADER($OUTDIR_NAME/config.hh:config.hh.in)
+AC_OUTPUT($OUTDIR_NAME/Flower-flags.make:Flower-flags.make.in)
#ifndef ELEM_GROUP_HH
#define ELEM_GROUP_HH
+
#include "score-elem.hh"
class Elbement_group: public virtual Score_elem {
virtual void do_print() const ;
public:
+ Elbement_group(Elbement_group const&);
Elbement_group();
bool contains_b(Score_elem const *)const;
void add_element(Score_elem*);
DECLARE_MY_RUNTIME_TYPEINFO;
-
};
class Horizontal_group : public Elbement_group {
public:
DECLARE_MY_RUNTIME_TYPEINFO;
- Horizontal_group(Horizontal_group const&);
Horizontal_group(){}
void add_element(Score_elem*);
+ Horizontal_group(Horizontal_group const&);
+ void remove_element(Score_elem*);
+
protected:
+ virtual Horizontal_group * horizontal_group() { return this; }
virtual void do_substitute_dependency(Score_elem*,Score_elem*);
virtual void do_print() const ;
- virtual void translate_x(Real);
+ virtual void translate_x(Real);
virtual Interval do_width()const;
};
protected:
virtual void translate_y(Real);
virtual void do_print() const ;
- virtual Interval do_height()const;
+ virtual Interval do_height()const;
virtual void do_substitute_dependency(Score_elem*,Score_elem*);
- void add_element(Score_elem*);
+ virtual Vertical_group * vertical_group() { return this; }
public:
+ void add_element(Score_elem*);
+ void remove_element(Score_elem*);
+
Vertical_group(Vertical_group const &);
Vertical_group(){}
DECLARE_MY_RUNTIME_TYPEINFO;