diff options
| author | AiraYumi <aira.youme@airanyumi.net> | 2024-04-09 05:38:01 +0900 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-08 23:38:01 +0300 | 
| commit | bbd6dfc21a1a6c07824fc81e0659a2c200581d3b (patch) | |
| tree | bd27436d4b246116d53e7b3e2e5e007f15d6ad66 | |
| parent | e79c32eee89c31e730ac0562d680e6e0ebfd4a68 (diff) | |
Some fixes to linux builds (#1144)
* compile flag cleanup for linux
* rollback indra/llcommon/llprofiler.h
* use 3p fltk package
* fix build gcc 13 (dangling-pointer)
| -rw-r--r-- | autobuild.xml | 30 | ||||
| -rw-r--r-- | indra/cmake/00-Common.cmake | 2 | ||||
| -rw-r--r-- | indra/cmake/UI.cmake | 16 | ||||
| -rw-r--r-- | indra/llcommon/llprofiler.h | 5 | 
4 files changed, 35 insertions, 18 deletions
| diff --git a/autobuild.xml b/autobuild.xml index 5bb0e953f7..e95eb13a6b 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -39,6 +39,36 @@          <key>description</key>          <string>Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer.</string>        </map> +      <key>fltk</key> +      <map> +        <key>platforms</key> +        <map> +          <key>linux64</key> +          <map> +            <key>archive</key> +            <map> +              <key>hash</key> +              <string>691fef2ddd57d7b6c26e87fc82d9ace3f54e078c</string> +              <key>hash_algorithm</key> +              <string>sha1</string> +              <key>url</key> +              <string>https://github.com/secondlife/3p-fltk/releases/download/v1.3.9-r1/fltk-1.3.9.8556992788-linux64-8556992788.tar.zst</string> +            </map> +            <key>name</key> +            <string>linux</string> +          </map> +        </map> +        <key>license</key> +        <string>LGPL/fltk</string> +        <key>license_file</key> +        <string>LICENSES/fltk.txt</string> +        <key>copyright</key> +        <string>Copyright (C) fltk project</string> +        <key>version</key> +        <string>1.3.5</string> +        <key>name</key> +        <string>fltk</string> +      </map>        <key>apr_suite</key>        <map>          <key>platforms</key> diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 486071a2df..419ebebe3b 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -198,7 +198,7 @@ if (LINUX OR DARWIN)    list(APPEND GCC_WARNINGS -Wno-reorder -Wno-non-virtual-dtor )    if(LINUX) -    list(APPEND GCC_WARNINGS -Wno-maybe-uninitialized -Wno-misleading-indentation -Wno-stringop-truncation -Wno-unused-value ) +    list(APPEND GCC_WARNINGS -Wno-maybe-uninitialized -Wno-dangling-pointer )    endif()    add_compile_options(${GCC_WARNINGS}) diff --git a/indra/cmake/UI.cmake b/indra/cmake/UI.cmake index 0eb9af6dcf..0df62808e7 100644 --- a/indra/cmake/UI.cmake +++ b/indra/cmake/UI.cmake @@ -6,25 +6,15 @@ include(GLIB)  add_library( ll::uilibraries INTERFACE IMPORTED )  if (LINUX) -  target_compile_definitions(ll::uilibraries INTERFACE LL_X11=1 ) +  use_prebuilt_binary(fltk) +  target_compile_definitions(ll::uilibraries INTERFACE LL_FLTK=1 LL_X11=1 )    if( USE_CONAN )      return()    endif() -  find_package(FLTK REQUIRED ) -  find_library(ND_FLTK_STATIC_LIBRARY libfltk.a PATH_SUFFIXES fltk ) - -  if( NOT ND_FLTK_STATIC_LIBRARY ) -    message(FATAL_ERROR "libfltk.a not found") -  else() -    message("libfltk.a found ${ND_FLTK_STATIC_LIBRARY}") -  endif() - -  target_include_directories( ll::uilibraries SYSTEM INTERFACE   ${FLTK_INCLUDE_DIR}) -  target_compile_definitions( ll::uilibraries INTERFACE LL_FLTK=1 )    target_link_libraries( ll::uilibraries INTERFACE -          ${ND_FLTK_STATIC_LIBRARY} +          fltk            Xrender            Xcursor            Xfixes diff --git a/indra/llcommon/llprofiler.h b/indra/llcommon/llprofiler.h index 0297bbe592..af5e5777bf 100644 --- a/indra/llcommon/llprofiler.h +++ b/indra/llcommon/llprofiler.h @@ -74,10 +74,6 @@  #define LL_PROFILER_CONFIGURATION           LL_PROFILER_CONFIG_FAST_TIMER  #endif -#if LL_PROFILER_CONFIGURATION == LL_PROFILER_CONFIG_TRACY || LL_PROFILER_CONFIGURATION == LL_PROFILER_CONFIG_TRACY_FAST_TIMER -    #include "Tracy.hpp" -#endif -  extern thread_local bool gProfilerEnabled;  #if defined(LL_PROFILER_CONFIGURATION) && (LL_PROFILER_CONFIGURATION > LL_PROFILER_CONFIG_NONE) @@ -88,6 +84,7 @@ extern thread_local bool gProfilerEnabled;  //      #define TRACY_NO_BROADCAST   1  //      #define TRACY_ONLY_LOCALHOST 1          #define TRACY_ONLY_IPV4      1 +        #include "Tracy.hpp"          // Enable OpenGL profiling          #define LL_PROFILER_ENABLE_TRACY_OPENGL 0 | 
