Revert "[M120 Migration]Fix for crash during chrome exit"
[platform/framework/web/chromium-efl.git] / wrt / BUILD.gn
1 import("//build/buildflag_header.gni")
2 import("//chrome/common/features.gni")
3 import("//electron/build/templated_file.gni")
4 import("//electron/buildflags/buildflags.gni")
5 import("//electron/filenames.auto.gni")
6 import("//electron/filenames.gni")
7 import("//extensions/buildflags/buildflags.gni")
8 import("//mojo/public/tools/bindings/mojom.gni")
9 import("//ppapi/buildflags/buildflags.gni")
10 import("//tizen_src/chromium_impl/components/components.gni")
11 import("//tools/grit/grit_rule.gni")
12 import("//tools/grit/repack.gni")
13 import("build/wrt.gni")
14 import("filenames.gni")
15
16 electron_version = "28.1.0"
17
18 declare_args() {
19   if (tizen_product_tv) {
20     lib_dir_path = ""
21   }
22   enable_chrome_extensions = false
23 }
24
25 buildflag_header("buildflags") {
26   header = "buildflags.h"
27   header_dir = "wrt/electron/buildflags"
28
29   flags = [
30     "ENABLE_VIEWS_API=false",
31     "ENABLE_PDF_VIEWER=false",
32     "ENABLE_ELECTRON_EXTENSIONS=$enable_chrome_extensions",
33     "ENABLE_BUILTIN_SPELLCHECKER=false",
34     "OVERRIDE_LOCATION_PROVIDER=false",
35   ]
36 }
37
38 webpack_build("electron_asar_bundle") {
39   inputs = rebase_path(
40       auto_filenames.asar_bundle_deps, ".", "//electron")
41
42   config_file = "//electron/build/webpack/webpack.config.asar.js"
43   out_file = "$root_gen_dir/electron/js2c/asar_bundle.js"
44 }
45
46 webpack_build("electron_browser_bundle") {
47   inputs = rebase_path(
48       auto_filenames.browser_bundle_deps, ".", "//electron")
49
50   config_file = "//electron/build/webpack/webpack.config.browser.js"
51   out_file = "$root_gen_dir/electron/js2c/browser_init.js"
52 }
53
54 webpack_build("electron_renderer_bundle") {
55   inputs = rebase_path(
56       auto_filenames.renderer_bundle_deps, ".", "//electron")
57
58   config_file = "//electron/build/webpack/webpack.config.renderer.js"
59   out_file = "$root_gen_dir/electron/js2c/renderer_init.js"
60 }
61
62 webpack_build("electron_worker_bundle") {
63   inputs = rebase_path(
64       auto_filenames.worker_bundle_deps, ".", "//electron")
65
66   config_file = "//electron/build/webpack/webpack.config.worker.js"
67   out_file = "$root_gen_dir/electron/js2c/worker_init.js"
68 }
69
70 webpack_build("electron_sandboxed_renderer_bundle") {
71   inputs = rebase_path(
72       auto_filenames.sandbox_bundle_deps, ".", "//electron")
73
74   config_file = "//electron/build/webpack/webpack.config.sandboxed_renderer.js"
75   out_file = "$root_gen_dir/electron/js2c/sandbox_bundle.js"
76 }
77
78 webpack_build("electron_isolated_renderer_bundle") {
79   inputs = rebase_path(
80       auto_filenames.isolated_bundle_deps, ".", "//electron")
81
82   config_file = "//electron/build/webpack/webpack.config.isolated_renderer.js"
83   out_file = "$root_gen_dir/electron/js2c/isolated_bundle.js"
84 }
85
86 webpack_build("electron_utility_bundle") {
87   inputs = rebase_path(
88       auto_filenames.utility_bundle_deps, ".", "//electron")
89
90   config_file = "//electron/build/webpack/webpack.config.utility.js"
91   out_file = "$root_gen_dir/electron/js2c/utility_init.js"
92 }
93
94 action("electron_js2c") {
95   deps = [
96     ":electron_asar_bundle",
97     ":electron_browser_bundle",
98     ":electron_isolated_renderer_bundle",
99     ":electron_renderer_bundle",
100     ":electron_sandboxed_renderer_bundle",
101     ":electron_utility_bundle",
102     ":electron_worker_bundle",
103   ]
104
105   sources = [
106     "$root_gen_dir/electron/js2c/asar_bundle.js",
107     "$root_gen_dir/electron/js2c/browser_init.js",
108     "$root_gen_dir/electron/js2c/isolated_bundle.js",
109     "$root_gen_dir/electron/js2c/renderer_init.js",
110     "$root_gen_dir/electron/js2c/sandbox_bundle.js",
111     "$root_gen_dir/electron/js2c/utility_init.js",
112     "$root_gen_dir/electron/js2c/worker_init.js",
113   ]
114
115   inputs = sources + [ "//third_party/electron_node/tools/js2c.py" ]
116   outputs = [ "$root_gen_dir/electron/electron_natives.cc" ]
117
118   script = "//electron/build/js2c.py"
119   args = [ rebase_path("//third_party/electron_node") ] +
120          rebase_path(outputs, root_build_dir) +
121          rebase_path(sources, root_build_dir)
122 }
123
124 action("generate_config_gypi") {
125   outputs = [ "$root_gen_dir/config.gypi" ]
126   script = "build/generate-config-gypi.py"
127   inputs = [ "//third_party/electron_node/configure.py" ]
128   args = rebase_path(outputs) + [ target_cpu ]
129 }
130
131 grit("electron_resources") {
132   source = "//electron/electron_resources.grd"
133
134   outputs = [
135     "grit/electron_resources.h",
136     "electron_resources.pak",
137   ]
138
139   # Mojo manifest overlays are generated.
140   grit_flags = [
141     "-E",
142     "target_gen_dir=" + rebase_path(target_gen_dir, root_build_dir),
143   ]
144
145   deps = [ ":copy_shell_devtools_discovery_page" ]
146
147   output_dir = "$root_gen_dir/electron"
148 }
149
150 copy("copy_shell_devtools_discovery_page") {
151   sources = [ "//content/shell/resources/shell_devtools_discovery_page.html" ]
152   outputs = [ "$target_gen_dir/shell_devtools_discovery_page.html" ]
153 }
154
155 npm_action("electron_version_args") {
156   script = "generate-version-json"
157
158   outputs = [ "$root_gen_dir/electron/electron_version.args" ]
159
160   args = rebase_path(outputs) + [ "$electron_version" ]
161
162   inputs = [ "//electron/script/generate-version-json.js" ]
163 }
164
165 templated_file("electron_version_header") {
166   deps = [ ":electron_version_args" ]
167
168   template = "//electron/build/templates/electron_version.tmpl"
169   output = "$root_gen_dir/electron/electron_version.h"
170
171   args_files = get_target_outputs(":electron_version_args")
172 }
173
174 action("electron_fuses") {
175   script = "//electron/build/fuses/build.py"
176
177   inputs = [ "//electron/build/fuses/fuses.json5" ]
178
179   outputs = [
180     "$root_gen_dir/electron/fuses.h",
181     "$root_gen_dir/electron/fuses.cc",
182   ]
183
184   args = rebase_path(outputs)
185 }
186
187 action("electron_generate_node_defines") {
188   script = "//electron/build/generate_node_defines.py"
189
190   inputs = [
191     "//third_party/electron_node/src/tracing/trace_event_common.h",
192     "//third_party/electron_node/src/tracing/trace_event.h",
193     "//third_party/electron_node/src/util.h",
194   ]
195
196   outputs = [
197     "$root_gen_dir/electron/push_and_undef_node_defines.h",
198     "$root_gen_dir/electron/pop_node_defines.h",
199   ]
200
201   args = [ rebase_path("$root_gen_dir/electron") ] + rebase_path(inputs)
202 }
203
204 grit("wrt_resources") {
205   source = "//wrt/wrt_resources.grd"
206   defines = [
207     "enable_extensions=$enable_chrome_extensions",
208   ]
209   outputs = [
210     "grit/wrt_resources.h",
211     "wrt_resources.pak",
212   ]
213   output_dir = "$target_gen_dir"
214 }
215
216 repack("wrt_packed_resources") {
217   sources = [
218     "$root_gen_dir/electron/electron_resources.pak",
219     "$root_gen_dir/wrt/wrt_resources.pak",
220   ]
221   deps = [
222     "//wrt:electron_resources_grit",
223     "//wrt:wrt_resources",
224   ]
225   if (enable_chrome_extensions) {
226     sources += [
227       "$root_gen_dir/chrome/component_extension_resources.pak",
228       "$root_gen_dir/extensions/extensions_browser_resources_100_percent.pak",
229       "$root_gen_dir/extensions/extensions_renderer_resources.pak",
230       "$root_gen_dir/extensions/extensions_resources.pak",
231     ]
232     deps += [
233       "//chrome/browser/resources:component_extension_resources",
234       "//extensions:extensions_resources",
235     ]
236   }
237   output = "$root_out_dir/wrt_resources.pak"
238 }
239
240 mojom("mojo_bindings") {
241   cpp_only = true
242   sources = [
243     "src/common/wrt.mojom",
244   ]
245   public_deps = [
246     "//mojo/public/mojom/base",
247     "//ui/gfx/geometry/mojom",
248   ]
249 }
250
251 config("wrt_config") {
252   configs = [
253     "//tizen_src/build:appsvc",
254     "//tizen_src/build:aul",
255     "//tizen_src/build:cynara-client",
256     "//tizen_src/build:capi-appfw-package-manager",
257     "//tizen_src/build:capi-appfw-service-application",
258     "//tizen_src/build:libefl-extension",
259     "//tizen_src/build:launchpad",
260     "//tizen_src/build:libcapi-appfw-app-manager",
261     "//tizen_src/build:libcapi-appfw-application",
262     "//tizen_src/build:libcapi-media-player",
263     "//tizen_src/build:libcapi-system-system-settings",
264     "//tizen_src/build:libecore-wayland",
265     "//tizen_src/build:libnotification",
266     "//tizen_src/build:libwebappenc",
267     "//tizen_src/build:pkgmgr-info",
268     "//tizen_src/build:tizen-extension-client",
269     "//tizen_src/build:uuid",
270     "//tizen_src/build:wayland-client",
271     "//tizen_src/build:wgt-manifest-handlers",
272   ]
273   if (!ewk_bringup && tizen_atk_support) {
274     configs += [ "//tizen_src/build:libatk" ]
275   }
276   if (tizen_product_tv) {
277     configs += [
278       "//tizen_src/build:autoinput",
279       "//tizen_src/build:libcapi-media-camera",
280       "//tizen_src/build:capi-screensaver",
281       "//tizen_src/build:capi-system-display-rotator",
282       "//tizen_src/build:libcapi-system-info",
283       "//tizen_src/build:libcapi-system-sensor",
284       "//tizen_src/build:message-port",
285       "//tizen_src/build:settings-api",
286       "//tizen_src/build:sqlite3",
287       "//tizen_src/build:tvs-api",
288       "//tizen_src/build:ui-gadget-1",
289       "//tizen_src/build:vd-win-util",
290     ]
291     if (tizen_version >= 70) {
292       configs += [ "//tizen_src/build:capi-boost-tv" ]
293     }
294   } else {
295     configs += [
296       "//tizen_src/build:capi-appfw-watch-application",
297       "//tizen_src/build:capi-ui-inputmethod",
298     ]
299   }
300
301   if (use_lto) {
302     ldflags += [ "-lm" ]
303   }
304 }
305
306 static_library("wrt_lib") {
307   deps = [
308     ":buildflags",
309     ":electron_fuses",
310     ":electron_generate_node_defines",
311     ":electron_js2c",
312     ":electron_resources",
313     ":electron_version_header",
314     ":mojo_bindings",
315     ":wrt_packed_resources",
316     "resources",
317     "//chrome/browser:resource_prefetch_predictor_proto",
318     "//chrome/common:buildflags",
319     "//components/crash/core/app",
320     "//components/navigation_interception",
321     "//components/net_log",
322     "//components/network_hints/browser",
323     "//components/network_hints/common:mojo_bindings",
324     "//components/network_hints/renderer",
325     "//components/os_crypt/async/browser",
326     "//components/paint_preview/buildflags",
327     "//components/security_state/content",
328     "//components/services/language_detection/public/mojom",
329     "//components/upload_list",
330     "//electron/shell/common/api:mojo",
331     "//electron/shell/services/node/public/mojom",
332     "//services/proxy_resolver:lib",
333     "//third_party/electron_node:node_lib",
334     "//third_party/webrtc_overrides:webrtc_component",
335     "//tizen_src/chromium_impl/components/xwalk_extensions:mojo_bindings",
336   ]
337
338   public_deps = [
339     "//chrome/common",
340     "//components/embedder_support:browser_util",
341     "//components/proxy_config",
342     "//components/webrtc",
343   ]
344
345   data_deps = [
346     "//tizen_src/chromium_impl/components/xwalk_extensions:offload_js_plugin",
347     "//tizen_src/chromium_impl/components/xwalk_extensions:splash_screen_plugin",
348     "//tizen_src/chromium_impl/components/xwalk_extensions:widget_plugin",
349   ]
350
351   configs += [
352     "//skia:skia_config",
353     "//third_party/electron_node:node_internals",
354     "//third_party/jsoncpp:jsoncpp_config",
355     "//third_party/leveldatabase:leveldb_config",
356     "//third_party/protobuf:protobuf_config",
357     "//tizen_src/chromium_impl/components/xwalk_extensions:xwalk_extension_config",
358     "//v8:external_startup_data",
359   ]
360   public_configs = [ ":wrt_config" ]
361
362   include_dirs = [
363     "overrides",
364     "overrides/electron",
365     "//electron",
366     "//tizen_src/ewk/efl_integration",
367     "$target_gen_dir",
368     "$root_gen_dir/electron",
369   ]
370
371   defines = [
372     "ELECTRON_PRODUCT_NAME=\"WRT\"",
373     "ELECTRON_PROJECT_NAME=\"WRT\"",
374     "ENABLE_CHROME_EXTENSIONS=$enable_chrome_extensions",
375     "IS_MAS_BUILD()=0",
376   ]
377   if (tizen_product_tv) {
378     defines += [
379       "CHROMIUM_RO_ROOT_DIR=\"$lib_ro_root_dir\"",
380       "CHROMIUM_UPGRADED_LIB=\"$lib_upgrade_root_dir/lib/$chromium_impl_lib_name\"",
381       "LIB_PATH=\"$lib_dir_path\"",
382     ]
383   }
384
385   if (tizen_thread_booster_service) {
386     defines += [ "THREAD_BOOSTER_SERVICE" ]
387   }
388
389   sources = wrt_lib_sources + [
390     "//electron/shell/browser/certificate_manager_model.cc",
391     "//electron/shell/browser/certificate_manager_model.h",
392     "//electron/shell/browser/lib/power_observer_linux.cc",
393     "//electron/shell/browser/relauncher_linux.cc",
394     "//electron/shell/common/node_bindings_linux.cc",
395   ]
396   sources += rebase_path(electron_override_sources, ".", "overrides/electron")
397   if (!build_chrome) {
398     sources += [
399       "//chrome/browser/app_mode/app_mode_utils.cc",
400       "//chrome/browser/app_mode/app_mode_utils.h",
401       "//chrome/browser/browser_features.cc",
402       "//chrome/browser/browser_features.h",
403       "//chrome/browser/browser_process.cc",
404       "//chrome/browser/browser_process.h",
405       "//chrome/browser/devtools/devtools_contents_resizing_strategy.cc",
406       "//chrome/browser/devtools/devtools_contents_resizing_strategy.h",
407       "//chrome/browser/devtools/devtools_embedder_message_dispatcher.cc",
408       "//chrome/browser/devtools/devtools_embedder_message_dispatcher.h",
409       "//chrome/browser/devtools/devtools_file_system_indexer.cc",
410       "//chrome/browser/devtools/devtools_file_system_indexer.h",
411       "//chrome/browser/icon_loader.cc",
412       "//chrome/browser/icon_loader.h",
413       "//chrome/browser/icon_loader_auralinux.cc",
414       "//chrome/browser/icon_manager.cc",
415       "//chrome/browser/icon_manager.h",
416       "//chrome/browser/net/chrome_mojo_proxy_resolver_factory.cc",
417       "//chrome/browser/net/chrome_mojo_proxy_resolver_factory.h",
418       "//chrome/browser/net/proxy_config_monitor.cc",
419       "//chrome/browser/net/proxy_config_monitor.h",
420       "//chrome/browser/net/proxy_service_factory.cc",
421       "//chrome/browser/net/proxy_service_factory.h",
422       "//chrome/browser/process_singleton.h",
423       "//chrome/browser/process_singleton_posix.cc",
424       "//chrome/browser/ui/exclusive_access/exclusive_access_controller_base.cc",
425       "//chrome/browser/ui/exclusive_access/exclusive_access_controller_base.h",
426       "//chrome/browser/ui/exclusive_access/exclusive_access_manager.cc",
427       "//chrome/browser/ui/exclusive_access/exclusive_access_manager.h",
428       "//chrome/browser/ui/exclusive_access/fullscreen_controller.cc",
429       "//chrome/browser/ui/exclusive_access/fullscreen_controller.h",
430       "//chrome/browser/ui/exclusive_access/fullscreen_within_tab_helper.cc",
431       "//chrome/browser/ui/exclusive_access/fullscreen_within_tab_helper.h",
432       "//chrome/browser/ui/exclusive_access/keyboard_lock_controller.cc",
433       "//chrome/browser/ui/exclusive_access/keyboard_lock_controller.h",
434       "//chrome/browser/ui/exclusive_access/mouse_lock_controller.cc",
435       "//chrome/browser/ui/exclusive_access/mouse_lock_controller.h",
436     ]
437   }
438   if (tizen_product_tv) {
439     sources += wrt_lib_sources_tv
440   } else {
441     sources += wrt_lib_sources_unified
442   }
443   if (tizen_product_da) {
444     sources += wrt_lib_sources_da
445   }
446   if (!ewk_bringup && enable_meerkat) {
447     sources += wrt_lib_sources_edge
448   }
449   sources += wrt_lib_sources_mde
450   sources += get_target_outputs(":electron_fuses")
451   sources += xwalk_extensions_sources
452
453   if (enable_plugins) {
454     sources += [
455       "//electron/shell/common/plugin_info.cc",
456       "//electron/shell/common/plugin_info.h",
457     ]
458     if (enable_ppapi) {
459       sources += [
460         "//electron/shell/renderer/electron_renderer_pepper_host_factory.cc",
461         "//electron/shell/renderer/electron_renderer_pepper_host_factory.h",
462         "//electron/shell/renderer/pepper_helper.cc",
463         "//electron/shell/renderer/pepper_helper.h",
464       ]
465     }
466   }
467
468   if (enable_chrome_extensions) {
469     deps += [
470       "//chrome/browser/resources:component_extension_resources",
471       "//electron/shell/browser/extensions/api:api_registration",
472       "//electron/shell/common/extensions/api",
473       "//electron/shell/common/extensions/api:extensions_features",
474       "//extensions/browser",
475       "//extensions/browser:core_api_provider",
476       "//extensions/common",
477       "//extensions/common:core_api_provider",
478       "//extensions/renderer",
479       "//pdf:buildflags",
480       "//wrt/src/browser/extensions/api:api_registration",
481       "//wrt/src/common/extensions/api",
482       "//wrt/src/common/extensions/api:extensions_features",
483     ]
484     sources += wrt_lib_sources_chrome_extensions
485   } else {
486     if (!build_chrome) {
487       sources += wrt_lib_sources_without_chrome_extensions
488     }
489   }
490
491   if (enable_printing && !build_chrome) {
492     deps += [
493       "//chrome/services/printing:lib",
494       "//chrome/services/printing/public/mojom",
495       "//components/printing/browser",
496       "//components/printing/common:mojo_interfaces",
497       "//components/printing/renderer",
498       "//components/services/print_compositor",
499     ]
500     sources += [
501       "//chrome/browser/bad_message.cc",
502       "//chrome/browser/bad_message.h",
503       "//chrome/browser/printing/print_error_dialog.cc",
504       "//chrome/browser/printing/print_error_dialog.h",
505       "//chrome/browser/printing/print_job.cc",
506       "//chrome/browser/printing/print_job.h",
507       "//chrome/browser/printing/print_job_manager.cc",
508       "//chrome/browser/printing/print_job_manager.h",
509       "//chrome/browser/printing/print_job_worker.cc",
510       "//chrome/browser/printing/print_job_worker.h",
511       "//chrome/browser/printing/print_view_manager_base.cc",
512       "//chrome/browser/printing/print_view_manager_base.h",
513       "//chrome/browser/printing/printer_query.cc",
514       "//chrome/browser/printing/printer_query.h",
515       "//components/printing/browser/print_to_pdf/pdf_print_job.cc",
516       "//components/printing/browser/print_to_pdf/pdf_print_job.h",
517       "//components/printing/browser/print_to_pdf/pdf_print_result.cc",
518       "//components/printing/browser/print_to_pdf/pdf_print_result.h",
519       "//components/printing/browser/print_to_pdf/pdf_print_utils.cc",
520       "//components/printing/browser/print_to_pdf/pdf_print_utils.h",
521       "//electron/shell/browser/printing/print_view_manager_electron.cc",
522       "//electron/shell/browser/printing/print_view_manager_electron.h",
523       "//electron/shell/renderer/printing/print_render_frame_helper_delegate.cc",
524       "//electron/shell/renderer/printing/print_render_frame_helper_delegate.h",
525     ]
526
527     if (enable_oop_printing) {
528       sources += [
529         "//chrome/browser/printing/print_backend_service_manager.cc",
530         "//chrome/browser/printing/print_backend_service_manager.h",
531         "//chrome/browser/printing/print_job_worker_oop.cc",
532         "//chrome/browser/printing/print_job_worker_oop.h",
533       ]
534     }
535     if (enable_print_preview) {
536       sources += [
537         "//chrome/browser/printing/printing_service.cc",
538         "//chrome/browser/printing/printing_service.h",
539       ]
540     }
541   }
542   else {
543    sources += [
544       "//electron/shell/browser/printing/print_view_manager_electron.cc",
545       "//electron/shell/browser/printing/print_view_manager_electron.h",
546       "//electron/shell/renderer/printing/print_render_frame_helper_delegate.cc",
547       "//electron/shell/renderer/printing/print_render_frame_helper_delegate.h",
548     ]
549 }
550
551   unused_electron_sources = [
552     "shell/browser/api/electron_api_desktop_capturer.cc",
553     "shell/browser/api/electron_api_global_shortcut.cc",
554     "shell/browser/api/electron_api_native_theme.cc",
555     "shell/browser/api/electron_api_safe_storage.cc",
556     "shell/browser/electron_autofill_driver.cc",
557     "shell/browser/electron_autofill_driver_factory.cc",
558     "shell/browser/osr/osr_host_display_client.cc",
559     "shell/browser/osr/osr_render_widget_host_view.cc",
560     "shell/browser/osr/osr_video_consumer.cc",
561     "shell/browser/osr/osr_view_proxy.cc",
562     "shell/browser/osr/osr_web_contents_view.cc",
563     "shell/browser/plugins/plugin_utils.cc",
564     "shell/browser/ui/autofill_popup.cc",
565     "shell/browser/ui/webui/accessibility_ui.cc",
566     "shell/renderer/api/electron_api_spell_check_client.cc",
567     "shell/renderer/electron_autofill_agent.cc",
568   ] + electron_override_sources
569
570   electron_sources = filenames.lib_sources + filenames.lib_sources_posix
571   if (enable_chrome_extensions) {
572     electron_sources += filenames.lib_sources_extensions
573   }
574   if (toolkit_views) {
575     deps += [
576       "//ui/views",
577       "//ui/views/controls/webview",
578     ]
579     electron_sources += filenames.lib_sources_views
580     unused_electron_sources += [
581       "shell/browser/api/electron_api_menu_views.cc",
582       "shell/browser/native_browser_view_views.cc",
583       "shell/browser/native_window_views.cc",
584       "shell/browser/ui/drag_util_views.cc",
585       "shell/browser/ui/views/autofill_popup_view.cc",
586       "shell/browser/ui/views/inspectable_web_contents_view_views.cc",
587     ]
588   }
589
590   electron_sources -= unused_electron_sources
591   sources += rebase_path(electron_sources, ".", "//electron")
592 }
593
594 executable("wrt") {
595   testonly = true
596   deps = [
597     "//tizen_src/ewk/efl_integration:libchromium-ewk",
598   ]
599   sources = [ "src/app/wrt_main.cc" ]
600   ldflags = [
601     "-pie",
602     "-Wl,--export-dynamic"
603   ]
604   cflags = [ "-fPIC" ]
605   if (is_tizen) {
606     configs += [ "//tizen_src/build/config/tizen:executable_config" ]
607   }
608 }
609
610 shared_library("wrt-service-override") {
611   sources = [
612     "src/common/wrt_service_override.cc"
613   ]
614   libs = [ "dlog" ]
615   ldflags = [
616     "-Wl,--export-dynamic"
617   ]
618   cflags = [ "-fPIC" ]
619 }
620
621 executable("wrt-service") {
622   testonly = true
623   deps = [
624     ":wrt-service-override",
625     "//tizen_src/ewk/efl_integration:libchromium-ewk"
626   ]
627   sources = [
628     "src/app/service_main.cc",
629     "src/browser/wrt_ipc.cc",
630     "src/browser/wrt_ipc.h",
631   ]
632   if (is_tizen) {
633     configs += [
634       "//tizen_src/build:appcore-agent",
635       "//tizen_src/build:dbus-1",
636       "//tizen_src/build:dlog",
637       "//tizen_src/build/config/tizen:executable_config",
638       "//tizen_src/chromium_impl/components/xwalk_extensions:xwalk_extension_service_config",
639     ]
640   }
641 }
642
643 executable("wrt-service-launcher") {
644   testonly = true
645   sources = [
646     "src/app/service_launcher_main.cc",
647     "src/browser/wrt_ipc.cc",
648     "src/browser/wrt_ipc.h",
649     "src/service/wrt_service_launcher.cc",
650     "src/service/wrt_service_launcher.h",
651   ]
652   configs += [
653     "//tizen_src/build:bundle",
654     "//tizen_src/build:appcore-agent",
655     "//tizen_src/build:capi-appfw-app-control",
656     "//tizen_src/build:dbus-1",
657     "//tizen_src/build:dlog",
658     "//tizen_src/build:message-port",
659     "//tizen_src/build/config/tizen:executable_config",
660   ]
661 }