* config/Makefile.am (ruby.m4): Remove wrong and useless target. (dist_noinst_SCRIPTS): Add erbx rbconfig_gen.rb mk_local_config_rb_in.rb. * bin/Makefile.am (noinst_SCRIPTS): Rename as... (dist_noinst_SCRIPTS): ...this, so that scripts are distributed. * src/Makefile.am (libdyn_la_SOURCES): Remove config.h, as it is already distributed as a product of `configure'. Move all_methods.hh, all_methods.cc, function.hh and function.cc... (nodist_libdyn_la_SOURCES): ...here (new variables). (EXTRA_DIST): New variable. (dyn-all.hh, dyn-light.hh): Do not use a pipe to filter concatenated files, to be able to catch errors in the call to `cat' (e.g., missing files). * test/Makefile.am (EXTRA_DIST): Add fixtures/my_lib/lib.hh, fixtures/my_lib/damien.hh and fixtures/my_lib/damien.hxx. --- extatica/ChangeLog | 22 ++++++++++++++++++++++ extatica/bin/Makefile.am | 4 ++-- extatica/config/Makefile.am | 4 ++-- extatica/src/Makefile.am | 35 +++++++++++++++++++++++++++-------- extatica/test/Makefile.am | 5 +++++ 5 files changed, 58 insertions(+), 12 deletions(-)
diff --git a/extatica/ChangeLog b/extatica/ChangeLog index a476bda..b313d0a 100644 --- a/extatica/ChangeLog +++ b/extatica/ChangeLog @@ -1,5 +1,27 @@ 2010-11-08 Roland Levillain roland@lrde.epita.fr
+ Fix the distribution of Extatica. + + * config/Makefile.am (ruby.m4): Remove wrong and useless + target. + (dist_noinst_SCRIPTS): Add erbx rbconfig_gen.rb + mk_local_config_rb_in.rb. + * bin/Makefile.am (noinst_SCRIPTS): Rename as... + (dist_noinst_SCRIPTS): ...this, so that scripts are distributed. + * src/Makefile.am (libdyn_la_SOURCES): Remove config.h, as it is + already distributed as a product of `configure'. + Move all_methods.hh, all_methods.cc, function.hh and + function.cc... + (nodist_libdyn_la_SOURCES): ...here (new variables). + (EXTRA_DIST): New variable. + (dyn-all.hh, dyn-light.hh): Do not use a pipe to filter + concatenated files, to be able to catch errors in the call to + `cat' (e.g., missing files). + * test/Makefile.am (EXTRA_DIST): Add fixtures/my_lib/lib.hh, + fixtures/my_lib/damien.hh and fixtures/my_lib/damien.hxx. + +2010-11-08 Roland Levillain roland@lrde.epita.fr + Fix cleaning rules in Extatica.
* data/Makefile.am (CLEANFILES): Add Makefile.template and diff --git a/extatica/bin/Makefile.am b/extatica/bin/Makefile.am index 4b0a257..6aa9a50 100644 --- a/extatica/bin/Makefile.am +++ b/extatica/bin/Makefile.am @@ -1,4 +1,4 @@ -# Copyright (C) 2005 EPITA Research and Development Laboratory (LRDE). +# Copyright (C) 2005, 2010 EPITA Research and Development Laboratory (LRDE). # # This file is part of Olena. # @@ -16,5 +16,5 @@
bin_SCRIPTS = dyn-config # FIXME put dyn- before these binaries -noinst_SCRIPTS = mk_swig_input swig_tree_to_yaml yaml_to_dyn_decls +dist_noinst_SCRIPTS = mk_swig_input swig_tree_to_yaml yaml_to_dyn_decls BUILT_SOURCES = dyn-config diff --git a/extatica/config/Makefile.am b/extatica/config/Makefile.am index 5209d05..f11f7d0 100644 --- a/extatica/config/Makefile.am +++ b/extatica/config/Makefile.am @@ -1,4 +1,4 @@ -# Copyright (C) 2005 EPITA Research and Development Laboratory (LRDE). +# Copyright (C) 2005, 2010 EPITA Research and Development Laboratory (LRDE). # # This file is part of Olena. # @@ -14,4 +14,4 @@ # You should have received a copy of the GNU General Public License # along with Olena. If not, see http://www.gnu.org/licenses/.
-ruby.m4: rbconfig_gen.rb config/mk_local_config_rb_in.rb +dist_noinst_SCRIPTS = erbx rbconfig_gen.rb mk_local_config_rb_in.rb diff --git a/extatica/src/Makefile.am b/extatica/src/Makefile.am index 5f91f40..ab53eb2 100644 --- a/extatica/src/Makefile.am +++ b/extatica/src/Makefile.am @@ -56,13 +56,19 @@ CLEANFILES = \ libdyn_la_SOURCES = \ dyn.hh \ data.hh data.hxx data.cc \ - all_methods.hh all_methods.cc \ - function.hh function.cc \ function_loader.hh function_loader.cc \ name_of.hh name_of.cc \ policy.hh policy.cc \ ruby_stream.hh ruby_stream.cc \ - ansidecl.h demangle.h config.hh + ansidecl.h demangle.h + +nodist_libdyn_la_SOURCES = \ + all_methods.hh all_methods.cc \ + function.hh function.cc + +EXTRA_DIST = \ + all_methods.erb.hh all_methods.erb.cc \ + function.erb.hh function.erb.cc
# Provide a dummy `environ' symbol expected by libiberty (from the # MacPorts), but missing on Mac OS X. This is just a workaround. We @@ -102,15 +108,28 @@ cut_local_includes = grep -v '^.[\t ]*include[\t ]*".*"'
dyn-all.hh: $(dyn_all_hh_deps) rm -f $@ - echo "// Generated: do not edit by hand!" > $@ - echo "#define DYN_FULL_IMPLEMENTATION" >> $@ - cat $(dyn_all_hh_deps) | $(cut_local_includes) >> $@ + rm -f $@.tmp.1 + rm -f $@.tmp.2 + echo "// Generated by make. Do not edit by hand." >$@.tmp.1 + echo >>$@.tmp.1 + echo "#define DYN_FULL_IMPLEMENTATION" >>$@.tmp.1 + echo >>$@.tmp.1 + cat $(dyn_all_hh_deps) >>$@.tmp.1 + $(cut_local_includes) $@.tmp.1 >>$@.tmp.2 + rm -f $@.tmp.1 + mv $@.tmp.2 $@ chmod -w $@
dyn-light.hh: $(dyn_light_hh_deps) rm -f $@ - echo "// Generated: do not edit by hand!" > $@ - cat $(dyn_light_hh_deps) | $(cut_local_includes) >> $@ + rm -f $@.tmp.1 + rm -f $@.tmp.2 + echo "// Generated by make. Do not edit by hand." >$@.tmp.1 + echo >>$@.tmp.1 + cat $(dyn_light_hh_deps) >>$@.tmp.1 + $(cut_local_includes) $@.tmp.1 >>$@.tmp.2 + rm -f $@.tmp.1 + mv $@.tmp.2 $@ chmod -w $@
%.hh: %.erb.hh diff --git a/extatica/test/Makefile.am b/extatica/test/Makefile.am index a8028d8..3317a26 100644 --- a/extatica/test/Makefile.am +++ b/extatica/test/Makefile.am @@ -75,6 +75,11 @@ milena_test_DEPENDENCIES = $(top_builddir)/src/libdyn.la
#erb# =end_generated
+# Fixtures. +EXTRA_DIST = \ + fixtures/my_lib/lib.hh \ + fixtures/my_lib/damien.hh fixtures/my_lib/damien.hxx + TESTS = $(check_PROGRAMS)
tests: $(check_PROGRAMS)