diff --git a/CHANGES b/CHANGES
index bfd3978c..fb28c2cd 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,7 @@ What's New for OpenJPEG
+ : added
May 23, 2011
+* [antonin] fixed a bug in autotools that prevented "make distcheck" to work properly (credit to Vincent Torri)
+ [antonin] added autotools as a build method for jpip (credit to Vincent Torri)
* [antonin] fixed autotools (broken since the new directory structure) (credit to Vincent Torri)
diff --git a/Makefile.am b/Makefile.am
index 3dd37646..65c31bdd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,4 @@
-DISTCHECK_CONFIGURE_FLAGS = --enable-jp3d=yes --enable-jpwl=yes --enable-mj2=yes
+DISTCHECK_CONFIGURE_FLAGS = --enable-jpip=yes --enable-jpwl=yes --enable-mj2=yes
ACLOCAL_AMFLAGS = -I m4
diff --git a/applications/jpip/CHANGES b/applications/jpip/CHANGES
index 4e17c5c9..ac6ac7c7 100644
--- a/applications/jpip/CHANGES
+++ b/applications/jpip/CHANGES
@@ -6,6 +6,7 @@ What's New for OpenJPIP
+ : added
May 23, 2011
++ [antonin] added autotools for the 'tools' directory
+ [antonin] added autotools as a build method for jpip (credit to Vincent Torri)
May 10, 2011
diff --git a/applications/jpip/Makefile.am b/applications/jpip/Makefile.am
index a6368000..9be07426 100644
--- a/applications/jpip/Makefile.am
+++ b/applications/jpip/Makefile.am
@@ -1,3 +1,3 @@
MAINTAINERCLEANFILES = Makefile.in
-SUBDIRS = libopenjpip opj_server opj_client
+SUBDIRS = libopenjpip opj_server opj_client tools
diff --git a/applications/jpip/tools/Makefile.am b/applications/jpip/tools/Makefile.am
new file mode 100644
index 00000000..dbcd82eb
--- /dev/null
+++ b/applications/jpip/tools/Makefile.am
@@ -0,0 +1,49 @@
+MAINTAINERCLEANFILES = Makefile.in
+
+SUBDIRS = indexer
+
+bin_PROGRAMS = jpt_to_jp2 jpt_to_j2k test_index addXMLinJP2
+
+jpt_to_jp2_CPPFLAGS = \
+-I. \
+-I$(top_srcdir)/applications/jpip/libopenjpip \
+-I$(top_builddir)/applications/jpip/libopenjpip \
+-I$(top_srcdir)/applications/jpip/libopenjpip/tools \
+-I$(top_builddir)/applications/jpip/libopenjpip/tools
+jpt_to_jp2_CFLAGS =
+jpt_to_jp2_LDADD = $(top_builddir)/applications/jpip/libopenjpip/libopenjpip_local.la
+jpt_to_jp2_SOURCES = jpt_to_jp2.c
+
+jpt_to_j2k_CPPFLAGS = \
+-I. \
+-I$(top_srcdir)/applications/jpip/libopenjpip \
+-I$(top_builddir)/applications/jpip/libopenjpip \
+-I$(top_srcdir)/applications/jpip/libopenjpip/tools \
+-I$(top_builddir)/applications/jpip/libopenjpip/tools
+jpt_to_j2k_CFLAGS =
+jpt_to_j2k_LDADD = $(top_builddir)/applications/jpip/libopenjpip/libopenjpip_local.la
+jpt_to_j2k_SOURCES = jpt_to_j2k.c
+
+test_index_CPPFLAGS = \
+-I. \
+-I$(top_srcdir)/applications/jpip/libopenjpip \
+-I$(top_builddir)/applications/jpip/libopenjpip \
+-I$(top_srcdir)/applications/jpip/libopenjpip/tools \
+-I$(top_builddir)/applications/jpip/libopenjpip/tools
+test_index_CFLAGS =
+test_index_LDADD = $(top_builddir)/applications/jpip/libopenjpip/libopenjpip_local.la
+test_index_SOURCES = test_index.c
+
+addXMLinJP2_CPPFLAGS = \
+-I. \
+-I$(top_srcdir)/applications/jpip/libopenjpip/tools \
+-I$(top_builddir)/applications/jpip/libopenjpip/tools
+addXMLinJP2_CFLAGS =
+addXMLinJP2_LDADD = $(top_builddir)/applications/jpip/libopenjpip/libopenjpip_local.la
+addXMLinJP2_SOURCES = addXMLinJP2.c
+
+install-data-hook:
+ @echo -e " (B)\t$(bindir)/jpt_to_jp2$(EXEEXT)" >> $(top_builddir)/report.txt
+ @echo -e " (B)\t$(bindir)/jpt_to_j2k$(EXEEXT)" >> $(top_builddir)/report.txt
+ @echo -e " (B)\t$(bindir)/test_index$(EXEEXT)" >> $(top_builddir)/report.txt
+ @echo -e " (B)\t$(bindir)/addXMLinJP2$(EXEEXT)" >> $(top_builddir)/report.txt
diff --git a/applications/jpip/tools/indexer/Makefile.am b/applications/jpip/tools/indexer/Makefile.am
new file mode 100644
index 00000000..c0803e90
--- /dev/null
+++ b/applications/jpip/tools/indexer/Makefile.am
@@ -0,0 +1,34 @@
+MAINTAINERCLEANFILES = Makefile.in
+
+bin_PROGRAMS = index_create
+
+index_create_CPPFLAGS = \
+-I. \
+-I$(top_srcdir)/applications/libopenjpip/tools/indexer \
+-I$(top_builddir)/applications/libopenjpip/tools/indexer
+index_create_CFLAGS =
+index_create_LDADD = -lm
+index_create_SOURCES = \
+bio.c \
+bio.h \
+cio.c \
+cio.h \
+index_create.c \
+int.c \
+int.h \
+j2k.h \
+jp2.c \
+jp2.h \
+jpip.c \
+jpip.h \
+pi.c \
+pi.h \
+t2.c \
+t2.h \
+tcd.c \
+tcd.h \
+tgt.c \
+tgt.h
+
+install-data-hook:
+ @echo -e " (B)\t$(bindir)/index_create$(EXEEXT)" >> $(top_builddir)/report.txt
diff --git a/applications/jpip/tools/indexer/fix.c b/applications/jpip/tools/indexer/fix.c
deleted file mode 100644
index 9699bf6b..00000000
--- a/applications/jpip/tools/indexer/fix.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2001-2002, David Janssens
- * Copyright (c) 2003, Yannick Verschueren
- * Copyright (c) 2003, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "fix.h"
-
-#ifdef WIN32
-#define int64 __int64
-#else
-#define int64 long long
-#endif
-
-///
-/// Multiply two fixed-precision rational numbers.
-///
-int fix_mul(int a, int b) {
- return (int)((int64)a*(int64)b>>13);
-}
diff --git a/applications/jpip/tools/indexer/fix.h b/applications/jpip/tools/indexer/fix.h
deleted file mode 100644
index 4b6e1b54..00000000
--- a/applications/jpip/tools/indexer/fix.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2001-2002, David Janssens
- * Copyright (c) 2003, Yannick Verschueren
- * Copyright (c) 2003, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef __FIX_H
-#define __FIX_H
-
-int fix_mul(int a, int b);
-
-#endif
diff --git a/applications/jpip/tools/indexer/jpt.c b/applications/jpip/tools/indexer/jpt.c
deleted file mode 100644
index 402dfcb8..00000000
--- a/applications/jpip/tools/indexer/jpt.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 2004, Yannick Verschueren
- * Copyright (c) 2004, Communications and remote sensing Laboratory, Universite catholique de Louvain, Belgium
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-#include
-
-#include "cio.h"
-
-
-/*
- * Read the information contains in VBAS [JPP/JPT stream message header]
- * Store information (7 bits) in value
- *
- */
-unsigned int jpt_read_VBAS_info(unsigned int value)
-{
- char elmt;
-
- elmt = cio_read(1);
- while ((elmt >> 7) == 1)
- {
- value = value << 7;
- value |= (elmt & 0x7f);
- elmt = cio_read(1);
- }
- value = value << 7;
- value |= (elmt & 0x7f);
-
- return value;
-}
-
-/*
- * Read the message header for a JPP/JPT - stream
- *
- */
-void jpt_read_Msg_Header()
-{
- char elmt, Class, CSn, last_byte, Aux;
- unsigned int ID=0, Class_ID=0, CSn_ID=0, Msg_offset=0, Msg_length=0, Layer_nb;
-
- /* ------------- */
- /* VBAS : Bin-ID */
- /* ------------- */
- elmt = cio_read(1);
-
- /* See for Class and CSn */
- switch((elmt>>5) & 0x03)
- {
- case 0:
- fprintf(stderr,"Forbidden value encounter in message header !!\n");
- break;
- case 1:
- Class = 0;
- CSn = 0;
- break;
- case 2:
- Class = 1;
- CSn = 0;
- break;
- case 3:
- Class = 1;
- CSn = 1;
- break;
- default :
- break;
- }
-
- /* see information on bits 'c' [p 10 : A.2.1 general, ISO/IEC FCD 15444-9] */
- if (((elmt>>3) & 0x01) == 1)
- last = 1;
-
- /* In-class identifier */
- ID |= (elmt & 0x0f);
- if ((elmt>>7)==1)
- ID = jpt_read_VBAS_info(ID);
-
- /* ------------ */
- /* VBAS : Class */
- /* ------------ */
- if (Class==1)
- {
- Class_ID = jpt_read_VBAS_info(Class_ID);
- } else
- {
- /* 0 si pas de precedent message */
- /* inchange sinon */
- }
-
- /* ---------- */
- /* VBAS : CSn */
- /* ---------- */
- if (CSn==1)
- {
- CSn_ID = jpt_read_VBAS_info(CSn_ID);
- } else
- {
- /* 0 si pas de precedent message */
- /* inchange sinon */
- }
-
- /* ----------------- */
- /* VBAS : Msg_offset */
- /* ----------------- */
- Msg_offset = jpt_read_VBAS_info(Msg_offset);
-
- /* ----------------- */
- /* VBAS : Msg_length */
- /* ----------------- */
- Msg_length = jpt_read_VBAS_info(Msg_length);
-
- /* ---------- */
- /* VBAS : Aux */
- /* ---------- */
- if (CSn_ID == 1)
- Layer_nb = jpt_read_VBAS_info(Layer_nb);
-}
diff --git a/configure.ac b/configure.ac
index 3114aef7..baefa964 100644
--- a/configure.ac
+++ b/configure.ac
@@ -469,6 +469,8 @@ applications/jpip/libopenjpip/Makefile
applications/jpip/opj_server/Makefile
applications/jpip/opj_client/Makefile
applications/jpip/opj_client/opj_dec_server/Makefile
+applications/jpip/tools/Makefile
+applications/jpip/tools/indexer/Makefile
doc/Makefile
])