Skip to content
Snippets Groups Projects
  1. Dec 17, 2013
  2. Dec 04, 2013
  3. Dec 03, 2013
  4. Nov 18, 2013
  5. Nov 04, 2013
  6. Jul 13, 2013
    • Ron's avatar
      Always try to update the version when autogen.sh is run · cfe8e2b8
      Ron authored
      This avoids at least one case where ./autogen.sh && ./configure && make
      will re-run configure because the makefile rules updated something that
      it depends upon. Pulling a new version from git will change the version
      so we should update that at the first step rather than iterating after
      the last one.
      cfe8e2b8
  7. Jul 01, 2013
    • Ron's avatar
      Get rid of PC_LIBM · f92286b3
      Ron authored
      It only existed to not include -lm in the .pc for fixed point builds,
      but that is still needed since the float API is still enabled and
      will use at least lrint.
      f92286b3
  8. Jun 28, 2013
    • Ron's avatar
      More autoconf housekeeping · 5bac4f26
      Ron authored
      Drop the test for getopt, it's not used anywhere anymore.
      
      Switch the last uses of AC_TRY_COMPILE to AC_COMPILE_IFELSE now.
      The former is marked as obsolete, and this will leave no confusion
      about which to cut and paste if new tests are added.
      
      Double quote all the parameters to AC_LANG_SOURCE and AC_LANG_PROGRAM.
      This is actually required, even if you can get away with not doing it
      sometimes, so again set a good example for future changes to follow,
      to hopefully avoid people getting bitten harder than they need to be.
      
      Don't bother checking for alloca if we're never going to use it
      (ie. if we have C99 variable-size array support).
      The test for this is a bit sketchy anyway ...  we separately test for
      HAVE_ALLOCA_H and USE_ALLOCA, but the test for USE_ALLOCA depends upon
      having alloca.h present, yet the use of these macros in stack_alloc.h
      only tests for HAVE_ALLOCA_H inside of a test for USE_ALLOCA.
      I'm not going to change this logic right now, since I don't know what
      crazy system it was attempting to cater for, though I suspect it was
      one that was not using the autoconf build system ... since with the
      current test that combination should not be possible to obtain.
      
      Use LT_LIB_M instead of the song and dance with testing for exp().
      This should also work for BeOS which is what the exp test was added for.
      It also means we don't unconditionally add -lm to everything via LIBS.
      
      Use LIBM now instead of hardcoding -lm everywhere.
      
      Use AS_HELP_STRING to format all option descriptions.
      
      Don't bother to test for doxygen if using it is --disable'd.
      
      Drop the SYMBOL_VISIBILITY export, it isn't used anywhere (we add the
      compiler flag to CFLAGS).
      5bac4f26
  9. Jun 08, 2013
  10. Jun 04, 2013
  11. May 26, 2013
  12. May 22, 2013
  13. May 20, 2013
    • Ron's avatar
      Add support for autoconf macros in m4/ · 50b395bf
      Ron authored
      Needed by commit 972a34ec.
      
      Use autoreconf in autogen.sh instead of the handwritten version,
      it's simpler, and also updates things that we weren't handling.
      
      Drop the hand-written INSTALL file.  Its information content was
      ~zero, and autotools wants to overwrite it with its own version,
      so don't fight that, just .gitignore it.
      50b395bf
    • Timothy B. Terriberry's avatar
      Add ARMv4/ARMv5E macros. · 972a34ec
      Timothy B. Terriberry authored
      Original patch by Aurélien Zanelli <aurelien.zanelli@parrot.com>:
       http://lists.xiph.org/pipermail/opus/2013-May/002078.html
      
      Revised version:
      - Add autconf detection (ported from libtheora).
      - Rename ARM5E to ARMv5E (an ARM5 is not the same thing as ARMv5!).
      - Use actual macros so they can still be selectively overridden.
      - Split out ARMv4 parts and add a few more ARMv4 macros.
      - Label blocks to make them easy to find in generated assembly.
      - Fix MULT16_32_Q15() so we can pass make check.
        The MDCT test passes in values larger than 2**30 for b.
        The new version should be just as fast (or faster, since it's
         easier to merge the shift with following instructions), and
         there's no appreciable impact on accuracy (FFT/MDCT SNR actually
         goes up in most cases).
      - Fix register constraints.
        We were using early-clobber flags in a bunch of places that
         didn't need them, and commutative-pair flags in a bunch of
         places that weren't actually commutative.
        This was Jean-Marc's fault (the original code came from Speex).
      - Simplify silk_CLZ16().
      - Port over iFFT C_MULC asm by Andree Buschmann
         <AndreeBuschmann@t-online.de> from Rockbox.
      - Speed up the C_MULC asm by using LDRD, allowing more flexible
         addressing, re-ordering instructions to avoid some stalls,
         allowing more flexible register allocation, and getting things
         out of the inline asm block so the compiler can schedule them
         better.
      - Add C_MUL and C_MUL4 asm for the FFT to the encoder based, on the
         new C_MULC.
      
      In total, this patch gives a 22.3% speed-up on test_opus_encoder on
       a 600 MHz Cortex A8 using gcc 4.2.1,
      When restricted to ARMv4 optimizations, it gives a 9.6% speed-up
       on the same processor/compiler.
      On the conformance test vectors:
       Average mono quality is 97.0583 %
       Average stereo quality is 97.775 %
      972a34ec
  14. May 18, 2013
    • Ron's avatar
      Use m4_esyscmd instead of m4_esyscmd_s · 918acd15
      Ron authored
      We shouldn't ever have any trailing newlines that need trimming here,
      and the _s version wasn't added to m4sugar.m4 until autoconf 2.63b,
      so this will let it work with 2.13 again.
      918acd15
  15. May 10, 2013
    • Ron's avatar
      Fully automate version updating · 2f2f9d63
      Ron authored
      This one meets or exceeds the following requirements:
      
       - Version is checked/updated for every build action when in the git repo.
         Does not require the user to re- ./configure to get the correct version.
      
       - Version is not updated automatically when using exported tarball source.
         Avoids accidentally getting a wrong version from some other git repo in
         a parent directory of the source, and allows setting the correct version
         for distro package exports.
      
       - Automatic updating can be manually suppressed.
         For developers doing lots of change/rebuild cycles they don't plan to
         release, when they don't want a full rebuild triggered for every commit,
         and again for every change made immediately after a commit.
         The version will still always be updated if they do a `make dist`.
      
       - Does not require any manual updating of versions in the mainline git
         repo for each release aside from normal tagging.  The version is
         recorded in one file only, that is automatical...
      2f2f9d63
  16. May 09, 2013
  17. Mar 13, 2013
  18. Mar 11, 2013
    • Ralph Giles's avatar
      Add -Wdeclaration-after-statement. · 42f39c54
      Ralph Giles authored
      We keep accidentally adding these which break the -pedantic build,
      so complain about it in the normal build.
      
      Also de-duplicate the warning list.
      42f39c54
  19. Jan 02, 2013
    • Ralph Giles's avatar
      Use AC_CONFIG_HEADERS. · ba1bd031
      Ralph Giles authored
      This avoids a warning about obsolete AM_CONFIG_HEADERS() on more
      recent autoconf. The new macro has been around at least since
      autoconf 2.60. So this should be safe.
      ba1bd031
  20. Dec 05, 2012
    • Ralph Giles's avatar
      Bump soname version to match the 1.0.x branch. · 119d53c9
      Ralph Giles authored
      Library soname versioning is something we normally change
      only right before each release. However, with 1.0.2 being
      released from the 1.0.x branch with 3.0.3, it makes sense
      to make the same update here. That way when we do a new
      release from master we can just increment again and have
      the version properly reflect ranges relative to the stable
      branch.
      119d53c9
  21. Nov 29, 2012
  22. Nov 14, 2012
    • Ralph Giles's avatar
      Enable maintainer mode by default on automake 1.11 · 14454c49
      Ralph Giles authored
      Passing 'enable' as an argument to AM_MAINTAINER_MODE flips the
      default to enabled, rather than disabled until automake 1.11.
      This is a safer default for a developer-oriented library.
      
      ./configure --disable-maintainer-mode is still available for
      packagers who what to preserve the upstream build distribution.
      
      On earlier automake versions, the argument appears to have no
      effect, so there is no behaviour change for developers using
      older autotools.
      
      Based on a patch for opusfile by ron@debian.org.
      14454c49
  23. Sep 19, 2012
    • Ron's avatar
      Just fix opus-uninstalled.pc instead of tweaking the build dir · ff16ab09
      Ron authored
      Doing it this way means it's only the weird corner case that actually
      pays for being weird, and we don't litter the build dir with an extra
      link that normal builds really don't need at all.
      
      It also avoids the problem of platforms where LN_S isn't well defined.
      ff16ab09
  24. Sep 18, 2012
    • Ron's avatar
      Link the include dir into out-of-tree build dirs · c40d5004
      Ron authored
      Mostly this is for people building other things using an uninstalled
      opus tree so that the opus-uninstalled.pc will return a working -I
      with --cflags when PKG_CONFIG_PATH is set to point to the build dir.
      
      The version of AC_OUTPUT that takes parameters has long been
      deprecated now, and replaced by AC_CONFIG_* macros, so pass them
      with AC_CONFIG_FILES, since we're now using AC_CONFIG_COMMANDS
      to do the above.
      c40d5004
  25. Sep 17, 2012
    • Ralph Giles's avatar
      Opus custom requires libm unconditionally. · 3ef8a166
      Ralph Giles authored
      3ef8a166
    • Ralph Giles's avatar
      Add -lm to the pkg-config link line. · d47ddfb4
      Ralph Giles authored
      The floating-point build calls a number of math library
      functions, and linking with libm is technically necessary.
      It wasn't obvious because most systems support shlib
      dependencies and pulled it in that way, or supply the
      referenced functions with intrinsics. Discovered the issue
      trying to build libopusfile against the uninstalled static
      libopus, which unlike opus-tools, doesn't itself need libm.
      
      The -lm argument is only added to Libs for the floating-
      point (default) build. It's not necessary for the fixed-
      point build.
      
      Also mark which build was used in the .pc file description.
      d47ddfb4
    • Ralph Giles's avatar
      Remove FLOATING_POINT from config.h. · a66642a5
      Ralph Giles authored
      This isn't used anywhere in the code, floating point is just the
      default unless FIXED_POINT is defined.
      
      In the speex codebase, arch.h has a check that both FIXED_POINT
      and FLOATING_POINT aren't defined simultaneously, in part as a
      check that the build system was constructed with thought about
      these and other defines. However, we don't have such a check
      and to me it seems unnecessary code.
      a66642a5
  26. Sep 01, 2012
  27. Aug 29, 2012
    • Gregory Maxwell's avatar
      Completely remove the built-in autotools -fstatck-protector detection. · 5ae062a7
      Gregory Maxwell authored
       On some systems (HPPA+HPUX+GCC) -fstatck-protector was causing failures not
      at build or link time but at actual runtime. This is much less reasonable to
      detect from autotools. It looks this this really can only safely be a white-
      list, and the systems which would be whitelisted often already pick up the
      setting from the OS build environment in any case.  It isn't important for
      OPUS, we were just using it as belt-and-suspenders security and because it
      makes some failure types easier to troubleshoot.
      5ae062a7
  28. Aug 21, 2012
    • Ralph Giles's avatar
      Clarify a comment. · 11dd5522
      Ralph Giles authored
      Further cleanup of the confusion with the version string settings.
      11dd5522
    • Ralph Giles's avatar
      Propagate OPUS_VERSION to config.h. · d6067378
      Ralph Giles authored
      I'm not sure how this worked before, the the previous version
      string fiddling commit ended up not defining OPUS_VERSION in
      the autoconf build, so opus_get_version_string() returned
      'unknown'.
      d6067378
  29. Aug 16, 2012
    • Ralph Giles's avatar
      Move the release version string to version.mk. · 59c5a82e
      Ralph Giles authored
      Previously we defined the release version string in configure.ac,
      and overrode that with 'git describe --tags' if possible. This
      made it difficult for non-autoconf builds to set their version
      string correctly.
      
      Instead we create, and check into version control, a file called
      version.mk which defines OPUS_VERSION. The configure script reads
      that file and uses it as a fallback if the git revision isn't available.
      
      The expectation is that version.mk will be manually updated for
      releases, just as the previous configure.ac version was. However,
      since this is a simpler format, it is easier for alternate build
      systems to use, reducing the number of places which must be updated.
      
      Also removes the OPUS_MINOR_VERSION, etc. defines from config.h.
      59c5a82e
  30. Aug 15, 2012
  31. Aug 10, 2012
  32. Aug 09, 2012
  33. Aug 08, 2012
  34. Jul 07, 2012
  35. Jun 29, 2012
Loading