passenger 6.1.4 → 6.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +6 -1
  3. data/Rakefile +1 -1
  4. data/build/agent.rb +15 -15
  5. data/build/apache2.rb +18 -18
  6. data/build/basics.rb +1 -1
  7. data/build/common_library.rb +21 -20
  8. data/build/cxx_tests.rb +19 -19
  9. data/build/integration_tests.rb +3 -3
  10. data/build/misc.rb +10 -9
  11. data/build/nginx.rb +12 -12
  12. data/build/oxt_tests.rb +7 -7
  13. data/build/packaging.rb +11 -11
  14. data/build/ruby_extension.rb +3 -3
  15. data/build/ruby_tests.rb +1 -1
  16. data/build/schema_printer.rb +13 -13
  17. data/build/support/cplusplus.rb +8 -8
  18. data/build/support/cxx_dependency_map.rb +622 -622
  19. data/build/support/general.rb +0 -1
  20. data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser/parser.rb +4 -4
  21. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
  22. data/build/test_basics.rb +4 -4
  23. data/dev/colorize-logs +6 -6
  24. data/dev/copy_boost_headers +8 -8
  25. data/dev/index_cxx_dependencies.rb +6 -6
  26. data/dev/install_scripts_bootstrap_code.rb +4 -4
  27. data/dev/list_tests +2 -2
  28. data/dev/nginx_version_sha256 +2 -2
  29. data/dev/parse_file_descriptor_log +1 -1
  30. data/passenger.gemspec +4 -4
  31. data/src/agent/Core/Config.h +1 -1
  32. data/src/agent/Core/Controller/Config.h +1 -1
  33. data/src/agent/Watchdog/Config.h +1 -1
  34. data/src/cxx_supportlib/Constants.h +1 -1
  35. data/src/helper-scripts/backtrace-sanitizer.rb +2 -2
  36. data/src/helper-scripts/download_binaries/extconf.rb +8 -8
  37. data/src/helper-scripts/meteor-loader.rb +39 -39
  38. data/src/helper-scripts/rack-loader.rb +1 -0
  39. data/src/helper-scripts/rack-preloader.rb +2 -1
  40. data/src/ruby_native_extension/extconf.rb +27 -28
  41. data/src/ruby_supportlib/phusion_passenger/abstract_installer.rb +27 -27
  42. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +5 -4
  43. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +9 -8
  44. data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +24 -24
  45. data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +5 -5
  46. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +526 -526
  47. data/src/ruby_supportlib/phusion_passenger/apache2/config_utils.rb +1 -1
  48. data/src/ruby_supportlib/phusion_passenger/common_library.rb +105 -105
  49. data/src/ruby_supportlib/phusion_passenger/config/about_command.rb +5 -5
  50. data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +7 -6
  51. data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +1 -1
  52. data/src/ruby_supportlib/phusion_passenger/config/command.rb +1 -1
  53. data/src/ruby_supportlib/phusion_passenger/config/compile_agent_command.rb +1 -1
  54. data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +5 -5
  55. data/src/ruby_supportlib/phusion_passenger/config/detach_process_command.rb +1 -1
  56. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +17 -17
  57. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +18 -18
  58. data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +10 -10
  59. data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +12 -12
  60. data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +24 -23
  61. data/src/ruby_supportlib/phusion_passenger/config/main.rb +26 -26
  62. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +5 -4
  63. data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +1 -1
  64. data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +4 -4
  65. data/src/ruby_supportlib/phusion_passenger/config/system_properties_command.rb +14 -13
  66. data/src/ruby_supportlib/phusion_passenger/config/utils.rb +1 -1
  67. data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +34 -33
  68. data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +3 -2
  69. data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +2 -2
  70. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +35 -36
  71. data/src/ruby_supportlib/phusion_passenger/message_channel.rb +17 -16
  72. data/src/ruby_supportlib/phusion_passenger/message_client.rb +5 -4
  73. data/src/ruby_supportlib/phusion_passenger/native_support.rb +42 -42
  74. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +548 -548
  75. data/src/ruby_supportlib/phusion_passenger/packaging.rb +6 -6
  76. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +85 -84
  77. data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +13 -13
  78. data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +5 -5
  79. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +65 -65
  80. data/src/ruby_supportlib/phusion_passenger/platform_info/crypto.rb +6 -6
  81. data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +5 -5
  82. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +10 -10
  83. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck.rb +6 -5
  84. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +7 -7
  85. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +1 -1
  86. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/ruby.rb +7 -7
  87. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/utilities.rb +1 -1
  88. data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +14 -13
  89. data/src/ruby_supportlib/phusion_passenger/platform_info/networking.rb +27 -26
  90. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +16 -16
  91. data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +1 -1
  92. data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +29 -28
  93. data/src/ruby_supportlib/phusion_passenger/platform_info/zlib.rb +2 -2
  94. data/src/ruby_supportlib/phusion_passenger/platform_info.rb +37 -36
  95. data/src/ruby_supportlib/phusion_passenger/plugin.rb +3 -3
  96. data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +16 -15
  97. data/src/ruby_supportlib/phusion_passenger/public_api.rb +1 -1
  98. data/src/ruby_supportlib/phusion_passenger/rack/handler.rb +1 -1
  99. data/src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb +5 -4
  100. data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +8 -7
  101. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +9 -11
  102. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +27 -26
  103. data/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb +6 -5
  104. data/src/ruby_supportlib/phusion_passenger/ruby_core_io_enhancements.rb +7 -6
  105. data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +13 -13
  106. data/src/ruby_supportlib/phusion_passenger/standalone/command.rb +1 -1
  107. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +351 -351
  108. data/src/ruby_supportlib/phusion_passenger/standalone/main.rb +11 -11
  109. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +13 -14
  110. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +21 -23
  111. data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +4 -4
  112. data/src/ruby_supportlib/phusion_passenger/standalone/status_command.rb +5 -5
  113. data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +6 -6
  114. data/src/ruby_supportlib/phusion_passenger/standalone/version_command.rb +1 -1
  115. data/src/ruby_supportlib/phusion_passenger/utils/download.rb +12 -11
  116. data/src/ruby_supportlib/phusion_passenger/utils/file_system_watcher.rb +9 -9
  117. data/src/ruby_supportlib/phusion_passenger/utils/hosts_file_parser.rb +8 -7
  118. data/src/ruby_supportlib/phusion_passenger/utils/json.rb +7 -6
  119. data/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb +4 -4
  120. data/src/ruby_supportlib/phusion_passenger/utils/progress_bar.rb +1 -1
  121. data/src/ruby_supportlib/phusion_passenger/utils/shellwords.rb +1 -1
  122. data/src/ruby_supportlib/phusion_passenger/utils/strscan.rb +1 -0
  123. data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +1 -0
  124. data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +13 -12
  125. data/src/ruby_supportlib/phusion_passenger/utils/tmpio.rb +2 -3
  126. data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +7 -7
  127. data/src/ruby_supportlib/phusion_passenger/utils.rb +17 -16
  128. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -0
  129. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +3 -2
  130. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +2 -1
  131. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/utils.rb +3 -2
  132. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +13 -13
  133. data/src/ruby_supportlib/phusion_passenger.rb +23 -22
  134. metadata +2 -2
