►
From YouTube: CDS G/H (Day 1) - CMake Update
Description
https://wiki.ceph.com/Planning/CDS/CDS_Giant_and_Hammer_(Jun_2014)
24 June 2014
Ceph Developer Summit G/H
Day 1
CMake update session
A
All
right,
so
I
think
we
got
the
recording
up
and
running
here.
So
this
is
the
cmake
update,
also
from
matt
benjamin
matt.
You
want
to
give
us
a
rundown
of
what's
going
on
in
the
cmake
world.
B
Sure-
and
I
said
I
should
say
that
I
thought
was
pretty
cool.
B
This
is
this-
is
really
really
this
one's
really
short,
but
I
I
wasn't
able
to
attend.
In
the
previous
and
the
previous
cds,
I
was
able
to.
B
The
the
talk
that
julia
gave
so
I'm
kind
of
mentioning
what
what's
what's
happening,
not
happened,
we've
our
we,
we
we
started
it
internally
and
then
we
wanted
to
to
try
to
get
it
up
soon,
if
possible,
to
be
because
our
original
goal
was
to
make
stuff
build
faster,
especially
on
multi-core
machines.
We
had
experience
converting
nfs
ganesha
from
auto
tools
to
cmake,
and
we
had
a
lot
of.
B
We
had
evidence
from
that
that
that
there
were,
there
were
big
speed
ups
we
had
for
they
come
from
a
variety
of
sources
and
but
and
we
knew-
and
we
I
guess
what
part
of
it
is,
is
this
period
it's
just
pure
desire
performance
and
the
other
thing
is
for
both
performance
reasons
and
other
reasons.
We
don't
really
like
lib
tool
and
wanted
to
escape
it
everywhere,
if
possible.
But
this
background
that
the
main
there
are
a
bunch
of
various
stages
and
it's
kind
of
traveled
through
different
internal
branches
and
external
branches.
B
Now
the
initial
ultimate
work
we
did
was
done
by
our
hardworking
intern
ali
who's
actually
nearby
here
and
all
and
the
rest
of
us
have
come
back
on
different
branches
and
we
have
an
issue.
We've
had
we've
worked
to
try
to
converge
those
changes
back
together
and
we've
been
trying
to
do
that.
The
the
first
version
of
cmake
which
which
people
haven't
seen,
I
guess,
is
looked
a
lot
like
the
auto
tools
build.
B
It
was
kind
of
like
one
to
one
almost
in
terms
of
the
hierarchy
of
files
and
the
targets
it
was.
It
was
missing
some
things,
but
we
pushed
upstream.
I
think
it
was
back
in
february,
had
covered
much
most
of
emperor
built.
Most
things
everything
we
were
using
internally
did
wasn't
what
didn't
cover
everything
didn't
cover
tests
among
other
things,
but
but
the
the
big
change
that
that
happened
there
and-
and
I
haven't
gotten
interested
in
getting
feedback
on
it-
is
that
the
big
the
big
change
was.
B
That
was
an
improvement
for
certain.
Is
that
as
we
consolidated
all
all
the
targets,
so
that
so
we
further
reduce
the
number
of
objects
being
built
multiple
times
and
at
the
same
time
we
change
the
file
structure
to
have
just
only
only
a
couple
of
files,
basically
the
top
levels
you
make
and
the
source
cmake,
since
most
everything
was
essentially
building
there
anyway.
This
makes
this
at
this
point.
We
know
that
this
isn't
absolutely
necessary.
B
I
think
it
was
partly
motivated
initially
to
ensure
that
we
could
consolidate
targets,
and
we
now
know
but
we're
pretty
certain.
We
don't
have
to
do
that
now,
so
I
think
we
believe
we
can
use
the
target
objects,
nomenclature
acro
across
files.
You
know
which-
and
it
just
works,
but
but
one
way
is
better
than
is
better
than
another
for
maintainability,
and
that
would
be
interesting.
You
know,
which
is
better,
but
we've
been
working
with
them
in
order
to
sort
of
get
keep
things
going
upstream.
B
I
think,
essentially,
everything
on
firefly,
adam
emerson,
here
added
tests
and
we're
just
we're
putting
the
final
final
touches
on
that,
and
also
also
we
improve
the
way
we're
generating
some
internal
files
like
software.c
and
and
we
also
improve
the
way
we
can
come
and
fix
problems
with
with
with
installation,
scripts
and
things
like
that.
So
so
that's
so
that's
the
status
since,
since
this
is
the
reason
I
have
a
test
really
asked.
Are
there
other
folks
interested
in
cmake
does?
B
Does
it
have
a
future
upstream
and
any
other
feedback.
C
D
We're
very
interested
yeah,
I
think,
generally,
we
would
be
happy
to
move
to
cmake
because
if
only
because
it's
a
different
kind
of
pain
than
autotools
and
we're
tired
of
that
pain,
I
think
the
only
challenge
is
that
we
have
a
there's
a
bunch
of
sort
of
stuff
around
the
edges
that
we
need
to
make
sure
is
still
going
to
work.
So
there's
the
detection
of
various
libraries,
that
is,
we
have
a
bunch
of
random
configured
at
ac
crest.
That's
that's
doing
that.
D
We
need
to
make
sure
that
all
sort
of
carries
over
properly.
You
know,
there's
like
the
whip
rocks
to
be
stuff.
They
just
auto
makified
the
make
valve
there
so
that
it
could
like
get
linked
in
and
you
have
to
do
the
same
thing
with
cmake.
Hopefully
that's
an
easy
thing,
but
there's
a
bunch
of
there's,
probably
just
a
bunch
of
like
mop
up
to
make
it
all
make
sure
it
all
works.
D
So
probably
I
think
probably
the
thing
to
do
is
to
get
it
in
a
branch
in
the
sept.get
repository
and
then
push
it
out
to
the
main
subrepo
so
that
all
the
builders
can
build
on
all
the
different
distros
and
see
which
ones
fall
over
and
make
sure
they
all
sort
of.
Don't.
B
That
makes
sense,
we
have
a
there's,
there's
no
fire,
there's
no
there's
no
firefly
dash
cmake
branch.
I
wanted
to
do
a
couple
of
cleanups
from
it
from
because
adams,
where
you're
working
some
test
compiles
at
that
point
we
could.
We
could
produce
a
single
patch
essentially
on
there
or
a
single
change,
but
there
are.
B
There
were
a
couple
of
trailing
changes
that
happened
at
the
tip
of
firefly,
so
I
don't
know
where
it
should
go
like
there
was
one
there's
things
with
int
types:
that's
really
nasty,
but
I
have
a
patch
for
that
has
been
fixed
differently
up
upstream
in
this
in
different
ways
and
a
couple
and
what
maybe
I
want
everything
but
but
then
we
would
that
would
then
we
would
at
that
point,
have
a
candidate
branch
to
immediately
make.
I
guess,
oh
whip,
whatever?
What
what
does
he
make
out
there.
D
Okay,
okay,
yeah
yeah,
with
a
wave
cmake,
that's
sort
of
pulled
forward
to
current
master.
Would
it
be
ideal
that
would
be
the
next
or
something
something
close?
Okay.
D
Okay,
one
other
thing
just
an
aside,
so
one
of
them,
one
of
the
biggest
reasons
why
cmake
is
faster,
is
because
it's
not
doing
the
lib
tool
thing
or
it
builds
two
targets
for
everything
with
and
without
fpic
right,
starting
to
luis
last
week,
and
he
noticed
the
same
thing.
But
apparently
there's
an
auto
tools.
Thing
where
you
just
set.
C
D
Share
it
equal,
zero
or
share
it
equals
one
or
whatever
in
your
environment,
and
it
will
do
lib
tool.
Do
the
same
thing:
it'll
only
build
the
one
target
and
they
like
cut
the
build
time
in
half.
Basically.
B
Part
of
my
wonder
what
that
is.
Okay,
well,
that's
definitely
part
of
it.
We
noticed
that
right
away
and
it's
trivial,
surely
true,
but
but
I
said
I
actually
really
think
multiple
times.
It's
not
just
that
of
course,
and
there's
also
so
so
you're
right,
you
can
make,
you
can
make
auto
tools
go
much
faster.
B
I
do
think
that
cmake
is
still
faster.
I
think
it's
faster
because
you
don't
invoke
lib
tool
and
which
no,
which
is
the
shell
complex
and
also
makes
it,
let's
be
honest
and-
and
I
think,
which
also
means
that
it's
easier
to
debug
things
and
tree.
I
like
that,
but
I
think
it's
also.
I
think
it
also
does
probably
does
a
better
job
right
now
of
parallelizing.
But,
to
be
honest
I
mean
who
knows,
people
can
make
things
faster
back
and
forth,
but
you
know
we
can.
B
We
can
build
that
we
can
build
ganesha
in
about
10
seconds
on
a
on
a
10
core
machine
c,
plus
plus
it
builds
slower,
but
we've
we've
been
finding
things
that
we
we're
convinced
it's
faster,
but
I
mean
head
to
head.
I
I
can't.
I
can't
promise
that
it's
always
going
to
be
faster.
You
know.
D
I
believe
it,
but
I'm
the
only
thing
I
worry
about
is
that
it's
a
little
less
common
than
other
tools
and
there
it
was
going
to
be
a
little
bit
of
pain
with
the
sort
of
the
long
tail
of
you
know,
weird
distros
or
whatever,
that
sort
of
odd
corner
cases
that
auto
tools
tends
to
be
good
at
that
you
didn't
pay
for
the
rest
of
the
time,
but
yeah.
B
I'm
lucky,
I
might
be
able
to
send
you
know,
master.cma
or
whatever
website
prototype
proto
branch
later
today
and
then
smoke
at
least
look
it
over
and
see
you.
B
I
think
I
think
the
first
thing
I
would
do
is
just
to
have
someone
maybe
have
some
books
and
look
for
a
thing
I'll
do
myself,
but
I
would
love
to
get
second
or
third
or
multiple
pairs
of
eyes,
finding
missing
targets
or
or
other
things
that
that
people
you
know
that
that
ought
to
be
different
or
there
or
that
that
actually
anyone
actually
cares
about
it.
So
at
some
point
this
is
trivial
enough
work
or
you
know
a
simple
or
at
least
work
that
everyone
does
all
the
time,
just
editing
targets.
B
D
Okay-
well,
maybe
it's
probably
worth
it
to
take
just
a
minute
to
figure
out
what
the
what
the
sort
of
annoying
quarter
cases
are,
that
we're
going
to
hit
the
weird
stuff
that
we
did
with
auto
tools
that
we
need
to
make
sure
that
we
address
properly.
B
B
Yeah,
of
course-
and
I
mean
above
in
the
main
body
of
the
code,
it
seems
like
they're
only
a
few
things
like
gristings
and
files,
which
we
have
solutions
for
yeah
and
so,
like
you
know,
substituting
the
shell
files
and
and
suffer
and
a
few
of
those
things.
Those
are
straightforward,
finding
stuff
which
you
know,
but
you
do
it
with
it
with
them
with,
in
various
random
ways,
a
lot
of
tools,
m4
and
whatnot,
which
which
you
do
with
little
package,
finds
in
and
to
make
modules
with
cmake.
B
We
have
we
find
everything
that
we
we
use,
plus
we
have
afford
ones.
You
know
that
find
xio
and
cds,
and
things
like
that
and
and
then
past,
that
you
know
there
might
be
things
people
are
doing
that
are
you
know
in
different?
First
of
those
experts
for
those
I
had
had
a
head
upstream
things
like
like
rocks
tv,
but
but
typically
it's
not
very
much.
We
are
turning
on.
You
know
people
look
at
compile
flags
and
things
we.
B
We
have,
we
have
various
selectors,
but
in
terms
of
pick
we've
just
we've
just
been
turning
it
on.
I
don't
have
a
lot
of
evidence
that
there
would
be
reasons
to
to
not
down
on
most
platforms.
There
could
be
something
there,
but
certainly
on
amd
64
x864
you
you
want
it
generally.
B
B
D
See
what
else
there's
just
various
headers
utils
crypto
yeah-
I
mean
there's
all
this
all
this
library
detection.
I
assume
it's
all
in
there.
D
There's
a
bunch
of
jdk
craft
about
finding
which
jdk
to
to
build
the
the
java
wrappers
against.
Do
you
know
if
that's
about.
B
It
I
don't
remember
much
about
that,
and
there
was
new
stuff
that
came
on
firefly
for
that
right,
so
I'll
cross
check
and
make
sure
we've
got
that
we
may
not
have
all
the
food.
For
that.
D
So,
let's
see,
there's
a
rocks
okay,
so
there
are
sub-modules,
there's,
there's
there's
rocks
db,
which
actually
isn't
in
master.
Yet
so
you
don't
worry
that
one
yet,
but
soon,
there's
blue
s3
and
what's
the
other
sub
module
that
we
have
civit
web.
D
B
D
See?
Okay,
so
let
me
yeah,
I
mean
that
might
be
something
that
we
have
to
carry
going
forward.
If
upstream
civic
web
is
auto,
make
or
something
else,
then
we
might
have
to
have
a
couple
patches
on
top.
That
just
adds
cmake
files.
C
B
D
What
about
the
the
ceph
version
thing?
D
Okay,
well,
that
sounds
that
sounds
good
to
me,
then,
like
make
make
check
triggers.
D
No,
no
okay,
yeah!
So
right
now
in
automake
that
triggers
they're
all
the
unit
tests
that
get
built.
So
it's
a
whole
bunch
of
extra
targets
and
from
the
test
directory,
and
it
runs
all
those
okay
test
stuff,
but
there's
also
like
random
bash
scripts,
that
it
runs
that,
like
spin
up
little
test
clusters
and
run
the
encode
decode
stuff.
B
B
C
C
D
Well,
that's,
I
think,
that's
that's
everything
that
comes
to
mind
for
me
at
least.
A
All
right
well
we're
about
halfway
through
the
session,
so
we
plenty
time
for
questions
or
you
can
use
the
second
half
to
talk
about
the
stuff.
You
were
alluding
to
at
the
beginning
of
the
session
here,
the
development
time
window
stuff.
D
Yeah
yeah
or
could
we
could
also
start
the
toothology
thing
a
bit
early?
If
we
wanted
to
do
that.
D
Okay,
well,
I
think
we're
squared
away
on
on
cmake,
so
ilya
also
was
looking
at
some
of
this
because
he
also
wanted
to
do
builds
where
the
target
is
outside
of
his
current
outside
of
the
source
tree,
and
he
made
just
enough
changes
to
do
that
popular
stuff
to
make
that
work,
and
then
that's
been
sitting
on
it,
but
he's
probably
the
one
to
help
with
getting
this
merged
into
the
tree.
B
Yeah,
I
had
a
sense
that
it
would
ought
to
do
that
already,
but
I
haven't
I
typically,
I
often
build
intrigue.
We
build
a
new
show
other
tree
all
the
time,
so
yeah
I'd
be
interested
in
seeing
a
branch
like
that
we
could
merge
it
or
whatever.
E
All
no,
I
I
I
was
using
your
brains
just
with
the
rbd
added,
because
the
original
cmake
range
from
I
don't
know
december
january-
didn't
build
rbd
yeah.
A
E
E
So
I
want
to
export
the
tree
read
only
to
a
bunch
of
virtual
machines
and
well
little
wants
to
write
to
the
tree.
That's
that's
too
bad.
E
C
Cool
okay.
D
So
we
have
two
options
and
we
can.
I
think
this
is
sort
of
wrapped
up.
We
can
talk
about
if
anybody
has
opinions
on
the
release
cycle
stuff,
we
can
talk
about
that
for
a
little
bit
or
we
can
just
jump
into
the
next.
The
next
topic,
which
is
the.
D
Ci
and
antithology
stuff
first.
D
Well,
I
think
we
should,
I
think
we
should
just
jump
into
the
the
ci
technology
stuff.
All.
C
D
A
All
right,
let
me
swap
the
recording.