1# -*- Autoconf -*- 2# Process this file with autoconf to produce a configure script. 3 4############################################################################### 5# 6# Author: Lasse Collin 7# 8# This file has been put into the public domain. 9# You can do whatever you want with this file. 10# 11############################################################################### 12 13# NOTE: Don't add useless checks. autoscan detects this and that, but don't 14# let it confuse you. For example, we don't care about checking for behavior 15# of malloc(), stat(), or lstat(), since we don't use those functions in 16# a way that would cause the problems the autoconf macros check. 17 18AC_PREREQ([2.61]) 19 20AC_INIT([XZ Utils], m4_esyscmd([/bin/sh version.sh]), 21 [lasse.collin@tukaani.org], [xz]) 22AC_CONFIG_SRCDIR([src/liblzma/common/common.h]) 23AC_CONFIG_AUX_DIR([build-aux]) 24AC_CONFIG_MACRO_DIR([m4]) 25AC_CONFIG_HEADER([config.h]) 26 27PACKAGE_HOMEPAGE=http://tukaani.org/xz/ 28AC_DEFINE_UNQUOTED([PACKAGE_HOMEPAGE], ["$PACKAGE_HOMEPAGE"], 29 [Define to the URL of the home page of this package.]) 30AC_SUBST([PACKAGE_HOMEPAGE]) 31 32echo 33echo "$PACKAGE_STRING" 34 35echo 36echo "System type:" 37# This is needed to know if assembler optimizations can be used. 38AC_CANONICAL_HOST 39 40# We do some special things on Windows (32-bit or 64-bit) builds. 41case $host_os in 42 mingw* | cygwin*) is_w32=yes ;; 43 *) is_w32=no ;; 44esac 45AM_CONDITIONAL([COND_W32], [test "$is_w32" = yes]) 46 47 48echo 49echo "Configure options:" 50AM_CFLAGS= 51 52 53############# 54# Debugging # 55############# 56 57AC_MSG_CHECKING([if debugging code should be compiled]) 58AC_ARG_ENABLE([debug], AC_HELP_STRING([--enable-debug], [Enable debugging code.]), 59 [], enable_debug=no) 60if test "x$enable_debug" = xyes; then 61 AC_MSG_RESULT([yes]) 62else 63 AC_DEFINE([NDEBUG], [1], [Define to 1 to disable debugging code.]) 64 AC_MSG_RESULT([no]) 65fi 66 67 68########### 69# Filters # 70########### 71 72m4_define([SUPPORTED_FILTERS], [lzma1,lzma2,subblock,delta,x86,powerpc,ia64,arm,armthumb,sparc])dnl 73m4_define([SIMPLE_FILTERS], [x86,powerpc,ia64,arm,armthumb,sparc]) 74m4_define([LZ_FILTERS], [lzma1,lzma2]) 75 76m4_foreach([NAME], [SUPPORTED_FILTERS], 77[enable_filter_[]NAME=no 78enable_encoder_[]NAME=no 79enable_decoder_[]NAME=no 80])dnl 81 82AC_MSG_CHECKING([which encoders to build]) 83AC_ARG_ENABLE([encoders], AC_HELP_STRING([--enable-encoders=LIST], 84 [Comma-separated list of encoders to build. Default=all. 85 Available encoders:] 86 m4_translit(m4_defn([SUPPORTED_FILTERS]), [,], [ ])), 87 [], [enable_encoders=SUPPORTED_FILTERS]) 88enable_encoders=`echo "$enable_encoders" | sed 's/,subblock//; s/,/ /g'` 89if test "x$enable_encoders" = xno || test "x$enable_encoders" = x; then 90 AC_MSG_RESULT([(none)]) 91else 92 AC_DEFINE([HAVE_ENCODER], [1], 93 [Define to 1 if encoder components are enabled.]) 94 for arg in $enable_encoders 95 do 96 case $arg in m4_foreach([NAME], [SUPPORTED_FILTERS], [ 97 NAME) 98 enable_filter_[]NAME=yes 99 enable_encoder_[]NAME=yes 100 AC_DEFINE(HAVE_ENCODER_[]m4_toupper(NAME), [1], 101 [Define to 1 if] NAME [encoder is enabled.]) 102 ;;]) 103 *) 104 AC_MSG_RESULT([]) 105 AC_MSG_ERROR([unknown filter: $arg]) 106 ;; 107 esac 108 done 109 AC_MSG_RESULT([$enable_encoders]) 110fi 111 112AC_MSG_CHECKING([which decoders to build]) 113AC_ARG_ENABLE([decoders], AC_HELP_STRING([--enable-decoders=LIST], 114 [Comma-separated list of decoders to build. Default=all. 115 Available decoders are the same as available encoders.]), 116 [], [enable_decoders=SUPPORTED_FILTERS]) 117enable_decoders=`echo "$enable_decoders" | sed 's/,subblock//; s/,/ /g'` 118if test "x$enable_decoders" = xno || test "x$enable_decoders" = x; then 119 AC_MSG_RESULT([(none)]) 120else 121 AC_DEFINE([HAVE_DECODER], [1], 122 [Define to 1 if decoder components are enabled.]) 123 for arg in $enable_decoders 124 do 125 case $arg in m4_foreach([NAME], [SUPPORTED_FILTERS], [ 126 NAME) 127 enable_filter_[]NAME=yes 128 enable_decoder_[]NAME=yes 129 AC_DEFINE(HAVE_DECODER_[]m4_toupper(NAME), [1], 130 [Define to 1 if] NAME [decoder is enabled.]) 131 ;;]) 132 *) 133 AC_MSG_RESULT([]) 134 AC_MSG_ERROR([unknown filter: $arg]) 135 ;; 136 esac 137 done 138 139 # LZMA2 requires that LZMA1 is enabled. 140 test "x$enable_encoder_lzma2" = xyes && enable_encoder_lzma1=yes 141 test "x$enable_decoder_lzma2" = xyes && enable_decoder_lzma1=yes 142 143 AC_MSG_RESULT([$enable_decoders]) 144fi 145 146if test "x$enable_encoder_lzma2$enable_encoder_lzma1" = xyesno \ 147 || test "x$enable_decoder_lzma2$enable_decoder_lzma1" = xyesno; then 148 AC_MSG_ERROR([LZMA2 requires that LZMA1 is also enabled.]) 149fi 150 151AM_CONDITIONAL(COND_MAIN_ENCODER, test "x$enable_encoders" != xno && test "x$enable_encoders" != x) 152AM_CONDITIONAL(COND_MAIN_DECODER, test "x$enable_decoders" != xno && test "x$enable_decoders" != x) 153 154m4_foreach([NAME], [SUPPORTED_FILTERS], 155[AM_CONDITIONAL(COND_FILTER_[]m4_toupper(NAME), test "x$enable_filter_[]NAME" = xyes) 156AM_CONDITIONAL(COND_ENCODER_[]m4_toupper(NAME), test "x$enable_encoder_[]NAME" = xyes) 157AM_CONDITIONAL(COND_DECODER_[]m4_toupper(NAME), test "x$enable_decoder_[]NAME" = xyes) 158])dnl 159 160# The so called "simple filters" share common code. 161enable_filter_simple=no 162enable_encoder_simple=no 163enable_decoder_simple=no 164m4_foreach([NAME], [SIMPLE_FILTERS], 165[test "x$enable_filter_[]NAME" = xyes && enable_filter_simple=yes 166test "x$enable_encoder_[]NAME" = xyes && enable_encoder_simple=yes 167test "x$enable_decoder_[]NAME" = xyes && enable_decoder_simple=yes 168])dnl 169AM_CONDITIONAL(COND_FILTER_SIMPLE, test "x$enable_filter_simple" = xyes) 170AM_CONDITIONAL(COND_ENCODER_SIMPLE, test "x$enable_encoder_simple" = xyes) 171AM_CONDITIONAL(COND_DECODER_SIMPLE, test "x$enable_decoder_simple" = xyes) 172 173# LZ-based filters share common code. 174enable_filter_lz=no 175enable_encoder_lz=no 176enable_decoder_lz=no 177m4_foreach([NAME], [LZ_FILTERS], 178[test "x$enable_filter_[]NAME" = xyes && enable_filter_lz=yes 179test "x$enable_encoder_[]NAME" = xyes && enable_encoder_lz=yes 180test "x$enable_decoder_[]NAME" = xyes && enable_decoder_lz=yes 181])dnl 182AM_CONDITIONAL(COND_FILTER_LZ, test "x$enable_filter_lz" = xyes) 183AM_CONDITIONAL(COND_ENCODER_LZ, test "x$enable_encoder_lz" = xyes) 184AM_CONDITIONAL(COND_DECODER_LZ, test "x$enable_decoder_lz" = xyes) 185 186 187################# 188# Match finders # 189################# 190 191m4_define([SUPPORTED_MATCH_FINDERS], [hc3,hc4,bt2,bt3,bt4]) 192 193m4_foreach([NAME], [SUPPORTED_MATCH_FINDERS], 194[enable_match_finder_[]NAME=no 195]) 196 197AC_MSG_CHECKING([which match finders to build]) 198AC_ARG_ENABLE([match-finders], AC_HELP_STRING([--enable-match-finders=LIST], 199 [Comma-separated list of match finders to build. Default=all. 200 At least one match finder is required for encoding with 201 the LZMA1 and LZMA2 filters. Available match finders:] 202 m4_translit(m4_defn([SUPPORTED_MATCH_FINDERS]), [,], [ ])), [], 203 [enable_match_finders=SUPPORTED_MATCH_FINDERS]) 204enable_match_finders=`echo "$enable_match_finders" | sed 's/,/ /g'` 205if test "x$enable_encoder_lz" = xyes ; then 206 for arg in $enable_match_finders 207 do 208 case $arg in m4_foreach([NAME], [SUPPORTED_MATCH_FINDERS], [ 209 NAME) 210 enable_match_finder_[]NAME=yes 211 AC_DEFINE(HAVE_MF_[]m4_toupper(NAME), [1], 212 [Define to 1 to enable] NAME [match finder.]) 213 ;;]) 214 *) 215 AC_MSG_RESULT([]) 216 AC_MSG_ERROR([unknown match finder: $arg]) 217 ;; 218 esac 219 done 220 AC_MSG_RESULT([$enable_match_finders]) 221else 222 AC_MSG_RESULT([(none because not building any LZ-based encoder)]) 223fi 224 225 226#################### 227# Integrity checks # 228#################### 229 230m4_define([SUPPORTED_CHECKS], [crc32,crc64,sha256]) 231 232m4_foreach([NAME], [SUPPORTED_FILTERS], 233[enable_check_[]NAME=no 234])dnl 235 236AC_MSG_CHECKING([which integrity checks to build]) 237AC_ARG_ENABLE([checks], AC_HELP_STRING([--enable-checks=LIST], 238 [Comma-separated list of integrity checks to build. 239 Default=all. Available integrity checks:] 240 m4_translit(m4_defn([SUPPORTED_CHECKS]), [,], [ ])), 241 [], [enable_checks=SUPPORTED_CHECKS]) 242enable_checks=`echo "$enable_checks" | sed 's/,/ /g'` 243if test "x$enable_checks" = xno || test "x$enable_checks" = x; then 244 AC_MSG_RESULT([(none)]) 245else 246 for arg in $enable_checks 247 do 248 case $arg in m4_foreach([NAME], [SUPPORTED_CHECKS], [ 249 NAME) 250 enable_check_[]NAME=yes 251 AC_DEFINE(HAVE_CHECK_[]m4_toupper(NAME), [1], 252 [Define to 1 if] NAME 253 [integrity check is enabled.]) 254 ;;]) 255 *) 256 AC_MSG_RESULT([]) 257 AC_MSG_ERROR([unknown integrity check: $arg]) 258 ;; 259 esac 260 done 261 AC_MSG_RESULT([$enable_checks]) 262fi 263if test "x$enable_checks_crc32" = xno ; then 264 AC_MSG_ERROR([For now, the CRC32 check must always be enabled.]) 265fi 266 267m4_foreach([NAME], [SUPPORTED_CHECKS], 268[AM_CONDITIONAL(COND_CHECK_[]m4_toupper(NAME), test "x$enable_check_[]NAME" = xyes) 269])dnl 270 271 272########################### 273# Assembler optimizations # 274########################### 275 276AC_MSG_CHECKING([if assembler optimizations should be used]) 277AC_ARG_ENABLE([assembler], AC_HELP_STRING([--disable-assembler], 278 [Do not use assembler optimizations even if such exist 279 for the architecture.]), 280 [], [enable_assembler=yes]) 281if test "x$enable_assembler" = xyes; then 282 case $host_cpu in 283 i?86) enable_assembler=x86 ;; 284 x86_64) enable_assembler=x86_64 ;; 285 *) enable_assembler=no ;; 286 esac 287fi 288case $enable_assembler in 289 x86) 290 AC_DEFINE([HAVE_ASM_X86], [1], 291 [Define to 1 if using x86 assembler optimizations.]) 292 ;; 293 x86_64) 294 AC_DEFINE([HAVE_ASM_X86_64], [1], 295 [Define to 1 if using x86_64 assembler optimizations.]) 296 ;; 297 no) 298 ;; 299 *) 300 AC_MSG_RESULT([]) 301 AC_MSG_ERROR([--enable-assembler accepts only \`yes', \`no', \`x86', or \`x86_64'.]) 302 ;; 303esac 304AC_MSG_RESULT([$enable_assembler]) 305AM_CONDITIONAL(COND_ASM_X86, test "x$enable_assembler" = xx86) 306AM_CONDITIONAL(COND_ASM_X86_64, test "x$enable_assembler" = xx86_64) 307 308 309################################ 310# Fast unaligned memory access # 311################################ 312 313AC_MSG_CHECKING([if unaligned memory access should be used]) 314AC_ARG_ENABLE([unaligned-access], AC_HELP_STRING([--enable-unaligned-access], 315 [Enable if the system supports *fast* unaligned memory access 316 with 16-bit and 32-bit integers. By default, this is enabled 317 only on x86, x86_64, and big endian PowerPC.]), 318 [], [enable_unaligned_access=auto]) 319if test "x$enable_unaligned_access" = xauto ; then 320 case $host_cpu in 321 i?86|x86_64|powerpc|powerpc64) 322 enable_unaligned_access=yes 323 ;; 324 *) 325 enable_unaligned_access=no 326 ;; 327 esac 328fi 329if test "x$enable_unaligned_access" = xyes ; then 330 AC_DEFINE([HAVE_FAST_UNALIGNED_ACCESS], [1], [Define to 1 if 331 the system supports fast unaligned memory access.]) 332 AC_MSG_RESULT([yes]) 333else 334 AC_MSG_RESULT([no]) 335fi 336 337 338##################### 339# Size optimization # 340##################### 341 342AC_MSG_CHECKING([if small size is preferred over speed]) 343AC_ARG_ENABLE([small], AC_HELP_STRING([--enable-small], 344 [Make liblzma smaller and a little slower. 345 This is disabled by default to optimize for speed.]), 346 [], [enable_small=no]) 347if test "x$enable_small" = xyes; then 348 AC_DEFINE([HAVE_SMALL], [1], [Define to 1 if optimizing for size.]) 349elif test "x$enable_small" != xno; then 350 AC_MSG_RESULT([]) 351 AC_MSG_ERROR([--enable-small accepts only \`yes' or \`no']) 352fi 353AC_MSG_RESULT([$enable_small]) 354AM_CONDITIONAL(COND_SMALL, test "x$enable_small" = xyes) 355 356 357############# 358# Threading # 359############# 360 361AC_MSG_CHECKING([if threading support is wanted]) 362AC_ARG_ENABLE([threads], AC_HELP_STRING([--disable-threads], 363 [Disable threading support. 364 This makes some things thread-unsafe.]), 365 [], [enable_threads=yes]) 366if test "x$enable_threads" != xyes && test "x$enable_threads" != xno; then 367 AC_MSG_RESULT([]) 368 AC_MSG_ERROR([--enable-threads accepts only \`yes' or \`no']) 369fi 370AC_MSG_RESULT([$enable_threads]) 371# We use the actual result a little later. 372 373 374############################################ 375# xz/xzdec/lzmadec linkage against liblzma # 376############################################ 377 378# Link the xz, xzdec, and lzmadec command line tools against static liblzma 379# unless using --enable-dynamic. Using static liblzma gives a little bit 380# faster executable on x86, because no register is wasted for PIC. We also 381# have one dependency less, which allows users to more freely copy the xz 382# binary to other boxes. However, I wouldn't be surprised if distro 383# maintainers still prefer dynamic linking, so let's make it easy for them. 384 385AC_MSG_CHECKING([how programs should be linked against liblzma]) 386AC_ARG_ENABLE([dynamic], [AC_HELP_STRING([--enable-dynamic=TYPE], 387 [Set how command line tools are linked against liblzma. 388 TYPE can be mixed, yes, or no. The default is mixed.])], 389 [], [enable_dynamic=mixed]) 390case $enable_dynamic in 391 mixed) 392 AC_MSG_RESULT([mixed (some dynamically, some statically)]) 393 ;; 394 yes) 395 AC_MSG_RESULT([dynamically]) 396 ;; 397 no) 398 AC_MSG_RESULT([statically]) 399 ;; 400 *) 401 AC_MSG_RESULT([]) 402 AC_MSG_ERROR([--enable-dynamic accepts only \`mixed', \`yes', or \`no']) 403 ;; 404esac 405# We use the actual results later, because we don't know yet 406# if --disable-shared or --disable-static was used. 407 408 409############################################################################### 410# Checks for programs. 411############################################################################### 412 413echo 414gl_POSIX_SHELL 415if test -z "$POSIX_SHELL" ; then 416 AC_MSG_ERROR([No POSIX conforming shell (sh) was found.]) 417fi 418 419echo 420echo "Initializing Automake:" 421 422AM_INIT_AUTOMAKE([1.10 foreign tar-v7 filename-length-max=99]) 423AC_PROG_LN_S 424 425AC_PROG_CC_C99 426if test x$ac_cv_prog_cc_c99 = xno ; then 427 AC_MSG_ERROR([No C99 compiler was found.]) 428fi 429 430AM_PROG_CC_C_O 431AM_PROG_AS 432AC_USE_SYSTEM_EXTENSIONS 433 434if test "x$enable_threads" = xyes; then 435 echo 436 echo "Threading support:" 437 ACX_PTHREAD 438 LIBS="$LIBS $PTHREAD_LIBS" 439 AM_CFLAGS="$AM_CFLAGS $PTHREAD_CFLAGS" 440 CC="$PTHREAD_CC" 441fi 442 443echo 444echo "Initializing Libtool:" 445LT_PREREQ([2.2]) 446LT_INIT([win32-dll]) 447LT_LANG([Windows Resource]) 448 449# This is a bit wrong since it is possible to request that only some libs 450# are built as shared. Using that feature isn't so common though, and this 451# breaks only on Windows (at least for now) if the user enables only some 452# libs as shared. 453AM_CONDITIONAL([COND_SHARED], [test "x$enable_shared" != xno]) 454 455 456############################################################################### 457# Checks for libraries. 458############################################################################### 459 460echo 461echo "Initializing gettext:" 462AM_GNU_GETTEXT_VERSION([0.16.1]) 463AM_GNU_GETTEXT([external]) 464 465############################################################################### 466# Checks for header files. 467############################################################################### 468 469echo 470echo "System headers and functions:" 471 472# There is currently no workarounds in this package if some of 473# these headers are missing. 474AC_CHECK_HEADERS([fcntl.h limits.h sys/time.h], 475 [], 476 [AC_MSG_ERROR([Required header file(s) are missing.])]) 477 478# If any of these headers are missing, things should still work correctly: 479AC_CHECK_HEADERS([sys/param.h sys/sysctl.h byteswap.h], 480 [], [], [ 481#ifdef HAVE_SYS_PARAM_H 482# include <sys/param.h> 483#endif 484]) 485 486# Even if we have byteswap.h, we may lack the specific macros/functions. 487if test x$ac_cv_header_byteswap_h = xyes ; then 488 m4_foreach([FUNC], [bswap_16,bswap_32,bswap_64], [ 489 AC_MSG_CHECKING([if FUNC is available]) 490 AC_LINK_IFELSE([AC_LANG_SOURCE([ 491#include <byteswap.h> 492int 493main(void) 494{ 495 FUNC[](42); 496 return 0; 497} 498 ])], [ 499 AC_DEFINE(HAVE_[]m4_toupper(FUNC), [1], 500 [Define to 1 if] FUNC [is available.]) 501 AC_MSG_RESULT([yes]) 502 ], [AC_MSG_RESULT([no])]) 503 504 ])dnl 505fi 506 507 508############################################################################### 509# Checks for typedefs, structures, and compiler characteristics. 510############################################################################### 511 512dnl We don't need these as long as we need a C99 compiler anyway. 513dnl AC_C_INLINE 514dnl AC_C_RESTRICT 515 516AC_HEADER_STDBOOL 517 518AC_TYPE_UINT8_T 519AC_TYPE_UINT16_T 520AC_TYPE_INT32_T 521AC_TYPE_UINT32_T 522AC_TYPE_INT64_T 523AC_TYPE_UINT64_T 524AC_TYPE_UINTPTR_T 525 526AC_CHECK_SIZEOF([size_t]) 527 528# The command line tool can copy high resolution timestamps if such 529# information is availabe in struct stat. Otherwise one second accuracy 530# is used. 531AC_CHECK_MEMBERS([ 532 struct stat.st_atim.tv_nsec, 533 struct stat.st_atimespec.tv_nsec, 534 struct stat.st_atimensec, 535 struct stat.st_uatime, 536 struct stat.st_atim.st__tim.tv_nsec]) 537 538AC_SYS_LARGEFILE 539AC_C_BIGENDIAN 540 541 542############################################################################### 543# Checks for library functions. 544############################################################################### 545 546# Gnulib replacements as needed 547gl_GETOPT 548 549# Find the best function to set timestamps. 550AC_CHECK_FUNCS([futimens futimes futimesat utimes utime], [break]) 551 552lc_PHYSMEM 553lc_CPUCORES 554 555 556############################################################################### 557# If using GCC, set some additional AM_CFLAGS: 558############################################################################### 559 560if test "$GCC" = yes ; then 561 echo 562 echo "GCC extensions:" 563fi 564 565# Always do the visibility check but don't set AM_CFLAGS on Windows. 566# This way things get set properly even on Windows. 567gl_VISIBILITY 568if test -n "$CFLAG_VISIBILITY" && test "$is_w32" = no; then 569 AM_CFLAGS="$AM_CFLAGS $CFLAG_VISIBILITY" 570fi 571 572if test "$GCC" = yes ; then 573 # Enable as much warnings as possible. These commented warnings won't 574 # work for this package though: 575 # * -Wunreachable-code breaks several assert(0) cases, which are 576 # backed up with "return LZMA_PROG_ERROR". 577 # * -Wcast-qual would break various things where we need a non-const 578 # pointer although we don't modify anything through it. 579 # * -Wcast-align breaks optimized CRC32 and CRC64 implementation 580 # on some architectures (not on x86), where this warning is bogus, 581 # because we take care of correct alignment. 582 # * -Winline, -Wdisabled-optimization, -Wunsafe-loop-optimizations 583 # don't seem so useful here; at least the last one gives some 584 # warnings which are not bugs. 585 for NEW_FLAG in \ 586 -Wall \ 587 -Wextra \ 588 -Wformat=2 \ 589 -Winit-self \ 590 -Wmissing-include-dirs \ 591 -Wstrict-aliasing \ 592 -Wfloat-equal \ 593 -Wundef \ 594 -Wshadow \ 595 -Wpointer-arith \ 596 -Wbad-function-cast \ 597 -Wwrite-strings \ 598 -Wlogical-op \ 599 -Waggregate-return \ 600 -Wstrict-prototypes \ 601 -Wold-style-definition \ 602 -Wmissing-prototypes \ 603 -Wmissing-declarations \ 604 -Wmissing-noreturn \ 605 -Wredundant-decls 606 do 607 AC_MSG_CHECKING([if $CC accepts $NEW_FLAG]) 608 OLD_CFLAGS="$CFLAGS" 609 CFLAGS="$CFLAGS $NEW_FLAG" 610 AC_COMPILE_IFELSE([void foo(void) { }], [ 611 AM_CFLAGS="$AM_CFLAGS $NEW_FLAG" 612 AC_MSG_RESULT([yes]) 613 ], [ 614 AC_MSG_RESULT([no]) 615 ]) 616 CFLAGS="$OLD_CFLAGS" 617 done 618 619 AC_ARG_ENABLE([werror], 620 AC_HELP_STRING([--enable-werror], [Enable -Werror to abort 621 compilation on all compiler warnings.]), 622 [], [enable_werror=no]) 623 if test "x$enable_werror" = "xyes"; then 624 AM_CFLAGS="$AM_CFLAGS -Werror" 625 fi 626fi 627 628 629############################################################################### 630# Create the makefiles and config.h 631############################################################################### 632 633echo 634 635# Don't build the lib directory at all if we don't need any replacement 636# functions. 637AM_CONDITIONAL([COND_GNULIB], test -n "$LIBOBJS") 638 639# Add default AM_CFLAGS. 640AC_SUBST([AM_CFLAGS]) 641 642# Set additional flags for static/dynamic linking. The idea is that every 643# program (not library) being built will use either STATIC_{CPPFLAGS,LDFLAGS} 644# or DYNAMIC_{CPPFLAGS,LDFLAGS} depending on which type of linkage is 645# preferred. These preferences get overriden by use of --disable-static, 646# --disable-shared, or --enable-dynamic. 647# 648# This is quite messy, because we want to use LZMA_API_STATIC when linking 649# against static liblzma. It's needed on Windows. 650if test "x$enable_static" = xno; then 651 enable_dynamic=yes 652fi 653if test "x$enable_shared" = xno; then 654 enable_dynamic=no 655fi 656case $enable_dynamic in 657 yes) 658 STATIC_CPPFLAGS= 659 STATIC_LDFLAGS= 660 DYNAMIC_CPPFLAGS= 661 DYNAMIC_LDFLAGS= 662 ;; 663 mixed) 664 STATIC_CPPFLAGS="-DLZMA_API_STATIC" 665 STATIC_LDFLAGS="-static" 666 DYNAMIC_CPPFLAGS= 667 DYNAMIC_LDFLAGS= 668 ;; 669 no) 670 STATIC_CPPFLAGS="-DLZMA_API_STATIC" 671 STATIC_LDFLAGS="-static" 672 DYNAMIC_CPPFLAGS="-DLZMA_API_STATIC" 673 DYNAMIC_LDFLAGS="-static" 674 ;; 675esac 676AC_SUBST([STATIC_CPPFLAGS]) 677AC_SUBST([STATIC_LDFLAGS]) 678AC_SUBST([DYNAMIC_CPPFLAGS]) 679AC_SUBST([DYNAMIC_LDFLAGS]) 680 681# This is needed for src/scripts. 682xz=`echo xz | sed "$program_transform_name"` 683AC_SUBST([xz]) 684 685AC_CONFIG_FILES([ 686 Doxyfile 687 Makefile 688 po/Makefile.in 689 lib/Makefile 690 src/Makefile 691 src/liblzma/liblzma.pc 692 src/liblzma/Makefile 693 src/liblzma/api/Makefile 694 src/xz/Makefile 695 src/xzdec/Makefile 696 src/lzmainfo/Makefile 697 src/scripts/Makefile 698 src/scripts/xzdiff 699 src/scripts/xzgrep 700 src/scripts/xzmore 701 src/scripts/xzless 702 tests/Makefile 703 debug/Makefile 704]) 705 706AC_OUTPUT 707