Olena-patches
Threads by month
- ----- 2025 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
October 2010
- 5 participants
- 154 discussions

last-svn-commit-555-g1ed8ee4 Makefile.am: Add new rules to build rpm and deb packages for Milena.
by Guillaume Lazzara 26 Oct '10
by Guillaume Lazzara 26 Oct '10
26 Oct '10
---
milena/ChangeLog | 5 +++++
milena/Makefile.am | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 56 insertions(+), 0 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index f9e9bd2..f530d57 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,8 @@
+2010-08-27 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * Makefile.am: Add new rules to build rpm and deb packages for
+ Milena.
+
2010-08-26 Guillaume Lazzara <z(a)lrde.epita.fr>
* mln/labeling/compute.hh: Add a missing overload in dispatch.
diff --git a/milena/Makefile.am b/milena/Makefile.am
index bac240d..a12aedc 100644
--- a/milena/Makefile.am
+++ b/milena/Makefile.am
@@ -110,3 +110,54 @@ EXTRA_DIST += \
tests/img/test_rgb8.tif \
tests/img/test_bw.tif \
tests/img/test_gl.tif
+
+
+
+# Packaging
+#----------
+
+tmp_inst_dir = milena_inst.tmp
+tmp_inst_path = $(abs_builddir)/$(tmp_inst_dir)
+
+regen-inst:
+ rm -rf $(tmp_inst_path) \
+ && $(MAKE) DESTDIR=$(tmp_inst_path) install \
+ && mkepmlist --prefix $(bindir) -g sys -u root \
+ $(builddir)/$(tmp_inst_dir)/$(bindir) \
+ > $(top_srcdir)/pkg-aux/milena_bin_list.inc \
+ && mkepmlist --prefix $(datarootdir)/olena -g sys -u root \
+ $(builddir)/$(tmp_inst_dir)/$(datarootdir)/olena \
+ >> $(top_srcdir)/pkg-aux/milena_bin_list.inc \
+ && mkepmlist --prefix $(datarootdir)/doc -g sys -u root \
+ $(builddir)/$(tmp_inst_dir)/$(datarootdir)/doc \
+ > $(top_srcdir)/pkg-aux/milena_doc_list.inc \
+ && mkepmlist --prefix $(includedir) -g sys -u root \
+ $(builddir)/$(tmp_inst_dir)/$(includedir) \
+ > $(top_srcdir)/pkg-aux/milena_include_list.inc \
+ && rm -rf $(tmp_inst_path)
+
+
+deb:
+ rm -rf $(tmp_inst_path) \
+ && $(MAKE) DESTDIR=$(tmp_inst_path) install \
+ && epm -v -v -f deb -n --output-dir $(top_builddir) milena \
+ $(top_builddir)/pkg-aux/milena.list \
+ && rm -rf $(tmp_inst_path)
+
+
+rpm:
+ rm -rf $(tmp_inst_path) \
+ && $(MAKE) DESTDIR=$(tmp_inst_path) install \
+ && epm -v -v -f rpm -n --output-dir $(top_builddir) milena \
+ $(top_builddir)/pkg-aux/milena.list \
+ && rm -rf $(tmp_inst_path)
+
+pkg:
+ rm -rf $(tmp_inst_path) \
+ && $(MAKE) DESTDIR=$(tmp_inst_path) install \
+ && epm -v -v -f rpm -n --output-dir $(top_builddir) milena \
+ $(top_builddir)/pkg-aux/milena.list \
+ && epm -v -v -f deb -n --output-dir $(top_builddir) milena \
+ $(top_builddir)/pkg-aux/milena.list \
+ && rm -rf $(tmp_inst_path)
+
--
1.5.6.5
1
0

26 Oct '10
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Olena, a generic and efficient image processing platform".
The branch distribute-scribo has been updated
discards a73e820e40678a7b1ce37e134766b854322fc11e (commit)
discards 9d6e03f2dc8fc61320aae6d0eca1766b10b3611b (commit)
discards 330d20be0d0be1488add27f82a546263b2d191e3 (commit)
discards e23121549516d2c6ec01f47c834d93900c332866 (commit)
discards 01b0be04ac4abb7739b9ebc415cc95c997a36937 (commit)
discards 8d50316b6cef7a40f53cbeee1534f2bc0151a7e5 (commit)
discards 86afde11be03ca0f23630b97d9b9797228b6dabd (commit)
discards eeb2374b8ab58b8e8ad3edcf745573b96c96dcc6 (commit)
discards dce59ecf2488784f4c403f9704f213f2ee25af06 (commit)
discards 4a2bb958c2a6159916a7e943a655f3b65184d3d3 (commit)
discards 41318782a928e2ff9d3b0fbf46e432658e289d6e (commit)
discards 5e6b26dcba53c84a5ccdc8deb719a21647d91e8c (commit)
discards 59dededb8e58c6baf67bf1f43a039ffc32840c08 (commit)
discards de89d9cc0d3bd2b1bb375e5a9b4bcc439d5cc6ca (commit)
via 6067c3116a8d2b93468a31dade50dc9b08b546ed (commit)
via 41c86c19ddf572f665b2792482326c3931b73ff7 (commit)
via c26599b5852077c93b6a034e6227a900920ca460 (commit)
via cb6073b98417014a52d6eef64b9f64ae5ccb150b (commit)
via 0e9feb0f40d45a2f0d6bf2e4e306dc8639f80cc5 (commit)
via abb3c6e5f0828c643bc8fb2edf20803e2612b234 (commit)
via c76e031ae15f0f2dfb5bdfb6003c1e014b245ca4 (commit)
via 099775a7808c97a11f2a3bdee4a867d869b74244 (commit)
via 996b5e8954ae8cca3d02b95944b92587624707f0 (commit)
via 9f61c59a05cd064bf8a936735809230f77c02e15 (commit)
via 3553ffac27fc5037e01e4f9f1d2b74154f399b3d (commit)
via 6b001285348e035cb589a1c760934954652f25f3 (commit)
via 56c14243d62ab8acb9e743ce3499a3d495a4dcb9 (commit)
via f8e2118bd19023a35a46a91666ea23c8ba5e6508 (commit)
via 1d96a82bf04b223792855301b01a0bc8f40ec162 (commit)
via d8f86fcf336b9ab608b23cd3d8926413eb064ee1 (commit)
via b018159ad335cb63ad52bcd74787d759252dbbcc (commit)
via 4f0776278d9559d965b90092fa7d7f568d8644b4 (commit)
via 2eafecb020b1a4666eb9eeab739f82570ae5adbe (commit)
via 40966ccf914d0289ee0e84c049b06f3606af738e (commit)
via f8cd44ed57c9f1ba77825aa949741f7a02bd08b0 (commit)
via 2f0dd88656925244a51a763ee0032f0963931dff (commit)
via 677cf61d18c7f4e7a16513ed96787b04f034a138 (commit)
via a912c618793646fd40dec6024dc70378dc033edb (commit)
via df42e566d39e2684f747a96ea0ee417d82427bc4 (commit)
via c24234ae068e910ffbb2574b7159715c7e4a7141 (commit)
via 57977f81558b43b3893bc5d911788e6454bbb7fb (commit)
via c5f99a53310656248179f8298a4ef1227dfa67ee (commit)
via 74fe46474374fc2fb128f79a94590adfae77864e (commit)
via c043808bc7590289ae081ebe381f4ddab862a1bc (commit)
via b9df1795cd61827f66a60ce6cd7edde8115b5b7f (commit)
via 3a2500e1a3628de9314d46459c47555f56a3a711 (commit)
via 767a8e2076101a7448265dfd3085a4aeaa625eda (commit)
via 4b467cf5cbddf2f24b931d1aa19c1e8b99804e3c (commit)
via ba4ead142db4b22e2823596f5860b85d6cba5ecf (commit)
via 2dafa4753683b1d68d6ec7e3293f2fd4e1290d15 (commit)
via a42fcb6d12877b504714982175b2e1a6b7c30223 (commit)
via 8a8fddca95f9a4f8778e7867797d4798d1aea735 (commit)
via 3086fc9ecfbdca81f66d436856d48d0656ea3b1c (commit)
via bddf6ea31d206404da2b996a4d4cd1744030f295 (commit)
via 89cb68ce41151437ee1b5e9ef79779162f0fe8b7 (commit)
via b369b21a34fdec2d4eecf7ca541eab134b4b4f69 (commit)
via 1085d061a2ded99cea81264971abfeafe22aa66f (commit)
via 891e7283fd5bf923bfb5731e3a9c294801278955 (commit)
via 829030ba9da901dac83587ab19865afb0c783962 (commit)
via 6fbd302e5cfd421f741415ddb576067a5bfb17a2 (commit)
via 52908636a521d9d5d33399ef01f9ff91eba8972f (commit)
via 637d70cf4ba56454a0b4861b22f58df3218a742d (commit)
via 944186e4a1317365fe2625b6980f93916eeee893 (commit)
via 6e8b5fee00e3fbeb0170c12cf827056df3ff2d45 (commit)
via 283a487eabbdb01f80a1d08c90588ccc5e0fb2b5 (commit)
via f8e324b5f132b91296bc42048053fd40bbdd6dd2 (commit)
via 46eae02df17b253473adcb3fbee915def6faf21a (commit)
via 6b37fbf4eb648ee104e6f7e15f18e86971725cae (commit)
via ffdbc84b364c6fba34cc75ae59cce0af3957840a (commit)
via 949f1cba189a1f184e3e7f175a3c6a37ca68b595 (commit)
via e102484ec1067be75dd6589397b5582a103f38e4 (commit)
via 9c95965d51707c380726c4e04e7f5d583298a412 (commit)
via 87288fed8c7c58240b9da5a6b6838b97fbc40f8e (commit)
via b44674d0134c582ab347d94f0cdf0489eca2c00b (commit)
via b63755a60df439aecf78e36d4a8d702ef620abc3 (commit)
via a913e1f860971df1a7b804daca3d190bfcefc729 (commit)
via 396cb06881fb4ce584e9c9fdfe3bd49ea2e565be (commit)
via 6713b18ae5ff02fd54f2496881ccb1118c02f45c (commit)
This update added new revisions after undoing existing revisions. That is
to say, the old revision is not a strict subset of the new revision. This
situation occurs when you --force push a change and generate a repository
containing something like this:
* -- * -- B -- O -- O -- O (a73e820e40678a7b1ce37e134766b854322fc11e)
\
N -- N -- N (6067c3116a8d2b93468a31dade50dc9b08b546ed)
When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
No new revisions were added by this update.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 117 ++++++
HACKING | 16 +-
README | 63 +++-
configure.ac | 380 +++++++-------------
m4/autotroll.m4 | 3 +
m4/oln-with-lib.m4 | 171 ++++++++--
milena/ChangeLog | 102 ++++++
milena/headers.mk | 1 +
milena/mln/accu/label_used.hh | 3 +-
milena/mln/algebra/vec.hh | 4 +-
milena/mln/core/image/vmorph/fun_image.hh | 6 +-
milena/mln/core/internal/labeled_image_base.hh | 6 +-
milena/mln/fun/x2x/rotation.hh | 222 ++++++------
milena/mln/io/magick/load.hh | 4 +-
milena/mln/io/magick/save.hh | 6 +-
milena/mln/labeling/colorize.hh | 7 +-
milena/mln/labeling/compute.hh | 23 +-
milena/mln/labeling/relabel.hh | 6 +-
milena/mln/labeling/superpose.hh | 14 +-
milena/mln/make/relabelfun.hh | 9 +-
milena/mln/set/compute_with_weights.hh | 6 +-
milena/mln/value/next.hh | 125 +++++++
milena/mln/value/ops.hh | 6 +-
milena/tests/accu/Makefile.am | 10 +-
milena/tests/fun/x2x/composed.cc | 6 +-
milena/tests/labeling/Makefile.am | 11 +-
milena/tests/unit_test/Makefile.am | 10 +-
...rocessor_boost-tuple => cond_tests_boost-tuple} | 0
milena/tests/unit_test/unit-tests.mk | 8 +-
milena/tests/value/builtin/Makefile.am | 6 +-
milena/tests/value/builtin/floatings.cc | 38 ++
scribo/ChangeLog | 182 ++++++++++
.../binarization/internal/first_pass_functor.hh | 6 +-
scribo/scribo/binarization/local_threshold.hh | 4 +-
scribo/scribo/binarization/sauvola_ms.hh | 128 ++++----
.../scribo/binarization/sauvola_threshold_image.hh | 7 +-
scribo/scribo/core/component_set.hh | 18 +-
scribo/scribo/core/line_info.hh | 32 ++-
scribo/scribo/core/line_set.hh | 2 +-
scribo/scribo/core/object_links.hh | 4 +-
scribo/scribo/debug/highlight_text_area.hh | 2 +-
scribo/scribo/debug/usage.hh | 9 +-
scribo/scribo/filter/object_groups_with_holes.hh | 5 +-
scribo/scribo/filter/object_links_bbox_overlap.hh | 2 +-
scribo/scribo/filter/object_links_bbox_ratio.hh | 7 +-
scribo/scribo/filter/object_links_bbox_w_ratio.hh | 8 +-
.../filter/object_links_non_aligned_simple.hh | 9 +-
scribo/scribo/filter/objects_h_thick.hh | 2 +-
scribo/scribo/filter/objects_h_thin.hh | 2 +-
scribo/scribo/filter/objects_size_ratio.hh | 2 +-
scribo/scribo/filter/objects_small.hh | 3 +-
scribo/scribo/filter/objects_thick.hh | 2 +-
scribo/scribo/filter/objects_thin.hh | 2 +-
scribo/scribo/filter/objects_v_thick.hh | 2 +-
scribo/scribo/filter/objects_v_thin.hh | 2 +-
scribo/scribo/filter/objects_with_holes.hh | 11 +-
scribo/scribo/fun/v2b/objects_large_filter.hh | 10 +-
scribo/scribo/fun/v2b/objects_small_filter.hh | 15 +-
scribo/scribo/postprocessing/fill_object_holes.hh | 6 +-
scribo/scribo/primitive/link/compute.hh | 5 +-
.../link/internal/link_single_dmax_base.hh | 14 -
scribo/scribo/primitive/link/merge_double_link.hh | 5 +-
.../link/with_single_left_link_dmax_ratio.hh | 2 +-
scribo/scribo/subsampling/integral_single_image.hh | 8 +-
scribo/scribo/table/internal/align_lines.hh | 2 +-
scribo/scribo/text/merging.hh | 38 +-
scribo/scribo/text/recognition.hh | 58 +++-
scribo/scribo/toolchain/nepomuk/text_extraction.hh | 15 +-
scribo/scribo/toolchain/text_in_doc_preprocess.hh | 32 ++-
scribo/src/Makefile.am | 12 +-
scribo/src/pbm_text_in_doc.cc | 5 +-
scribo/src/text/Makefile.am | 6 +-
scribo/src/text/pbm_lines_recognition.cc | 4 +
scribo/src/text/pbm_recognition.cc | 4 +
scribo/src/text_in_picture.cc | 8 +-
scribo/src/text_recognition_in_picture.cc | 4 +
scribo/src/toolchain/Makefile.am | 19 +
scribo/src/toolchain/nepomuk/Makefile.am | 45 +++
scribo/src/toolchain/nepomuk/text_extraction.cc | 62 ++++
scribo/tests/Makefile.am | 1 +
scribo/tests/binarization/global_threshold.cc | 28 ++-
scribo/tests/binarization/local_threshold.cc | 34 ++-
scribo/tests/core/Makefile.am | 4 +-
scribo/tests/core/line_info.cc | 87 +++++
scribo/tests/filter/objects_with_holes.cc | 4 +-
scribo/tests/filter/small_and_large_bboxes.cc | 2 +-
scribo/tests/img/pixels.pbm | 4 +
scribo/tests/primitive/Makefile.am | 21 ++
scribo/tests/primitive/link/Makefile.am | 25 ++
scribo/tests/primitive/link/merge_double_link.cc | 92 +++++
scribo/tests/toolchain/nepomuk/Makefile.am | 3 +-
scribo/tests/toolchain/nepomuk/text_extraction.cc | 4 +
scribo/tests/unit_test/cond_tests_tesseract_tiff | 1 +
scribo/tests/unit_test/unit-tests.mk | 8 +-
94 files changed, 1847 insertions(+), 692 deletions(-)
create mode 100644 milena/mln/value/next.hh
rename milena/tests/unit_test/{cond_tests_boost-preprocessor_boost-tuple => cond_tests_boost-tuple} (100%)
create mode 100644 milena/tests/value/builtin/floatings.cc
create mode 100644 scribo/src/toolchain/Makefile.am
create mode 100644 scribo/src/toolchain/nepomuk/Makefile.am
create mode 100644 scribo/src/toolchain/nepomuk/text_extraction.cc
create mode 100644 scribo/tests/core/line_info.cc
create mode 100644 scribo/tests/img/pixels.pbm
create mode 100644 scribo/tests/primitive/Makefile.am
create mode 100644 scribo/tests/primitive/link/Makefile.am
create mode 100644 scribo/tests/primitive/link/merge_double_link.cc
hooks/post-receive
--
Olena, a generic and efficient image processing platform
1
0