data/build/oxt_tests.rb CHANGED
@@ -30,7 +30,7 @@ TEST_OXT_OBJECTS = {
30
30
  "#{TEST_OUTPUT_DIR}oxt/backtrace_test.o" => "test/oxt/backtrace_test.cpp",
31
31
  "#{TEST_OUTPUT_DIR}oxt/spin_lock_test.o" => "test/oxt/spin_lock_test.cpp",
32
32
  "#{TEST_OUTPUT_DIR}oxt/dynamic_thread_group_test.o" => "test/oxt/dynamic_thread_group_test.cpp",
33
- "#{TEST_OUTPUT_DIR}oxt/syscall_interruption_test.o" => "test/oxt/syscall_interruption_test.cpp"
33
+ "#{TEST_OUTPUT_DIR}oxt/syscall_interruption_test.o" => "test/oxt/syscall_interruption_test.cpp",
34
34
  }
35
35
 
36
36
  # Define compilation tasks for object files.
@@ -39,26 +39,26 @@ TEST_OXT_OBJECTS.each_pair do |object, source|
39
39
  object,
40
40
  source,
41
41
  lambda { {
42
- :include_paths => [
42
+ include_paths: [
43
43
  "test/support",
44
- *CXX_SUPPORTLIB_INCLUDE_PATHS
44
+ *CXX_SUPPORTLIB_INCLUDE_PATHS,
45
45
  ],
46
- :flags => TEST_COMMON_CFLAGS
46
+ flags: TEST_COMMON_CFLAGS,
47
47
  } }
48
48
  )
