aboutsummaryrefslogtreecommitdiff
path: root/configure.ac (follow)
AgeCommit message (Collapse)AuthorFilesLines
2014-09-25Build: Detect supported compiler warning flags better.Lasse Collin1-2/+3
Clang and nowadays also GCC accept any -Wfoobar option but then may give a warning that an unknown warning option was specified. To avoid adding unsupported warning options, the options are now tested with -Werror. Thanks to Charles Diza.
2014-07-25liblzma: Add lzma_memcmplen() for fast memory comparison.Lasse Collin1-0/+13
This commit just adds the function. Its uses will be in separate commits. This hasn't been tested much yet and it's perhaps a bit early to commit it but if there are bugs they should get found quite quickly. Thanks to Jun I Jin from Intel for help and for pointing out that string comparison needs to be optimized in liblzma.
2014-04-25Build: Add --disable-doc to configure.Lasse Collin1-0/+6
2013-09-17Add native threading support on Windows.Lasse Collin1-28/+90
Now liblzma only uses "mythread" functions and types which are defined in mythread.h matching the desired threading method. Before Windows Vista, there is no direct equivalent to pthread condition variables. Since this package doesn't use pthread_cond_broadcast(), pre-Vista threading can still be kept quite simple. The pre-Vista code doesn't use anything that wasn't already available in Windows 95, so the binaries should run even on Windows 95 if someone happens to care.
2013-09-11Build: Remove a comment about Automake 1.10 from configure.ac.Lasse Collin1-2/+0
The previous commit supports silent rules and that requires Automake 1.11.
2013-09-09Build: Create liblzma.pc in a src/liblzma/Makefile.am.Lasse Collin1-1/+0
Previously it was done in configure, but doing that goes against the Autoconf manual. Autoconf requires that it is possible to override e.g. prefix after running configure and that doesn't work correctly if liblzma.pc is created by configure. A potential downside of this change is that now e.g. libdir in liblzma.pc is a standalone string instead of being defined via ${prefix}, so if one overrides prefix when running pkg-config the libdir won't get the new value. I don't know if this matters in practice. Thanks to Vincent Torri.
2013-07-15Build: Fix the detection of missing CRC32.Lasse Collin1-1/+1
Thanks to Vincent Torri.
2013-06-26Build: Require Automake 1.12 and use serial-tests option.Lasse Collin1-1/+3
It should actually still work with Automake 1.10 if the serial-tests option is removed. Automake 1.13 started using parallel tests by default and the option to get the old behavior isn't supported before 1.12. At least for now, parallel tests don't improve anything in XZ Utils but they hide the progress output from test_compress.sh.
2013-04-27Build: Use -Wvla with GCC if supported.Lasse Collin1-0/+1
Variable-length arrays are mandatory in C99 but optional in C11. The code doesn't currently use any VLAs and it shouldn't in the future either to stay compatible with C11 without requiring any optional C11 features.
2012-08-24A few typo fixes to comments and the xz man page.Lasse Collin1-1/+1
Thanks to Jim Meyering.
2012-08-02Build: Bump gettext version requirement to 0.18.Lasse Collin1-1/+1
Otherwise too old version of m4/lib-link.m4 gets included when autoreconf -fi is run.
2012-07-04Build: Add a comment to configure.ac about symbol versioning.Lasse Collin1-0/+4
2012-02-22Fix compiling with IBM XL C on AIX.Lasse Collin1-1/+5
2011-08-06Run the scripts with the correct shell in test_scripts.sh.Lasse Collin1-4/+4
The scripts are now made executable in the build tree. This way the scripts can be run like programs in test_scripts.sh. Previously test_scripts.sh always used sh but it's not correct if @POSIX_SHELL@ is set to something else by configure. Thanks to Jonathan Nieder for the patch.
2011-05-28Build: Make configure print if symbol versioning is enabled or not.Lasse Collin1-0/+2
2011-05-28liblzma: Use symbol versioning.Lasse Collin1-0/+21
Symbol versioning is enabled by default on GNU/Linux, other GNU-based systems, and FreeBSD. I'm not sure how stable this is, so it may need backward-incompatible changes before the next release. The idea is that alpha and beta symbols are considered unstable and require recompiling the applications that use those symbols. Once a symbol is stable, it may get extended with new features in ways that don't break compatibility with older ABI & API. The mydist target runs validate_map.sh which should catch some probable problems in liblzma.map. Otherwise I would forget to update the map file for new releases.
2011-05-24Build: Fix checking for system-provided SHA-256.Lasse Collin1-1/+1
2011-05-21liblzma: Try to use SHA-256 from the operating system.Lasse Collin1-0/+54
If the operating system libc or other base libraries provide SHA-256, use that instead of our own copy. Note that this doesn't use OpenSSL or libgcrypt or such libraries to avoid creating dependencies to other packages. This supports at least FreeBSD, NetBSD, OpenBSD, Solaris, MINIX, and Darwin. They all provide similar but not identical SHA-256 APIs; everyone is a little different. Thanks to Wim Lewis for the original patch, improvements, and testing.
2011-05-17Build: Fix initialization of enable_check_* variables in configure.ac.Lasse Collin1-1/+1
This doesn't matter much in practice since it is unlikely that anyone would have such environment variable names. Thanks to Wim Lewis.
2011-04-19Build: Warn if no supported method to detect the number of CPU cores.Lasse Collin1-6/+5
2011-04-19Fix portability problems in mythread.h.Lasse Collin1-0/+7
Use gettimeofday() if clock_gettime() isn't available (e.g. Darwin). The test for availability of pthread_condattr_setclock() and CLOCK_MONOTONIC was incorrect. Instead of fixing the #ifdefs, use an Autoconf test. That way if there exists a system that supports them but doesn't specify the matching POSIX #defines, the features will still get detected. Don't try to use pthread_sigmask() on OpenVMS. It doesn't have that function. Guard mythread.h against being #included multiple times.
2011-04-11liblzma: Add lzma_stream_encoder_mt() for threaded compression.Lasse Collin1-0/+1
This is the simplest method to do threading, which splits the uncompressed data into blocks and compresses them independently from each other. There's room for improvement especially to reduce the memory usage, but nevertheless, this is a good start.
2011-04-10Revise mythread.h.Lasse Collin1-0/+1
This adds: - mythread_sync() macro to create synchronized blocks - mythread_cond structure and related functions and macros for condition variables with timed waiting using a relative timeout - mythread_create() to create a thread with all signals blocked Some of these wouldn't need to be inline functions, but I'll keep them this way for now for simplicity. For timed waiting on a condition variable, librt is now required on some systems to use clock_gettime(). configure.ac was updated to handle this.
2011-04-05Build: Upgrade m4/acx_pthread.m4 to the latest version.Lasse Collin1-1/+1
It was renamed to ax_pthread.m4 in Autoconf Archive.
2011-04-05xz: Use posix_fadvise() if it is available.Lasse Collin1-0/+3
2010-12-12Build: Enable ASM on DJGPP by default.Lasse Collin1-1/+1
2010-10-08configure.ac: Remove two unused defines.Lasse Collin1-4/+0
2010-10-08Build: Add options to disable individual command line tools.Lasse Collin1-0/+38
2010-10-05Build: Remove the static/dynamic tricks.Lasse Collin1-74/+0
Most distros want xz linked against shared liblzma, so it doesn't help much to require --enable-dynamic for that. Those who want to avoid PIC on x86-32 to get better performance, can still do it e.g. by using --disable-shared to compile xz and then another pass to compile shared liblzma. Part of these static/dynamic tricks were needed for Windows in the past. Nowadays we rely on GCC and binutils to do the right thing with auto-import. If the Autotooled build system needs to support some other toolchain on Windows in the future, this may need some rethinking.
2010-10-05configure.ac: Silence a warning from Autoconf 2.68.Lasse Collin1-1/+1
2010-09-28Move version.sh to build-aux.Lasse Collin1-1/+1
2010-09-10xz: Multiple fixes.Lasse Collin1-0/+1
The code assumed that printing numbers with thousand separators and decimal points would always produce only US-ASCII characters. This was used for buffer sizes (with snprintf(), no overflows) and aligning columns of the progress indicator and --list. That assumption was wrong (e.g. LC_ALL=fi_FI.UTF-8 with glibc), so multibyte character support was added in this commit. The old way is used if the operating system doesn't have enough multibyte support (e.g. lacks wcwidth()). The sizes of buffers were increased to accomodate multibyte characters. I don't know how big they should be exactly, but they aren't used for anything critical, so it's not too bad. If they still aren't big enough, I hopefully get a bug report. snprintf() takes care of avoiding buffer overflows. Some static buffers were replaced with buffers allocated on stack. double_to_str() was removed. uint64_to_str() and uint64_to_nicestr() now share the static buffer and test for thousand separator support. Integrity check names "None" and "Unknown-N" (2 <= N <= 15) were marked to be translated. I had forgot these, plus they wouldn't have worked correctly anyway before this commit, because printing tables with multibyte strings didn't work. Thanks to Marek Černocký for reporting the bug about misaligned table columns in --list output.
2010-05-26Remove the Subblock filter code for now.Lasse Collin1-3/+3
The spec isn't finished and the code didn't compile anymore. It won't be included in XZ Utils 5.0.0. It's easy to get it back once the spec is done.
2010-03-07Change the default of --enable-assume-ram from 32 to 128 MiB.Lasse Collin1-5/+6
This is to allow files created with "xz -9" to be decompressed if the amount of RAM cannot be determined.
2010-02-12Collection of language fixes to comments and docs.Lasse Collin1-1/+1
Thanks to Jonathan Nieder.
2010-01-27Use PACKAGE_URL instead of custom PACKAGE_HOMEPAGE.Lasse Collin1-7/+2
2009-11-22Enable assembler code only if it is known to workLasse Collin1-14/+12
on that operating system. I'm too lazy to think how to make a good Autoconf test for this and it's not that important anyway. No longer define HAVE_ASM_X86 or HAVE_ASM_X86_64. Inline assembler (if any) is used if a macro like __i386__ or __x86_64__ is defined.
2009-11-20Update tuklib_cpucores.m4 and tuklib_physmem.m4 from tuklib,Lasse Collin1-0/+16
which now use AC_CACHE_CHECK. Using the cache variable, configure now warns if there is no method to detect the amount of RAM and recommends using --enable-assume-ram.
2009-10-04Use a tuklib module for integer handling.Lasse Collin1-53/+1
This replaces bswap.h and integer.h. The tuklib module uses <byteswap.h> on GNU, <sys/endian.h> on *BSDs and <sys/byteorder.h> on Solaris, which may contain optimized code like inline assembly.
2009-10-02Add support for --enable-assume-ram=SIZE.Lasse Collin1-0/+24
2009-09-19Various changes.Lasse Collin1-8/+4
Separate a few reusable components from XZ Utils specific code. The reusable code is now in "tuklib" modules. A few more could be separated still, e.g. bswap.h. Fix some bugs in lzmainfo. Fix physmem and cpucores code on OS/2. Thanks to Elbert Pol for help. Add OpenVMS support into physmem. Add a few #ifdefs to ease building XZ Utils on OpenVMS. Thanks to Jouk Jansen for the original patch.
2009-09-11Use $(LN_EXEEXT) in symlinks to executables.Lasse Collin1-0/+9
This fixes "make install" on operating systems using a suffix for executables. Cygwin is treated specially. The symlink names won't have .exe suffix even though the executables themselves have. Thanks to Charles Wilson.
2009-08-27Require GNU libtool 2.2.Lasse Collin1-10/+3
2009-08-13Make --enable-dynamic a tristate option.Lasse Collin1-20/+57
Some programs will by default be linked against static liblzma and some against shared liblzma. --enable-dynamic now allows overriding the default to both directions (all dynamic or all static) even when building both shared and static liblzma. This is quite messy compared to how simple thing it is supposed to be. The complexity is mostly due to Windows support.
2009-08-13Add lzmainfo for backward compatibility with LZMA Utils.Lasse Collin1-0/+1
lzmainfo now links against static liblzma. In contrast to other command line tools in XZ Utils, linking lzmainfo against static liblzma by default is dumb. This will be fixed once I have fixed some related issues in configure.ac.
2009-07-18Use AC_CONFIG_AUX_DIR to clean up the toplevel directoryLasse Collin1-1/+2
a little. Fixed a related bug in the toplevel Makefile.am. Added the build-aux directory to .gitignore.
2009-07-05Major update to the xzgrep and other scripts based onLasse Collin1-0/+14
the latest versions found from gzip CVS repository. configure will try to find a POSIX shell to be used by the scripts. This should ease portability on systems which have pre-POSIX /bin/sh. xzgrep and xzdiff support .xz, .lzma, .gz, and .bz2 files. xzmore and xzless support only .xz and .lzma files. The name of the xz executable used in these scripts is now correct even if --program-transform-name has been used.
2009-07-02Define PACKAGE_HOMEPAGE in configure.ac and use it inLasse Collin1-0/+5
xz and xzdec. Use also PACKAGE_NAME instead of hardcoding "XZ Utils".
2009-07-01Avoid visibility related compiler warnings on Windows.Lasse Collin1-11/+9
2009-06-30Build system fixesLasse Collin1-11/+23
Don't use libtool convenience libraries to avoid recently discovered long-standing subtle but somewhat severe bugs in libtool (at least 1.5.22 and 2.2.6 are affected). It was found when porting XZ Utils to Windows <http://lists.gnu.org/archive/html/libtool/2009-06/msg00070.html> but the problem is significant also e.g. on GNU/Linux. Unless --disable-shared is passed to configure, static library built from a set of convenience libraries will contain PIC objects. That is, while libtool builds non-PIC objects too, only PIC objects will be used from the convenience libraries. On 32-bit x86 (tested on mobile XP2400+), using PIC instead of non-PIC makes the decompressor 10 % slower with the default CFLAGS. So while xz was linked against static liblzma by default, it got the slower PIC objects unless --disable-shared was used. I tend develop and benchmark with --disable-shared due to faster build time, so I hadn't noticed the problem in benchmarks earlier. This commit also adds support for building Windows resources into liblzma and executables.
2009-06-26Basic support for building with Cygwin and MinGW usingLasse Collin1-0/+7
the Autotools based build system. It's not good yet, more fixes will follow.
2009-05-02Use a GCC-specific #pragma instead of GCC-specificLasse Collin1-13/+0
-Wno-uninitialized to silence a bogus warning.
2009-05-02Removed --disable-encoder and --disable-decoder. Use the valuesLasse Collin1-40/+8
given to --enable-encoders and --enable-decoders to determine if any encoder or decoder support is wanted.
2009-04-13Put the interesting parts of XZ Utils into the public domain.Lasse Collin1-10/+3
Some minor documentation cleanups were made at the same time.
2009-03-01Added AC_CONFIG_MACRO_DIR to configure.ac.Lasse Collin1-0/+1
2009-02-14Cleanups to the code that detects the amount of RAM andLasse Collin1-87/+2
the number of CPU cores. Added support for using sysinfo() on Linux systems whose libc lacks appropriate sysconf() support (at least dietlibc). The Autoconf macros were split into separate files, and CPU core count detection was moved from hardware.c to cpucores.h. The core count isn't used for anything real for now, so a problematic part in process.c was commented out.
2009-02-13Changed how the version number is specified in various places.Lasse Collin1-1/+2
Now configure.ac will get the version number directly from src/liblzma/api/lzma/version.h. The intent is to reduce the number of places where the version number is duplicated. In future, support for displaying Git commit ID may be added too.
2009-02-09Let the user specify custom CFLAGS on the make commandLasse Collin1-28/+30
line. Previously custom CFLAGS worked only when they were passed to configure.
2009-02-07Make it easy to choose if command line tools should beLasse Collin1-0/+39
linked statically or dynamically against liblzma. The default is still to use static liblzma, but it can now be changed by passing --enable-dynamic to configure. Thanks to Mike Frysinger for the original patch. Fixed a few minor bugs in configure.ac.
2009-02-02Updated the x86 assembler code:Lasse Collin1-6/+0
- Use call/ret pair to get instruction pointer for PIC. - Use PIC only if PIC or __PIC__ is #defined. - The code should work on MinGW and Darwin in addition to GNU/Linux and Solaris.
2008-12-31Bumped version to 4.999.8beta right after the releaseLasse Collin1-1/+1
of 4.999.7beta.
2008-12-31Disable both Subblock encoder and decoder my default,Lasse Collin1-1/+1
since they are not finished and may have security issues too.
2008-12-31Prepare for 4.999.7beta release.Lasse Collin1-2/+2
2008-12-31Fixed missing quoting in configure.ac.Lasse Collin1-19/+19
2008-12-31Remove lzma_init() and other init functions from liblzma API.Lasse Collin1-5/+24
Half of developers were already forgetting to use these functions, which could have caused total breakage in some future liblzma version or even now if --enable-small was used. Now liblzma uses pthread_once() to do the initializations unless it has been built with --disable-threads which make these initializations thread-unsafe. When --enable-small isn't used, liblzma currently gets needlessly linked against libpthread (on systems that have it). While it is stupid for now, liblzma will need threads in future anyway, so this stupidity will be temporary only. When --enable-small is used, different code CRC32 and CRC64 is now used than without --enable-small. This made the resulting binary slightly smaller, but the main reason was to clean it up and to handle the lack of lzma_init_check(). The pkg-config file lzma.pc was renamed to liblzma.pc. I'm not sure if it works correctly and portably for static linking (Libs.private includes -pthread or other operating system specific flags). Hopefully someone complains if it is bad. lzma_rc_prices[] is now included as a precomputed array even with --enable-small. It's just 128 bytes now that it uses uint8_t instead of uint32_t. Smaller array seemed to be at least as fast as the more bloated uint32_t array on x86; hopefully it's not bad on other architectures.
2008-12-13Name the package "xz" in configure.ac.Lasse Collin1-7/+4
2008-12-12Some adjustments to GCC warning flags. The important changeLasse Collin1-3/+5
is the removal of -pedantic. It messes up -Werror (which I really want to keep so that I don't miss any warnings) with printf format strings that are in POSIX but not in C99.
2008-11-19Added missing check for uint16_t.Lasse Collin1-0/+1
2008-11-19Renamed lzma to xz and lzmadec to xzdec. We create symlinksLasse Collin1-2/+2
lzma, unlzma, and lzcat in "make install" for backwards compatibility with LZMA Utils 4.32.x; I'm not sure if this should be the default though.
2008-11-19Oh well, big messy commit again. Some highlights:Lasse Collin1-12/+36
- Updated to the latest, probably final file format version. - Command line tool reworked to not use threads anymore. Threading will probably go into liblzma anyway. - Memory usage limit is now about 30 % for uncompression and about 90 % for compression. - Progress indicator with --verbose - Simplified --help and full --long-help - Upgraded to the last LGPLv2.1+ getopt_long from gnulib. - Some bug fixes
2008-09-27Some API changes, bug fixes, cleanups etc.Lasse Collin1-9/+9
2008-09-10Bumped version to 4.999.6alpha.Lasse Collin1-1/+1
2008-08-28Sort of garbage collection commit. :-| Many things are stillLasse Collin1-169/+187
broken. API has changed a lot and it will still change a little more here and there. The command line tool doesn't have all the required changes to reflect the API changes, so it's easy to get "internal error" or trigger assertions.
2008-06-18Update the code to mostly match the new simpler file formatLasse Collin1-8/+33
specification. Simplify things by removing most of the support for known uncompressed size in most places. There are some miscellaneous changes here and there too. The API of liblzma has got many changes and still some more will be done soon. While most of the code has been updated, some things are not fixed (the command line tool will choke with invalid filter chain, if nothing else). Subblock filter is somewhat broken for now. It will be updated once the encoded format of the Subblock filter has been decided.
2008-05-11Remove support for pre-C89 libc versions that lack memcpy,Lasse Collin1-1/+1
memmove, and memset.
2008-05-11Improved C99 compiler detection in configure.ac. It willLasse Collin1-12/+12
pass -std=gnu99 instead of -std=c99 to GCC now, but -pedantic should still give warnings about GNU extensions like before except with some special keywords like asm().
2008-04-25Bumped version number to 4.999.3alpha. It will become 5.0.0Lasse Collin1-2/+2
once we have a stable release (won't be very soon). The version number is no longer related to version of LZMA SDK. Made some small Automake-related changes to toplevel Makefile.am and configure.ac.
2008-03-24Replaced the range decoder optimization that used arithmeticLasse Collin1-1/+0
right shift with as fast version that doesn't need arithmetic right shift. Removed the related check from configure.ac.
2008-03-22Added autoconf check to detect if we can use arithmeticLasse Collin1-0/+1
right shift for optimizations.
2008-01-18Added the debug directory and the first debug toolLasse Collin1-0/+1
(sync_flush). These tools are not built unless the user runs "make" in the debug directory.
2008-01-18Don't add -g to CFLAGS when --enable-debug is specified.Lasse Collin1-1/+0
It's the job of the user to put that in CFLAGS.
2008-01-15Fixed assembler detection in configure.ac, and addedLasse Collin1-16/+16
detection for x86_64.
2008-01-09Define HAVE_ASM_X86 when x86 assembler optimizations areLasse Collin1-1/+4
used. This #define will be useful for inline assembly.
2008-01-07Test for $GCC = yes instead of if it is non-empty. ThisLasse Collin1-1/+1
way it is possible to use ac_cv_c_compiler_gnu=no to force configure to think it is using non-GNU C compiler.
2008-01-06Cosmetic changes to configure.ac.Lasse Collin1-8/+6
2008-01-06Automatically disable assembler code on Darwin x86.Lasse Collin1-2/+15
Darwin has different ABI than GNU+Linux and Solaris, thus the assembler code doesn't assemble on Darwin.
2008-01-06Introduced compatibility with systems that have pre-C99Lasse Collin1-1/+12
or no inttypes.h. This is useful when the compiler has good enough support for C99, but libc headers don't. Changed liblzma API so that sys/types.h and inttypes.h have to be #included before #including lzma.h. On systems that don't have C99 inttypes.h, it's the problem of the applications to provide the required types and macros before #including lzma.h. If lzma.h defined the missing types and macros, it could conflict with third-party applications whose configure has detected that the types are missing and defined them in config.h already. An alternative would have been introducing lzma_uint32 and similar types, but that would just be an extra pain on modern systems.
2008-01-05Rearranged testing of GCC-specific flags.Lasse Collin1-10/+23
2007-12-10Bumped version number to 4.42.3alpha.Lasse Collin1-1/+1
2007-12-10Disabled some unneeded warnings and made "make dist" work.larhzu/v4.42.2alphaLasse Collin1-3/+6
2007-12-09Imported to git.Lasse Collin1-0/+611