26 Oct '10
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Olena, a generic and efficient image processing platform".
The branch distribute-olena has been updated
discards a796f1e24f186554d8e867d8f383637b4ed62b1e (commit)
discards c800936442470babe4f29a129771b80a5639b2db (commit)
discards 472e7e3a831b929384b7f8a02a5a0a09f26d6419 (commit)
discards 7ea861031fd9f3b20a15c9fb78a40f9eed23bcc6 (commit)
discards a73e820e40678a7b1ce37e134766b854322fc11e (commit)
discards 9d6e03f2dc8fc61320aae6d0eca1766b10b3611b (commit)
discards 330d20be0d0be1488add27f82a546263b2d191e3 (commit)
discards e23121549516d2c6ec01f47c834d93900c332866 (commit)
discards 01b0be04ac4abb7739b9ebc415cc95c997a36937 (commit)
discards 8d50316b6cef7a40f53cbeee1534f2bc0151a7e5 (commit)
discards 86afde11be03ca0f23630b97d9b9797228b6dabd (commit)
discards eeb2374b8ab58b8e8ad3edcf745573b96c96dcc6 (commit)
discards dce59ecf2488784f4c403f9704f213f2ee25af06 (commit)
discards 4a2bb958c2a6159916a7e943a655f3b65184d3d3 (commit)
discards 41318782a928e2ff9d3b0fbf46e432658e289d6e (commit)
discards 5e6b26dcba53c84a5ccdc8deb719a21647d91e8c (commit)
discards 59dededb8e58c6baf67bf1f43a039ffc32840c08 (commit)
discards de89d9cc0d3bd2b1bb375e5a9b4bcc439d5cc6ca (commit)
via bd17ca023f62eecc63200894d8f1571264b9b57a (commit)
via 2c33841ac47210ca11f6c04671971d954e799a85 (commit)
via 1ed8ee4bd6b8cfb5c40ab1459d8d9ca4e8d2ad30 (commit)
via 18ea2bc0abf0d9b7d964b2cbd0ede29538f484a4 (commit)
via 6067c3116a8d2b93468a31dade50dc9b08b546ed (commit)
via 41c86c19ddf572f665b2792482326c3931b73ff7 (commit)
via c26599b5852077c93b6a034e6227a900920ca460 (commit)
via cb6073b98417014a52d6eef64b9f64ae5ccb150b (commit)
via 0e9feb0f40d45a2f0d6bf2e4e306dc8639f80cc5 (commit)
via abb3c6e5f0828c643bc8fb2edf20803e2612b234 (commit)
via c76e031ae15f0f2dfb5bdfb6003c1e014b245ca4 (commit)
via 099775a7808c97a11f2a3bdee4a867d869b74244 (commit)
via 996b5e8954ae8cca3d02b95944b92587624707f0 (commit)
via 9f61c59a05cd064bf8a936735809230f77c02e15 (commit)
via 3553ffac27fc5037e01e4f9f1d2b74154f399b3d (commit)
via 6b001285348e035cb589a1c760934954652f25f3 (commit)
via 56c14243d62ab8acb9e743ce3499a3d495a4dcb9 (commit)
via f8e2118bd19023a35a46a91666ea23c8ba5e6508 (commit)
via 1d96a82bf04b223792855301b01a0bc8f40ec162 (commit)
via d8f86fcf336b9ab608b23cd3d8926413eb064ee1 (commit)
via b018159ad335cb63ad52bcd74787d759252dbbcc (commit)
via 4f0776278d9559d965b90092fa7d7f568d8644b4 (commit)
via 2eafecb020b1a4666eb9eeab739f82570ae5adbe (commit)
via 40966ccf914d0289ee0e84c049b06f3606af738e (commit)
via f8cd44ed57c9f1ba77825aa949741f7a02bd08b0 (commit)
via 2f0dd88656925244a51a763ee0032f0963931dff (commit)
via 677cf61d18c7f4e7a16513ed96787b04f034a138 (commit)
via a912c618793646fd40dec6024dc70378dc033edb (commit)
via df42e566d39e2684f747a96ea0ee417d82427bc4 (commit)
via c24234ae068e910ffbb2574b7159715c7e4a7141 (commit)
via 57977f81558b43b3893bc5d911788e6454bbb7fb (commit)
via c5f99a53310656248179f8298a4ef1227dfa67ee (commit)
via 74fe46474374fc2fb128f79a94590adfae77864e (commit)
via c043808bc7590289ae081ebe381f4ddab862a1bc (commit)
via b9df1795cd61827f66a60ce6cd7edde8115b5b7f (commit)
via 3a2500e1a3628de9314d46459c47555f56a3a711 (commit)
via 767a8e2076101a7448265dfd3085a4aeaa625eda (commit)
via 4b467cf5cbddf2f24b931d1aa19c1e8b99804e3c (commit)
via ba4ead142db4b22e2823596f5860b85d6cba5ecf (commit)
via 2dafa4753683b1d68d6ec7e3293f2fd4e1290d15 (commit)
via a42fcb6d12877b504714982175b2e1a6b7c30223 (commit)
via 8a8fddca95f9a4f8778e7867797d4798d1aea735 (commit)
via 3086fc9ecfbdca81f66d436856d48d0656ea3b1c (commit)
via bddf6ea31d206404da2b996a4d4cd1744030f295 (commit)
via 89cb68ce41151437ee1b5e9ef79779162f0fe8b7 (commit)
via b369b21a34fdec2d4eecf7ca541eab134b4b4f69 (commit)
via 1085d061a2ded99cea81264971abfeafe22aa66f (commit)
via 891e7283fd5bf923bfb5731e3a9c294801278955 (commit)
via 829030ba9da901dac83587ab19865afb0c783962 (commit)
via 6fbd302e5cfd421f741415ddb576067a5bfb17a2 (commit)
via 52908636a521d9d5d33399ef01f9ff91eba8972f (commit)
via 637d70cf4ba56454a0b4861b22f58df3218a742d (commit)
via 944186e4a1317365fe2625b6980f93916eeee893 (commit)
via 6e8b5fee00e3fbeb0170c12cf827056df3ff2d45 (commit)
via 283a487eabbdb01f80a1d08c90588ccc5e0fb2b5 (commit)
via f8e324b5f132b91296bc42048053fd40bbdd6dd2 (commit)
via 46eae02df17b253473adcb3fbee915def6faf21a (commit)
via 6b37fbf4eb648ee104e6f7e15f18e86971725cae (commit)
via ffdbc84b364c6fba34cc75ae59cce0af3957840a (commit)
via 949f1cba189a1f184e3e7f175a3c6a37ca68b595 (commit)
via e102484ec1067be75dd6589397b5582a103f38e4 (commit)
via 9c95965d51707c380726c4e04e7f5d583298a412 (commit)
via 87288fed8c7c58240b9da5a6b6838b97fbc40f8e (commit)
via b44674d0134c582ab347d94f0cdf0489eca2c00b (commit)
via b63755a60df439aecf78e36d4a8d702ef620abc3 (commit)
via a913e1f860971df1a7b804daca3d190bfcefc729 (commit)
via 396cb06881fb4ce584e9c9fdfe3bd49ea2e565be (commit)
via 6713b18ae5ff02fd54f2496881ccb1118c02f45c (commit)
This update added new revisions after undoing existing revisions. That is
to say, the old revision is not a strict subset of the new revision. This
situation occurs when you --force push a change and generate a repository
containing something like this:
* -- * -- B -- O -- O -- O (a796f1e24f186554d8e867d8f383637b4ed62b1e)
\
N -- N -- N (bd17ca023f62eecc63200894d8f1571264b9b57a)
When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
bd17ca0 Makefile.am: Add new rules to build rpm and deb packages.
2c33841 Makefile.am: Add new rules to build rpm and deb packages for Scribo.
1ed8ee4 Makefile.am: Add new rules to build rpm and deb packages for Milena.
18ea2bc Add package configuration files.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 117 ++++++
HACKING | 16 +-
README | 63 +++-
configure.ac | 380 +++++++-------------
m4/autotroll.m4 | 3 +
m4/oln-with-lib.m4 | 171 ++++++++--
milena/ChangeLog | 102 ++++++
milena/headers.mk | 1 +
milena/mln/accu/label_used.hh | 3 +-
milena/mln/algebra/vec.hh | 4 +-
milena/mln/core/image/vmorph/fun_image.hh | 6 +-
milena/mln/core/internal/labeled_image_base.hh | 6 +-
milena/mln/fun/x2x/rotation.hh | 222 ++++++------
milena/mln/io/magick/load.hh | 4 +-
milena/mln/io/magick/save.hh | 6 +-
milena/mln/labeling/colorize.hh | 7 +-
milena/mln/labeling/compute.hh | 23 +-
milena/mln/labeling/relabel.hh | 6 +-
milena/mln/labeling/superpose.hh | 14 +-
milena/mln/make/relabelfun.hh | 9 +-
milena/mln/set/compute_with_weights.hh | 6 +-
milena/mln/value/next.hh | 125 +++++++
milena/mln/value/ops.hh | 6 +-
milena/tests/accu/Makefile.am | 10 +-
milena/tests/fun/x2x/composed.cc | 6 +-
milena/tests/labeling/Makefile.am | 11 +-
milena/tests/unit_test/Makefile.am | 10 +-
...rocessor_boost-tuple => cond_tests_boost-tuple} | 0
milena/tests/unit_test/unit-tests.mk | 8 +-
milena/tests/value/builtin/Makefile.am | 6 +-
milena/tests/value/builtin/floatings.cc | 38 ++
scribo/ChangeLog | 182 ++++++++++
.../binarization/internal/first_pass_functor.hh | 6 +-
scribo/scribo/binarization/local_threshold.hh | 4 +-
scribo/scribo/binarization/sauvola_ms.hh | 128 ++++----
.../scribo/binarization/sauvola_threshold_image.hh | 7 +-
scribo/scribo/core/component_set.hh | 18 +-
scribo/scribo/core/line_info.hh | 32 ++-
scribo/scribo/core/line_set.hh | 2 +-
scribo/scribo/core/object_links.hh | 4 +-
scribo/scribo/debug/highlight_text_area.hh | 2 +-
scribo/scribo/debug/usage.hh | 9 +-
scribo/scribo/filter/object_groups_with_holes.hh | 5 +-
scribo/scribo/filter/object_links_bbox_overlap.hh | 2 +-
scribo/scribo/filter/object_links_bbox_ratio.hh | 7 +-
scribo/scribo/filter/object_links_bbox_w_ratio.hh | 8 +-
.../filter/object_links_non_aligned_simple.hh | 9 +-
scribo/scribo/filter/objects_h_thick.hh | 2 +-
scribo/scribo/filter/objects_h_thin.hh | 2 +-
scribo/scribo/filter/objects_size_ratio.hh | 2 +-
scribo/scribo/filter/objects_small.hh | 3 +-
scribo/scribo/filter/objects_thick.hh | 2 +-
scribo/scribo/filter/objects_thin.hh | 2 +-
scribo/scribo/filter/objects_v_thick.hh | 2 +-
scribo/scribo/filter/objects_v_thin.hh | 2 +-
scribo/scribo/filter/objects_with_holes.hh | 11 +-
scribo/scribo/fun/v2b/objects_large_filter.hh | 10 +-
scribo/scribo/fun/v2b/objects_small_filter.hh | 15 +-
scribo/scribo/postprocessing/fill_object_holes.hh | 6 +-
scribo/scribo/primitive/link/compute.hh | 5 +-
.../link/internal/link_single_dmax_base.hh | 14 -
scribo/scribo/primitive/link/merge_double_link.hh | 5 +-
.../link/with_single_left_link_dmax_ratio.hh | 2 +-
scribo/scribo/subsampling/integral_single_image.hh | 8 +-
scribo/scribo/table/internal/align_lines.hh | 2 +-
scribo/scribo/text/merging.hh | 38 +-
scribo/scribo/text/recognition.hh | 58 +++-
scribo/scribo/toolchain/nepomuk/text_extraction.hh | 15 +-
scribo/scribo/toolchain/text_in_doc_preprocess.hh | 32 ++-
scribo/src/Makefile.am | 12 +-
scribo/src/pbm_text_in_doc.cc | 5 +-
scribo/src/text/Makefile.am | 6 +-
scribo/src/text/pbm_lines_recognition.cc | 4 +
scribo/src/text/pbm_recognition.cc | 4 +
scribo/src/text_in_picture.cc | 8 +-
scribo/src/text_recognition_in_picture.cc | 4 +
scribo/src/toolchain/Makefile.am | 19 +
scribo/src/toolchain/nepomuk/Makefile.am | 45 +++
scribo/src/toolchain/nepomuk/text_extraction.cc | 62 ++++
scribo/tests/Makefile.am | 1 +
scribo/tests/binarization/global_threshold.cc | 28 ++-
scribo/tests/binarization/local_threshold.cc | 34 ++-
scribo/tests/core/Makefile.am | 4 +-
scribo/tests/core/line_info.cc | 87 +++++
scribo/tests/filter/objects_with_holes.cc | 4 +-
scribo/tests/filter/small_and_large_bboxes.cc | 2 +-
scribo/tests/img/pixels.pbm | 4 +
scribo/tests/primitive/Makefile.am | 21 ++
scribo/tests/primitive/link/Makefile.am | 25 ++
scribo/tests/primitive/link/merge_double_link.cc | 92 +++++
scribo/tests/toolchain/nepomuk/Makefile.am | 3 +-
scribo/tests/toolchain/nepomuk/text_extraction.cc | 4 +
scribo/tests/unit_test/cond_tests_tesseract_tiff | 1 +
scribo/tests/unit_test/unit-tests.mk | 8 +-
94 files changed, 1847 insertions(+), 692 deletions(-)
create mode 100644 milena/mln/value/next.hh
rename milena/tests/unit_test/{cond_tests_boost-preprocessor_boost-tuple => cond_tests_boost-tuple} (100%)
create mode 100644 milena/tests/value/builtin/floatings.cc
create mode 100644 scribo/src/toolchain/Makefile.am
create mode 100644 scribo/src/toolchain/nepomuk/Makefile.am
create mode 100644 scribo/src/toolchain/nepomuk/text_extraction.cc
create mode 100644 scribo/tests/core/line_info.cc
create mode 100644 scribo/tests/img/pixels.pbm
create mode 100644 scribo/tests/primitive/Makefile.am
create mode 100644 scribo/tests/primitive/link/Makefile.am
create mode 100644 scribo/tests/primitive/link/merge_double_link.cc
hooks/post-receive
--
Olena, a generic and efficient image processing platform
1
0

last-svn-commit-537-gbef5b90 scribo/filter/object_links_bbox_w_ratio.hh: Rename arguments.
by Guillaume Lazzara 26 Oct '10
by Guillaume Lazzara 26 Oct '10
26 Oct '10
---
scribo/ChangeLog | 4 ++++
scribo/scribo/filter/object_links_bbox_w_ratio.hh | 8 ++++----
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/scribo/ChangeLog b/scribo/ChangeLog
index cb05c44..9faaf10 100644
--- a/scribo/ChangeLog
+++ b/scribo/ChangeLog
@@ -1,3 +1,7 @@
+2010-10-26 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * scribo/filter/object_links_bbox_w_ratio.hh: Rename arguments.
+
2010-10-25 Guillaume Lazzara <z(a)lrde.epita.fr>
Support for Tesseract 2.x and 3.x in Scribo.
diff --git a/scribo/scribo/filter/object_links_bbox_w_ratio.hh b/scribo/scribo/filter/object_links_bbox_w_ratio.hh
index 215413c..07adcee 100644
--- a/scribo/scribo/filter/object_links_bbox_w_ratio.hh
+++ b/scribo/scribo/filter/object_links_bbox_w_ratio.hh
@@ -53,7 +53,7 @@ namespace scribo
width.
\param[in] links Link objects information.
- \param[in] min_w_ratio The minimum width ratio of two linked
+ \param[in] max_w_ratio The minimum width ratio of two linked
bounding boxes.
\result A filtered object link information.
@@ -61,7 +61,7 @@ namespace scribo
template <typename L>
object_links<L>
object_links_bbox_w_ratio(const object_links<L>& links,
- float min_w_ratio);
+ float max_w_ratio);
# ifndef MLN_INCLUDE_ONLY
@@ -70,14 +70,14 @@ namespace scribo
template <typename L>
object_links<L>
object_links_bbox_w_ratio(const object_links<L>& links,
- float min_w_ratio)
+ float max_w_ratio)
{
trace::entering("scribo::filter::object_links_bbox_w_ratio");
mln_precondition(links.is_valid());
object_links<L>
- output = object_links_bbox_ratio(links, 1, min_w_ratio);
+ output = object_links_bbox_ratio(links, 1, max_w_ratio);
trace::exiting("scribo::filter::object_links_bbox_w_ratio");
return output;
--
1.5.6.5
1
0

26 Oct '10
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Olena, a generic and efficient image processing platform".
The branch exp/next-build-ok has been updated
via 2eafecb020b1a4666eb9eeab739f82570ae5adbe (commit)
via 40966ccf914d0289ee0e84c049b06f3606af738e (commit)
via f8cd44ed57c9f1ba77825aa949741f7a02bd08b0 (commit)
via 2f0dd88656925244a51a763ee0032f0963931dff (commit)
via 677cf61d18c7f4e7a16513ed96787b04f034a138 (commit)
via a912c618793646fd40dec6024dc70378dc033edb (commit)
via df42e566d39e2684f747a96ea0ee417d82427bc4 (commit)
via c24234ae068e910ffbb2574b7159715c7e4a7141 (commit)
via b9df1795cd61827f66a60ce6cd7edde8115b5b7f (commit)
via 3a2500e1a3628de9314d46459c47555f56a3a711 (commit)
via 767a8e2076101a7448265dfd3085a4aeaa625eda (commit)
via 4b467cf5cbddf2f24b931d1aa19c1e8b99804e3c (commit)
via ba4ead142db4b22e2823596f5860b85d6cba5ecf (commit)
via 2dafa4753683b1d68d6ec7e3293f2fd4e1290d15 (commit)
via a42fcb6d12877b504714982175b2e1a6b7c30223 (commit)
via 8a8fddca95f9a4f8778e7867797d4798d1aea735 (commit)
via 3086fc9ecfbdca81f66d436856d48d0656ea3b1c (commit)
via bddf6ea31d206404da2b996a4d4cd1744030f295 (commit)
via 89cb68ce41151437ee1b5e9ef79779162f0fe8b7 (commit)
via b369b21a34fdec2d4eecf7ca541eab134b4b4f69 (commit)
via 1085d061a2ded99cea81264971abfeafe22aa66f (commit)
via 891e7283fd5bf923bfb5731e3a9c294801278955 (commit)
via 829030ba9da901dac83587ab19865afb0c783962 (commit)
via 6fbd302e5cfd421f741415ddb576067a5bfb17a2 (commit)
via 52908636a521d9d5d33399ef01f9ff91eba8972f (commit)
via 637d70cf4ba56454a0b4861b22f58df3218a742d (commit)
via 944186e4a1317365fe2625b6980f93916eeee893 (commit)
via 6e8b5fee00e3fbeb0170c12cf827056df3ff2d45 (commit)
via 283a487eabbdb01f80a1d08c90588ccc5e0fb2b5 (commit)
via f8e324b5f132b91296bc42048053fd40bbdd6dd2 (commit)
via 46eae02df17b253473adcb3fbee915def6faf21a (commit)
via 6b37fbf4eb648ee104e6f7e15f18e86971725cae (commit)
via ffdbc84b364c6fba34cc75ae59cce0af3957840a (commit)
via 949f1cba189a1f184e3e7f175a3c6a37ca68b595 (commit)
from 57977f81558b43b3893bc5d911788e6454bbb7fb (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
2eafecb Support for Tesseract 2.x and 3.x in Scribo.
40966cc Handle Tesseract 2.x and 3.x in configuration.
f8cd44e Merge remote branch 'origin/next-next' into exp/next-build-ok
2f0dd88 configure.ac: Configure scribo/src/toolchain/nepomuk directory.
677cf61 Cleanup files.
a912c61 Add a new example.
df42e56 scribo/core/line_info.hh: Fix line statistics.
c24234a Update tests in Scribo.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 113 ++++++
HACKING | 16 +-
README | 63 +++-
configure.ac | 378 +++++++-------------
m4/autotroll.m4 | 3 +
m4/oln-with-lib.m4 | 171 ++++++++--
milena/ChangeLog | 75 ++++
milena/headers.mk | 1 +
milena/mln/algebra/vec.hh | 4 +-
milena/mln/fun/x2x/rotation.hh | 222 ++++++------
milena/mln/value/ops.hh | 6 +-
milena/tests/accu/Makefile.am | 10 +-
milena/tests/fun/x2x/composed.cc | 6 +-
milena/tests/labeling/Makefile.am | 11 +-
milena/tests/unit_test/Makefile.am | 10 +-
...rocessor_boost-tuple => cond_tests_boost-tuple} | 0
milena/tests/unit_test/unit-tests.mk | 8 +-
milena/tests/value/builtin/Makefile.am | 6 +-
.../tests/value/builtin/floatings.cc | 24 +-
scribo/ChangeLog | 74 ++++
scribo/scribo/core/line_info.hh | 37 ++-
scribo/scribo/debug/usage.hh | 9 +-
scribo/scribo/text/recognition.hh | 58 +++-
scribo/scribo/toolchain/nepomuk/text_extraction.hh | 9 +-
scribo/src/Makefile.am | 9 +-
scribo/src/pbm_text_in_doc.cc | 5 +-
scribo/src/text/Makefile.am | 6 +-
scribo/src/text/pbm_lines_recognition.cc | 4 +
scribo/src/text/pbm_recognition.cc | 4 +
scribo/src/text_in_picture.cc | 6 +-
scribo/src/text_recognition_in_picture.cc | 4 +
.../{tests/primitive => src/toolchain}/Makefile.am | 6 +-
.../{tests => src}/toolchain/nepomuk/Makefile.am | 36 +-
.../toolchain/nepomuk/text_extraction.cc | 40 ++-
scribo/tests/binarization/global_threshold.cc | 28 ++-
scribo/tests/binarization/local_threshold.cc | 34 ++-
scribo/tests/core/Makefile.am | 4 +-
.../line_info.cc} | 54 ++--
scribo/tests/filter/small_and_large_bboxes.cc | 2 +-
scribo/tests/img/pixels.pbm | 2 +-
scribo/tests/primitive/link/merge_double_link.cc | 7 +-
scribo/tests/toolchain/nepomuk/Makefile.am | 3 +-
scribo/tests/toolchain/nepomuk/text_extraction.cc | 4 +
scribo/tests/unit_test/cond_tests_tesseract_tiff | 1 +
scribo/tests/unit_test/unit-tests.mk | 8 +-
45 files changed, 1018 insertions(+), 563 deletions(-)
rename milena/tests/unit_test/{cond_tests_boost-preprocessor_boost-tuple => cond_tests_boost-tuple} (100%)
copy scribo/tests/toolchain/nepomuk/text_extraction.cc => milena/tests/value/builtin/floatings.cc (75%)
copy scribo/{tests/primitive => src/toolchain}/Makefile.am (91%)
copy scribo/{tests => src}/toolchain/nepomuk/Makefile.am (65%)
copy scribo/{tests => src}/toolchain/nepomuk/text_extraction.cc (73%)
copy scribo/tests/{filter/small_and_large_bboxes.cc => core/line_info.cc} (56%)
hooks/post-receive
--
Olena, a generic and efficient image processing platform
1
0