49
49
  end
50
50
 
51
51
  # Define compilation task for the test executable.
52
- dependencies = TEST_OXT_OBJECTS.keys + [TEST_BOOST_OXT_LIBRARY]
52
+ dependencies = TEST_OXT_OBJECTS.keys + [ TEST_BOOST_OXT_LIBRARY ]
53
53
  file(TEST_OXT_TARGET => dependencies) do
54
54
  flags = [
55
55
  TEST_BOOST_OXT_LIBRARY,
56
- PlatformInfo.portability_cxx_ldflags
56
+ PlatformInfo.portability_cxx_ldflags,
57
57
  ]
58
58
  create_cxx_executable(
59
59
  TEST_OXT_TARGET,
60
60
  TEST_OXT_OBJECTS.keys,
61
- :flags => flags
61
+ flags: flags
62
62
  )
63
63
  end
64
64
 
data/build/packaging.rb CHANGED
@@ -36,11 +36,11 @@ def recursive_copy_files(files, destination_dir, preprocess = false, variables =
36
36
  if !File.directory?(filename)
37
37
  if preprocess && filename =~ /\.erb$/
38
38
  real_filename = filename.sub(/\.erb$/, '')
39
- FileUtils.install(filename, "#{destination_dir}/#{real_filename}", :preserve => true)
39
+ FileUtils.install(filename, "#{destination_dir}/#{real_filename}", preserve: true)
40
40
  Preprocessor.new.start(filename, "#{destination_dir}/#{real_filename}",
41
41
  variables)
42
42
  else
43
- FileUtils.install(filename, "#{destination_dir}/#{filename}", :preserve => true)
43
+ FileUtils.install(filename, "#{destination_dir}/#{filename}", preserve: true)
44
44
  end
45
45
  end
46
46
  if STDOUT.tty?
@@ -53,7 +53,7 @@ def recursive_copy_files(files, destination_dir, preprocess = false, variables =
53
53
  end
54
54
  end
55
55
 
56
- task :clobber => 'package:clean'
56
+ task clobber: 'package:clean'
57
57
 
58
58
  task 'package:set_official' do
59
59
  ENV['OFFICIAL_RELEASE'] = '1'
@@ -117,7 +117,7 @@ def change_shebang(filename, value)
117
117
  end
118
118
 
119
119
  desc "Create a fakeroot, useful for building native packages"
120
- task :fakeroot => [:apache2, :nginx, 'nginx:as_dynamic_module', :doc] do
120
+ task fakeroot: [ :apache2, :nginx, 'nginx:as_dynamic_module', :doc ] do
121
121
  require 'rbconfig'
122
122
  include RbConfig
123
123
 
@@ -212,18 +212,18 @@ task :fakeroot => [:apache2, :nginx, 'nginx:as_dynamic_module', :doc] do
212
212
  headers = []
213
213
  Dir["src/nginx_module/**/*.[ch]"].each do |filename|
214
214
  File.read(filename).split("\n").grep(%r{#include "cxx_supportlib/(.+)"}) do |match|
215
- headers << ["src/cxx_supportlib/#{$1}", "cxx_supportlib/#{$1}"]
215
+ headers << [ "src/cxx_supportlib/#{$1}", "cxx_supportlib/#{$1}" ]
216
216
  end
217
217
  end
218
218
  # Manually add headers that could not be inferred through
219
219
  # the above code
220
220
  headers.concat([
221
- ["src/cxx_supportlib/Exceptions.h", "cxx_supportlib/Exceptions.h"],
222
- ["src/cxx_supportlib/AppTypeDetector/CBindings.h", "cxx_supportlib/AppTypeDetector/CBindings.h"],
223
- ["src/cxx_supportlib/WrapperRegistry/CBindings.h", "cxx_supportlib/WrapperRegistry/CBindings.h"],
224
- ["src/cxx_supportlib/JsonTools/CBindings.h", "cxx_supportlib/JsonTools/CBindings.h"],
225
- ["src/cxx_supportlib/vendor-modified/modp_b64.h", "cxx_supportlib/vendor-modified/modp_b64.h"],
226
- ["src/cxx_supportlib/vendor-modified/modp_b64_data.h", "cxx_supportlib/vendor-modified/modp_b64_data.h"]
221
+ [ "src/cxx_supportlib/Exceptions.h", "cxx_supportlib/Exceptions.h" ],
222
+ [ "src/cxx_supportlib/AppTypeDetector/CBindings.h", "cxx_supportlib/AppTypeDetector/CBindings.h" ],
223
+ [ "src/cxx_supportlib/WrapperRegistry/CBindings.h", "cxx_supportlib/WrapperRegistry/CBindings.h" ],
224
+ [ "src/cxx_supportlib/JsonTools/CBindings.h", "cxx_supportlib/JsonTools/CBindings.h" ],
225
+ [ "src/cxx_supportlib/vendor-modified/modp_b64.h", "cxx_supportlib/vendor-modified/modp_b64.h" ],
226
+ [ "src/cxx_supportlib/vendor-modified/modp_b64_data.h", "cxx_supportlib/vendor-modified/modp_b64_data.h" ],
227
227
  ])
228
228
  headers.each do |header|
229
229
  target = "#{fake_include_dir}/#{header[1]}"
@@ -38,12 +38,12 @@ else
38
38
  source_dir = "src/ruby_native_extension"
39
39
  NATIVE_SUPPORT_TARGET = File.join(output_dir, output_name)
40
40
 
41
- task :native_support => NATIVE_SUPPORT_TARGET
42
- task :clean => 'native_support:clean'
41
+ task native_support: NATIVE_SUPPORT_TARGET
42
+ task clean: 'native_support:clean'
43
43
 
44
44
  dependencies = [
45
45
  File.join(output_dir, "Makefile"),
46
- "#{source_dir}/passenger_native_support.c"
46
+ "#{source_dir}/passenger_native_support.c",
47
47
  ]
48
48
  file(NATIVE_SUPPORT_TARGET => dependencies) do
49
49
  sh "mkdir -p '#{output_dir}'" if !File.exist?(output_dir)
data/build/ruby_tests.rb CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  ### Ruby components tests ###
26
26
 
27
- dependencies = [NATIVE_SUPPORT_TARGET, AGENT_TARGET].compact
27
+ dependencies = [ NATIVE_SUPPORT_TARGET, AGENT_TARGET ].compact
28
28
  desc "Run unit tests for the Ruby libraries"
29
29
  task 'test:ruby' => dependencies do
30
30
  if maybe_grep = string_option('E')
@@ -26,12 +26,12 @@ SCHEMA_PRINTER_TARGET = "#{AGENT_OUTPUT_DIR}SchemaPrinter"
26
26
  SCHEMA_PRINTER_MAIN_OBJECT = "#{AGENT_OUTPUT_DIR}SchemaPrinterMain.o"
27
27
  SCHEMA_PRINTER_OBJECTS = {
28
28
  SCHEMA_PRINTER_MAIN_OBJECT =>
29
- "src/schema_printer/SchemaPrinterMain.cpp"
29
+ "src/schema_printer/SchemaPrinterMain.cpp",
30
30
  }
31
31
 
32
32
  dependencies = [
33
33
  'src/schema_printer/SchemaPrinterMain.cpp.cxxcodebuilder',
34
- CXX_DEPENDENCY_MAP['src/schema_printer/SchemaPrinterMain.cpp.cxxcodebuilder']
34
+ CXX_DEPENDENCY_MAP['src/schema_printer/SchemaPrinterMain.cpp.cxxcodebuilder'],
35
35
  ].flatten.compact
36
36
  file('src/schema_printer/SchemaPrinterMain.cpp' => dependencies) do
37
37
  source = 'src/schema_printer/SchemaPrinterMain.cpp'
@@ -45,18 +45,18 @@ SCHEMA_PRINTER_OBJECTS.each_pair do |object, source|
45
45
  object,
46
46
  source,
47
47
  lambda { {
48
- :include_paths => [
48
+ include_paths: [
49
49
  "src/agent",
50
- *CXX_SUPPORTLIB_INCLUDE_PATHS
50
+ *CXX_SUPPORTLIB_INCLUDE_PATHS,
51
51
  ],
52
- :flags => [
52
+ flags: [
53
53
  agent_cflags,
54
54
  libev_cflags,
55
55
  libuv_cflags,
56
56
  PlatformInfo.curl_flags,
57
57
  PlatformInfo.openssl_extra_cflags,
58
- PlatformInfo.zlib_flags
59
- ]
58
+ PlatformInfo.zlib_flags,
59
+ ],
60
60
  } }
61
61
  )
62
62
  end
@@ -69,7 +69,7 @@ dependencies = SCHEMA_PRINTER_OBJECTS.keys + [
69
69
  LIBBOOST_OXT,
70
70
  schema_printer_libs.link_objects,
71
71
  LIBEV_TARGET,
72
- LIBUV_TARGET
72
+ LIBUV_TARGET,
73
73
  ].flatten.compact
74
74
  file(SCHEMA_PRINTER_TARGET => dependencies) do
75
75
  sh "mkdir -p #{AGENT_OUTPUT_DIR}" if !File.directory?(AGENT_OUTPUT_DIR)
@@ -77,26 +77,26 @@ file(SCHEMA_PRINTER_TARGET => dependencies) do
77
77
  [
78
78
  schema_printer_libs.link_objects_as_string,
79
79
  SCHEMA_PRINTER_OBJECTS.keys,
80
- LIBBOOST_OXT_LINKARG
80
+ LIBBOOST_OXT_LINKARG,
81
81
  ],
82
- :flags => [
82
+ flags: [
83
83
  libev_libs,
84
84
  libuv_libs,
85
85
  PlatformInfo.curl_libs,
86
86
  PlatformInfo.zlib_libs,
87
87
  PlatformInfo.crypto_libs,
88
88
  PlatformInfo.portability_cxx_ldflags,
89
- agent_ldflags
89
+ agent_ldflags,
90
90
  ]
91
91
  )
92
92
  end
93
93
 
94
94
  desc 'Update dev/configkit-schemas/index.json'
95
- task :configkit_schemas_index => SCHEMA_PRINTER_TARGET do
95
+ task configkit_schemas_index: SCHEMA_PRINTER_TARGET do
96
96
  sh "#{SCHEMA_PRINTER_TARGET} > dev/configkit-schemas/index.json"
97
97
  end
98
98
 
99
99
  desc 'Update ConfigKit schema inline comments'
100
- task :configkit_schemas_inline_comments => :configkit_schemas_index do
100
+ task configkit_schemas_inline_comments: :configkit_schemas_index do
101
101
  sh './dev/configkit-schemas/update_schema_inline_comments.rb'
102
102
  end
@@ -65,10 +65,10 @@ def build_compiler_flags_from_options_or_flags(options_or_flags)
65
65
  end
66
66
 
67
67
  if flags = options[:flags]
68
- result.concat([flags].flatten)
68
+ result.concat([ flags ].flatten)
69
69
  end
70
70
 
71
- result.flatten.reject{ |x| x.nil? || x.empty? }.join(" ")
71
+ result.flatten.reject { |x| x.nil? || x.empty? }.join(" ")
72
72
  elsif options_or_flags.is_a?(String)
73
73
  options_or_flags
74
74
  elsif options_or_flags.respond_to?(:call)
@@ -81,13 +81,13 @@ def build_compiler_flags_from_options_or_flags(options_or_flags)
81
81
  end
82
82
 
83
83
  def generate_compilation_task_dependencies(source, options = nil)
84
- result = [source]
84
+ result = [ source ]
85
85
  if dependencies = CXX_DEPENDENCY_MAP[source]
86
86
  result.concat(dependencies)
87
87
  end
88
88
  options = maybe_eval_lambda(options)
89
89
  if options && options[:deps]
90
- result.concat([options[:deps]].flatten.compact)
90
+ result.concat([ options[:deps] ].flatten.compact)
91
91
  end
92
92
  result
93
93
  end
@@ -105,14 +105,14 @@ def compile_cxx(object, source, options_or_flags = nil)
105
105
  end
106
106
 
107
107
  def create_c_executable(target, objects, options_or_flags = nil)
108
- objects = [objects].flatten.join(" ")
108
+ objects = [ objects ].flatten.join(" ")
109
109
  flags = build_compiler_flags_from_options_or_flags(options_or_flags)
110
110
  ensure_target_directory_exists(target)
111
111
  run_compiler("#{cc} -o #{target} #{objects} #{EXTRA_PRE_C_LDFLAGS} #{flags} #{extra_c_ldflags}")
112
112
  end
113
113
 
114
114
  def create_cxx_executable(target, objects, options_or_flags = nil)
115
- objects = [objects].flatten.join(" ")
115
+ objects = [ objects ].flatten.join(" ")
116
116
  flags = build_compiler_flags_from_options_or_flags(options_or_flags)
117
117
  ensure_target_directory_exists(target)
118
118
  run_compiler("#{cxx} -o #{target} #{objects} #{EXTRA_PRE_CXX_LDFLAGS} #{flags} #{extra_cxx_ldflags}")
@@ -125,7 +125,7 @@ def create_static_library(target, objects)
125
125
  # ar: foo.a: Inappropriate file type or format
126
126
  #
127
127
  # So here we delete the ar file before creating it, which bypasses this problem.
128
- objects = [objects].flatten.join(" ")
128
+ objects = [ objects ].flatten.join(" ")
129
129
  ensure_target_directory_exists(target)
130
130
  sh "rm -rf #{target}"
131
131
  sh "ar cru #{target} #{objects}"
@@ -143,7 +143,7 @@ def create_shared_library(target, objects, options_or_flags = nil)
143
143
  else
144
144
  fPIC = "-fPIC"
145
145
  end
146
- objects = [objects].flatten.join(" ")
146
+ objects = [ objects ].flatten.join(" ")
147
147
  flags = build_compiler_flags_from_options_or_flags(options_or_flags)
148
148
  ensure_target_directory_exists(target)
149
149
  run_compiler("#{cxx} #{shlib_flag} #{objects} #{fPIC} -o #{target} #{flags}")