autotools-based build system
authorJean-Marc Valin <jean-marc.valin@octasic.com>
Thu, 8 Jul 2010 15:27:20 +0000 (11:27 -0400)
committerJean-Marc Valin <jean-marc.valin@octasic.com>
Thu, 8 Jul 2010 15:27:20 +0000 (11:27 -0400)
12 files changed:
Makefile [deleted file]
Makefile.am [new file with mode: 0644]
autogen.sh [new file with mode: 0755]
celt
configure.ac [new file with mode: 0644]
silk
src/Makefile [deleted file]
src/Makefile.am [new file with mode: 0644]
src/hybrid_decoder.c
src/hybrid_decoder.h
src/hybrid_encoder.c
src/hybrid_encoder.h

diff --git a/Makefile b/Makefile
deleted file mode 100644 (file)
index e750dd4..0000000
--- a/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-all: celt silk
-       (cd src; make)
-
-celt:
-       (cd celt; make)
-
-silk:
-       (cd silk; make)
-
diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..5b4fdea
--- /dev/null
@@ -0,0 +1,8 @@
+## Process this file with automake to produce Makefile.in. -*-Makefile-*-
+
+# To disable automatic dependency tracking if using other tools than
+# gcc and gmake, add the option 'no-dependencies'
+AUTOMAKE_OPTIONS = 1.6
+
+#Fools KDevelop into including all files
+SUBDIRS = celt silk src
diff --git a/autogen.sh b/autogen.sh
new file mode 100755 (executable)
index 0000000..c534c7f
--- /dev/null
@@ -0,0 +1,111 @@
+#!/bin/sh
+# Run this to set up the build system: configure, makefiles, etc.
+# (based on the version in enlightenment's cvs)
+
+package="ietfcodec"
+
+olddir=`pwd`
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+cd "$srcdir"
+DIE=0
+
+echo "checking for autoconf... "
+(autoconf --version) < /dev/null > /dev/null 2>&1 || {
+        echo
+        echo "You must have autoconf installed to compile $package."
+        echo "Download the appropriate package for your distribution,"
+        echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
+        DIE=1
+}
+
+VERSIONGREP="sed -e s/.*[^0-9\.]\([0-9]\.[0-9]*\).*/\1/"
+VERSIONMKINT="sed -e s/[^0-9]//"
+                                                                                
+# do we need automake?
+if test -r Makefile.am; then
+  AM_NEEDED=`fgrep AUTOMAKE_OPTIONS Makefile.am | $VERSIONGREP`
+  if test -z $AM_NEEDED; then
+    echo -n "checking for automake... "
+    AUTOMAKE=automake
+    ACLOCAL=aclocal
+    if ($AUTOMAKE --version < /dev/null > /dev/null 2>&1); then
+      echo "yes"
+    else
+      echo "no"
+      AUTOMAKE=
+    fi
+  else
+    echo -n "checking for automake $AM_NEEDED or later... "
+    for am in automake-$AM_NEEDED automake$AM_NEEDED automake; do
+      ($am --version < /dev/null > /dev/null 2>&1) || continue
+      ver=`$am --version < /dev/null | head -n 1 | $VERSIONGREP | $VERSIONMKINT`
+      verneeded=`echo $AM_NEEDED | $VERSIONMKINT`
+      if test $ver -ge $verneeded; then
+        AUTOMAKE=$am
+        echo $AUTOMAKE
+        break
+      fi
+    done
+    test -z $AUTOMAKE &&  echo "no"
+    echo -n "checking for aclocal $AM_NEEDED or later... "
+    for ac in aclocal-$AM_NEEDED aclocal$AM_NEEDED aclocal; do
+      ($ac --version < /dev/null > /dev/null 2>&1) || continue
+      ver=`$ac --version < /dev/null | head -n 1 | $VERSIONGREP | $VERSIONMKINT`
+      verneeded=`echo $AM_NEEDED | $VERSIONMKINT`
+      if test $ver -ge $verneeded; then
+        ACLOCAL=$ac
+        echo $ACLOCAL
+        break
+      fi
+    done
+    test -z $ACLOCAL && echo "no"
+  fi
+  test -z $AUTOMAKE || test -z $ACLOCAL && {
+        echo
+        echo "You must have automake installed to compile $package."
+        echo "Download the appropriate package for your distribution,"
+        echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
+        exit 1
+  }
+fi
+
+echo -n "checking for libtool... "
+for LIBTOOLIZE in libtoolize glibtoolize nope; do
+  ($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 && break
+done
+if test x$LIBTOOLIZE = xnope; then
+  echo "nope."
+  LIBTOOLIZE=libtoolize
+else
+  echo $LIBTOOLIZE
+fi
+($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 || {
+       echo
+       echo "You must have libtool installed to compile $package."
+       echo "Download the appropriate package for your system,"
+       echo "or get the source from one of the GNU ftp sites"
+       echo "listed in http://www.gnu.org/order/ftp.html"
+       DIE=1
+}
+
+if test "$DIE" -eq 1; then
+        exit 1
+fi
+
+echo "Generating configuration files for $package, please wait...."
+
+echo "  $ACLOCAL $ACLOCAL_FLAGS"
+$ACLOCAL $ACLOCAL_FLAGS || exit 1
+#echo "  autoheader"
+#autoheader || exit 1
+echo "  $LIBTOOLIZE --automake"
+$LIBTOOLIZE --automake || exit 1
+echo "  $AUTOMAKE --add-missing $AUTOMAKE_FLAGS"
+$AUTOMAKE --add-missing $AUTOMAKE_FLAGS || exit 1
+echo "  autoconf"
+autoconf || exit 1
+
+cd $olddir
+#$srcdir/configure "$@" && echo
diff --git a/celt b/celt
index ea245c5..72513f3 160000 (submodule)
--- a/celt
+++ b/celt
@@ -1 +1 @@
-Subproject commit ea245c5ca9414c695dca99ad8e4edf183fae9ce9
+Subproject commit 72513f3cc75a2a4a5ab12c1d00acb1dbfb96ab73
diff --git a/configure.ac b/configure.ac
new file mode 100644 (file)
index 0000000..b098497
--- /dev/null
@@ -0,0 +1,29 @@
+#                                               -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ([2.59])
+AC_INIT(src/hybrid.h)
+AM_INIT_AUTOMAKE(libietfcodec,0.0.0)
+
+# Checks for programs.
+AC_PROG_CC
+AC_PROG_LIBTOOL
+
+# Checks for header files.
+AC_HEADER_STDC
+AC_CHECK_HEADERS([float.h stdint.h stdlib.h string.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_C_INLINE
+AC_C_RESTRICT
+AC_TYPE_SIZE_T
+
+# Checks for library functions.
+AC_FUNC_MALLOC
+
+AC_CONFIG_SUBDIRS([celt])
+AC_CONFIG_SUBDIRS([silk])
+
+AC_CONFIG_FILES([Makefile src/Makefile])
+AC_OUTPUT
diff --git a/silk b/silk
index 130e02e..67224e3 160000 (submodule)
--- a/silk
+++ b/silk
@@ -1 +1 @@
-Subproject commit 130e02e2c494769231337746745849dddbd48f7b
+Subproject commit 67224e3c720904c17050c366d4f746ceeffb9049
diff --git a/src/Makefile b/src/Makefile
deleted file mode 100644 (file)
index 639ca28..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-all:
-       gcc -DHAVE_CONFIG_H -I../celt -W -Wextra -Wall -O3 -g -I../ -I../celt/libcelt -L../celt/libcelt/.libs/ -o test_hybrid test_hybrid.c hybrid_decoder.c hybrid_encoder.c ../silk/test/SKP_debug.o ../silk/libSKP_SILK_SDK.a -lcelt0 -I../silk/interface -lm
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644 (file)
index 0000000..130fc36
--- /dev/null
@@ -0,0 +1,13 @@
+
+INCLUDES = -I$(top_srcdir)/celt/libcelt/ -I$(top_srcdir)/silk/interface 
+
+lib_LTLIBRARIES = libietfcodec.la
+libietfcodec_la_SOURCES = hybrid_decoder.c hybrid_encoder.c
+
+noinst_HEADERS = hybrid_decoder.h hybrid_encoder.h
+
+pkginclude_HEADERS = hybrid.h
+
+noinst_PROGRAMS = test_hybrid
+test_hybrid_SOURCES = test_hybrid.c $(top_srcdir)/silk/test/SKP_debug.c
+test_hybrid_LDADD = libietfcodec.la $(top_builddir)/celt/libcelt/libcelt0.la $(top_builddir)/silk/libSKP_SILK_SDK.la
index 5b1fce2..9fdaf3e 100644 (file)
@@ -37,8 +37,8 @@
 #include <stdio.h>
 #include <stdarg.h>
 #include "hybrid_decoder.h"
-#include "celt/libcelt/entdec.h"
-#include "celt/libcelt/modes.h"
+#include "entdec.h"
+#include "modes.h"
 #include "SKP_Silk_SDK_API.h"
 
 
index 180c32a..eeeb0ee 100644 (file)
@@ -32,7 +32,7 @@
 #ifndef HYBRID_DECODER_H
 #define HYBRID_DECODER_H
 
-#include "celt/libcelt/celt.h"
+#include "celt.h"
 #include "hybrid.h"
 
 struct HybridDecoder {
index 02ad5af..6c41a08 100644 (file)
@@ -37,8 +37,8 @@
 #include <stdio.h>
 #include <stdarg.h>
 #include "hybrid_encoder.h"
-#include "celt/libcelt/entenc.h"
-#include "celt/libcelt/modes.h"
+#include "entenc.h"
+#include "modes.h"
 #include "SKP_Silk_SDK_API.h"
 
 HybridEncoder *hybrid_encoder_create()
index dc10d3a..0d834a5 100644 (file)
@@ -32,7 +32,7 @@
 #ifndef HYBRID_ENCODER_H
 #define HYBRID_ENCODER_H
 
-#include "celt/libcelt/celt.h"
+#include "celt.h"
 #include "hybrid.h"
 #include "SKP_Silk_SDK_API.h"