REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 5.15 KB
Close
//opt/cpanel/ea-ruby27/src/passenger-release-6.1.2/build/agent.rb
Text
Base64
# Phusion Passenger - https://www.phusionpassenger.com/ # Copyright (c) 2010-2025 Asynchronous B.V. # # "Passenger", "Phusion Passenger" and "Union Station" are registered # trademarks of Asynchronous B.V. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. AGENT_TARGET = "#{AGENT_OUTPUT_DIR}#{PhusionPassenger::AGENT_EXE}" AGENT_MAIN_OBJECT = "#{AGENT_OUTPUT_DIR}AgentMain.o" AGENT_OBJECTS = { AGENT_MAIN_OBJECT => "src/agent/AgentMain.cpp", "#{AGENT_OUTPUT_DIR}AgentFundamentals.o" => "src/agent/Shared/Fundamentals/Implementation.cpp", "#{AGENT_OUTPUT_DIR}WatchdogMain.o" => "src/agent/Watchdog/WatchdogMain.cpp", "#{AGENT_OUTPUT_DIR}CoreMain.o" => "src/agent/Core/CoreMain.cpp", "#{AGENT_OUTPUT_DIR}CoreApplicationPool.o" => "src/agent/Core/ApplicationPool/Implementation.cpp", "#{AGENT_OUTPUT_DIR}CoreController.o" => "src/agent/Core/Controller/Implementation.cpp", "#{AGENT_OUTPUT_DIR}SystemMetricsMain.o" => "src/agent/SystemMetrics/SystemMetricsMain.cpp", "#{AGENT_OUTPUT_DIR}TempDirToucherMain.o" => "src/agent/TempDirToucher/TempDirToucherMain.cpp", "#{AGENT_OUTPUT_DIR}SpawnEnvSetupper.o" => "src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp", "#{AGENT_OUTPUT_DIR}ExecHelperMain.o" => "src/agent/ExecHelper/ExecHelperMain.cpp", "#{AGENT_OUTPUT_DIR}FileReadHelperMain.o" => "src/agent/FileReadHelper/FileReadHelperMain.cpp" } AGENT_AUTOGENERATED_SOURCES = { "src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h" => [ "src/agent/Core/SpawningKit/Config.h" ], "src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h" => [ "src/agent/Core/SpawningKit/Result.h" ] } # Agent-specific compiler flags. let(:agent_cflags) do result = [] result << '-O' if OPTIMIZE result << '-DUSE_SELINUX' if USE_SELINUX result << '-flto' if LTO result.join(' ') end # Agent-specific linker flags. let(:agent_ldflags) do result = [] result << '-O' if OPTIMIZE result << '-flto' if LTO result << '-lselinux' if USE_SELINUX # Extra linker flags for backtrace_symbols() to generate useful output (see agent/Base.cpp). result << PlatformInfo.export_dynamic_flags if PlatformInfo.os_name_simple == 'macosx' # Enable dead symbol elimination on OS X. result << '-Wl,-dead_strip' if PlatformInfo.os_version >= '10.13' result << PlatformInfo.openssl_extra_ldflags result << '-lcrypto' end end result.join(' ') end # Define compilation tasks for object files. AGENT_OBJECTS.each_pair do |object, source| define_cxx_object_compilation_task( object, source, lambda { { :include_paths => [ "src/agent", *CXX_SUPPORTLIB_INCLUDE_PATHS ], :flags => [ agent_cflags, libev_cflags, libuv_cflags, PlatformInfo.curl_flags, PlatformInfo.openssl_extra_cflags, PlatformInfo.zlib_flags ] } } ) end # Define compilation task for the agent executable. agent_libs = COMMON_LIBRARY. only(:base, :base64, :union_station_filter, :process_management_ruby, :other). exclude('WatchdogLauncher.o') dependencies = AGENT_OBJECTS.keys + [ LIBBOOST_OXT, agent_libs.link_objects, LIBEV_TARGET, LIBUV_TARGET ].flatten.compact file(AGENT_TARGET => dependencies) do sh "mkdir -p #{AGENT_OUTPUT_DIR}" if !File.directory?(AGENT_OUTPUT_DIR) create_cxx_executable(AGENT_TARGET, [ agent_libs.link_objects_as_string, AGENT_OBJECTS.keys, LIBBOOST_OXT_LINKARG ], :flags => [ libev_libs, libuv_libs, PlatformInfo.curl_libs, PlatformInfo.zlib_libs, PlatformInfo.crypto_libs, PlatformInfo.portability_cxx_ldflags, agent_ldflags ] ) end desc 'Build the agent' task :agent => AGENT_TARGET task 'common:clean' do sh('rm', '-rf', AGENT_TARGET, *AGENT_OBJECTS.keys) end def create_agent_auto_generated_source_task(source, dependencies) dependencies += ["#{source}.cxxcodebuilder"] file(source => dependencies) do template = CxxCodeTemplateRenderer.new("#{source}.cxxcodebuilder") template.render_to(source) end end AGENT_AUTOGENERATED_SOURCES.each_pair do |source, dependencies| create_agent_auto_generated_source_task(source, dependencies) end
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 1 × Files: 16
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
support
DIR
-
drwxr-xr-x
2026-02-13 08:03:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
agent.rb
5.15 KB
lrw-r--r--
2026-01-27 23:50:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
apache2.rb
5.58 KB
lrw-r--r--
2026-01-27 23:50:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
basics.rb
8.02 KB
lrw-r--r--
2026-01-27 23:50:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
common_library.rb
9.65 KB
lrw-r--r--
2026-01-27 23:50:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
cxx_tests.rb
11.45 KB
lrw-r--r--
2026-01-27 23:50:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
integration_tests.rb
5.36 KB
lrw-r--r--
2026-01-27 23:50:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
misc.rb
6.18 KB
lrw-r--r--
2026-01-27 23:50:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
nginx.rb
3.60 KB
lrw-r--r--
2026-01-27 23:50:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
node_tests.rb
1.58 KB
lrw-r--r--
2026-01-27 23:50:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
oxt_tests.rb
2.55 KB
lrw-r--r--
2026-01-27 23:50:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
packaging.rb
12.33 KB
lrw-r--r--
2026-01-27 23:50:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
README.md
251 B
lrw-r--r--
2026-01-27 23:50:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ruby_extension.rb
2.33 KB
lrw-r--r--
2026-01-27 23:50:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ruby_tests.rb
1.66 KB
lrw-r--r--
2026-01-27 23:50:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
schema_printer.rb
3.56 KB
lrw-r--r--
2026-01-27 23:50:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
test_basics.rb
3.36 KB
lrw-r--r--
2026-01-27 23:50:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).