blob: 9362cb00670a281400bfa1eb7cf9fecb509202c2 [file] [log] [blame]
# Builds the Netty fork of Tomcat Native. See http://netty.io/wiki/forked-tomcat-native.html
{
'targets': [
{
'target_name': 'netty-tcnative-so',
'product_name': 'netty-tcnative',
'type': 'shared_library',
'sources': [
'src/c/address.c',
'src/c/bb.c',
'src/c/dir.c',
'src/c/error.c',
'src/c/file.c',
'src/c/info.c',
'src/c/jnilib.c',
'src/c/lock.c',
'src/c/misc.c',
'src/c/mmap.c',
'src/c/multicast.c',
'src/c/network.c',
'src/c/os.c',
'src/c/os_unix_system.c',
'src/c/os_unix_uxpipe.c',
'src/c/poll.c',
'src/c/pool.c',
'src/c/proc.c',
'src/c/shm.c',
'src/c/ssl.c',
'src/c/sslcontext.c',
'src/c/sslinfo.c',
'src/c/sslnetwork.c',
'src/c/ssl_private.h',
'src/c/sslutils.c',
'src/c/stdlib.c',
'src/c/tcn_api.h',
'src/c/tcn.h',
'src/c/tcn_version.h',
'src/c/thread.c',
'src/c/user.c',
],
'include_dirs': [
'../apache-portable-runtime/src/include',
],
'defines': [
'HAVE_OPENSSL',
],
'cflags': [
'-w',
],
'dependencies': [
'../apache-portable-runtime/apr.gyp:apr',
'../boringssl/boringssl.gyp:boringssl',
],
'variables': {
'use_native_jni_exports': 1,
},
},
{
'target_name': 'netty-tcnative',
'type': 'none',
'variables': {
'java_in_dir': 'src/java',
'javac_includes': [ '**/org/apache/tomcat/jni/*.java' ],
'run_findbugs': 0,
},
'includes': [ '../../build/java.gypi' ],
'dependencies': [
'netty-tcnative-so',
'rename_netty_tcnative_so_file',
],
'export_dependent_settings': [
'rename_netty_tcnative_so_file',
],
},
{
# libnetty-tcnative shared library should have a specific name when
# it is copied to the test APK. This target renames (actually makes
# a copy of) the 'so' file if it has a different name.
'target_name': 'rename_netty_tcnative_so_file',
'type': 'none',
'conditions': [
['component=="shared_library"', {
'actions': [
{
'action_name': 'copy',
'inputs': ['<(PRODUCT_DIR)/lib/libnetty-tcnative.cr.so'],
'outputs': ['<(PRODUCT_DIR)/lib/libnetty-tcnative.so'],
'action': [
'cp',
'<@(_inputs)',
'<@(_outputs)',
],
}],
}],
],
'dependencies': [
'netty-tcnative-so',
],
'direct_dependent_settings': {
'variables': {
'netty_tcnative_so_file_location': '<(PRODUCT_DIR)/lib/libnetty-tcnative.so',
},
},
},
],
}