4 Star 0 Fork 0

Gitee 极速下载/dd-trace-php

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/DataDog/dd-trace-php
克隆/下载
config.w32 6.75 KB
一键复制 编辑 原始数据 按行查看 历史
ARG_ENABLE("ddtrace", "Datadog tracing support", "shared");
var ddtrace_cargo_profile = "debug";
if (PHP_DDTRACE != 'no') {
if (!PATH_PROG('cargo')) {
ERROR('cargo is required');
}
var versionpath = configure_module_dirname + "/ext/version.h";
var versionfile = FSO.CreateTextFile(versionpath, true);
versionfile.WriteLine("#ifndef PHP_DDTRACE_VERSION");
versionfile.WriteLine('#define PHP_DDTRACE_VERSION "' + FSO.OpenTextFile(configure_module_dirname + "/VERSION", 1).ReadAll() + '"');
versionfile.WriteLine("#endif");
versionfile.Close();
var version = PHP_VERSION * 100 + PHP_MINOR_VERSION;
var DDTRACE_EXT_SOURCES = "arrays.c auto_flush.c autoload_php_files.c compat_string.c configuration.c distributed_tracing_headers.c ddshared.c dogstatsd.c engine_api.c engine_hooks.c excluded_modules.c handlers_api.c handlers_curl" + (version < 800 ? "_php7" : "") + ".c handlers_exception.c handlers_internal.c handlers_pcntl.c ip_extraction.c logging.c memory_limit.c otel_config.c profiling.c random.c serializer.c sidecar.c span.c startup_logging.c telemetry.c user_request.c";
if (version >= 800 && version < 802) {
DDTRACE_EXT_SOURCES += " weakrefs.c";
}
if (version >= 801) {
DDTRACE_EXT_SOURCES += " handlers_fiber.c";
}
if (version < 703 || version == 803) {
DDTRACE_EXT_SOURCES += " zend_hrtime.c";
}
var DDTRACE_HOOK_SOURCES = "uhook.c uhook_legacy.c";
if (version >= 800) {
DDTRACE_HOOK_SOURCES += " uhook_attributes.c";
}
var zai_dirname = configure_module_dirname + "/zend_abstract_interface";
var components_dirname = configure_module_dirname + "/components";
EXTENSION('ddtrace', "ext\\ddtrace.c");
ADD_FLAG("CFLAGS_DDTRACE", " /I " + configure_module_dirname + " ");
ADD_FLAG("CFLAGS_DDTRACE", " /I " + configure_module_dirname + "/ext ");
// ADD_FLAG("CFLAGS_DDTRACE", " /I " + configure_module_dirname + "/src/dogstatsd ");
ADD_FLAG("CFLAGS_DDTRACE", " /I " + zai_dirname + " ");
// We need the "new" preprocessor to successfully parse configuration.h
if (version < 800) {
ADD_FLAG("CFLAGS_DDTRACE", " /experimental:preprocessor ");
} else {
ADD_FLAG("CFLAGS_DDTRACE", " /Zc:preprocessor ");
}
ADD_SOURCES(configure_module_dirname + "/ext", DDTRACE_EXT_SOURCES, "ddtrace");
ADD_SOURCES(configure_module_dirname + "/ext/hook", DDTRACE_HOOK_SOURCES, "ddtrace");
ADD_SOURCES(configure_module_dirname + "/ext/integrations", "exec_integration.c integrations.c", "ddtrace");
ADD_SOURCES(configure_module_dirname + "/ext/limiter", "limiter.c", "ddtrace");
ADD_SOURCES(configure_module_dirname + "/ext/priority_sampling", "priority_sampling.c", "ddtrace");
ADD_SOURCES(configure_module_dirname + "/ext/tracer_tag_propagation", "tracer_tag_propagation.c", "ddtrace");
ADD_SOURCES(zai_dirname + "/config", "config.c config_decode.c config_ini.c config_runtime.c", "ddtrace");
ADD_SOURCES(zai_dirname + "/env", "env.c", "ddtrace");
ADD_SOURCES(zai_dirname + "/exceptions", "exceptions.c", "ddtrace");
ADD_SOURCES(zai_dirname + "/headers", "headers.c", "ddtrace");
ADD_SOURCES(zai_dirname + "/hook", "hook.c", "ddtrace");
ADD_SOURCES(zai_dirname + "/json", "json.c", "ddtrace");
ADD_SOURCES(zai_dirname + "/zai_string", "string.c", "ddtrace");
ADD_SOURCES(zai_dirname + "/symbols", "call.c lookup.c", "ddtrace");
ADD_SOURCES(zai_dirname + "/uri_normalization", "uri_normalization.c", "ddtrace");
if (version < 800) {
ADD_SOURCES(zai_dirname + "/sandbox/php7", "sandbox.c", "ddtrace");
ADD_SOURCES(zai_dirname + "/interceptor/php7", "interceptor.c resolver.c", "ddtrace");
} else {
ADD_SOURCES(zai_dirname + "/jit_utils", "jit_blacklist.c", "ddtrace");
ADD_SOURCES(zai_dirname + "/sandbox/php8", "sandbox.c", "ddtrace");
ADD_SOURCES(zai_dirname + "/interceptor/php8", "interceptor.c resolver" + (version < 802 ? "_pre-8_2" : "") + ".c", "ddtrace");
}
ADD_SOURCES(configure_module_dirname + "/ext/vendor/mpack", "mpack.c", "ddtrace");
ADD_SOURCES(configure_module_dirname + "/ext/vendor/mt19937", "mt19937-64.c", "ddtrace");
// ADD_SOURCES(configure_module_dirname + "/src/dogstatsd", "client.c", "ddtrace");
ADD_SOURCES(components_dirname + "/log", "log.c", "ddtrace");
ADD_SOURCES(components_dirname + "/sapi", "sapi.c", "ddtrace");
ADD_SOURCES(components_dirname + "/string_view", "string_view.c", "ddtrace");
function recursivelySearchRustFiles(path) {
var folder = FSO.GetFolder(path);
var files = [];
var fc = new Enumerator(folder.SubFolders);
for (; !fc.atEnd(); fc.moveNext()) {
var item_name = FSO.GetFileName(fc.item());
files = files.concat(recursivelySearchRustFiles(fc.item().Path));
}
var fc = new Enumerator(folder.Files);
for (; !fc.atEnd(); fc.moveNext()) {
var item_name = fc.item().Path;
if (item_name.match(/\.rs$/) || item_name.match(/Cargo\.toml$/)) {
files.push(condense_path(item_name));
}
}
return files;
}
var rust_files = recursivelySearchRustFiles(configure_module_dirname + "/libdatadog").concat(recursivelySearchRustFiles(configure_module_dirname + "/components-rs"));
var cargo_lib = "$(BUILD_DIR)/target/" + ddtrace_cargo_profile + "/ddtrace_php.lib";
var fragment = configure_module_dirname + "/Makefile.frag.w32";
frag_out = FSO.CreateTextFile(fragment, true);
frag_out.WriteLine("CARGO_TARGET_DIR=$(BUILD_DIR)/target/");
// Promote to env var
frag_out.WriteLine("!if [set CARGO_TARGET_DIR=$(CARGO_TARGET_DIR)]");
frag_out.WriteLine("!endif");
frag_out.WriteLine("!if [set RUSTC_BOOTSTRAP=1]");
frag_out.WriteLine("!endif");
frag_out.WriteLine("!if [set RUSTFLAGS=--cfg windows_seh_wrapper]");
// Not supported yet on Windows: --cfg tokio_unstable --cfg tokio_taskdump
frag_out.WriteLine("!endif");
frag_out.WriteLine(cargo_lib + ": " + rust_files.join(" "));
var build_cargo = "\t$(CARGO) build --package ddtrace-php " + (ddtrace_cargo_profile == "release" ? "--profile tracer-release" : "");
if (configure_module_dirname.match(/^[A-Z]:/)) {
frag_out.WriteLine(build_cargo);
} else {
frag_out.WriteLine("\t@cd \"$(PHP_SRC_DIR)/" + configure_module_dirname + "\"");
frag_out.WriteLine(build_cargo);
frag_out.WriteLine("\t@cd \"$(PHP_SRC_DIR)\"");
}
frag_out.Close();
ADD_FLAG("STATIC_EXT_OBJS", cargo_lib);
ADD_FLAG("DEPS_DDTRACE", cargo_lib);
ADD_FLAG("LIBS_DDTRACE", "userenv.lib crypt32.lib Powrprof.lib Secur32.Lib ncrypt.lib ntdll.lib oleaut32.lib " + cargo_lib);
var defpath = configure_module_dirname + "/ddtrace.def";
deffile = FSO.CreateTextFile(defpath, true);
deffile.WriteLine("EXPORTS");
var contents = FSO.OpenTextFile(configure_module_dirname + "/ddtrace.sym", 1).ReadAll();
if (!PHP_DDTRACE_SHARED) {
contents = contents.replace(/get_module\s*/, "");
}
deffile.Write(contents);
deffile.Close();
defpath = defpath.replace(/\//, "\\");
if (PHP_DDTRACE_SHARED) {
ADD_FLAG("DLL_LDFLAGS", "/def:" + defpath);
} else {
ADD_DEF_FILE(defpath);
}
ADD_MAKEFILE_FRAGMENT(fragment);
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mirrors/dd-trace-php.git
git@gitee.com:mirrors/dd-trace-php.git
mirrors
dd-trace-php
dd-trace-php
master

搜索帮助

D67c1975 1850385 1daf7b77 1850385