X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=ucw%2Fperl%2FUCW%2FConfigure%2FLibUCW.pm;h=141dbc9093489cb0667fcdd9402c1292d7718596;hb=1ddc0f01053b355c5805df3659866e11d50d60d0;hp=445c4a262956da4d6d65e820182bed146fea7919;hpb=caa438d84c8cf94cd32d0dd2d7fb2c655a57a4db;p=libucw.git diff --git a/ucw/perl/UCW/Configure/LibUCW.pm b/ucw/perl/UCW/Configure/LibUCW.pm index 445c4a26..141dbc90 100644 --- a/ucw/perl/UCW/Configure/LibUCW.pm +++ b/ucw/perl/UCW/Configure/LibUCW.pm @@ -6,6 +6,9 @@ package UCW::Configure::LibUCW; use UCW::Configure; +use strict; +use warnings; + # Determine page size Test("CPU_PAGE_SIZE", "Determining page size", sub { my $p; @@ -26,10 +29,10 @@ if (IsSet("CONFIG_LARGE_FILES") && IsSet("CONFIG_LINUX")) { } # Decide how will ucw/partmap.c work -Set("PARTMAP_IS_MMAP") if IsSet("CPU_64BIT_POINTERS"); +Set("CONFIG_UCW_PARTMAP_IS_MMAP") if IsSet("CPU_64BIT_POINTERS"); # Option for ucw/mempool.c -Set("POOL_IS_MMAP"); +Set("CONFIG_UCW_POOL_IS_MMAP"); # Guess optimal bit width of the radix-sorter if (Get("CPU_ARCH") eq "default" || Get("CPU_ARCH") =~ /^i[345]86$/) { @@ -40,5 +43,32 @@ if (Get("CPU_ARCH") eq "default" || Get("CPU_ARCH") =~ /^i[345]86$/) { Set("CONFIG_UCW_RADIX_SORTER_BITS" => 12); } +PostConfig { + AtWrite { + UCW::Configure::C::ConfigHeader("ucw/autoconf.h", [ + # Excluded symbols (danger of collision) + '^CONFIG_DEBUG$' => 0, + + # Included symbols + '^CONFIG_' => 1, + '^CPU_' => 1, + '^(SHERLOCK|UCW)_VERSION(_|$)' => 1, + + ]); + } if Get("CONFIG_INSTALL_API"); + + # Include direct FB? + if (!IsSet("CONFIG_UCW_THREADS") || !IsSet("CONFIG_DIRECT_IO")) { + if (IsGiven("CONFIG_UCW_FB_DIRECT") && IsSet("CONFIG_UCW_FB_DIRECT")) { + if (!IsSet("CONFIG_UCW_THREADS")) { + Fail("CONFIG_UCW_FB_DIRECT needs CONFIG_UCW_THREADS"); + } else { + Fail("CONFIG_UCW_FB_DIRECT needs CONFIG_DIRECT_IO"); + } + } + UnSet("CONFIG_UCW_FB_DIRECT"); + } +}; + # We succeeded 1;