Skip to content

Commit 4d5641f

Browse files
committed
Change librdkafka to cmake
1 parent f34ecf9 commit 4d5641f

1 file changed

Lines changed: 13 additions & 37 deletions

File tree

src/SPC/builder/unix/library/librdkafka.php

Lines changed: 13 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace SPC\builder\unix\library;
66

77
use SPC\store\FileSystem;
8-
use SPC\util\executor\UnixAutoconfExecutor;
8+
use SPC\util\executor\UnixCMakeExecutor;
99

1010
trait librdkafka
1111
{
@@ -26,42 +26,18 @@ public function patchBeforeBuild(): bool
2626

2727
protected function build(): void
2828
{
29-
UnixAutoconfExecutor::create($this)
30-
->appendEnv(['CFLAGS' => '-Wno-int-conversion -Wno-unused-but-set-variable -Wno-unused-variable'])
31-
->optionalLib(
32-
'zstd',
33-
function ($lib) {
34-
putenv("STATIC_LIB_libzstd={$lib->getLibDir()}/libzstd.a");
35-
return '--enable-zstd';
36-
},
37-
'--disable-zstd'
29+
UnixCMakeExecutor::create($this)
30+
->optionalLib('zstd', ...cmake_boolean_args('WITH_ZSTD'))
31+
->optionalLib('curl', ...cmake_boolean_args('WITH_CURL'))
32+
->optionalLib('openssl', ...cmake_boolean_args('WITH_SSL'))
33+
->optionalLib('zlib', ...cmake_boolean_args('WITH_ZLIB'))
34+
->addConfigureArgs(
35+
'-DWITH_SASL=OFF',
36+
'-DRDKAFKA_BUILD_STATIC=ON',
37+
'-DRDKAFKA_BUILD_EXAMPLES=OFF',
38+
'-DRDKAFKA_BUILD_TESTS=OFF',
39+
'-DENABLE_LZ4_EXT=OFF',
3840
)
39-
->optionalLib(
40-
'curl',
41-
function () {
42-
$pkg_libs = shell()->execWithResult('pkg-config --libs --static libcurl')[1];
43-
putenv("STATIC_LIB_libcurl={$pkg_libs}");
44-
return '--enable-curl';
45-
},
46-
'--disable-curl'
47-
)
48-
->optionalLib('openssl', '--enable-ssl', '--disable-ssl')
49-
->optionalLib('zlib', '--enable-zlib', '--disable-zlib')
50-
->removeConfigureArgs(
51-
'--with-pic',
52-
'--enable-pic',
53-
)
54-
->configure(
55-
'--disable-sasl',
56-
'--disable-valgrind',
57-
)
58-
->make();
59-
60-
$this->patchPkgconfPrefix(['rdkafka.pc', 'rdkafka-static.pc', 'rdkafka++.pc', 'rdkafka++-static.pc']);
61-
// remove dynamic libs
62-
shell()
63-
->exec("rm -rf {$this->getLibDir()}/*.so.*")
64-
->exec("rm -rf {$this->getLibDir()}/*.so")
65-
->exec("rm -rf {$this->getLibDir()}/*.dylib");
41+
->build();
6642
}
6743
}

0 commit comments

Comments
 (0)