Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/wolfpld/tracy.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartosz Taudul <wolf.pld@gmail.com>2019-12-16 01:28:19 +0300
committerBartosz Taudul <wolf.pld@gmail.com>2019-12-16 01:28:19 +0300
commit333f8a0da0e9f2907ad92bd4d82cd4130f7b72b8 (patch)
treee7a9b347749dcca8f12783d72e029564aa06c68e /import-chrome
parent4eaa3d90dd60639c8f8172675e60512d71786db9 (diff)
Copy update utility to import-chrome.
Diffstat (limited to 'import-chrome')
-rw-r--r--import-chrome/build/unix/Makefile12
-rw-r--r--import-chrome/build/unix/build.mk60
-rw-r--r--import-chrome/build/unix/debug.mk11
-rw-r--r--import-chrome/build/unix/release.mk11
-rw-r--r--import-chrome/build/win32/import-chrome.sln25
-rw-r--r--import-chrome/build/win32/import-chrome.vcxproj170
-rw-r--r--import-chrome/build/win32/import-chrome.vcxproj.filters114
-rw-r--r--import-chrome/src/import-chrome.cpp122
8 files changed, 525 insertions, 0 deletions
diff --git a/import-chrome/build/unix/Makefile b/import-chrome/build/unix/Makefile
new file mode 100644
index 00000000..3b50301c
--- /dev/null
+++ b/import-chrome/build/unix/Makefile
@@ -0,0 +1,12 @@
+all: debug
+
+debug:
+ @+make -f debug.mk all
+
+release:
+ @+make -f release.mk all
+
+clean:
+ @+make -f build.mk clean
+
+.PHONY: all clean debug release
diff --git a/import-chrome/build/unix/build.mk b/import-chrome/build/unix/build.mk
new file mode 100644
index 00000000..78ec38ba
--- /dev/null
+++ b/import-chrome/build/unix/build.mk
@@ -0,0 +1,60 @@
+CFLAGS +=
+CXXFLAGS := $(CFLAGS) -std=gnu++17
+DEFINES += -DTRACY_NO_STATISTICS
+INCLUDES :=
+LIBS := -lpthread
+PROJECT := import-chrome
+IMAGE := $(PROJECT)-$(BUILD)
+
+FILTER :=
+
+BASE := $(shell egrep 'ClCompile.*cpp"' ../win32/$(PROJECT).vcxproj | sed -e 's/.*\"\(.*\)\".*/\1/' | sed -e 's@\\@/@g')
+BASE2 := $(shell egrep 'ClCompile.*c"' ../win32/$(PROJECT).vcxproj | sed -e 's/.*\"\(.*\)\".*/\1/' | sed -e 's@\\@/@g')
+
+SRC := $(filter-out $(FILTER),$(BASE))
+SRC2 := $(filter-out $(FILTER),$(BASE2))
+
+TBB := $(shell ld -ltbb -o /dev/null 2>/dev/null; echo $$?)
+ifeq ($(TBB),0)
+ LIBS += -ltbb
+endif
+
+OBJDIRBASE := obj/$(BUILD)
+OBJDIR := $(OBJDIRBASE)/o/o/o
+
+OBJ := $(addprefix $(OBJDIR)/,$(SRC:%.cpp=%.o))
+OBJ2 := $(addprefix $(OBJDIR)/,$(SRC2:%.c=%.o))
+
+all: $(IMAGE)
+
+$(OBJDIR)/%.o: %.cpp
+ $(CXX) -c $(INCLUDES) $(CXXFLAGS) $(DEFINES) $< -o $@
+
+$(OBJDIR)/%.d : %.cpp
+ @echo Resolving dependencies of $<
+ @mkdir -p $(@D)
+ @$(CXX) -MM $(INCLUDES) $(CXXFLAGS) $(DEFINES) $< > $@.$$$$; \
+ sed 's,.*\.o[ :]*,$(OBJDIR)/$(<:.cpp=.o) $@ : ,g' < $@.$$$$ > $@; \
+ rm -f $@.$$$$
+
+$(OBJDIR)/%.o: %.c
+ $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@
+
+$(OBJDIR)/%.d : %.c
+ @echo Resolving dependencies of $<
+ @mkdir -p $(@D)
+ @$(CC) -MM $(INCLUDES) $(CFLAGS) $(DEFINES) $< > $@.$$$$; \
+ sed 's,.*\.o[ :]*,$(OBJDIR)/$(<:.c=.o) $@ : ,g' < $@.$$$$ > $@; \
+ rm -f $@.$$$$
+
+$(IMAGE): $(OBJ) $(OBJ2)
+ $(CXX) $(CXXFLAGS) $(DEFINES) $(OBJ) $(OBJ2) $(LIBS) -o $@
+
+ifneq "$(MAKECMDGOALS)" "clean"
+-include $(addprefix $(OBJDIR)/,$(SRC:.cpp=.d)) %(addprefix $(OBJDIR)/,$(SRC2:.c=.d))
+endif
+
+clean:
+ rm -rf $(OBJDIRBASE) $(IMAGE)*
+
+.PHONY: clean all
diff --git a/import-chrome/build/unix/debug.mk b/import-chrome/build/unix/debug.mk
new file mode 100644
index 00000000..04d925a6
--- /dev/null
+++ b/import-chrome/build/unix/debug.mk
@@ -0,0 +1,11 @@
+ARCH := $(shell uname -m)
+
+CFLAGS := -g3 -Wall
+DEFINES := -DDEBUG
+BUILD := debug
+
+ifeq ($(ARCH),x86_64)
+CFLAGS += -msse4.1
+endif
+
+include build.mk
diff --git a/import-chrome/build/unix/release.mk b/import-chrome/build/unix/release.mk
new file mode 100644
index 00000000..030063e3
--- /dev/null
+++ b/import-chrome/build/unix/release.mk
@@ -0,0 +1,11 @@
+ARCH := $(shell uname -m)
+
+CFLAGS := -O3 -s -fomit-frame-pointer
+DEFINES := -DNDEBUG
+BUILD := release
+
+ifeq ($(ARCH),x86_64)
+CFLAGS += -msse4.1
+endif
+
+include build.mk
diff --git a/import-chrome/build/win32/import-chrome.sln b/import-chrome/build/win32/import-chrome.sln
new file mode 100644
index 00000000..2971a376
--- /dev/null
+++ b/import-chrome/build/win32/import-chrome.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.27428.2002
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "import-chrome", "import-chrome.vcxproj", "{447D58BF-94CD-4469-BB90-549C05D03E00}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {447D58BF-94CD-4469-BB90-549C05D03E00}.Debug|x64.ActiveCfg = Debug|x64
+ {447D58BF-94CD-4469-BB90-549C05D03E00}.Debug|x64.Build.0 = Debug|x64
+ {447D58BF-94CD-4469-BB90-549C05D03E00}.Release|x64.ActiveCfg = Release|x64
+ {447D58BF-94CD-4469-BB90-549C05D03E00}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {3E51386C-43EA-44AC-9F24-AFAFE4D63ADE}
+ EndGlobalSection
+EndGlobal
diff --git a/import-chrome/build/win32/import-chrome.vcxproj b/import-chrome/build/win32/import-chrome.vcxproj
new file mode 100644
index 00000000..afac50cb
--- /dev/null
+++ b/import-chrome/build/win32/import-chrome.vcxproj
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <VCProjectVersion>15.0</VCProjectVersion>
+ <ProjectGuid>{447D58BF-94CD-4469-BB90-549C05D03E00}</ProjectGuid>
+ <RootNamespace>import-chrome</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v142</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup />
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <SDLCheck>true</SDLCheck>
+ <ConformanceMode>true</ConformanceMode>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <SDLCheck>true</SDLCheck>
+ <ConformanceMode>true</ConformanceMode>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <PreprocessorDefinitions>TRACY_NO_STATISTICS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
+ <LanguageStandard>stdcpplatest</LanguageStandard>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <ConformanceMode>true</ConformanceMode>
+ </ClCompile>
+ <Link>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <ConformanceMode>true</ConformanceMode>
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
+ <PreprocessorDefinitions>TRACY_NO_STATISTICS;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
+ <LanguageStandard>stdcpplatest</LanguageStandard>
+ </ClCompile>
+ <Link>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <SubSystem>Console</SubSystem>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\common\TracySocket.cpp" />
+ <ClCompile Include="..\..\..\common\TracySystem.cpp" />
+ <ClCompile Include="..\..\..\common\tracy_lz4.cpp" />
+ <ClCompile Include="..\..\..\common\tracy_lz4hc.cpp" />
+ <ClCompile Include="..\..\..\server\TracyMemory.cpp" />
+ <ClCompile Include="..\..\..\server\TracyTaskDispatch.cpp" />
+ <ClCompile Include="..\..\..\server\TracyThreadCompress.cpp" />
+ <ClCompile Include="..\..\..\server\TracyWorker.cpp" />
+ <ClCompile Include="..\..\src\import-chrome.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\..\common\TracyAlign.hpp" />
+ <ClInclude Include="..\..\..\common\TracyAlloc.hpp" />
+ <ClInclude Include="..\..\..\common\TracyColor.hpp" />
+ <ClInclude Include="..\..\..\common\TracyForceInline.hpp" />
+ <ClInclude Include="..\..\..\common\TracyProtocol.hpp" />
+ <ClInclude Include="..\..\..\common\TracyQueue.hpp" />
+ <ClInclude Include="..\..\..\common\TracySocket.hpp" />
+ <ClInclude Include="..\..\..\common\TracySystem.hpp" />
+ <ClInclude Include="..\..\..\common\tracy_benaphore.h" />
+ <ClInclude Include="..\..\..\common\tracy_lz4.hpp" />
+ <ClInclude Include="..\..\..\common\tracy_lz4hc.hpp" />
+ <ClInclude Include="..\..\..\common\tracy_sema.h" />
+ <ClInclude Include="..\..\..\server\TracyCharUtil.hpp" />
+ <ClInclude Include="..\..\..\server\TracyEvent.hpp" />
+ <ClInclude Include="..\..\..\server\TracyFileWrite.hpp" />
+ <ClInclude Include="..\..\..\server\TracyMemory.hpp" />
+ <ClInclude Include="..\..\..\server\TracyPopcnt.hpp" />
+ <ClInclude Include="..\..\..\server\TracySlab.hpp" />
+ <ClInclude Include="..\..\..\server\TracyTaskDispatch.hpp" />
+ <ClInclude Include="..\..\..\server\TracyThreadCompress.hpp" />
+ <ClInclude Include="..\..\..\server\TracyVector.hpp" />
+ <ClInclude Include="..\..\..\server\TracyWorker.hpp" />
+ <ClInclude Include="..\..\..\server\tracy_flat_hash_map.hpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
diff --git a/import-chrome/build/win32/import-chrome.vcxproj.filters b/import-chrome/build/win32/import-chrome.vcxproj.filters
new file mode 100644
index 00000000..13967783
--- /dev/null
+++ b/import-chrome/build/win32/import-chrome.vcxproj.filters
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="src">
+ <UniqueIdentifier>{729c80ee-4d26-4a5e-8f1f-6c075783eb56}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="server">
+ <UniqueIdentifier>{cf23ef7b-7694-4154-830b-00cf053350ea}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="common">
+ <UniqueIdentifier>{e39d3623-47cd-4752-8da9-3ea324f964c1}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\common\tracy_lz4.cpp">
+ <Filter>common</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\common\TracySocket.cpp">
+ <Filter>common</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\common\TracySystem.cpp">
+ <Filter>common</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\server\TracyMemory.cpp">
+ <Filter>server</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\server\TracyWorker.cpp">
+ <Filter>server</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\import-chrome.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\common\tracy_lz4hc.cpp">
+ <Filter>common</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\server\TracyThreadCompress.cpp">
+ <Filter>server</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\server\TracyTaskDispatch.cpp">
+ <Filter>server</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\..\common\tracy_lz4.hpp">
+ <Filter>common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\common\TracyAlloc.hpp">
+ <Filter>common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\common\TracyColor.hpp">
+ <Filter>common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\common\TracyForceInline.hpp">
+ <Filter>common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\common\TracyProtocol.hpp">
+ <Filter>common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\common\TracyQueue.hpp">
+ <Filter>common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\common\TracySocket.hpp">
+ <Filter>common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\common\TracySystem.hpp">
+ <Filter>common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\server\tracy_flat_hash_map.hpp">
+ <Filter>server</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\server\TracyCharUtil.hpp">
+ <Filter>server</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\server\TracyEvent.hpp">
+ <Filter>server</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\server\TracyFileWrite.hpp">
+ <Filter>server</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\server\TracyMemory.hpp">
+ <Filter>server</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\server\TracyPopcnt.hpp">
+ <Filter>server</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\server\TracySlab.hpp">
+ <Filter>server</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\server\TracyVector.hpp">
+ <Filter>server</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\server\TracyWorker.hpp">
+ <Filter>server</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\common\TracyAlign.hpp">
+ <Filter>common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\common\tracy_benaphore.h">
+ <Filter>common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\common\tracy_sema.h">
+ <Filter>common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\common\tracy_lz4hc.hpp">
+ <Filter>common</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\server\TracyThreadCompress.hpp">
+ <Filter>server</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\server\TracyTaskDispatch.hpp">
+ <Filter>server</Filter>
+ </ClInclude>
+ </ItemGroup>
+</Project>
diff --git a/import-chrome/src/import-chrome.cpp b/import-chrome/src/import-chrome.cpp
new file mode 100644
index 00000000..87ffe6bd
--- /dev/null
+++ b/import-chrome/src/import-chrome.cpp
@@ -0,0 +1,122 @@
+#ifdef _WIN32
+# include <windows.h>
+#endif
+
+#include <chrono>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "../../server/TracyFileRead.hpp"
+#include "../../server/TracyFileWrite.hpp"
+#include "../../server/TracyVersion.hpp"
+#include "../../server/TracyWorker.hpp"
+
+#ifdef __CYGWIN__
+# define ftello64(x) ftello(x)
+#elif defined _WIN32
+# define ftello64(x) _ftelli64(x)
+#endif
+
+void Usage()
+{
+ printf( "Usage: update [--hc|--extreme] input.tracy output.tracy\n\n" );
+ printf( " --hc: enable LZ4HC compression\n" );
+ printf( " --extreme: enable extreme LZ4HC compression (very slow)\n" );
+ exit( 1 );
+}
+
+int main( int argc, char** argv )
+{
+#ifdef _WIN32
+ if( !AttachConsole( ATTACH_PARENT_PROCESS ) )
+ {
+ AllocConsole();
+ SetConsoleMode( GetStdHandle( STD_OUTPUT_HANDLE ), 0x07 );
+ }
+#endif
+
+ tracy::FileWrite::Compression clev = tracy::FileWrite::Compression::Fast;
+
+ if( argc != 3 && argc != 4 ) Usage();
+ if( argc == 4 )
+ {
+ if( strcmp( argv[1], "--hc" ) == 0 )
+ {
+ clev = tracy::FileWrite::Compression::Slow;
+ }
+ else if( strcmp( argv[1], "--extreme" ) == 0 )
+ {
+ clev = tracy::FileWrite::Compression::Extreme;
+ }
+ else
+ {
+ Usage();
+ }
+ argv++;
+ }
+
+ const char* input = argv[1];
+ const char* output = argv[2];
+
+ printf( "Loading...\r" );
+ fflush( stdout );
+ auto f = std::unique_ptr<tracy::FileRead>( tracy::FileRead::Open( input ) );
+ if( !f )
+ {
+ fprintf( stderr, "Cannot open input file!\n" );
+ exit( 1 );
+ }
+
+ try
+ {
+ int inVer;
+ {
+ tracy::Worker worker( *f, tracy::EventType::All, false );
+
+#ifndef TRACY_NO_STATISTICS
+ while( !worker.AreSourceLocationZonesReady() ) std::this_thread::sleep_for( std::chrono::milliseconds( 10 ) );
+#endif
+
+ auto w = std::unique_ptr<tracy::FileWrite>( tracy::FileWrite::Open( output, clev ) );
+ if( !w )
+ {
+ fprintf( stderr, "Cannot open output file!\n" );
+ exit( 1 );
+ }
+ printf( "Saving... \r" );
+ fflush( stdout );
+ worker.Write( *w );
+ inVer = worker.GetTraceVersion();
+ }
+
+ FILE* in = fopen( input, "rb" );
+ fseek( in, 0, SEEK_END );
+ const auto inSize = ftello64( in );
+ fclose( in );
+
+ FILE* out = fopen( output, "rb" );
+ fseek( out, 0, SEEK_END );
+ const auto outSize = ftello64( out );
+ fclose( out );
+
+ printf( "%s (%i.%i.%i) {%zu KB} -> %s (%i.%i.%i) {%zu KB} %.2f%% size change\n", input, inVer >> 16, ( inVer >> 8 ) & 0xFF, inVer & 0xFF, size_t( inSize / 1024 ), output, tracy::Version::Major, tracy::Version::Minor, tracy::Version::Patch, size_t( outSize / 1024 ), float( outSize ) / inSize * 100 );
+ }
+ catch( const tracy::UnsupportedVersion& e )
+ {
+ fprintf( stderr, "The file you are trying to open is from the future version.\n" );
+ exit( 1 );
+ }
+ catch( const tracy::NotTracyDump& e )
+ {
+ fprintf( stderr, "The file you are trying to open is not a tracy dump.\n" );
+ exit( 1 );
+ }
+ catch( const tracy::LegacyVersion& e )
+ {
+ fprintf( stderr, "The file you are trying to open is from a legacy version.\n" );
+ exit( 1 );
+ }
+
+ return 0;
+}