last-svn-commit-530-g84757c4 Have Swilena be in charge of its own configuration.
by Roland Levillain 25 Oct '10
by Roland Levillain 25 Oct '10
25 Oct '10
* configure.ac: Here.
* m4/pypath.m4, m4/swig.m4: Remove.
---
ChangeLog | 7 +++
configure.ac | 38 +--------------
m4/pypath.m4 | 6 --
m4/swig.m4 | 152 ----------------------------------------------------------
4 files changed, 8 insertions(+), 195 deletions(-)
delete mode 100644 m4/pypath.m4
delete mode 100644 m4/swig.m4
diff --git a/ChangeLog b/ChangeLog
index 3155d63..d83c303 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2010-10-25 Roland Levillain <roland(a)lrde.epita.fr>
+
+ Have Swilena be in charge of its own configuration.
+
+ * configure.ac: Here.
+ * m4/pypath.m4, m4/swig.m4: Remove.
+
2010-10-27 Roland Levillain <roland(a)lrde.epita.fr>
Remove a superfluous invocation of AM_CONDITIONAL regarding Magick++.
diff --git a/configure.ac b/configure.ac
index 1febf2c..ff423e5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -264,45 +264,9 @@ AC_CONFIG_SUBDIRS([external/trimesh])
AC_ARG_ENABLE([swilena],
[AS_HELP_STRING([--enable-swilena],
[build Swilena Python bindings])])
-AS_IF([test "x$enable_swilena" = xyes],
- [# Ensure dynamic libraries are enabled.
- if test "x$enable_shared" = xno; then
- AC_MSG_ERROR([`--enable-swilena' was given, but dynamic libraries are
-disabled. Try to invoke configure with `--enable-shared'.])
- fi
- # Check for SWIG.
- AC_PROG_SWIG([1.3.35])
- if (eval "$SWIG -version") >/dev/null 2>&1; then :; else
- AC_MSG_ERROR([SWIG 1.3.35 is required for Swilena])
- fi
- # Check for Python.
- AM_PATH_PYTHON([2.4], [],
- [AC_MSG_ERROR([Python 2.4 is required for Swilena.])])
- AS_VERSION_COMPARE([2.5], [$am_cv_python_version],
- [AC_MSG_WARN([Python 2.6 and greater may not work with Swilena.])])
- adl_CHECK_PYTHON
- # Check for Python headers.
- save_CPPFLAGS=$CPPFLAGS
- CPPFLAGS="$CPPFLAGS -I$PYTHONINC"
- AC_CHECK_HEADERS([Python.h], [],
- [AC_MSG_ERROR([`Python.h' is required for Swilena.
-Try adding `-I <Python include path>' to `CPPFLAGS'.])])
- CPPFLAGS=$save_CPPFLAGS])
AM_CONDITIONAL([ENABLE_SWILENA], [test "x$enable_swilena" = xyes])
+AC_CONFIG_SUBDIRS([swilena])
-AC_CONFIG_FILES([swilena/Makefile
- swilena/python/Makefile])
-
-AC_CONFIG_FILES([swilena/run], [chmod +x swilena/run])
-
-AC_CONFIG_FILES(m4_do([swilena/python/sps],
- [:swilena/python/sps-common.in],
- [:swilena/python/sps.in]),
- [chmod +x swilena/python/sps])
-AC_CONFIG_FILES(m4_do([swilena/python/sps-local],
- [:swilena/python/sps-common.in],
- [:swilena/python/sps-local.in]),
- [chmod +x swilena/python/sps-local])
dnl<<lrde
## -------- ##
diff --git a/m4/pypath.m4 b/m4/pypath.m4
deleted file mode 100644
index 5af6736..0000000
--- a/m4/pypath.m4
+++ /dev/null
@@ -1,6 +0,0 @@
-AC_DEFUN([adl_CHECK_PYTHON],
- [AM_PATH_PYTHON([2.0])
- AC_CACHE_CHECK([for $am_display_PYTHON includes directory],
- [adl_cv_python_inc],
- [adl_cv_python_inc=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_inc()" 2>/dev/null`])
- AC_SUBST([PYTHONINC], [$adl_cv_python_inc])])
diff --git a/m4/swig.m4 b/m4/swig.m4
deleted file mode 100644
index 46672c5..0000000
--- a/m4/swig.m4
+++ /dev/null
@@ -1,152 +0,0 @@
-dnl @synopsis AC_PROG_SWIG([major.minor.micro])
-dnl
-dnl This macro searches for a SWIG installation on your system. If found you
-dnl should call SWIG via $(SWIG). You can use the optional first argument to
-dnl check if the version of the available SWIG is greater than or equal to the
-dnl value of the argument. It should have the format: N[.N[.N]] (N is a
-dnl number between 0 and 999. Only the first N is mandatory.)
-dnl
-dnl If the version argument is given (e.g. 1.3.17), AC_PROG_SWIG checks that the
-dnl swig package is this version number or higher.
-dnl
-dnl In configure.in, use as:
-dnl
-dnl AC_PROG_SWIG(1.3.17)
-dnl SWIG_ENABLE_CXX
-dnl SWIG_MULTI_MODULE_SUPPORT
-dnl SWIG_PYTHON
-dnl
-dnl @author Sebastian Huber <sebastian-huber(a)web.de>, Alan W. Irwin <irwin(a)beluga.phys.uvic.ca>, Rafael Laboissiere <rafael(a)laboissiere.net>, and Andrew Collier <abcollier(a)yahoo.com>.
-dnl @version $Id: ac_pkg_swig.m4,v 1.2 2004/12/24 01:20:01 guidod Exp $
-dnl
-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 -lt $required_major \
- -o \( $available_major -eq $required_major \
- -a \( $available_minor -lt $required_minor \
- -o \( $available_minor -eq $required_minor \
- -a $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])
-])
-
-# SWIG_ENABLE_CXX()
-#
-# Enable SWIG C++ support. This affects all invocations of $(SWIG).
-AC_DEFUN([SWIG_ENABLE_CXX],[
- AC_REQUIRE([AC_PROG_SWIG])
- AC_REQUIRE([AC_PROG_CXX])
- SWIG="$SWIG -c++"
-])
-
-# SWIG_MULTI_MODULE_SUPPORT()
-#
-# Enable support for multiple modules. This effects all invocations
-# of $(SWIG). You have to link all generated modules against the
-# appropriate SWIG runtime library. If you want to build Python
-# modules for example, use the SWIG_PYTHON() macro and link the
-# modules against $(SWIG_PYTHON_LIBS).
-#
-AC_DEFUN([SWIG_MULTI_MODULE_SUPPORT],[
- AC_REQUIRE([AC_PROG_SWIG])
- SWIG="$SWIG -noruntime"
-])
-
-# SWIG_PYTHON([use-shadow-classes = {no, yes}])
-#
-# Checks for Python and provides the $(SWIG_PYTHON_CPPFLAGS),
-# and $(SWIG_PYTHON_OPT) output variables.
-#
-# $(SWIG_PYTHON_OPT) contains all necessary SWIG options to generate
-# code for Python. Shadow classes are enabled unless the value of the
-# optional first argument is exactly 'no'. If you need multi module
-# support (provided by the SWIG_MULTI_MODULE_SUPPORT() macro) use
-# $(SWIG_PYTHON_LIBS) to link against the appropriate library. It
-# contains the SWIG Python runtime library that is needed by the type
-# check system for example.
-AC_DEFUN([SWIG_PYTHON],[
- AC_REQUIRE([AC_PROG_SWIG])
- AC_REQUIRE([AC_PYTHON_DEVEL])
- test "x$1" != "xno" || swig_shadow=" -noproxy"
- AC_SUBST([SWIG_PYTHON_OPT],[-python$swig_shadow])
- AC_SUBST([SWIG_PYTHON_CPPFLAGS],[$PYTHON_CPPFLAGS])
-])
-
-
-dnl @synopsis AC_LIB_WAD
-dnl
-dnl This macro searches for installed WAD library.
-dnl
-AC_DEFUN([AC_LIB_WAD],
-[
- AC_REQUIRE([AC_PYTHON_DEVEL])
- AC_ARG_ENABLE(wad,
- AC_HELP_STRING([--enable-wad], [enable wad module]),
- [
- case "${enableval}" in
- no) ;;
- *) if test "x${enableval}" = xyes;
- then
- check_wad="yes"
- fi ;;
- esac
- ], [])
-
- if test -n "$check_wad";
- then
- AC_CHECK_LIB(wadpy, _init, [WADPY=-lwadpy], [], $PYTHON_LDFLAGS $PYTHON_EXTRA_LIBS)
- AC_SUBST(WADPY)
- fi
-])
--
1.5.6.5
1
0

last-svn-commit-529-g4964cd1 Have Swilena be in charge of its own configuration.
by Roland Levillain 25 Oct '10
by Roland Levillain 25 Oct '10
25 Oct '10
* configure.ac: Here.
* m4/pypath.m4, m4/swig.m4: Remove.
---
ChangeLog | 7 +++
configure.ac | 38 +--------------
m4/pypath.m4 | 6 --
m4/swig.m4 | 152 ----------------------------------------------------------
4 files changed, 8 insertions(+), 195 deletions(-)
delete mode 100644 m4/pypath.m4
delete mode 100644 m4/swig.m4
diff --git a/ChangeLog b/ChangeLog
index 3155d63..d83c303 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2010-10-25 Roland Levillain <roland(a)lrde.epita.fr>
+
+ Have Swilena be in charge of its own configuration.
+
+ * configure.ac: Here.
+ * m4/pypath.m4, m4/swig.m4: Remove.
+
2010-10-27 Roland Levillain <roland(a)lrde.epita.fr>
Remove a superfluous invocation of AM_CONDITIONAL regarding Magick++.
diff --git a/configure.ac b/configure.ac
index 1febf2c..ff423e5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -264,45 +264,9 @@ AC_CONFIG_SUBDIRS([external/trimesh])
AC_ARG_ENABLE([swilena],
[AS_HELP_STRING([--enable-swilena],
[build Swilena Python bindings])])
-AS_IF([test "x$enable_swilena" = xyes],
- [# Ensure dynamic libraries are enabled.
- if test "x$enable_shared" = xno; then
- AC_MSG_ERROR([`--enable-swilena' was given, but dynamic libraries are
-disabled. Try to invoke configure with `--enable-shared'.])
- fi
- # Check for SWIG.
- AC_PROG_SWIG([1.3.35])
- if (eval "$SWIG -version") >/dev/null 2>&1; then :; else
- AC_MSG_ERROR([SWIG 1.3.35 is required for Swilena])
- fi
- # Check for Python.
- AM_PATH_PYTHON([2.4], [],
- [AC_MSG_ERROR([Python 2.4 is required for Swilena.])])
- AS_VERSION_COMPARE([2.5], [$am_cv_python_version],
- [AC_MSG_WARN([Python 2.6 and greater may not work with Swilena.])])
- adl_CHECK_PYTHON
- # Check for Python headers.
- save_CPPFLAGS=$CPPFLAGS
- CPPFLAGS="$CPPFLAGS -I$PYTHONINC"
- AC_CHECK_HEADERS([Python.h], [],
- [AC_MSG_ERROR([`Python.h' is required for Swilena.
-Try adding `-I <Python include path>' to `CPPFLAGS'.])])
- CPPFLAGS=$save_CPPFLAGS])
AM_CONDITIONAL([ENABLE_SWILENA], [test "x$enable_swilena" = xyes])
+AC_CONFIG_SUBDIRS([swilena])
-AC_CONFIG_FILES([swilena/Makefile
- swilena/python/Makefile])
-
-AC_CONFIG_FILES([swilena/run], [chmod +x swilena/run])
-
-AC_CONFIG_FILES(m4_do([swilena/python/sps],
- [:swilena/python/sps-common.in],
- [:swilena/python/sps.in]),
- [chmod +x swilena/python/sps])
-AC_CONFIG_FILES(m4_do([swilena/python/sps-local],
- [:swilena/python/sps-common.in],
- [:swilena/python/sps-local.in]),
- [chmod +x swilena/python/sps-local])
dnl<<lrde
## -------- ##
diff --git a/m4/pypath.m4 b/m4/pypath.m4
deleted file mode 100644
index 5af6736..0000000
--- a/m4/pypath.m4
+++ /dev/null
@@ -1,6 +0,0 @@
-AC_DEFUN([adl_CHECK_PYTHON],
- [AM_PATH_PYTHON([2.0])
- AC_CACHE_CHECK([for $am_display_PYTHON includes directory],
- [adl_cv_python_inc],
- [adl_cv_python_inc=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_inc()" 2>/dev/null`])
- AC_SUBST([PYTHONINC], [$adl_cv_python_inc])])
diff --git a/m4/swig.m4 b/m4/swig.m4
deleted file mode 100644
index 46672c5..0000000
--- a/m4/swig.m4
+++ /dev/null
@@ -1,152 +0,0 @@
-dnl @synopsis AC_PROG_SWIG([major.minor.micro])
-dnl
-dnl This macro searches for a SWIG installation on your system. If found you
-dnl should call SWIG via $(SWIG). You can use the optional first argument to
-dnl check if the version of the available SWIG is greater than or equal to the
-dnl value of the argument. It should have the format: N[.N[.N]] (N is a
-dnl number between 0 and 999. Only the first N is mandatory.)
-dnl
-dnl If the version argument is given (e.g. 1.3.17), AC_PROG_SWIG checks that the
-dnl swig package is this version number or higher.
-dnl
-dnl In configure.in, use as:
-dnl
-dnl AC_PROG_SWIG(1.3.17)
-dnl SWIG_ENABLE_CXX
-dnl SWIG_MULTI_MODULE_SUPPORT
-dnl SWIG_PYTHON
-dnl
-dnl @author Sebastian Huber <sebastian-huber(a)web.de>, Alan W. Irwin <irwin(a)beluga.phys.uvic.ca>, Rafael Laboissiere <rafael(a)laboissiere.net>, and Andrew Collier <abcollier(a)yahoo.com>.
-dnl @version $Id: ac_pkg_swig.m4,v 1.2 2004/12/24 01:20:01 guidod Exp $
-dnl
-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 -lt $required_major \
- -o \( $available_major -eq $required_major \
- -a \( $available_minor -lt $required_minor \
- -o \( $available_minor -eq $required_minor \
- -a $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])
-])
-
-# SWIG_ENABLE_CXX()
-#
-# Enable SWIG C++ support. This affects all invocations of $(SWIG).
-AC_DEFUN([SWIG_ENABLE_CXX],[
- AC_REQUIRE([AC_PROG_SWIG])
- AC_REQUIRE([AC_PROG_CXX])
- SWIG="$SWIG -c++"
-])
-
-# SWIG_MULTI_MODULE_SUPPORT()
-#
-# Enable support for multiple modules. This effects all invocations
-# of $(SWIG). You have to link all generated modules against the
-# appropriate SWIG runtime library. If you want to build Python
-# modules for example, use the SWIG_PYTHON() macro and link the
-# modules against $(SWIG_PYTHON_LIBS).
-#
-AC_DEFUN([SWIG_MULTI_MODULE_SUPPORT],[
- AC_REQUIRE([AC_PROG_SWIG])
- SWIG="$SWIG -noruntime"
-])
-
-# SWIG_PYTHON([use-shadow-classes = {no, yes}])
-#
-# Checks for Python and provides the $(SWIG_PYTHON_CPPFLAGS),
-# and $(SWIG_PYTHON_OPT) output variables.
-#
-# $(SWIG_PYTHON_OPT) contains all necessary SWIG options to generate
-# code for Python. Shadow classes are enabled unless the value of the
-# optional first argument is exactly 'no'. If you need multi module
-# support (provided by the SWIG_MULTI_MODULE_SUPPORT() macro) use
-# $(SWIG_PYTHON_LIBS) to link against the appropriate library. It
-# contains the SWIG Python runtime library that is needed by the type
-# check system for example.
-AC_DEFUN([SWIG_PYTHON],[
- AC_REQUIRE([AC_PROG_SWIG])
- AC_REQUIRE([AC_PYTHON_DEVEL])
- test "x$1" != "xno" || swig_shadow=" -noproxy"
- AC_SUBST([SWIG_PYTHON_OPT],[-python$swig_shadow])
- AC_SUBST([SWIG_PYTHON_CPPFLAGS],[$PYTHON_CPPFLAGS])
-])
-
-
-dnl @synopsis AC_LIB_WAD
-dnl
-dnl This macro searches for installed WAD library.
-dnl
-AC_DEFUN([AC_LIB_WAD],
-[
- AC_REQUIRE([AC_PYTHON_DEVEL])
- AC_ARG_ENABLE(wad,
- AC_HELP_STRING([--enable-wad], [enable wad module]),
- [
- case "${enableval}" in
- no) ;;
- *) if test "x${enableval}" = xyes;
- then
- check_wad="yes"
- fi ;;
- esac
- ], [])
-
- if test -n "$check_wad";
- then
- AC_CHECK_LIB(wadpy, _init, [WADPY=-lwadpy], [], $PYTHON_LDFLAGS $PYTHON_EXTRA_LIBS)
- AC_SUBST(WADPY)
- fi
-])
--
1.5.6.5
1
0

last-svn-commit-530-gfc06105 Have Swilena be in charge of its own configuration.
by Roland Levillain 25 Oct '10
by Roland Levillain 25 Oct '10
25 Oct '10
* configure.ac: Here.
* m4/pypath.m4, m4/swig.m4: Remove.
---
ChangeLog | 7 +++
configure.ac | 38 +--------------
m4/pypath.m4 | 6 --
m4/swig.m4 | 152 ----------------------------------------------------------
4 files changed, 8 insertions(+), 195 deletions(-)
delete mode 100644 m4/pypath.m4
delete mode 100644 m4/swig.m4
diff --git a/ChangeLog b/ChangeLog
index 3155d63..d83c303 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2010-10-25 Roland Levillain <roland(a)lrde.epita.fr>
+
+ Have Swilena be in charge of its own configuration.
+
+ * configure.ac: Here.
+ * m4/pypath.m4, m4/swig.m4: Remove.
+
2010-10-27 Roland Levillain <roland(a)lrde.epita.fr>
Remove a superfluous invocation of AM_CONDITIONAL regarding Magick++.
diff --git a/configure.ac b/configure.ac
index 1febf2c..ff423e5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -264,45 +264,9 @@ AC_CONFIG_SUBDIRS([external/trimesh])
AC_ARG_ENABLE([swilena],
[AS_HELP_STRING([--enable-swilena],
[build Swilena Python bindings])])
-AS_IF([test "x$enable_swilena" = xyes],
- [# Ensure dynamic libraries are enabled.
- if test "x$enable_shared" = xno; then
- AC_MSG_ERROR([`--enable-swilena' was given, but dynamic libraries are
-disabled. Try to invoke configure with `--enable-shared'.])
- fi
- # Check for SWIG.
- AC_PROG_SWIG([1.3.35])
- if (eval "$SWIG -version") >/dev/null 2>&1; then :; else
- AC_MSG_ERROR([SWIG 1.3.35 is required for Swilena])
- fi
- # Check for Python.
- AM_PATH_PYTHON([2.4], [],
- [AC_MSG_ERROR([Python 2.4 is required for Swilena.])])
- AS_VERSION_COMPARE([2.5], [$am_cv_python_version],
- [AC_MSG_WARN([Python 2.6 and greater may not work with Swilena.])])
- adl_CHECK_PYTHON
- # Check for Python headers.
- save_CPPFLAGS=$CPPFLAGS
- CPPFLAGS="$CPPFLAGS -I$PYTHONINC"
- AC_CHECK_HEADERS([Python.h], [],
- [AC_MSG_ERROR([`Python.h' is required for Swilena.
-Try adding `-I <Python include path>' to `CPPFLAGS'.])])
- CPPFLAGS=$save_CPPFLAGS])
AM_CONDITIONAL([ENABLE_SWILENA], [test "x$enable_swilena" = xyes])
+AC_CONFIG_SUBDIRS([swilena])
-AC_CONFIG_FILES([swilena/Makefile
- swilena/python/Makefile])
-
-AC_CONFIG_FILES([swilena/run], [chmod +x swilena/run])
-
-AC_CONFIG_FILES(m4_do([swilena/python/sps],
- [:swilena/python/sps-common.in],
- [:swilena/python/sps.in]),
- [chmod +x swilena/python/sps])
-AC_CONFIG_FILES(m4_do([swilena/python/sps-local],
- [:swilena/python/sps-common.in],
- [:swilena/python/sps-local.in]),
- [chmod +x swilena/python/sps-local])
dnl<<lrde
## -------- ##
diff --git a/m4/pypath.m4 b/m4/pypath.m4
deleted file mode 100644
index 5af6736..0000000
--- a/m4/pypath.m4
+++ /dev/null
@@ -1,6 +0,0 @@
-AC_DEFUN([adl_CHECK_PYTHON],
- [AM_PATH_PYTHON([2.0])
- AC_CACHE_CHECK([for $am_display_PYTHON includes directory],
- [adl_cv_python_inc],
- [adl_cv_python_inc=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_inc()" 2>/dev/null`])
- AC_SUBST([PYTHONINC], [$adl_cv_python_inc])])
diff --git a/m4/swig.m4 b/m4/swig.m4
deleted file mode 100644
index 46672c5..0000000
--- a/m4/swig.m4
+++ /dev/null
@@ -1,152 +0,0 @@
-dnl @synopsis AC_PROG_SWIG([major.minor.micro])
-dnl
-dnl This macro searches for a SWIG installation on your system. If found you
-dnl should call SWIG via $(SWIG). You can use the optional first argument to
-dnl check if the version of the available SWIG is greater than or equal to the
-dnl value of the argument. It should have the format: N[.N[.N]] (N is a
-dnl number between 0 and 999. Only the first N is mandatory.)
-dnl
-dnl If the version argument is given (e.g. 1.3.17), AC_PROG_SWIG checks that the
-dnl swig package is this version number or higher.
-dnl
-dnl In configure.in, use as:
-dnl
-dnl AC_PROG_SWIG(1.3.17)
-dnl SWIG_ENABLE_CXX
-dnl SWIG_MULTI_MODULE_SUPPORT
-dnl SWIG_PYTHON
-dnl
-dnl @author Sebastian Huber <sebastian-huber(a)web.de>, Alan W. Irwin <irwin(a)beluga.phys.uvic.ca>, Rafael Laboissiere <rafael(a)laboissiere.net>, and Andrew Collier <abcollier(a)yahoo.com>.
-dnl @version $Id: ac_pkg_swig.m4,v 1.2 2004/12/24 01:20:01 guidod Exp $
-dnl
-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 -lt $required_major \
- -o \( $available_major -eq $required_major \
- -a \( $available_minor -lt $required_minor \
- -o \( $available_minor -eq $required_minor \
- -a $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])
-])
-
-# SWIG_ENABLE_CXX()
-#
-# Enable SWIG C++ support. This affects all invocations of $(SWIG).
-AC_DEFUN([SWIG_ENABLE_CXX],[
- AC_REQUIRE([AC_PROG_SWIG])
- AC_REQUIRE([AC_PROG_CXX])
- SWIG="$SWIG -c++"
-])
-
-# SWIG_MULTI_MODULE_SUPPORT()
-#
-# Enable support for multiple modules. This effects all invocations
-# of $(SWIG). You have to link all generated modules against the
-# appropriate SWIG runtime library. If you want to build Python
-# modules for example, use the SWIG_PYTHON() macro and link the
-# modules against $(SWIG_PYTHON_LIBS).
-#
-AC_DEFUN([SWIG_MULTI_MODULE_SUPPORT],[
- AC_REQUIRE([AC_PROG_SWIG])
- SWIG="$SWIG -noruntime"
-])
-
-# SWIG_PYTHON([use-shadow-classes = {no, yes}])
-#
-# Checks for Python and provides the $(SWIG_PYTHON_CPPFLAGS),
-# and $(SWIG_PYTHON_OPT) output variables.
-#
-# $(SWIG_PYTHON_OPT) contains all necessary SWIG options to generate
-# code for Python. Shadow classes are enabled unless the value of the
-# optional first argument is exactly 'no'. If you need multi module
-# support (provided by the SWIG_MULTI_MODULE_SUPPORT() macro) use
-# $(SWIG_PYTHON_LIBS) to link against the appropriate library. It
-# contains the SWIG Python runtime library that is needed by the type
-# check system for example.
-AC_DEFUN([SWIG_PYTHON],[
- AC_REQUIRE([AC_PROG_SWIG])
- AC_REQUIRE([AC_PYTHON_DEVEL])
- test "x$1" != "xno" || swig_shadow=" -noproxy"
- AC_SUBST([SWIG_PYTHON_OPT],[-python$swig_shadow])
- AC_SUBST([SWIG_PYTHON_CPPFLAGS],[$PYTHON_CPPFLAGS])
-])
-
-
-dnl @synopsis AC_LIB_WAD
-dnl
-dnl This macro searches for installed WAD library.
-dnl
-AC_DEFUN([AC_LIB_WAD],
-[
- AC_REQUIRE([AC_PYTHON_DEVEL])
- AC_ARG_ENABLE(wad,
- AC_HELP_STRING([--enable-wad], [enable wad module]),
- [
- case "${enableval}" in
- no) ;;
- *) if test "x${enableval}" = xyes;
- then
- check_wad="yes"
- fi ;;
- esac
- ], [])
-
- if test -n "$check_wad";
- then
- AC_CHECK_LIB(wadpy, _init, [WADPY=-lwadpy], [], $PYTHON_LDFLAGS $PYTHON_EXTRA_LIBS)
- AC_SUBST(WADPY)
- fi
-])
--
1.5.6.5
1
0
* configure.ac: New.
* configure.gnu: New.
* Makefile.am (ACLOCAL_AMFLAGS): New.
(EXTRA_DIST): Add configure.gnu and img/lena.pgm.
* AUTHORS: New.
* README: New.
* NEWS: New (imported from Olena and updated).
* COPYING: New (imported from Olena).
* INSTALL: New (generated by Automake).
* run.mk: Adjust paths.
* m4/pypath.m4, m4/swig.m4: New (imported from Olena).
* img/lena.pgm: New (imported from Milena).
* python/Makefile.am: Adjust paths.
(%-wrap.cc %.py): Likewise.
(MILENA_CPPFLAGS): New. Use it...
(AM_CPPFLAGS, AM_SWIGFLAGS): ...here.
(TOOLS_CXXFLAGS): Remove. Superseded by
(SWILENA_CXXFLAGS): ...this (new) variable.
(AM_CXXFLAGS): Adjust.
* python/data.py: Adjust path.
---
swilena/.gitignore | 18 ++
swilena/AUTHORS | 32 ++++
swilena/COPYING | 1 +
swilena/ChangeLog | 25 +++
INSTALL => swilena/INSTALL | 0
swilena/Makefile.am | 13 ++-
swilena/NEWS | 376 ++++++++++++++++++++++++++++++++++++++++++++
swilena/README | 277 ++++++++++++++++++++++++++++++++
swilena/configure.ac | 168 ++++++++++++++++++++
swilena/configure.gnu | 39 +++++
swilena/img/lena.pgm | 1 +
swilena/m4/pypath.m4 | 6 +
{m4 => swilena/m4}/swig.m4 | 0
swilena/python/Makefile.am | 13 +-
swilena/python/data.py | 4 +-
swilena/run.mk | 9 +-
16 files changed, 968 insertions(+), 14 deletions(-)
create mode 100644 swilena/.gitignore
create mode 100644 swilena/AUTHORS
create mode 120000 swilena/COPYING
copy INSTALL => swilena/INSTALL (100%)
create mode 100644 swilena/NEWS
create mode 100644 swilena/README
create mode 100644 swilena/configure.ac
create mode 100755 swilena/configure.gnu
create mode 120000 swilena/img/lena.pgm
create mode 100644 swilena/m4/pypath.m4
copy {m4 => swilena/m4}/swig.m4 (100%)
diff --git a/swilena/.gitignore b/swilena/.gitignore
new file mode 100644
index 0000000..994b291
--- /dev/null
+++ b/swilena/.gitignore
@@ -0,0 +1,18 @@
+/build-aux/config.guess
+/build-aux/config.sub
+/build-aux/depcomp
+/build-aux/install-sh
+/build-aux/ltmain.sh
+/build-aux/missing
+/build-aux/py-compile
+
+/m4/libtool.m4
+/m4/ltoptions.m4
+/m4/ltsugar.m4
+/m4/ltversion.m4
+/m4/lt~obsolete.m4
+
+/*aclocal.m4
+/autom4te.cache*
+/configure
+/configure.scan
diff --git a/swilena/AUTHORS b/swilena/AUTHORS
new file mode 100644
index 0000000..2e82a7e
--- /dev/null
+++ b/swilena/AUTHORS
@@ -0,0 +1,32 @@
+This package was written by and with the assistance of
+
+==================
+Active LRDE Staff.
+==================
+
+* Guillaume Lazzara z(a)lrde.epita.fr
+* Roland Levillain roland(a)lrde.epita.fr
+
+================================
+Past contributors of LRDE Staff.
+================================
+
+* Akim Demaille akim(a)lrde.epita.fr
+
+=========
+Students.
+=========
+
+* Nicolas Burrus
+* David Lesage
+* Giovanni Palma
+* Raphaël Poss
+* Damien Thivolle
+* Niels Van Vliet
+* Astrid Wang
+
+
+.. Local Variables:
+.. mode: rst
+.. ispell-local-dictionary: "american"
+.. End:
diff --git a/swilena/COPYING b/swilena/COPYING
new file mode 120000
index 0000000..012065c
--- /dev/null
+++ b/swilena/COPYING
@@ -0,0 +1 @@
+../COPYING
\ No newline at end of file
diff --git a/swilena/ChangeLog b/swilena/ChangeLog
index 6d31d60..37c591f 100644
--- a/swilena/ChangeLog
+++ b/swilena/ChangeLog
@@ -1,5 +1,30 @@
2010-10-25 Roland Levillain <roland(a)lrde.epita.fr>
+ Autoconfiscate Swilena.
+
+ * configure.ac: New.
+ * configure.gnu: New.
+ * Makefile.am (ACLOCAL_AMFLAGS): New.
+ (EXTRA_DIST): Add configure.gnu and img/lena.pgm.
+ * AUTHORS: New.
+ * README: New.
+ * NEWS: New (imported from Olena and updated).
+ * COPYING: New (imported from Olena).
+ * INSTALL: New (generated by Automake).
+ * run.mk: Adjust paths.
+ * m4/pypath.m4, m4/swig.m4: New (imported from Olena).
+ * img/lena.pgm: New (imported from Milena).
+ * python/Makefile.am: Adjust paths.
+ (%-wrap.cc %.py): Likewise.
+ (MILENA_CPPFLAGS): New. Use it...
+ (AM_CPPFLAGS, AM_SWIGFLAGS): ...here.
+ (TOOLS_CXXFLAGS): Remove. Superseded by
+ (SWILENA_CXXFLAGS): ...this (new) variable.
+ (AM_CXXFLAGS): Adjust.
+ * python/data.py: Adjust path.
+
+2010-10-25 Roland Levillain <roland(a)lrde.epita.fr>
+
Fix Swilena's dependency tracking.
* python/Makefile.am (%-wrap.cc %.py): Honor Automake's `AMDEP'
diff --git a/INSTALL b/swilena/INSTALL
similarity index 100%
copy from INSTALL
copy to swilena/INSTALL
diff --git a/swilena/Makefile.am b/swilena/Makefile.am
index 109fb2e..f696032 100644
--- a/swilena/Makefile.am
+++ b/swilena/Makefile.am
@@ -1,4 +1,5 @@
-# Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE).
+# Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+# Laboratory (LRDE).
#
# This file is part of Olena.
#
@@ -14,8 +15,13 @@
# You should have received a copy of the GNU General Public License
# along with Olena. If not, see <http://www.gnu.org/licenses/>.
+ACLOCAL_AMFLAGS = -I m4
+
SUBDIRS = python
+# `configure' wrapper used in recursive configuration.
+EXTRA_DIST = configure.gnu
+
# Meta-wrappers (templates), not generating a module, but factoring
# common parts.
meta_wrappers = \
@@ -50,6 +56,9 @@ wrappers = \
\
dynamic_image2d.i
-EXTRA_DIST = $(meta_wrappers) $(wrappers)
+EXTRA_DIST += $(meta_wrappers) $(wrappers)
+
+# Images used in tests.
+EXTRA_DIST += img/lena.pgm
check_SCRIPTS = run
diff --git a/swilena/NEWS b/swilena/NEWS
new file mode 100644
index 0000000..2054481
--- /dev/null
+++ b/swilena/NEWS
@@ -0,0 +1,376 @@
+* Swilena 1.0a
+
+ * Starting with Olena 1.1, Swilena is an independent component
+ of the project, distributed both together with the Olena
+ package and as a standalone package.
+
+ * Misc fixes and improvements.
+
+
+* Olena 1.0 July 14, 2009
+
+ * The core C++ library, renamed to Milena, has been rewritten from
+ scratch and features numerous additions over the past releases.
+ Some features have also been dropped or disabled, and some of them
+ will be reintegrated in future releases. The programming
+ interface has changed from previous versions, but most programs
+ using Olena 0.11 can be adapted to the Olena 1.0 API.
+
+ * Milena uses a simplified version of the SCOOP 2 paradigm
+ (informally called SCOOP 1.5), to improve the speed of compilation
+ and make developing easier while still providing very good
+ run-time performances.
+
+ * A first (re)implementation of Swilena featuring Python wrappers
+ for a very small subset of Milena is available. The bundled
+ Swilena Python Shell (sps) allows interactive Olena sessions.
+
+ * A reference documentation including a tutorial and a quick
+ reference guide have been started. They do not cover the whole
+ Milena library yet.
+
+ * Olena includes some demos and applications using Milena.
+
+
+* Olena 0.11 February 21, 2007
+
+ * The whole Olena distribution compiles with the GNU C++
+ Compiler (G++) 4.0 and 4.1. The compatibility with previous
+ versions of the compiler has been broken.
+
+ * Revamp of Swilena.
+ The Swilena wrappers have been repaired, as they had become
+ incompatible with recent versions of SWIG, G++, Python and Ruby.
+ Moreover, a lot of small bugs have been fixed in Swilena.
+ The test suite of Rblena, the Ruby wrappers for Olena, has
+ been completed and is comparable to Pylena's (the Python
+ wrappers for Olena).
+
+ * Libtool.
+ The whole package uses GNU Libtool to handle libraries.
+ Swilena benefits this, and uses Libtool to create shared
+ libraries upon which SWIG wrappers are built.
+
+ * Miscellaneous corrections in Olena and Integre, as well as in
+ their test suites.
+
+
+* Olena 0.10 April 15, 2004
+
+ * New documentation system.
+ Now any comment should use Doxygen style (i.e. /*! ... */).
+ You can also write some programs inside the comments. They are
+ compiled at documentation generation time. It is useful to
+ illustrate some algorithms with concrete input and output. To
+ use this feature the program has to be between \code and \endcode
+ tags. If you produce an image, you can include it in the comments
+ with the \image command, using the same name you used to produce
+ it, but with the png extension. To make sure your image will not
+ overwrite another existing one, you should name it taking care of
+ the namespace you are using: e.g. if you comment the function
+ oln::boo::bar::fun, the image should be named oln_foo_bar_fun.ppm.
+ The macros IMG_IN and IMG_OUT correspond to the path of the images.
+
+ * Border behavior can be controlled with the behavior hierarchy.
+ If an algorithm support it, you can choose the way the image
+ border will be seen. Three behaviors are available: mirror,
+ replicate or user defined value.
+
+ * Attribute opening/closing enhancement
+ - Make the algorithm more generic.
+ - Add a lot of attributes (area, disk, square, dist,
+ rectangle, volume, height, maxvalue, minvalue).
+
+ * Change the color conversion system
+ - CIE RGB is the main color system i.e. it can be converted
+ directly into any other color system.
+ - Conversion between 2 color systems should pass by the RGB one.
+
+ * Generic and concrete morphers are now implemented in Olena.
+ - Five morphers are included in this release:
+ Color morpher
+ Sub quantifying morpher
+ Piece morpher
+ Iter morpher
+ Slicing morpher
+ - These morphers can be manipulated as if they were normal images.
+
+
+* Olena 0.9 August 8, 2003
+
+ * New static hierarchy paradigm
+ - Complete rewrite of the image hierarchy.
+ - The new hierarchy benefits from multiple inheritance and
+ diamond constructs.
+ - Objects' abstract interfaces made available, leading to
+ safer and easier algorithm writing.
+ - Label images such as binary_image or vectorial_image added.
+
+ * Partial rewrite of images I/O
+ - Support for 1d, 3d images and windows.
+ - Better handling of built-in types.
+
+ * Color conversions fixed and improved.
+
+ * Cleanup and coding style conformance.
+
+ * Many bug fixes.
+ * Improved test-suite.
+
+
+* Olena 0.8 April 10, 2003
+
+ IMPORTANT NOTE: This version is not compatible with older
+ versions of Olena. The project has been split into three part,
+ so many header files have moved and new namespaces have been
+ created. Please read the UPGRADING file for more information.
+
+ * Many source code cleanups.
+ * The source code has been split into 3 parts: image
+ processing (olena/), data types (integre/) and meta-programming
+ tools (metalic/).
+ * First part of the new static hierarchy paradigm implementation.
+ * Support for combinatorial maps.
+ * Many bug fixes.
+
+
+* Olena 0.7 February 10, 2003
+
+ * Manual pages for the command-line utilities.
+ * New, saner, source tree layout.
+ * Each `part' of the source tree can be excluded from the
+ build process with configuration flags.
+ * New `oln.m4' file for use by autoconf'ed user projects.
+ * Major documentation updates.
+ * New `oln-config.sh' scripts for user Makefiles.
+ * Olena now works on Mac OS X, NetBSD, FreeBSD and Cygwin.
+
+
+* Olena 0.6 January 15, 2003
+
+ * Complete rewriting of data types.
+ * Command line utilities.
+ * Fully implementation of convolutions
+ * Fast Fourier Transform (FFT)
+ * Discrete Wavelet Transform (Daubechie's wavelet) (DWT)
+ * Many bug fixes.
+
+
+* Olena 0.5 July 25, 2002
+
+ * Documentation in LaTeX (instead of Texinfo).
+ * Support reading/writing gziped images
+ (include <oln/io/gz.hh> and link with libz).
+ * Complete rewrite of the static arrays
+ (meta::array1d, meta::array2d, meta::array3d).
+ * Preliminary implementation of convolutions
+ (oln::convol::convolve)
+ * All headers should now be referenced with the `oln/' prefix,
+ as in `#include <oln/basics2d.hh>'.
+ * New conversion operator: convert::stretch.
+ * Many bug fixes.
+
+
+* Olena 0.4.1 April 25, 2002
+
+ * Buglet in the 0.4 Makefiles.
+
+
+* Olena 0.4 April 24, 2002
+
+ * New morpho:: operators:
+ - thinning
+ - thickening
+ * New convert:: operators:
+ - ng_to_se
+ - ng_to_cse
+ * First sketch of a test suite.
+ * Many bug fixes.
+
+
+* Olena 0.3 January 14, 2002
+
+ * fast_morpho() speeded-up.
+ * Minor bug fixes.
+ * "Documentation" updates.
+
+
+* Olena 0.2b December 13, 2001
+
+ * Value:
+ - Support for HSL and HSV color systems.
+ - Define internal::default_less<vec<N,T>>.
+
+ * Core:
+ - New window generator: mk_win_ellipse, mk_win_disc,
+ mk_win_ellipsoid, and mk_win_ball.
+
+ * Various #include fixes.
+
+
+* Olena 0.2 November 28, 2001
+
+ * Color:
+ - nrgb_8, nrgb_16, nrgb_32: new types for NTSC RGB. The
+ conversion from and to YIQ and HSI which assumed NTSC RGB
+ has been adjusted to actually use nrgb_* (instead of rgb_*)
+ and renamed accordingly.
+ - yuv_8, yuv_16, yuv_32: New types.
+
+ The currently available conversions are
+
+ hsi yuv
+ \ /
+ rgb -- nrgb
+ \ / \
+ xyz yiq
+
+ * Various cleanups and bug fixes. Especially:
+ - border handling (mirroring, copying) simplified and fixed.
+ - ++k, --k: return a value with the same type as k.
+
+ * I/O:
+ - pnm/P1, pnm/P3, and pnm/P6 support for image_3d.
+
+
+* Olena 0.1f November 22, 2001
+
+ * Core:
+ - Several bug fixes in memory handling.
+
+ * Types:
+ - New color types: HSI, YIQ; with conversions to and from RGB.
+ - `min()' and `max()' are now defined with the types (i.e.
+ not in math/macros.hh), along with the other operators.
+ Also, these procedures will two arguments of different
+ types.
+
+ * Casts:
+ - `cast::round': similar to C's round()
+ - `cast::rbound': ditto, but constrained to fit the
+ output type's range.
+
+ * I/O:
+ - Support for `image_3d<int_u<N> >' (as PNM P2 & P5).
+
+ * Processings
+ - `level::is_greater_or_equal', `level::is_greater',
+ `level::is_lower_or_equal', `level::is_lower',
+ `level::is_equal': Comparisons between images.
+ - `level::connected_component': Number connected components.
+ - `morpho::geodesic_dilation', `morpho::simple_geodesic_dilation'.
+ - `morpho::geodesic_erosion', `morpho::simple_geodesic_erosion'.
+ - `morpho::get_plus_se_only', `morpho::get_plus_se_p',
+ `morpho::get_minus_se_only', `morpho::get_minus_se_p': Split
+ a structural element in a `plus' (lexically before than the center)
+ and `minus' (after).
+
+ * Misc:
+ - `utils::timer': for benchmarking
+ - `level::lut', `level::hlut': Lookup tables.
+
+
+* Olena 0.1d November 15, 2001
+
+ * Core:
+ - `point's, `dpoint's, and `image_size's feature a `nth()' method,
+ that returns the value of the nth coordinate.
+ - `fold': new high order operator.
+
+ * Types:
+ - `vec<N,T>' uses an array to store its elements
+ and accepts builtin types.
+ - `rgb<T>' has been replaced by `rgb_8', `rgb_16', `rgb_32'
+ - `xyz_8', `xyz_16', `xyz_32' are new types.
+ - the latter six types are instances of the `color' type.
+
+ * Processings:
+ - All basic morphological processings (`opening',
+ `hit_or_miss', `beucher_gradient', etc.) from namespace
+ `morpho::' have their fast equivalent in namespace
+ `morpho::fast::'.
+ - `convert::apply' is similar to `apply' but will work
+ for all types of conversions while `apply' can only work
+ on `conversion_to_type' conversions.
+
+ * Tools:
+ - `utils::fill': fill an image
+ - `utils::f_moments', `utils::f_minmax': statistical functors.
+
+ * Casts:
+ - `cast::bound': similar to `convert::bound'.
+
+ * I/O:
+ - It's possible to load and save as PPM any kind of image2d
+ whose color has 3 components on 8 bits.
+
+
+* Olena 0.1b November 8, 2001
+
+ * New type: rgb<T>
+
+ * New processings:
+ - morpho::watershed_con
+ - convol::fast::gaussian
+ - convol::fast::gaussian_derivative
+ - convol::fast::gaussian_second_derivative
+
+ * Conversion are organized in the following hierarchy
+
+ conversion<Inferior>
+ ^
+ |
+ conversion_to_type<To,Inferior>
+ ^
+ |
+ conversion_from_type_to_type<From,To,Inferior>
+
+ All children of conversion_from_type_to_type are models of
+ Adaptable Unary Function. See conversion.hh for more comments.
+
+ * The only two functions that perform file i/o are `load' and
+ `save'. The other functions (`read', `write', `read_pnm',
+ `write_pnm') have been removed.
+
+ * image2d<rgb<int_u8> > can be loaded and saved as ppm.
+
+ * All iterators support a new method, cur(), that returns
+ the current point (or dpoint). It is meant to be used
+ at places where the compiler is unable to implicitly convert
+ an iterator into a point (or dpoint).
+
+ * Bug fixes:
+ - Olena now compiles successfully with -pedantic.
+ - `image2d<int_u8> lena = load("lena.pgm");' works.
+ - Multiplications and subtractions on 'vec' no longer
+ perform additions.
+
+
+* Olena 0.1 November 1, 2001
+
+ * Initial public release.
+
+
+Local Variables:
+mode: outline
+ispell-local-dictionary: "american"
+End:
+
+----
+
+Copyright (C) 2001, 2002, 2003, 2004, 2007, 2009, 2010 EPITA Research and
+Development Laboratory (LRDE)
+
+This file is part of Olena.
+
+Olena 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, version 2 of the License.
+
+Olena 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 Olena. If not, see <http://www.gnu.org/licenses/>.
diff --git a/swilena/README b/swilena/README
new file mode 100644
index 0000000..69c7f3e
--- /dev/null
+++ b/swilena/README
@@ -0,0 +1,277 @@
+Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+Laboratory (LRDE)
+
+This file is part of Olena.
+
+Olena 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, version 2 of the License.
+
+Olena 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 Olena. If not, see <http://www.gnu.org/licenses/>.
+
+The complete GNU General Public License Notice can also be found in
+the 'COPYING' file in the root directory.
+
+
+=======================
+Introduction to Swilena
+=======================
+
+Swilena is a part of Olena_, a generic and efficient platform
+dedicated to image processing.
+
+.. _Olena: http://olena.lrde.epita.fr
+
+Swilena provides bindings of the Milena C++ library (also a part of
+Olena) to other languages (currently Python).
+
+Swilena is distributed in two ways:
+
+ * as a component of the Olena package
+
+ * and a standalone package.
+
+If you obtained Swilena as an project embedded an Olena package, we
+advise you to read Olena's README, at the top-level directory of the
+package, and not to configure nor compile Swilena separately (i.e., do
+not use `swilena/configure', use the top-level `configure' instead
+and run `make' from the top-level directory).
+
+Otherwise, you are in the case of a standalone package, and you might
+want to read the rest of this file.
+
+
+==========================================
+Detailed Instructions (Standalone Package)
+==========================================
+
+-----------------
+Required Software
+-----------------
+
+Here is a non-exhaustive list of required software required to build
+Swilena successfully.
+
+ * to compile the user examples:
+
+ - a POSIX shell, like Bash
+
+ - a decent C++ compiler, like GNU C++
+
+ - a `make' utility, like GNU `make'
+
+ - the Simplified Wrapper and Interface Generator (SWIG_).
+
+ - Python_
+
+.. _SWIG: http://www.swig.org
+
+.. _Python: http://www.python.org
+
+
+If you are using a standalone version of Swilena, you also need a
+working Milena_ install (Milena is shipped with Olena).
+
+.. _Milena: http://olena.lrde.epita.fr
+
+
+-------------
+Configuration
+-------------
+
+In order to prepare the build process, you need to configure the source
+tree.
+
+ Assuming your Swilena distribution is uncompressed in directory
+`swilena-1.1', follow these steps:
+
+ % cd swilena-1.1
+ % mkdir _build
+ % cd _build
+ % ../configure
+
+ The build process can be altered by a number of options you can pass
+to the `configure' script. The following sections describe them.
+
+
+Milena path
+===========
+
+Swilena requires the Milena library. If Swilena's `configure' is
+unable to find your installation of Milena, or if you want to use a
+specific installation, you must help `configure' find it using the
+`--with-milena' flag. For instance, if you have installed Milena in
+`$HOME/local', replace the call to `configure' from the previous
+section by this command:
+
+ % ../configure --with-milena=$HOME/local
+
+
+Installation Path
+=================
+
+By default, Swilena is installed in the standard "local" directory of
+your system. This is usually `/usr/local' under Unix.
+
+ You can change this path with the following flag:
+
+ --prefix=<installation prefix>
+
+
+Compiler Selection and Compilation Flags
+========================================
+
+By default, `configure' will try to use the first C++ compiler it
+encounters on your system. If `CXX' is not set, it will look, in order,
+for:
+
+ - the value of the `CXX' environment variable,
+
+ - the GNU C++ compiler (`g++'),
+
+ - the `c++' or `gpp' commands on your system,
+
+ - `aCC', the HP-UX standard C++ compiler,
+
+ - the `CC', `cxx', `cc++' or `cl' commands on your system,
+
+ - KAI's C++ compiler (`KCC'),
+
+ - `RCC', `xlC_r' or `xlC'.
+
+ You can override the detection system by passing your favorite
+compiler name to `configure', as follows:
+
+ % ../configure CXX=<your-favorite-C++-compiler>
+
+ As an alternative, you can also set the environment variable `CXX'.
+
+
+ For some compilers (GNU g++ and Intel's icpc to some extent) ,
+`configure' will use default CXXFLAGS. You can override the default
+C++ flags by giving `configure' your selection of flags:
+
+ % ../configure CXXFLAGS="<your-favorite-flags>"
+
+
+--------
+Building
+--------
+
+Once your build directory is `configure'd, you can run
+
+ % make
+
+to build Swilena.
+
+
+ Additionally, you can build and run the test suite with:
+
+ % make check
+
+However, this process is time- and memory- consuming, and you probably
+do not need it except if you are developing/debugging Swilena.
+
+
+----------
+Installing
+----------
+
+To install Swilena on your system, run:
+
+ % make install
+
+from the build directory.
+
+ If not overridden with `--prefix', this will install:
+
+ * the Swilena Python Shell (`sps' script) in `/usr/local/bin',
+
+ * Python bindings in `/usr/local/lib/python2.x/site-packages/'.
+
+
+ You can later remove Swilena from your system by running
+
+ % make uninstall
+
+from the build directory (if you have kept it). We recommend the use
+of GNU Stow (or any similar program) during the installation of Swilena,
+to make the uninstallation of Swilena easier.
+
+
+=====================
+Layout of the Tarball
+=====================
+
+The Swilena project directory layout is as follows:
+
+build-aux
+ Auxiliary tools used by the GNU Build System during ``configure``
+ and ``make`` stages.
+
+img
+ Some (2D) images, mostly used for test purpose.
+
+m4
+ Extra Autoconf macros.
+
+python
+ Some Python bindings for Milena.
+
+
+===================
+Supported Platforms
+===================
+
+Swilena has been tested on the following configurations:
+
+=========================== =============================================
+System Compiler
+=========================== =============================================
+GNU/Linux on IA-32 g++ (GNU GCC) 3.3, 4.1, 4.2 and 4.4
+GNU/Linux on IA-32 icpc (Intel C/C++ Compiler) 10.1 and 11.0
+GNU/Linux on AMD64/Intel 64 g++ (GNU GCC) 4.1
+Mac OS X (10.6) on IA-32 g++ (GNU GCC) 4.2.1
+=========================== =============================================
+
+
+See Also
+========
+
+There are other sources of interest in the distribution.
+
+- Headline news about the project can be found in the file ``NEWS`` at
+ the root of the source tree.
+
+
+License
+=======
+
+Swilena is released under the GNU General Public Licence. See the file
+``COPYING`` (at the root of the source tree) for details.
+
+
+Contacts
+========
+
+The team can be reached by mail at olena(a)lrde.epita.fr. The snail
+mail address follows.
+
+* Olena - LRDE
+
+ | Laboratoire de Recherche et Développement de l'EPITA (LRDE)
+ | 14-16 rue Voltaire
+ | FR-94276 Le Kremlin-Bicêtre CEDEX
+ | France
+
+
+
+.. Local Variables:
+.. mode: rst
+.. End:
diff --git a/swilena/configure.ac b/swilena/configure.ac
new file mode 100644
index 0000000..a0c90f3
--- /dev/null
+++ b/swilena/configure.ac
@@ -0,0 +1,168 @@
+# Copyright (C) 2006, 2007, 2008, 2009, 2010 EPITA Research and
+# Development Laboratory (LRDE).
+#
+# This file is part of Olena.
+#
+# Olena 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, version 2 of the License.
+#
+# Olena 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 Olena. If not, see <http://www.gnu.org/licenses/>.
+
+m4_pattern_forbid([^OLN_])
+
+AC_PREREQ([2.61])
+
+
+## ---------------- ##
+## Package set up. ##
+## ---------------- ##
+
+AC_INIT([Swilena], [1.0a], [olena(a)lrde.epita.fr] [swilena])
+
+# M4 macros.
+AC_CONFIG_MACRO_DIR([m4])
+
+# Auxiliary files.
+AC_CONFIG_AUX_DIR([build-aux])
+
+# Automake.
+AM_INIT_AUTOMAKE([1.10 subdir-objects check-news dist-bzip2 nostdinc -Wall])
+
+## --------------------- ##
+## C++ compiler set up. ##
+## --------------------- ##
+
+# If the user doesn't provide any CXXFLAGS, prevent Autoconf from
+# settings its own default ones (e.g., `-g -O2' for g++).
+if test ! ${CXXFLAGS+set}; then
+ CXXFLAGS=""
+fi
+
+# Look for a C++ compiler.
+AC_LANG([C++])
+AC_PROG_CXX
+
+# Set `ICPC' to `yes' if the Intel C++ compiler is used.
+test $CXX --version 2>/dev/null | grep '\bICC\b' >/dev/null 2>&1 && ICPC=yes
+
+# GNU C++ compiler setup.
+if test "$GXX" = yes; then
+ # Speed up compiling times.
+ CXXFLAGS="$CXXFLAGS -pipe"
+
+ # The code generated for mln::data::impl::memcpy__() by g++ 4.2 with
+ # a high optimization level (`-O3') and without
+ # `-fno-strict-aliasing' might be wrong, at least with Debian's g++
+ # 4.2 on IA-32 (see also milena/mln/memcpy_.hh). We observed this
+ # behavior with e.g. milena/apps/graph-morpho/samples-image2d.cc.
+ # Note that Debian's g++ 4.0, 4.1, 4.3 and 4.4 are fine.
+ #
+ # So, when the C++ compiler is g++ 4.2, set STRICT_ALIASING_CXXFLAGS
+ # to `-fno-strict-aliasing'.
+ if $CXX --version | head -n 1 | grep '\b4\.2' >/dev/null 2>&1; then
+ STRICT_ALIASING_CXXFLAGS=-fno-strict-aliasing
+ fi
+fi
+AC_SUBST([STRICT_ALIASING_CXXFLAGS])
+
+
+# Adjusting warning options according to compilers.
+AC_ARG_VAR([WARNINGS_CXXFLAGS], [C++ compiler warning flags])
+case "$CXX" in
+ # Intel compiler
+ *icpc*)
+ WARNINGS_CXXFLAGS="-Wall -wd111,193,279,383,444,522,654,810,981,1418"
+ ;;
+ *)
+ WARNINGS_CXXFLAGS="-Wall -W"
+ ;;
+esac
+
+
+## -------- ##
+## Milena. ##
+## -------- ##
+
+# The current approach to providing Swilena a path to Milena's headers
+# is naive: for instance, we cannot provide two paths (source and
+# build dirs) in the case of an Olena build using a parallel build
+# (where srcdir != builddir). Improve if needed.
+
+AC_ARG_WITH([milena],
+ [AC_HELP_STRING([--with-milena=DIR], [path to Milena headers])],
+ [if test x"$with_milena" = xno; then
+ AC_MSG_ERROR([Milena is required for Swilena. Try to invoke configure
+without `--with-milena=no' nor `--without-milena.'])
+ fi])
+if test -n "$with_milena" && test x"$with_milena" != xyes; then
+ MILENA_CPPFLAGS="-I$with_milena"
+fi
+swl_save_CPPFLAGS=$CPPFLAGS
+CPPFLAGS="$MILENA_CPPFLAGS $CPPFLAGS"
+AC_CHECK_HEADER([mln/core/essential.hh], [],
+ AC_MSG_ERROR([Cannot find Milena's headers. Try to invoke configure with
+`--with-milena=DIR'.]))
+CPPFLAGS=$swl_save_CPPFLAGS
+AC_SUBST([MILENA_CPPFLAGS])
+
+
+## --------- ##
+## Swilena. ##
+## --------- ##
+
+# Use Libtool.
+# To be replaced by a call to LT_INIT as soon as Libtool 2.2 is used.
+AC_PROG_LIBTOOL
+
+# Ensure dynamic libraries are enabled.
+if test "x$enable_shared" = xno; then
+ AC_MSG_ERROR([Dynamic libraries are disabled. Try to invoke
+configure with `--enable-shared'.])
+fi
+# Check for SWIG.
+AC_PROG_SWIG([1.3.35])
+if (eval "$SWIG -version") >/dev/null 2>&1; then :; else
+ AC_MSG_ERROR([SWIG 1.3.35 is required for Swilena])
+fi
+# Check for Python.
+AM_PATH_PYTHON([2.4], [],
+ [AC_MSG_ERROR([Python 2.4 is required for Swilena.])])
+AS_VERSION_COMPARE([2.5], [$am_cv_python_version],
+ [AC_MSG_WARN([Python 2.6 and greater may not work with Swilena.])])
+adl_CHECK_PYTHON
+# Check for Python headers.
+save_CPPFLAGS=$CPPFLAGS
+CPPFLAGS="$CPPFLAGS -I$PYTHONINC"
+AC_CHECK_HEADERS([Python.h], [],
+ [AC_MSG_ERROR([`Python.h' is required for Swilena.
+Try adding `-I <Python include path>' to `CPPFLAGS'.])])
+CPPFLAGS=$save_CPPFLAGS
+
+AC_ARG_VAR([SWILENA_CXXFLAGS], [C++ compiler flags for tools])
+# We want fast binaries for tools.
+if test -z "$SWILENA_CXXFLAGS"; then
+ if test "$GXX" = yes; then
+ SWILENA_CXXFLAGS="-O3 -DNDEBUG -ggdb $WARNINGS_CXXFLAGS"
+ elif test "$ICPC" = yes; then
+ SWILENA_CXXFLAGS="-O3 -DNDEBUG -g $WARNINGS_CXXFLAGS"
+ fi
+fi
+
+AC_CONFIG_FILES([Makefile
+ python/Makefile])
+
+AC_CONFIG_FILES([run], [chmod +x run])
+
+AC_CONFIG_FILES([python/sps:python/sps-common.in:python/sps.in],
+ [chmod +x python/sps])
+AC_CONFIG_FILES([python/sps-local:python/sps-common.in:python/sps-local.in],
+ [chmod +x python/sps-local])
+
+AC_OUTPUT
diff --git a/swilena/configure.gnu b/swilena/configure.gnu
new file mode 100755
index 0000000..09a9463
--- /dev/null
+++ b/swilena/configure.gnu
@@ -0,0 +1,39 @@
+#! /bin/sh
+
+# This `configure.gnu' script is invoked by the parent `configure'
+# instead of `configure' in recursive configurations (see
+# ``Configuring Other Packages in Subdirectories'' in Autoconf's
+# manual). This is convenient to pass extra options, like the path to
+# Milena's source directory.
+#
+# This idea was taken and adapted from this message:
+# http://lists.gnu.org/archive/html/autoconf/2002-12/msg00116.html
+
+# Is option checking disabled?
+no_option_checking_p=false
+# Is ``--with-milena' not provided?
+no_milena_p=true
+
+for i; do
+ case "$i" in
+ # First try to get SRCDIR from a possible `--srcdir' argument.
+ --srcdir=*) srcdir=`echo "$i" | sed 's/^--srcdir=//'`;;
+ --disable-option-checking) no_option_checking_p=true;;
+ --with-milena*) no_milena_p=false;;
+ esac
+done
+
+# Then try to guess it from this script's path.
+test x"${srcdir+set}" != xset && srcdir=`dirname $0`
+
+# Disabled option checking is a hint that this `configure.gnu' was
+# called from a parent `configure'. If so, and if no `--with-milena'
+# option was provided, pass our own `--with-milena' option to the
+# recursive call to the actual `configure', carrying the path to
+# Milena's source directory.
+if $no_option_checking_p && $no_milena_p; then
+ milena_dir=`cd "$srcdir/../milena" && pwd`
+ exec "$srcdir/configure" ${1+"$@"} "--with-milena=$milena_dir"
+else
+ exec "$srcdir/configure" ${1+"$@"}
+fi
diff --git a/swilena/img/lena.pgm b/swilena/img/lena.pgm
new file mode 120000
index 0000000..5a1f6d9
--- /dev/null
+++ b/swilena/img/lena.pgm
@@ -0,0 +1 @@
+../../milena/img/lena.pgm
\ No newline at end of file
diff --git a/swilena/m4/pypath.m4 b/swilena/m4/pypath.m4
new file mode 100644
index 0000000..a4e62d1
--- /dev/null
+++ b/swilena/m4/pypath.m4
@@ -0,0 +1,6 @@
+AC_DEFUN([adl_CHECK_PYTHON],
+ [AM_PATH_PYTHON([2.0])
+ AC_CACHE_CHECK([for $am_display_PYTHON includes directory],
+ [adl_cv_python_inc],
+ [adl_cv_python_inc=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_inc()" 2>/dev/null`])
+ AC_SUBST([PYTHONINC], [$adl_cv_python_inc])])
diff --git a/m4/swig.m4 b/swilena/m4/swig.m4
similarity index 100%
copy from m4/swig.m4
copy to swilena/m4/swig.m4
diff --git a/swilena/python/Makefile.am b/swilena/python/Makefile.am
index 531880f..6a9991f 100644
--- a/swilena/python/Makefile.am
+++ b/swilena/python/Makefile.am
@@ -22,16 +22,17 @@
## FIXME: Factor as much as possible. See how we handled this in TC.
CLEANFILES =
-AM_CPPFLAGS = -I$(PYTHONINC) -I$(top_srcdir)/milena
-TOOLS_CXXFLAGS = @TOOLS_CXXFLAGS@
-AM_CXXFLAGS = $(TOOLS_CXXFLAGS)
-AM_SWIGFLAGS = -Wall -c++ -python -I$(top_srcdir)/milena
+MILENA_CPPFLAGS = @MILENA_CPPFLAGS@
+AM_CPPFLAGS = -I$(PYTHONINC) $(MILENA_CPPFLAGS)
+SWILENA_CXXFLAGS = @SWILENA_CXXFLAGS@
+AM_CXXFLAGS = $(SWILENA_CXXFLAGS)
+AM_SWIGFLAGS = -Wall -c++ -python $(MILENA_CPPFLAGS)
## We build modules, not plain libs.
AM_LDFLAGS = -avoid-version -module -shared
## Run Swig to create the C++ wrapper files, the Python interface
## files, and the dependency Makefile snippets.
-%-wrap.cc %.py: $(top_srcdir)/swilena/%.i
+%-wrap.cc %.py: $(top_srcdir)/%.i
@AMDEP_TRUE@ if $(SWIG) $(AM_SWIGFLAGS) $(SWIGFLAGS) -MD -MF "$(DEPDIR)/$*-wrap.Tcc" -o $@ $<; then \
@AMDEP_TRUE@ mv -f "$(DEPDIR)/$*-wrap.Tcc" "$(DEPDIR)/$*-wrap.Pcc";\
@AMDEP_TRUE@ else \
@@ -207,7 +208,7 @@ CLEANFILES += $(bin_SCRIPTS) $(noinst_SCRIPTS)
## Tests. ##
## ------- ##
-include $(top_srcdir)/swilena/run.mk
+include $(top_srcdir)/run.mk
## FIXME: Do we really need to pass top_srcdir and top_builddir to run?
TESTS_ENVIRONMENT = \
diff --git a/swilena/python/data.py b/swilena/python/data.py
index 4a162d9..0d715de 100644
--- a/swilena/python/data.py
+++ b/swilena/python/data.py
@@ -1,6 +1,6 @@
#! /usr/bin/env python
-# Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+# Copyright (C) 2008, 2010 EPITA Research and Development Laboratory (LRDE)
#
# This file is part of Olena.
#
@@ -22,5 +22,5 @@
import os
top_srcdir = os.environ["top_srcdir"]
-img_dir = os.path.join(top_srcdir, "milena", "img")
+img_dir = os.path.join(top_srcdir, "img")
lena = os.path.join (img_dir, "lena.pgm")
diff --git a/swilena/run.mk b/swilena/run.mk
index 993b5d4..e962c2e 100644
--- a/swilena/run.mk
+++ b/swilena/run.mk
@@ -1,4 +1,5 @@
-# Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE).
+# Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+# Laboratory (LRDE).
#
# This file is part of Olena.
#
@@ -16,7 +17,7 @@
# A test/script wrapper.
-RUN = $(top_builddir)/swilena/run
-RUN_IN = $(top_srcdir)/swilena/run.in
+RUN = $(top_builddir)/run
+RUN_IN = $(top_srcdir)/run.in
$(RUN): $(RUN_IN)
- cd $(top_builddir)/swilena && $(MAKE) $(AM_MAKEFLAGS) run
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) run
--
1.5.6.5
1
0
* configure.ac: New.
* configure.gnu: New.
* Makefile.am (ACLOCAL_AMFLAGS): New.
(EXTRA_DIST): Add configure.gnu and img/lena.pgm.
* AUTHORS: New.
* README: New.
* NEWS: New (imported from Olena and updated).
* COPYING: New (imported from Olena).
* INSTALL: New (generated by Automake).
* run.mk: Adjust paths.
* m4/pypath.m4, m4/swig.m4: New (imported from Olena).
* img/lena.pgm: New (imported from Milena).
* python/Makefile.am: Adjust paths.
(%-wrap.cc %.py): Likewise.
(MILENA_CPPFLAGS): New. Use it...
(AM_CPPFLAGS, AM_SWIGFLAGS): ...here.
(TOOLS_CXXFLAGS): Remove. Superseded by
(SWILENA_CXXFLAGS): ...this (new) variable.
(AM_CXXFLAGS): Adjust.
* python/data.py: Adjust path.
---
swilena/.gitignore | 18 ++
swilena/AUTHORS | 32 ++++
swilena/COPYING | 1 +
swilena/ChangeLog | 25 +++
INSTALL => swilena/INSTALL | 0
swilena/Makefile.am | 13 ++-
swilena/NEWS | 376 ++++++++++++++++++++++++++++++++++++++++++++
swilena/README | 277 ++++++++++++++++++++++++++++++++
swilena/configure.ac | 168 ++++++++++++++++++++
swilena/configure.gnu | 39 +++++
swilena/img/lena.pgm | 1 +
swilena/m4/pypath.m4 | 6 +
{m4 => swilena/m4}/swig.m4 | 0
swilena/python/Makefile.am | 13 +-
swilena/python/data.py | 4 +-
swilena/run.mk | 9 +-
16 files changed, 968 insertions(+), 14 deletions(-)
create mode 100644 swilena/.gitignore
create mode 100644 swilena/AUTHORS
create mode 120000 swilena/COPYING
copy INSTALL => swilena/INSTALL (100%)
create mode 100644 swilena/NEWS
create mode 100644 swilena/README
create mode 100644 swilena/configure.ac
create mode 100755 swilena/configure.gnu
create mode 120000 swilena/img/lena.pgm
create mode 100644 swilena/m4/pypath.m4
copy {m4 => swilena/m4}/swig.m4 (100%)
diff --git a/swilena/.gitignore b/swilena/.gitignore
new file mode 100644
index 0000000..994b291
--- /dev/null
+++ b/swilena/.gitignore
@@ -0,0 +1,18 @@
+/build-aux/config.guess
+/build-aux/config.sub
+/build-aux/depcomp
+/build-aux/install-sh
+/build-aux/ltmain.sh
+/build-aux/missing
+/build-aux/py-compile
+
+/m4/libtool.m4
+/m4/ltoptions.m4
+/m4/ltsugar.m4
+/m4/ltversion.m4
+/m4/lt~obsolete.m4
+
+/*aclocal.m4
+/autom4te.cache*
+/configure
+/configure.scan
diff --git a/swilena/AUTHORS b/swilena/AUTHORS
new file mode 100644
index 0000000..2e82a7e
--- /dev/null
+++ b/swilena/AUTHORS
@@ -0,0 +1,32 @@
+This package was written by and with the assistance of
+
+==================
+Active LRDE Staff.
+==================
+
+* Guillaume Lazzara z(a)lrde.epita.fr
+* Roland Levillain roland(a)lrde.epita.fr
+
+================================
+Past contributors of LRDE Staff.
+================================
+
+* Akim Demaille akim(a)lrde.epita.fr
+
+=========
+Students.
+=========
+
+* Nicolas Burrus
+* David Lesage
+* Giovanni Palma
+* Raphaël Poss
+* Damien Thivolle
+* Niels Van Vliet
+* Astrid Wang
+
+
+.. Local Variables:
+.. mode: rst
+.. ispell-local-dictionary: "american"
+.. End:
diff --git a/swilena/COPYING b/swilena/COPYING
new file mode 120000
index 0000000..012065c
--- /dev/null
+++ b/swilena/COPYING
@@ -0,0 +1 @@
+../COPYING
\ No newline at end of file
diff --git a/swilena/ChangeLog b/swilena/ChangeLog
index 6d31d60..37c591f 100644
--- a/swilena/ChangeLog
+++ b/swilena/ChangeLog
@@ -1,5 +1,30 @@
2010-10-25 Roland Levillain <roland(a)lrde.epita.fr>
+ Autoconfiscate Swilena.
+
+ * configure.ac: New.
+ * configure.gnu: New.
+ * Makefile.am (ACLOCAL_AMFLAGS): New.
+ (EXTRA_DIST): Add configure.gnu and img/lena.pgm.
+ * AUTHORS: New.
+ * README: New.
+ * NEWS: New (imported from Olena and updated).
+ * COPYING: New (imported from Olena).
+ * INSTALL: New (generated by Automake).
+ * run.mk: Adjust paths.
+ * m4/pypath.m4, m4/swig.m4: New (imported from Olena).
+ * img/lena.pgm: New (imported from Milena).
+ * python/Makefile.am: Adjust paths.
+ (%-wrap.cc %.py): Likewise.
+ (MILENA_CPPFLAGS): New. Use it...
+ (AM_CPPFLAGS, AM_SWIGFLAGS): ...here.
+ (TOOLS_CXXFLAGS): Remove. Superseded by
+ (SWILENA_CXXFLAGS): ...this (new) variable.
+ (AM_CXXFLAGS): Adjust.
+ * python/data.py: Adjust path.
+
+2010-10-25 Roland Levillain <roland(a)lrde.epita.fr>
+
Fix Swilena's dependency tracking.
* python/Makefile.am (%-wrap.cc %.py): Honor Automake's `AMDEP'
diff --git a/INSTALL b/swilena/INSTALL
similarity index 100%
copy from INSTALL
copy to swilena/INSTALL
diff --git a/swilena/Makefile.am b/swilena/Makefile.am
index 109fb2e..f696032 100644
--- a/swilena/Makefile.am
+++ b/swilena/Makefile.am
@@ -1,4 +1,5 @@
-# Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE).
+# Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+# Laboratory (LRDE).
#
# This file is part of Olena.
#
@@ -14,8 +15,13 @@
# You should have received a copy of the GNU General Public License
# along with Olena. If not, see <http://www.gnu.org/licenses/>.
+ACLOCAL_AMFLAGS = -I m4
+
SUBDIRS = python
+# `configure' wrapper used in recursive configuration.
+EXTRA_DIST = configure.gnu
+
# Meta-wrappers (templates), not generating a module, but factoring
# common parts.
meta_wrappers = \
@@ -50,6 +56,9 @@ wrappers = \
\
dynamic_image2d.i
-EXTRA_DIST = $(meta_wrappers) $(wrappers)
+EXTRA_DIST += $(meta_wrappers) $(wrappers)
+
+# Images used in tests.
+EXTRA_DIST += img/lena.pgm
check_SCRIPTS = run
diff --git a/swilena/NEWS b/swilena/NEWS
new file mode 100644
index 0000000..2054481
--- /dev/null
+++ b/swilena/NEWS
@@ -0,0 +1,376 @@
+* Swilena 1.0a
+
+ * Starting with Olena 1.1, Swilena is an independent component
+ of the project, distributed both together with the Olena
+ package and as a standalone package.
+
+ * Misc fixes and improvements.
+
+
+* Olena 1.0 July 14, 2009
+
+ * The core C++ library, renamed to Milena, has been rewritten from
+ scratch and features numerous additions over the past releases.
+ Some features have also been dropped or disabled, and some of them
+ will be reintegrated in future releases. The programming
+ interface has changed from previous versions, but most programs
+ using Olena 0.11 can be adapted to the Olena 1.0 API.
+
+ * Milena uses a simplified version of the SCOOP 2 paradigm
+ (informally called SCOOP 1.5), to improve the speed of compilation
+ and make developing easier while still providing very good
+ run-time performances.
+
+ * A first (re)implementation of Swilena featuring Python wrappers
+ for a very small subset of Milena is available. The bundled
+ Swilena Python Shell (sps) allows interactive Olena sessions.
+
+ * A reference documentation including a tutorial and a quick
+ reference guide have been started. They do not cover the whole
+ Milena library yet.
+
+ * Olena includes some demos and applications using Milena.
+
+
+* Olena 0.11 February 21, 2007
+
+ * The whole Olena distribution compiles with the GNU C++
+ Compiler (G++) 4.0 and 4.1. The compatibility with previous
+ versions of the compiler has been broken.
+
+ * Revamp of Swilena.
+ The Swilena wrappers have been repaired, as they had become
+ incompatible with recent versions of SWIG, G++, Python and Ruby.
+ Moreover, a lot of small bugs have been fixed in Swilena.
+ The test suite of Rblena, the Ruby wrappers for Olena, has
+ been completed and is comparable to Pylena's (the Python
+ wrappers for Olena).
+
+ * Libtool.
+ The whole package uses GNU Libtool to handle libraries.
+ Swilena benefits this, and uses Libtool to create shared
+ libraries upon which SWIG wrappers are built.
+
+ * Miscellaneous corrections in Olena and Integre, as well as in
+ their test suites.
+
+
+* Olena 0.10 April 15, 2004
+
+ * New documentation system.
+ Now any comment should use Doxygen style (i.e. /*! ... */).
+ You can also write some programs inside the comments. They are
+ compiled at documentation generation time. It is useful to
+ illustrate some algorithms with concrete input and output. To
+ use this feature the program has to be between \code and \endcode
+ tags. If you produce an image, you can include it in the comments
+ with the \image command, using the same name you used to produce
+ it, but with the png extension. To make sure your image will not
+ overwrite another existing one, you should name it taking care of
+ the namespace you are using: e.g. if you comment the function
+ oln::boo::bar::fun, the image should be named oln_foo_bar_fun.ppm.
+ The macros IMG_IN and IMG_OUT correspond to the path of the images.
+
+ * Border behavior can be controlled with the behavior hierarchy.
+ If an algorithm support it, you can choose the way the image
+ border will be seen. Three behaviors are available: mirror,
+ replicate or user defined value.
+
+ * Attribute opening/closing enhancement
+ - Make the algorithm more generic.
+ - Add a lot of attributes (area, disk, square, dist,
+ rectangle, volume, height, maxvalue, minvalue).
+
+ * Change the color conversion system
+ - CIE RGB is the main color system i.e. it can be converted
+ directly into any other color system.
+ - Conversion between 2 color systems should pass by the RGB one.
+
+ * Generic and concrete morphers are now implemented in Olena.
+ - Five morphers are included in this release:
+ Color morpher
+ Sub quantifying morpher
+ Piece morpher
+ Iter morpher
+ Slicing morpher
+ - These morphers can be manipulated as if they were normal images.
+
+
+* Olena 0.9 August 8, 2003
+
+ * New static hierarchy paradigm
+ - Complete rewrite of the image hierarchy.
+ - The new hierarchy benefits from multiple inheritance and
+ diamond constructs.
+ - Objects' abstract interfaces made available, leading to
+ safer and easier algorithm writing.
+ - Label images such as binary_image or vectorial_image added.
+
+ * Partial rewrite of images I/O
+ - Support for 1d, 3d images and windows.
+ - Better handling of built-in types.
+
+ * Color conversions fixed and improved.
+
+ * Cleanup and coding style conformance.
+
+ * Many bug fixes.
+ * Improved test-suite.
+
+
+* Olena 0.8 April 10, 2003
+
+ IMPORTANT NOTE: This version is not compatible with older
+ versions of Olena. The project has been split into three part,
+ so many header files have moved and new namespaces have been
+ created. Please read the UPGRADING file for more information.
+
+ * Many source code cleanups.
+ * The source code has been split into 3 parts: image
+ processing (olena/), data types (integre/) and meta-programming
+ tools (metalic/).
+ * First part of the new static hierarchy paradigm implementation.
+ * Support for combinatorial maps.
+ * Many bug fixes.
+
+
+* Olena 0.7 February 10, 2003
+
+ * Manual pages for the command-line utilities.
+ * New, saner, source tree layout.
+ * Each `part' of the source tree can be excluded from the
+ build process with configuration flags.
+ * New `oln.m4' file for use by autoconf'ed user projects.
+ * Major documentation updates.
+ * New `oln-config.sh' scripts for user Makefiles.
+ * Olena now works on Mac OS X, NetBSD, FreeBSD and Cygwin.
+
+
+* Olena 0.6 January 15, 2003
+
+ * Complete rewriting of data types.
+ * Command line utilities.
+ * Fully implementation of convolutions
+ * Fast Fourier Transform (FFT)
+ * Discrete Wavelet Transform (Daubechie's wavelet) (DWT)
+ * Many bug fixes.
+
+
+* Olena 0.5 July 25, 2002
+
+ * Documentation in LaTeX (instead of Texinfo).
+ * Support reading/writing gziped images
+ (include <oln/io/gz.hh> and link with libz).
+ * Complete rewrite of the static arrays
+ (meta::array1d, meta::array2d, meta::array3d).
+ * Preliminary implementation of convolutions
+ (oln::convol::convolve)
+ * All headers should now be referenced with the `oln/' prefix,
+ as in `#include <oln/basics2d.hh>'.
+ * New conversion operator: convert::stretch.
+ * Many bug fixes.
+
+
+* Olena 0.4.1 April 25, 2002
+
+ * Buglet in the 0.4 Makefiles.
+
+
+* Olena 0.4 April 24, 2002
+
+ * New morpho:: operators:
+ - thinning
+ - thickening
+ * New convert:: operators:
+ - ng_to_se
+ - ng_to_cse
+ * First sketch of a test suite.
+ * Many bug fixes.
+
+
+* Olena 0.3 January 14, 2002
+
+ * fast_morpho() speeded-up.
+ * Minor bug fixes.
+ * "Documentation" updates.
+
+
+* Olena 0.2b December 13, 2001
+
+ * Value:
+ - Support for HSL and HSV color systems.
+ - Define internal::default_less<vec<N,T>>.
+
+ * Core:
+ - New window generator: mk_win_ellipse, mk_win_disc,
+ mk_win_ellipsoid, and mk_win_ball.
+
+ * Various #include fixes.
+
+
+* Olena 0.2 November 28, 2001
+
+ * Color:
+ - nrgb_8, nrgb_16, nrgb_32: new types for NTSC RGB. The
+ conversion from and to YIQ and HSI which assumed NTSC RGB
+ has been adjusted to actually use nrgb_* (instead of rgb_*)
+ and renamed accordingly.
+ - yuv_8, yuv_16, yuv_32: New types.
+
+ The currently available conversions are
+
+ hsi yuv
+ \ /
+ rgb -- nrgb
+ \ / \
+ xyz yiq
+
+ * Various cleanups and bug fixes. Especially:
+ - border handling (mirroring, copying) simplified and fixed.
+ - ++k, --k: return a value with the same type as k.
+
+ * I/O:
+ - pnm/P1, pnm/P3, and pnm/P6 support for image_3d.
+
+
+* Olena 0.1f November 22, 2001
+
+ * Core:
+ - Several bug fixes in memory handling.
+
+ * Types:
+ - New color types: HSI, YIQ; with conversions to and from RGB.
+ - `min()' and `max()' are now defined with the types (i.e.
+ not in math/macros.hh), along with the other operators.
+ Also, these procedures will two arguments of different
+ types.
+
+ * Casts:
+ - `cast::round': similar to C's round()
+ - `cast::rbound': ditto, but constrained to fit the
+ output type's range.
+
+ * I/O:
+ - Support for `image_3d<int_u<N> >' (as PNM P2 & P5).
+
+ * Processings
+ - `level::is_greater_or_equal', `level::is_greater',
+ `level::is_lower_or_equal', `level::is_lower',
+ `level::is_equal': Comparisons between images.
+ - `level::connected_component': Number connected components.
+ - `morpho::geodesic_dilation', `morpho::simple_geodesic_dilation'.
+ - `morpho::geodesic_erosion', `morpho::simple_geodesic_erosion'.
+ - `morpho::get_plus_se_only', `morpho::get_plus_se_p',
+ `morpho::get_minus_se_only', `morpho::get_minus_se_p': Split
+ a structural element in a `plus' (lexically before than the center)
+ and `minus' (after).
+
+ * Misc:
+ - `utils::timer': for benchmarking
+ - `level::lut', `level::hlut': Lookup tables.
+
+
+* Olena 0.1d November 15, 2001
+
+ * Core:
+ - `point's, `dpoint's, and `image_size's feature a `nth()' method,
+ that returns the value of the nth coordinate.
+ - `fold': new high order operator.
+
+ * Types:
+ - `vec<N,T>' uses an array to store its elements
+ and accepts builtin types.
+ - `rgb<T>' has been replaced by `rgb_8', `rgb_16', `rgb_32'
+ - `xyz_8', `xyz_16', `xyz_32' are new types.
+ - the latter six types are instances of the `color' type.
+
+ * Processings:
+ - All basic morphological processings (`opening',
+ `hit_or_miss', `beucher_gradient', etc.) from namespace
+ `morpho::' have their fast equivalent in namespace
+ `morpho::fast::'.
+ - `convert::apply' is similar to `apply' but will work
+ for all types of conversions while `apply' can only work
+ on `conversion_to_type' conversions.
+
+ * Tools:
+ - `utils::fill': fill an image
+ - `utils::f_moments', `utils::f_minmax': statistical functors.
+
+ * Casts:
+ - `cast::bound': similar to `convert::bound'.
+
+ * I/O:
+ - It's possible to load and save as PPM any kind of image2d
+ whose color has 3 components on 8 bits.
+
+
+* Olena 0.1b November 8, 2001
+
+ * New type: rgb<T>
+
+ * New processings:
+ - morpho::watershed_con
+ - convol::fast::gaussian
+ - convol::fast::gaussian_derivative
+ - convol::fast::gaussian_second_derivative
+
+ * Conversion are organized in the following hierarchy
+
+ conversion<Inferior>
+ ^
+ |
+ conversion_to_type<To,Inferior>
+ ^
+ |
+ conversion_from_type_to_type<From,To,Inferior>
+
+ All children of conversion_from_type_to_type are models of
+ Adaptable Unary Function. See conversion.hh for more comments.
+
+ * The only two functions that perform file i/o are `load' and
+ `save'. The other functions (`read', `write', `read_pnm',
+ `write_pnm') have been removed.
+
+ * image2d<rgb<int_u8> > can be loaded and saved as ppm.
+
+ * All iterators support a new method, cur(), that returns
+ the current point (or dpoint). It is meant to be used
+ at places where the compiler is unable to implicitly convert
+ an iterator into a point (or dpoint).
+
+ * Bug fixes:
+ - Olena now compiles successfully with -pedantic.
+ - `image2d<int_u8> lena = load("lena.pgm");' works.
+ - Multiplications and subtractions on 'vec' no longer
+ perform additions.
+
+
+* Olena 0.1 November 1, 2001
+
+ * Initial public release.
+
+
+Local Variables:
+mode: outline
+ispell-local-dictionary: "american"
+End:
+
+----
+
+Copyright (C) 2001, 2002, 2003, 2004, 2007, 2009, 2010 EPITA Research and
+Development Laboratory (LRDE)
+
+This file is part of Olena.
+
+Olena 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, version 2 of the License.
+
+Olena 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 Olena. If not, see <http://www.gnu.org/licenses/>.
diff --git a/swilena/README b/swilena/README
new file mode 100644
index 0000000..69c7f3e
--- /dev/null
+++ b/swilena/README
@@ -0,0 +1,277 @@
+Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+Laboratory (LRDE)
+
+This file is part of Olena.
+
+Olena 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, version 2 of the License.
+
+Olena 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 Olena. If not, see <http://www.gnu.org/licenses/>.
+
+The complete GNU General Public License Notice can also be found in
+the 'COPYING' file in the root directory.
+
+
+=======================
+Introduction to Swilena
+=======================
+
+Swilena is a part of Olena_, a generic and efficient platform
+dedicated to image processing.
+
+.. _Olena: http://olena.lrde.epita.fr
+
+Swilena provides bindings of the Milena C++ library (also a part of
+Olena) to other languages (currently Python).
+
+Swilena is distributed in two ways:
+
+ * as a component of the Olena package
+
+ * and a standalone package.
+
+If you obtained Swilena as an project embedded an Olena package, we
+advise you to read Olena's README, at the top-level directory of the
+package, and not to configure nor compile Swilena separately (i.e., do
+not use `swilena/configure', use the top-level `configure' instead
+and run `make' from the top-level directory).
+
+Otherwise, you are in the case of a standalone package, and you might
+want to read the rest of this file.
+
+
+==========================================
+Detailed Instructions (Standalone Package)
+==========================================
+
+-----------------
+Required Software
+-----------------
+
+Here is a non-exhaustive list of required software required to build
+Swilena successfully.
+
+ * to compile the user examples:
+
+ - a POSIX shell, like Bash
+
+ - a decent C++ compiler, like GNU C++
+
+ - a `make' utility, like GNU `make'
+
+ - the Simplified Wrapper and Interface Generator (SWIG_).
+
+ - Python_
+
+.. _SWIG: http://www.swig.org
+
+.. _Python: http://www.python.org
+
+
+If you are using a standalone version of Swilena, you also need a
+working Milena_ install (Milena is shipped with Olena).
+
+.. _Milena: http://olena.lrde.epita.fr
+
+
+-------------
+Configuration
+-------------
+
+In order to prepare the build process, you need to configure the source
+tree.
+
+ Assuming your Swilena distribution is uncompressed in directory
+`swilena-1.1', follow these steps:
+
+ % cd swilena-1.1
+ % mkdir _build
+ % cd _build
+ % ../configure
+
+ The build process can be altered by a number of options you can pass
+to the `configure' script. The following sections describe them.
+
+
+Milena path
+===========
+
+Swilena requires the Milena library. If Swilena's `configure' is
+unable to find your installation of Milena, or if you want to use a
+specific installation, you must help `configure' find it using the
+`--with-milena' flag. For instance, if you have installed Milena in
+`$HOME/local', replace the call to `configure' from the previous
+section by this command:
+
+ % ../configure --with-milena=$HOME/local
+
+
+Installation Path
+=================
+
+By default, Swilena is installed in the standard "local" directory of
+your system. This is usually `/usr/local' under Unix.
+
+ You can change this path with the following flag:
+
+ --prefix=<installation prefix>
+
+
+Compiler Selection and Compilation Flags
+========================================
+
+By default, `configure' will try to use the first C++ compiler it
+encounters on your system. If `CXX' is not set, it will look, in order,
+for:
+
+ - the value of the `CXX' environment variable,
+
+ - the GNU C++ compiler (`g++'),
+
+ - the `c++' or `gpp' commands on your system,
+
+ - `aCC', the HP-UX standard C++ compiler,
+
+ - the `CC', `cxx', `cc++' or `cl' commands on your system,
+
+ - KAI's C++ compiler (`KCC'),
+
+ - `RCC', `xlC_r' or `xlC'.
+
+ You can override the detection system by passing your favorite
+compiler name to `configure', as follows:
+
+ % ../configure CXX=<your-favorite-C++-compiler>
+
+ As an alternative, you can also set the environment variable `CXX'.
+
+
+ For some compilers (GNU g++ and Intel's icpc to some extent) ,
+`configure' will use default CXXFLAGS. You can override the default
+C++ flags by giving `configure' your selection of flags:
+
+ % ../configure CXXFLAGS="<your-favorite-flags>"
+
+
+--------
+Building
+--------
+
+Once your build directory is `configure'd, you can run
+
+ % make
+
+to build Swilena.
+
+
+ Additionally, you can build and run the test suite with:
+
+ % make check
+
+However, this process is time- and memory- consuming, and you probably
+do not need it except if you are developing/debugging Swilena.
+
+
+----------
+Installing
+----------
+
+To install Swilena on your system, run:
+
+ % make install
+
+from the build directory.
+
+ If not overridden with `--prefix', this will install:
+
+ * the Swilena Python Shell (`sps' script) in `/usr/local/bin',
+
+ * Python bindings in `/usr/local/lib/python2.x/site-packages/'.
+
+
+ You can later remove Swilena from your system by running
+
+ % make uninstall
+
+from the build directory (if you have kept it). We recommend the use
+of GNU Stow (or any similar program) during the installation of Swilena,
+to make the uninstallation of Swilena easier.
+
+
+=====================
+Layout of the Tarball
+=====================
+
+The Swilena project directory layout is as follows:
+
+build-aux
+ Auxiliary tools used by the GNU Build System during ``configure``
+ and ``make`` stages.
+
+img
+ Some (2D) images, mostly used for test purpose.
+
+m4
+ Extra Autoconf macros.
+
+python
+ Some Python bindings for Milena.
+
+
+===================
+Supported Platforms
+===================
+
+Swilena has been tested on the following configurations:
+
+=========================== =============================================
+System Compiler
+=========================== =============================================
+GNU/Linux on IA-32 g++ (GNU GCC) 3.3, 4.1, 4.2 and 4.4
+GNU/Linux on IA-32 icpc (Intel C/C++ Compiler) 10.1 and 11.0
+GNU/Linux on AMD64/Intel 64 g++ (GNU GCC) 4.1
+Mac OS X (10.6) on IA-32 g++ (GNU GCC) 4.2.1
+=========================== =============================================
+
+
+See Also
+========
+
+There are other sources of interest in the distribution.
+
+- Headline news about the project can be found in the file ``NEWS`` at
+ the root of the source tree.
+
+
+License
+=======
+
+Swilena is released under the GNU General Public Licence. See the file
+``COPYING`` (at the root of the source tree) for details.
+
+
+Contacts
+========
+
+The team can be reached by mail at olena(a)lrde.epita.fr. The snail
+mail address follows.
+
+* Olena - LRDE
+
+ | Laboratoire de Recherche et Développement de l'EPITA (LRDE)
+ | 14-16 rue Voltaire
+ | FR-94276 Le Kremlin-Bicêtre CEDEX
+ | France
+
+
+
+.. Local Variables:
+.. mode: rst
+.. End:
diff --git a/swilena/configure.ac b/swilena/configure.ac
new file mode 100644
index 0000000..a0c90f3
--- /dev/null
+++ b/swilena/configure.ac
@@ -0,0 +1,168 @@
+# Copyright (C) 2006, 2007, 2008, 2009, 2010 EPITA Research and
+# Development Laboratory (LRDE).
+#
+# This file is part of Olena.
+#
+# Olena 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, version 2 of the License.
+#
+# Olena 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 Olena. If not, see <http://www.gnu.org/licenses/>.
+
+m4_pattern_forbid([^OLN_])
+
+AC_PREREQ([2.61])
+
+
+## ---------------- ##
+## Package set up. ##
+## ---------------- ##
+
+AC_INIT([Swilena], [1.0a], [olena(a)lrde.epita.fr] [swilena])
+
+# M4 macros.
+AC_CONFIG_MACRO_DIR([m4])
+
+# Auxiliary files.
+AC_CONFIG_AUX_DIR([build-aux])
+
+# Automake.
+AM_INIT_AUTOMAKE([1.10 subdir-objects check-news dist-bzip2 nostdinc -Wall])
+
+## --------------------- ##
+## C++ compiler set up. ##
+## --------------------- ##
+
+# If the user doesn't provide any CXXFLAGS, prevent Autoconf from
+# settings its own default ones (e.g., `-g -O2' for g++).
+if test ! ${CXXFLAGS+set}; then
+ CXXFLAGS=""
+fi
+
+# Look for a C++ compiler.
+AC_LANG([C++])
+AC_PROG_CXX
+
+# Set `ICPC' to `yes' if the Intel C++ compiler is used.
+test $CXX --version 2>/dev/null | grep '\bICC\b' >/dev/null 2>&1 && ICPC=yes
+
+# GNU C++ compiler setup.
+if test "$GXX" = yes; then
+ # Speed up compiling times.
+ CXXFLAGS="$CXXFLAGS -pipe"
+
+ # The code generated for mln::data::impl::memcpy__() by g++ 4.2 with
+ # a high optimization level (`-O3') and without
+ # `-fno-strict-aliasing' might be wrong, at least with Debian's g++
+ # 4.2 on IA-32 (see also milena/mln/memcpy_.hh). We observed this
+ # behavior with e.g. milena/apps/graph-morpho/samples-image2d.cc.
+ # Note that Debian's g++ 4.0, 4.1, 4.3 and 4.4 are fine.
+ #
+ # So, when the C++ compiler is g++ 4.2, set STRICT_ALIASING_CXXFLAGS
+ # to `-fno-strict-aliasing'.
+ if $CXX --version | head -n 1 | grep '\b4\.2' >/dev/null 2>&1; then
+ STRICT_ALIASING_CXXFLAGS=-fno-strict-aliasing
+ fi
+fi
+AC_SUBST([STRICT_ALIASING_CXXFLAGS])
+
+
+# Adjusting warning options according to compilers.
+AC_ARG_VAR([WARNINGS_CXXFLAGS], [C++ compiler warning flags])
+case "$CXX" in
+ # Intel compiler
+ *icpc*)
+ WARNINGS_CXXFLAGS="-Wall -wd111,193,279,383,444,522,654,810,981,1418"
+ ;;
+ *)
+ WARNINGS_CXXFLAGS="-Wall -W"
+ ;;
+esac
+
+
+## -------- ##
+## Milena. ##
+## -------- ##
+
+# The current approach to providing Swilena a path to Milena's headers
+# is naive: for instance, we cannot provide two paths (source and
+# build dirs) in the case of an Olena build using a parallel build
+# (where srcdir != builddir). Improve if needed.
+
+AC_ARG_WITH([milena],
+ [AC_HELP_STRING([--with-milena=DIR], [path to Milena headers])],
+ [if test x"$with_milena" = xno; then
+ AC_MSG_ERROR([Milena is required for Swilena. Try to invoke configure
+without `--with-milena=no' nor `--without-milena.'])
+ fi])
+if test -n "$with_milena" && test x"$with_milena" != xyes; then
+ MILENA_CPPFLAGS="-I$with_milena"
+fi
+swl_save_CPPFLAGS=$CPPFLAGS
+CPPFLAGS="$MILENA_CPPFLAGS $CPPFLAGS"
+AC_CHECK_HEADER([mln/core/essential.hh], [],
+ AC_MSG_ERROR([Cannot find Milena's headers. Try to invoke configure with
+`--with-milena=DIR'.]))
+CPPFLAGS=$swl_save_CPPFLAGS
+AC_SUBST([MILENA_CPPFLAGS])
+
+
+## --------- ##
+## Swilena. ##
+## --------- ##
+
+# Use Libtool.
+# To be replaced by a call to LT_INIT as soon as Libtool 2.2 is used.
+AC_PROG_LIBTOOL
+
+# Ensure dynamic libraries are enabled.
+if test "x$enable_shared" = xno; then
+ AC_MSG_ERROR([Dynamic libraries are disabled. Try to invoke
+configure with `--enable-shared'.])
+fi
+# Check for SWIG.
+AC_PROG_SWIG([1.3.35])
+if (eval "$SWIG -version") >/dev/null 2>&1; then :; else
+ AC_MSG_ERROR([SWIG 1.3.35 is required for Swilena])
+fi
+# Check for Python.
+AM_PATH_PYTHON([2.4], [],
+ [AC_MSG_ERROR([Python 2.4 is required for Swilena.])])
+AS_VERSION_COMPARE([2.5], [$am_cv_python_version],
+ [AC_MSG_WARN([Python 2.6 and greater may not work with Swilena.])])
+adl_CHECK_PYTHON
+# Check for Python headers.
+save_CPPFLAGS=$CPPFLAGS
+CPPFLAGS="$CPPFLAGS -I$PYTHONINC"
+AC_CHECK_HEADERS([Python.h], [],
+ [AC_MSG_ERROR([`Python.h' is required for Swilena.
+Try adding `-I <Python include path>' to `CPPFLAGS'.])])
+CPPFLAGS=$save_CPPFLAGS
+
+AC_ARG_VAR([SWILENA_CXXFLAGS], [C++ compiler flags for tools])
+# We want fast binaries for tools.
+if test -z "$SWILENA_CXXFLAGS"; then
+ if test "$GXX" = yes; then
+ SWILENA_CXXFLAGS="-O3 -DNDEBUG -ggdb $WARNINGS_CXXFLAGS"
+ elif test "$ICPC" = yes; then
+ SWILENA_CXXFLAGS="-O3 -DNDEBUG -g $WARNINGS_CXXFLAGS"
+ fi
+fi
+
+AC_CONFIG_FILES([Makefile
+ python/Makefile])
+
+AC_CONFIG_FILES([run], [chmod +x run])
+
+AC_CONFIG_FILES([python/sps:python/sps-common.in:python/sps.in],
+ [chmod +x python/sps])
+AC_CONFIG_FILES([python/sps-local:python/sps-common.in:python/sps-local.in],
+ [chmod +x python/sps-local])
+
+AC_OUTPUT
diff --git a/swilena/configure.gnu b/swilena/configure.gnu
new file mode 100755
index 0000000..09a9463
--- /dev/null
+++ b/swilena/configure.gnu
@@ -0,0 +1,39 @@
+#! /bin/sh
+
+# This `configure.gnu' script is invoked by the parent `configure'
+# instead of `configure' in recursive configurations (see
+# ``Configuring Other Packages in Subdirectories'' in Autoconf's
+# manual). This is convenient to pass extra options, like the path to
+# Milena's source directory.
+#
+# This idea was taken and adapted from this message:
+# http://lists.gnu.org/archive/html/autoconf/2002-12/msg00116.html
+
+# Is option checking disabled?
+no_option_checking_p=false
+# Is ``--with-milena' not provided?
+no_milena_p=true
+
+for i; do
+ case "$i" in
+ # First try to get SRCDIR from a possible `--srcdir' argument.
+ --srcdir=*) srcdir=`echo "$i" | sed 's/^--srcdir=//'`;;
+ --disable-option-checking) no_option_checking_p=true;;
+ --with-milena*) no_milena_p=false;;
+ esac
+done
+
+# Then try to guess it from this script's path.
+test x"${srcdir+set}" != xset && srcdir=`dirname $0`
+
+# Disabled option checking is a hint that this `configure.gnu' was
+# called from a parent `configure'. If so, and if no `--with-milena'
+# option was provided, pass our own `--with-milena' option to the
+# recursive call to the actual `configure', carrying the path to
+# Milena's source directory.
+if $no_option_checking_p && $no_milena_p; then
+ milena_dir=`cd "$srcdir/../milena" && pwd`
+ exec "$srcdir/configure" ${1+"$@"} "--with-milena=$milena_dir"
+else
+ exec "$srcdir/configure" ${1+"$@"}
+fi
diff --git a/swilena/img/lena.pgm b/swilena/img/lena.pgm
new file mode 120000
index 0000000..5a1f6d9
--- /dev/null
+++ b/swilena/img/lena.pgm
@@ -0,0 +1 @@
+../../milena/img/lena.pgm
\ No newline at end of file
diff --git a/swilena/m4/pypath.m4 b/swilena/m4/pypath.m4
new file mode 100644
index 0000000..a4e62d1
--- /dev/null
+++ b/swilena/m4/pypath.m4
@@ -0,0 +1,6 @@
+AC_DEFUN([adl_CHECK_PYTHON],
+ [AM_PATH_PYTHON([2.0])
+ AC_CACHE_CHECK([for $am_display_PYTHON includes directory],
+ [adl_cv_python_inc],
+ [adl_cv_python_inc=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_inc()" 2>/dev/null`])
+ AC_SUBST([PYTHONINC], [$adl_cv_python_inc])])
diff --git a/m4/swig.m4 b/swilena/m4/swig.m4
similarity index 100%
copy from m4/swig.m4
copy to swilena/m4/swig.m4
diff --git a/swilena/python/Makefile.am b/swilena/python/Makefile.am
index 531880f..6a9991f 100644
--- a/swilena/python/Makefile.am
+++ b/swilena/python/Makefile.am
@@ -22,16 +22,17 @@
## FIXME: Factor as much as possible. See how we handled this in TC.
CLEANFILES =
-AM_CPPFLAGS = -I$(PYTHONINC) -I$(top_srcdir)/milena
-TOOLS_CXXFLAGS = @TOOLS_CXXFLAGS@
-AM_CXXFLAGS = $(TOOLS_CXXFLAGS)
-AM_SWIGFLAGS = -Wall -c++ -python -I$(top_srcdir)/milena
+MILENA_CPPFLAGS = @MILENA_CPPFLAGS@
+AM_CPPFLAGS = -I$(PYTHONINC) $(MILENA_CPPFLAGS)
+SWILENA_CXXFLAGS = @SWILENA_CXXFLAGS@
+AM_CXXFLAGS = $(SWILENA_CXXFLAGS)
+AM_SWIGFLAGS = -Wall -c++ -python $(MILENA_CPPFLAGS)
## We build modules, not plain libs.
AM_LDFLAGS = -avoid-version -module -shared
## Run Swig to create the C++ wrapper files, the Python interface
## files, and the dependency Makefile snippets.
-%-wrap.cc %.py: $(top_srcdir)/swilena/%.i
+%-wrap.cc %.py: $(top_srcdir)/%.i
@AMDEP_TRUE@ if $(SWIG) $(AM_SWIGFLAGS) $(SWIGFLAGS) -MD -MF "$(DEPDIR)/$*-wrap.Tcc" -o $@ $<; then \
@AMDEP_TRUE@ mv -f "$(DEPDIR)/$*-wrap.Tcc" "$(DEPDIR)/$*-wrap.Pcc";\
@AMDEP_TRUE@ else \
@@ -207,7 +208,7 @@ CLEANFILES += $(bin_SCRIPTS) $(noinst_SCRIPTS)
## Tests. ##
## ------- ##
-include $(top_srcdir)/swilena/run.mk
+include $(top_srcdir)/run.mk
## FIXME: Do we really need to pass top_srcdir and top_builddir to run?
TESTS_ENVIRONMENT = \
diff --git a/swilena/python/data.py b/swilena/python/data.py
index 4a162d9..0d715de 100644
--- a/swilena/python/data.py
+++ b/swilena/python/data.py
@@ -1,6 +1,6 @@
#! /usr/bin/env python
-# Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE)
+# Copyright (C) 2008, 2010 EPITA Research and Development Laboratory (LRDE)
#
# This file is part of Olena.
#
@@ -22,5 +22,5 @@
import os
top_srcdir = os.environ["top_srcdir"]
-img_dir = os.path.join(top_srcdir, "milena", "img")
+img_dir = os.path.join(top_srcdir, "img")
lena = os.path.join (img_dir, "lena.pgm")
diff --git a/swilena/run.mk b/swilena/run.mk
index 993b5d4..e962c2e 100644
--- a/swilena/run.mk
+++ b/swilena/run.mk
@@ -1,4 +1,5 @@
-# Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE).
+# Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+# Laboratory (LRDE).
#
# This file is part of Olena.
#
@@ -16,7 +17,7 @@
# A test/script wrapper.
-RUN = $(top_builddir)/swilena/run
-RUN_IN = $(top_srcdir)/swilena/run.in
+RUN = $(top_builddir)/run
+RUN_IN = $(top_srcdir)/run.in
$(RUN): $(RUN_IN)
- cd $(top_builddir)/swilena && $(MAKE) $(AM_MAKEFLAGS) run
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) run
--
1.5.6.5
1
0