55namespace SPC \builder \unix \library ;
66
77use SPC \store \FileSystem ;
8- use SPC \util \executor \UnixAutoconfExecutor ;
8+ use SPC \util \executor \UnixCMakeExecutor ;
99
1010trait 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