Home | History | Annotate | Download | only in gyp
      1 {
      2   'variables': {
      3     'skia_warnings_as_errors': 0,
      4   },
      5   'targets': [{
      6     # Draws pictures cross-process.
      7     'target_name': 'nanomsg_picture_demo',
      8     'type': 'executable',
      9     'dependencies': [
     10       'skia_lib.gyp:skia_lib',
     11       'flags.gyp:flags',
     12       'libnanomsg',
     13     ],
     14     'sources': [ '../experimental/nanomsg/picture_demo.cpp' ],
     15   },{
     16     'target_name': 'libnanomsg',
     17     'type': 'static_library',
     18 
     19     # Clients can include nanomsg public header foo.h with #include "nanomsg/src/foo.h"
     20     'direct_dependent_settings': {
     21       'include_dirs': [ '../third_party/externals' ]
     22     },
     23 
     24     # To refresh: cd gyp; find ../third_party/externals/nanomsg/src -name "*.c"
     25     'sources': [
     26       '../third_party/externals/nanomsg/src/aio/ctx.c',
     27       '../third_party/externals/nanomsg/src/aio/fsm.c',
     28       '../third_party/externals/nanomsg/src/aio/poller.c',
     29       '../third_party/externals/nanomsg/src/aio/pool.c',
     30       '../third_party/externals/nanomsg/src/aio/timer.c',
     31       '../third_party/externals/nanomsg/src/aio/timerset.c',
     32       '../third_party/externals/nanomsg/src/aio/usock.c',
     33       '../third_party/externals/nanomsg/src/aio/worker.c',
     34       '../third_party/externals/nanomsg/src/core/device.c',
     35       '../third_party/externals/nanomsg/src/core/ep.c',
     36       '../third_party/externals/nanomsg/src/core/epbase.c',
     37       '../third_party/externals/nanomsg/src/core/global.c',
     38       '../third_party/externals/nanomsg/src/core/pipe.c',
     39       '../third_party/externals/nanomsg/src/core/poll.c',
     40       '../third_party/externals/nanomsg/src/core/sock.c',
     41       '../third_party/externals/nanomsg/src/core/sockbase.c',
     42       '../third_party/externals/nanomsg/src/core/symbol.c',
     43       '../third_party/externals/nanomsg/src/protocols/bus/bus.c',
     44       '../third_party/externals/nanomsg/src/protocols/bus/xbus.c',
     45       '../third_party/externals/nanomsg/src/protocols/pair/pair.c',
     46       '../third_party/externals/nanomsg/src/protocols/pair/xpair.c',
     47       '../third_party/externals/nanomsg/src/protocols/pipeline/pull.c',
     48       '../third_party/externals/nanomsg/src/protocols/pipeline/push.c',
     49       '../third_party/externals/nanomsg/src/protocols/pipeline/xpull.c',
     50       '../third_party/externals/nanomsg/src/protocols/pipeline/xpush.c',
     51       '../third_party/externals/nanomsg/src/protocols/pubsub/pub.c',
     52       '../third_party/externals/nanomsg/src/protocols/pubsub/sub.c',
     53       '../third_party/externals/nanomsg/src/protocols/pubsub/trie.c',
     54       '../third_party/externals/nanomsg/src/protocols/pubsub/xpub.c',
     55       '../third_party/externals/nanomsg/src/protocols/pubsub/xsub.c',
     56       '../third_party/externals/nanomsg/src/protocols/reqrep/rep.c',
     57       '../third_party/externals/nanomsg/src/protocols/reqrep/req.c',
     58       '../third_party/externals/nanomsg/src/protocols/reqrep/xrep.c',
     59       '../third_party/externals/nanomsg/src/protocols/reqrep/xreq.c',
     60       '../third_party/externals/nanomsg/src/protocols/survey/respondent.c',
     61       '../third_party/externals/nanomsg/src/protocols/survey/surveyor.c',
     62       '../third_party/externals/nanomsg/src/protocols/survey/xrespondent.c',
     63       '../third_party/externals/nanomsg/src/protocols/survey/xsurveyor.c',
     64       '../third_party/externals/nanomsg/src/protocols/utils/dist.c',
     65       '../third_party/externals/nanomsg/src/protocols/utils/excl.c',
     66       '../third_party/externals/nanomsg/src/protocols/utils/fq.c',
     67       '../third_party/externals/nanomsg/src/protocols/utils/lb.c',
     68       '../third_party/externals/nanomsg/src/protocols/utils/priolist.c',
     69       '../third_party/externals/nanomsg/src/transports/inproc/binproc.c',
     70       '../third_party/externals/nanomsg/src/transports/inproc/cinproc.c',
     71       '../third_party/externals/nanomsg/src/transports/inproc/inproc.c',
     72       '../third_party/externals/nanomsg/src/transports/inproc/ins.c',
     73       '../third_party/externals/nanomsg/src/transports/inproc/msgqueue.c',
     74       '../third_party/externals/nanomsg/src/transports/inproc/sinproc.c',
     75       '../third_party/externals/nanomsg/src/transports/ipc/aipc.c',
     76       '../third_party/externals/nanomsg/src/transports/ipc/bipc.c',
     77       '../third_party/externals/nanomsg/src/transports/ipc/cipc.c',
     78       '../third_party/externals/nanomsg/src/transports/ipc/ipc.c',
     79       '../third_party/externals/nanomsg/src/transports/ipc/sipc.c',
     80       '../third_party/externals/nanomsg/src/transports/tcp/atcp.c',
     81       '../third_party/externals/nanomsg/src/transports/tcp/btcp.c',
     82       '../third_party/externals/nanomsg/src/transports/tcp/ctcp.c',
     83       '../third_party/externals/nanomsg/src/transports/tcp/stcp.c',
     84       '../third_party/externals/nanomsg/src/transports/tcp/tcp.c',
     85       '../third_party/externals/nanomsg/src/transports/utils/backoff.c',
     86       '../third_party/externals/nanomsg/src/transports/utils/dns.c',
     87       '../third_party/externals/nanomsg/src/transports/utils/iface.c',
     88       '../third_party/externals/nanomsg/src/transports/utils/literal.c',
     89       '../third_party/externals/nanomsg/src/transports/utils/port.c',
     90       '../third_party/externals/nanomsg/src/transports/utils/streamhdr.c',
     91       '../third_party/externals/nanomsg/src/utils/alloc.c',
     92       '../third_party/externals/nanomsg/src/utils/atomic.c',
     93       '../third_party/externals/nanomsg/src/utils/chunk.c',
     94       '../third_party/externals/nanomsg/src/utils/chunkref.c',
     95       '../third_party/externals/nanomsg/src/utils/clock.c',
     96       '../third_party/externals/nanomsg/src/utils/closefd.c',
     97       '../third_party/externals/nanomsg/src/utils/efd.c',
     98       '../third_party/externals/nanomsg/src/utils/err.c',
     99       '../third_party/externals/nanomsg/src/utils/glock.c',
    100       '../third_party/externals/nanomsg/src/utils/hash.c',
    101       '../third_party/externals/nanomsg/src/utils/list.c',
    102       '../third_party/externals/nanomsg/src/utils/msg.c',
    103       '../third_party/externals/nanomsg/src/utils/mutex.c',
    104       '../third_party/externals/nanomsg/src/utils/queue.c',
    105       '../third_party/externals/nanomsg/src/utils/random.c',
    106       '../third_party/externals/nanomsg/src/utils/sem.c',
    107       '../third_party/externals/nanomsg/src/utils/sleep.c',
    108       '../third_party/externals/nanomsg/src/utils/stopwatch.c',
    109       '../third_party/externals/nanomsg/src/utils/thread.c',
    110       '../third_party/externals/nanomsg/src/utils/wire.c',
    111     ],
    112 
    113     # TODO(mtklein): Support Windows?
    114     # To refresh: cd third_party/externals/nanomsg; ./autogen.sh; ./configure; copy from Makefile.
    115     'conditions': [
    116       ['skia_os == "linux"', {
    117         'cflags': [ '-Wno-missing-field-initializers' ],
    118         'libraries': [ '-lanl' ],       # Provides getaddrinfo_a and co.
    119         'direct_dependent_settings': {
    120             'libraries': [ '-lanl' ],
    121         },
    122         'defines=': [             # equals sign throws away most Skia defines (just noise)
    123           'HAVE_ACCEPT4',
    124           'HAVE_ARPA_INET_H',
    125           'HAVE_CLOCK_GETTIME',
    126           'HAVE_DLFCN_H',
    127           'HAVE_EPOLL_CREATE',
    128           'HAVE_EVENTFD',
    129           'HAVE_GETIFADDRS',
    130           'HAVE_INTTYPES_H',
    131           'HAVE_MEMORY_H',
    132           'HAVE_NETDB_H',
    133           'HAVE_NETINET_IN_H',
    134           'HAVE_PIPE',
    135           'HAVE_PIPE2',
    136           'HAVE_POLL',
    137           'HAVE_PTHREAD_PRIO_INHERIT',
    138           'HAVE_STDINT_H',
    139           'HAVE_STDLIB_H',
    140           'HAVE_STRINGS_H',
    141           'HAVE_STRING_H',
    142           'HAVE_SYS_IOCTL_H',
    143           'HAVE_SYS_SOCKET_H',
    144           'HAVE_SYS_STAT_H',
    145           'HAVE_SYS_TYPES_H',
    146           'HAVE_UNISTD_H',
    147           'HAVE_UNISTD_H',
    148           'NN_HAVE_ACCEPT4',
    149           'NN_HAVE_CLANG',
    150           'NN_HAVE_EVENTFD',
    151           'NN_HAVE_GCC',
    152           'NN_HAVE_GETADDRINFO_A',
    153           'NN_HAVE_LINUX',
    154           'NN_HAVE_PIPE',
    155           'NN_HAVE_PIPE2',
    156           'NN_HAVE_POLL',
    157           'NN_HAVE_SEMAPHORE',
    158           'NN_HAVE_SOCKETPAIR',
    159           'NN_USE_EPOLL',
    160           'NN_USE_EVENTFD',
    161           'NN_USE_IFADDRS',
    162           'STDC_HEADERS',
    163           '_GNU_SOURCE',
    164         ],
    165       }],
    166       ['skia_os == "mac"', {
    167         'defines=': [             # equals sign throws away most Skia defines (just noise)
    168           'HAVE_ARPA_INET_H',
    169           'HAVE_DLFCN_H',
    170           'HAVE_GETIFADDRS',
    171           'HAVE_INTTYPES_H',
    172           'HAVE_KQUEUE',
    173           'HAVE_MEMORY_H',
    174           'HAVE_NETDB_H',
    175           'HAVE_NETINET_IN_H',
    176           'HAVE_PIPE',
    177           'HAVE_POLL',
    178           'HAVE_PTHREAD_PRIO_INHERIT',
    179           'HAVE_STDINT_H',
    180           'HAVE_STDLIB_H',
    181           'HAVE_STRINGS_H',
    182           'HAVE_STRING_H',
    183           'HAVE_SYS_IOCTL_H',
    184           'HAVE_SYS_SOCKET_H',
    185           'HAVE_SYS_STAT_H',
    186           'HAVE_SYS_TYPES_H',
    187           'HAVE_UNISTD_H',
    188           'NN_HAVE_CLANG',
    189           'NN_HAVE_GCC',
    190           'NN_HAVE_OSX',
    191           'NN_HAVE_PIPE',
    192           'NN_HAVE_POLL',
    193           'NN_HAVE_SEMAPHORE',
    194           'NN_HAVE_SOCKETPAIR',
    195           'NN_USE_IFADDRS',
    196           'NN_USE_KQUEUE',
    197           'NN_USE_PIPE',
    198           'STDC_HEADERS',
    199           '_THREAD_SAFE',
    200         ],
    201       }],
    202     ]
    203   }]
    204 }
    205