blob: f101abc1a4caad2fcb1b8563bcd12327a8921a92 [file] [log] [blame]
Alex Vakulenko039da312015-02-03 08:58:55 -08001{
2 'target_defaults': {
3 'variables': {
4 'deps': [
5 'libchrome-<(libbase_ver)',
6 'libchromeos-<(libbase_ver)',
7 ],
8 },
9 'include_dirs': ['.'],
10 },
11 'targets': [
12 {
13 'target_name': 'libwebserv-<(libbase_ver)',
14 'type': 'shared_library',
15 'variables': {
Alex Vakulenko31a63792015-02-03 12:44:57 -080016 # Not using dbus_service_config here deliberately in order not to
17 # get tied to some constant service name, since it will be
18 # provided by the consumer of libwebserv library.
19 'dbus_service_config': '',
20 'dbus_adaptors_out_dir': 'include/libwebserv',
Alex Vakulenko039da312015-02-03 08:58:55 -080021 },
Alex Vakulenko31a63792015-02-03 12:44:57 -080022 'includes': [
23 '../common-mk/deps.gypi',
24 '../common-mk/generate-dbus-adaptors.gypi'
25 ],
Alex Vakulenko039da312015-02-03 08:58:55 -080026 'sources': [
Alex Vakulenko31a63792015-02-03 12:44:57 -080027 'libwebserv/protocol_handler.cc',
Alex Vakulenko039da312015-02-03 08:58:55 -080028 'libwebserv/request.cc',
29 'libwebserv/request_handler_callback.cc',
Alex Vakulenko31a63792015-02-03 12:44:57 -080030 'libwebserv/response.cc',
Alex Vakulenko039da312015-02-03 08:58:55 -080031 'libwebserv/server.cc',
Alex Vakulenko31a63792015-02-03 12:44:57 -080032 'libwebserv/dbus_bindings/org.chromium.WebServer.RequestHandler.xml',
Alex Vakulenko039da312015-02-03 08:58:55 -080033 ],
34 'actions': [
35 {
36 'action_name': 'generate-webservd-proxies',
37 'variables': {
38 'dbus_service_config': 'webservd/dbus_bindings/dbus-service-config.json',
39 'mock_output_file': 'include/webservd/dbus-mocks.h',
40 'proxy_output_file': 'include/webservd/dbus-proxies.h',
Alex Vakulenko31a63792015-02-03 12:44:57 -080041 'dbus_adaptors_out_dir': '',
Alex Vakulenko039da312015-02-03 08:58:55 -080042 },
43 'sources': [
Alex Vakulenko31a63792015-02-03 12:44:57 -080044 'webservd/dbus_bindings/org.chromium.WebServer.ProtocolHandler.xml',
Alex Vakulenko039da312015-02-03 08:58:55 -080045 'webservd/dbus_bindings/org.chromium.WebServer.Server.xml',
46 ],
47 'includes': ['../common-mk/generate-dbus-proxies.gypi'],
48 },
49 ],
50 },
51 {
52 'target_name': 'webservd',
53 'type': 'executable',
54 'variables': {
55 'exported_deps': [
56 'libmicrohttpd',
Alex Vakulenko31a63792015-02-03 12:44:57 -080057 'openssl',
Alex Vakulenko039da312015-02-03 08:58:55 -080058 ],
59 'deps': ['<@(exported_deps)'],
60 'dbus_adaptors_out_dir': 'include/webservd',
61 'dbus_service_config': 'webservd/dbus_bindings/dbus-service-config.json',
62 },
Alex Vakulenko31a63792015-02-03 12:44:57 -080063 'link_settings': {
64 'libraries': [
65 '-lminijail',
66 ],
67 },
Alex Vakulenko039da312015-02-03 08:58:55 -080068 'sources': [
Alex Vakulenko31a63792015-02-03 12:44:57 -080069 'webservd/dbus_bindings/org.chromium.WebServer.ProtocolHandler.xml',
Alex Vakulenko039da312015-02-03 08:58:55 -080070 'webservd/dbus_bindings/org.chromium.WebServer.Server.xml',
Alex Vakulenko31a63792015-02-03 12:44:57 -080071 'webservd/dbus_protocol_handler.cc',
72 'webservd/dbus_request_handler.cc',
Alex Vakulenko039da312015-02-03 08:58:55 -080073 'webservd/main.cc',
Alex Vakulenko31a63792015-02-03 12:44:57 -080074 'webservd/protocol_handler.cc',
75 'webservd/request.cc',
76 'webservd/server.cc',
77 'webservd/utils.cc',
Alex Vakulenko039da312015-02-03 08:58:55 -080078 ],
79 'includes': ['../common-mk/generate-dbus-adaptors.gypi'],
Alex Vakulenko31a63792015-02-03 12:44:57 -080080 'actions': [
81 {
82 'action_name': 'generate-libwebserv-proxies',
83 'variables': {
84 # Not using dbus_service_config here deliberately in order not to
85 # get tied to some constant service name, since it will be
86 # provided by the consumer of libwebserv library.
87 'dbus_service_config': '',
88 'mock_output_file': 'include/libwebserv/dbus-mocks.h',
89 'proxy_output_file': 'include/libwebserv/dbus-proxies.h',
90 },
91 'sources': [
92 'libwebserv/dbus_bindings/org.chromium.WebServer.RequestHandler.xml',
93 ],
94 'includes': ['../common-mk/generate-dbus-proxies.gypi'],
95 },
96 ],
Alex Vakulenko039da312015-02-03 08:58:55 -080097 },
98 ],
99 'conditions': [
100 ['USE_test == 1', {
101 'targets': [
102 {
103 'target_name': 'libwebserv_testrunner',
104 'type': 'executable',
105 'dependencies': [
106 'libwebserv-<(libbase_ver)',
107 ],
108 'includes': ['../common-mk/common_test.gypi'],
109 'sources': [
110 'libwebserv/libwebserv_testrunner.cc',
111 ],
112 },
113 ],
114 }],
115 ],
116}