{
|
|
"variables": {
|
|
# may be redefined in command line on configuration stage
|
|
# "BUILD_LIBRDKAFKA%": "<!(echo ${BUILD_LIBRDKAFKA:-1})"
|
|
"BUILD_LIBRDKAFKA%": "<!(node ./util/get-env.js BUILD_LIBRDKAFKA 1)",
|
|
},
|
|
"targets": [
|
|
{
|
|
"target_name": "node-librdkafka",
|
|
'sources': [
|
|
'src/binding.cc',
|
|
'src/callbacks.cc',
|
|
'src/common.cc',
|
|
'src/config.cc',
|
|
'src/connection.cc',
|
|
'src/errors.cc',
|
|
'src/kafka-consumer.cc',
|
|
'src/producer.cc',
|
|
'src/topic.cc',
|
|
'src/workers.cc',
|
|
'src/admin.cc'
|
|
],
|
|
"include_dirs": [
|
|
"<!(node -e \"require('nan')\")",
|
|
"<(module_root_dir)/"
|
|
],
|
|
'conditions': [
|
|
[
|
|
'OS=="win"',
|
|
{
|
|
'actions': [
|
|
{
|
|
'action_name': 'nuget_librdkafka_download',
|
|
'inputs': [
|
|
'deps/windows-install.py'
|
|
],
|
|
'outputs': [
|
|
'deps/precompiled/librdkafka.lib',
|
|
'deps/precompiled/librdkafkacpp.lib'
|
|
],
|
|
'message': 'Getting librdkafka from nuget',
|
|
'action': ['python', '<@(_inputs)']
|
|
}
|
|
],
|
|
'cflags_cc' : [
|
|
'-std=c++14'
|
|
],
|
|
'msvs_settings': {
|
|
'VCLinkerTool': {
|
|
'AdditionalDependencies': [
|
|
'librdkafka.lib',
|
|
'librdkafkacpp.lib'
|
|
],
|
|
'AdditionalLibraryDirectories': [
|
|
'../deps/precompiled/'
|
|
]
|
|
},
|
|
'VCCLCompilerTool': {
|
|
'AdditionalOptions': [
|
|
'/GR'
|
|
],
|
|
'AdditionalUsingDirectories': [
|
|
'deps/precompiled/'
|
|
],
|
|
'AdditionalIncludeDirectories': [
|
|
'deps/librdkafka/src',
|
|
'deps/librdkafka/src-cpp'
|
|
]
|
|
}
|
|
},
|
|
'include_dirs': [
|
|
'deps/include'
|
|
]
|
|
},
|
|
{
|
|
'conditions': [
|
|
[ "<(BUILD_LIBRDKAFKA)==1",
|
|
{
|
|
"dependencies": [
|
|
"deps/librdkafka.gyp:librdkafka"
|
|
],
|
|
"include_dirs": [
|
|
"deps/librdkafka/src",
|
|
"deps/librdkafka/src-cpp"
|
|
],
|
|
'conditions': [
|
|
[
|
|
'OS=="linux"',
|
|
{
|
|
"libraries": [
|
|
"../build/deps/librdkafka.so",
|
|
"../build/deps/librdkafka++.so",
|
|
"-Wl,-rpath='$$ORIGIN/../deps'",
|
|
],
|
|
}
|
|
],
|
|
[
|
|
'OS=="mac"',
|
|
{
|
|
"libraries": [
|
|
"../build/deps/librdkafka.dylib",
|
|
"../build/deps/librdkafka++.dylib",
|
|
],
|
|
}
|
|
]
|
|
],
|
|
},
|
|
# Else link against globally installed rdkafka and use
|
|
# globally installed headers. On Debian, you should
|
|
# install the librdkafka1, librdkafka++1, and librdkafka-dev
|
|
# .deb packages.
|
|
{
|
|
"libraries": ["-lrdkafka", "-lrdkafka++"],
|
|
"include_dirs": [
|
|
"/usr/include/librdkafka",
|
|
"/usr/local/include/librdkafka",
|
|
"/opt/include/librdkafka",
|
|
],
|
|
},
|
|
],
|
|
[
|
|
'OS=="linux"',
|
|
{
|
|
'cflags_cc' : [
|
|
'-std=c++14'
|
|
],
|
|
'cflags_cc!': [
|
|
'-fno-rtti'
|
|
]
|
|
}
|
|
],
|
|
[
|
|
'OS=="mac"',
|
|
{
|
|
'xcode_settings': {
|
|
'MACOSX_DEPLOYMENT_TARGET': '10.11',
|
|
'GCC_ENABLE_CPP_RTTI': 'YES',
|
|
'OTHER_LDFLAGS': [
|
|
'-L/usr/local/opt/openssl/lib'
|
|
],
|
|
'OTHER_CPLUSPLUSFLAGS': [
|
|
'-I/usr/local/opt/openssl/include',
|
|
'-std=c++14'
|
|
],
|
|
},
|
|
}
|
|
]
|
|
]
|
|
}
|
|
]
|
|
]
|
|
}
|
|
]
|
|
}
|