From b03da81afa99913db177675c6936c8f8134b962f Mon Sep 17 00:00:00 2001 From: Simonas Kazlauskas Date: Sat, 20 Jun 2020 20:04:15 +0300 Subject: [PATCH] Fix build on macos It was broken by a110b420111ce02825fffaec29d08b5cc7b2168a. In addition, adjust the CI definition to test builds on macOS. --- .github/workflows/gcc.yml | 26 +++++++++++++++++--------- client/TracyProfiler.cpp | 8 +++++++- update/src/update.cpp | 2 ++ 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/.github/workflows/gcc.yml b/.github/workflows/gcc.yml index b6385868..bc1b287e 100644 --- a/.github/workflows/gcc.yml +++ b/.github/workflows/gcc.yml @@ -9,22 +9,30 @@ on: jobs: build: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macOS-latest] steps: - uses: actions/checkout@v2 - - name: Install libraries + - name: Install linux libraries + if: ${{ matrix.os == 'ubuntu-latest' }} run: sudo apt-get update && sudo apt-get -y install libglfw3-dev libgtk2.0-dev libcapstone-dev + - name: Install macos libraries + if: ${{ matrix.os == 'macOS-latest' }} + run: brew install capstone tbb pkg-config glfw - name: Profiler GUI - run: make -C profiler/build/unix debug release + run: make -j -C profiler/build/unix debug release - name: Update utility - run: make -C update/build/unix debug release + run: make -j -C update/build/unix debug release - name: Capture utility - run: make -C capture/build/unix debug release + run: make -j -C capture/build/unix debug release - name: Library - run: make -C library/unix debug release + run: make -j -C library/unix debug release - name: Test application run: | - make -C test - make -C test clean - make -C test TRACYFLAGS=-DTRACY_ON_DEMAND + make -j -C test + make -j -C test clean + make -j -C test TRACYFLAGS=-DTRACY_ON_DEMAND diff --git a/client/TracyProfiler.cpp b/client/TracyProfiler.cpp index af0bf62e..7014c3ef 100644 --- a/client/TracyProfiler.cpp +++ b/client/TracyProfiler.cpp @@ -3073,7 +3073,13 @@ TRACY_API uint64_t ___tracy_alloc_srcloc_name( uint32_t line, const char* source // initialized every time a thread is created. As thus, expose to the C API users a simple API to // call every time they create a thread. Here we can then put all sorts of per-thread // initialization. -TRACY_API void ___tracy_init_thread(void) { (void)tracy::s_rpmalloc_thread_init; } +TRACY_API void ___tracy_init_thread(void) { +#ifdef TRACY_DELAYED_INIT + (void)tracy::GetProfilerThreadData(); +#else + (void)tracy::s_rpmalloc_thread_init; +#endif +} #ifdef __cplusplus } diff --git a/update/src/update.cpp b/update/src/update.cpp index 26d1968f..66cbb442 100644 --- a/update/src/update.cpp +++ b/update/src/update.cpp @@ -16,6 +16,8 @@ #ifdef __CYGWIN__ # define ftello64(x) ftello(x) +#elif defined __APPLE__ +# define ftello64(x) ftello(x) #elif defined _WIN32 # define ftello64(x) _ftelli64(x) #endif