From b65744e065260374d646f4913cb93bd864c729e0 Mon Sep 17 00:00:00 2001
From: Rye Mutt <rye@alchemyviewer.org>
Date: Wed, 13 Oct 2021 22:54:49 -0400
Subject: [PATCH] Remove more proprietary libraries

---
 autobuild.xml                         | 196 --------------------------
 indra/cmake/CMakeLists.txt            |   1 -
 indra/cmake/Havok.cmake               | 127 -----------------
 indra/cmake/LLPhysicsExtensions.cmake |  28 +---
 4 files changed, 2 insertions(+), 350 deletions(-)
 delete mode 100644 indra/cmake/Havok.cmake

diff --git a/autobuild.xml b/autobuild.xml
index 04162010be3..87eb784e243 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -775,72 +775,6 @@
         <key>version</key>
         <string>0.10.6.314267</string>
       </map>
-      <key>havok-source</key>
-      <map>
-        <key>copyright</key>
-        <string>Uses Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (and its Licensors). All Rights Reserved. See www.havok.com for details.</string>
-        <key>description</key>
-        <string>Havok source code for libs and demos</string>
-        <key>license</key>
-        <string>havok</string>
-        <key>license_file</key>
-        <string>LICENSES/havok.txt</string>
-        <key>name</key>
-        <string>havok-source</string>
-        <key>platforms</key>
-        <map>
-          <key>darwin64</key>
-          <map>
-            <key>archive</key>
-            <map>
-              <key>hash</key>
-              <string>ba229348c1d9d58519cd854ff9d8ef3d</string>
-              <key>url</key>
-              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/55213/512968/havok_source-2012.1-2-darwin64-539117.tar.bz2</string>
-            </map>
-            <key>name</key>
-            <string>darwin64</string>
-          </map>
-          <key>linux64</key>
-          <map>
-            <key>archive</key>
-            <map>
-              <key>hash</key>
-              <string>00d0333936a67059a43a6ec8ac38d564</string>
-              <key>url</key>
-              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/748/1563/havok_source-2012.1-2-linux64-500739.tar.bz2</string>
-            </map>
-            <key>name</key>
-            <string>linux64</string>
-          </map>
-          <key>windows</key>
-          <map>
-            <key>archive</key>
-            <map>
-              <key>hash</key>
-              <string>4ff2af85106907acb171bb1e38a3757e</string>
-              <key>url</key>
-              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/55214/512993/havok_source-2012.1-2-windows-539117.tar.bz2</string>
-            </map>
-            <key>name</key>
-            <string>windows</string>
-          </map>
-          <key>windows64</key>
-          <map>
-            <key>archive</key>
-            <map>
-              <key>hash</key>
-              <string>bcaf4631ea10f7d09eecb73e8f5bef6c</string>
-              <key>url</key>
-              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/55212/512962/havok_source-2012.1-2-windows64-539117.tar.bz2</string>
-            </map>
-            <key>name</key>
-            <string>windows64</string>
-          </map>
-        </map>
-        <key>version</key>
-        <string>2012.1-2</string>
-      </map>
       <key>kdu</key>
       <map>
         <key>copyright</key>
@@ -881,20 +815,6 @@
             <key>name</key>
             <string>linux64</string>
           </map>
-          <key>windows</key>
-          <map>
-            <key>archive</key>
-            <map>
-              <key>hash</key>
-              <string>5b8afd59538609e830e0b54b09b5947e5cd7f17383d35f8d861b4445bfbbe9876725db77d73d3acd70886e9009dab3f9</string>
-              <key>hash_algorithm</key>
-              <string>sha3_384</string>
-              <key>url</key>
-              <string>https://git.alchemyviewer.org/api/v4/projects/120/packages/generic/kdu-721/8.0.6/kdu-8.0.6-windows-721.tar.xz</string>
-            </map>
-            <key>name</key>
-            <string>windows</string>
-          </map>
           <key>windows64</key>
           <map>
             <key>archive</key>
@@ -1356,58 +1276,6 @@
         <key>version</key>
         <string>2021.1003.1007</string>
       </map>
-      <key>llphysicsextensions_source</key>
-      <map>
-        <key>copyright</key>
-        <string>Copyright (c) 2010, Linden Research, Inc.</string>
-        <key>license</key>
-        <string>internal</string>
-        <key>license_file</key>
-        <string>LICENSES/llphysicsextensions.txt</string>
-        <key>name</key>
-        <string>llphysicsextensions_source</string>
-        <key>platforms</key>
-        <map>
-          <key>darwin64</key>
-          <map>
-            <key>archive</key>
-            <map>
-              <key>hash</key>
-              <string>14fac452271ebfba37ba5ddcf5bffa54</string>
-              <key>url</key>
-              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/54842/510078/llphysicsextensions_source-1.0.538972-darwin64-538972.tar.bz2</string>
-            </map>
-            <key>name</key>
-            <string>darwin64</string>
-          </map>
-          <key>linux64</key>
-          <map>
-            <key>archive</key>
-            <map>
-              <key>hash</key>
-              <string>c1b43e99c5ddccc18b0e9cb288bf75e1</string>
-              <key>url</key>
-              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/4721/14828/llphysicsextensions_source-1.0.504710-linux64-504710.tar.bz2</string>
-            </map>
-            <key>name</key>
-            <string>linux64</string>
-          </map>
-          <key>windows</key>
-          <map>
-            <key>archive</key>
-            <map>
-              <key>hash</key>
-              <string>f3c066c1aebed8a6519a3e5ce64b9a3c</string>
-              <key>url</key>
-              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/54982/511796/llphysicsextensions_source-1.0.538972-windows-538972.tar.bz2</string>
-            </map>
-            <key>name</key>
-            <string>windows</string>
-          </map>
-        </map>
-        <key>version</key>
-        <string>1.0.538972</string>
-      </map>
       <key>llphysicsextensions_stub</key>
       <map>
         <key>copyright</key>
@@ -1460,70 +1328,6 @@
         <key>version</key>
         <string>1.0.542456</string>
       </map>
-      <key>llphysicsextensions_tpv</key>
-      <map>
-        <key>copyright</key>
-        <string>Copyright (c) 2010, Linden Research, Inc.</string>
-        <key>license</key>
-        <string>internal</string>
-        <key>license_file</key>
-        <string>LICENSES/HavokSublicense.pdf</string>
-        <key>name</key>
-        <string>llphysicsextensions_tpv</string>
-        <key>platforms</key>
-        <map>
-          <key>darwin64</key>
-          <map>
-            <key>archive</key>
-            <map>
-              <key>hash</key>
-              <string>2aa4ec0d72bbe4b755730f1bf92b39e7</string>
-              <key>url</key>
-              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/30340/257304/llphysicsextensions_tpv-1.0.542327-darwin64-542327.tar.bz2</string>
-            </map>
-            <key>name</key>
-            <string>darwin64</string>
-          </map>
-          <key>linux64</key>
-          <map>
-            <key>archive</key>
-            <map>
-              <key>hash</key>
-              <string>711f4ec769e4b5f59ba25ee43c11bcbc</string>
-              <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/4724/14846/llphysicsextensions_stub-1.0.504712-linux64-504712.tar.bz2</string>
-            </map>
-            <key>name</key>
-            <string>linux64</string>
-          </map>
-          <key>windows</key>
-          <map>
-            <key>archive</key>
-            <map>
-              <key>hash</key>
-              <string>ad9aba5e2c43a37b6530a0d2de64df1c</string>
-              <key>url</key>
-              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/30341/257307/llphysicsextensions_tpv-1.0.542327-windows-542327.tar.bz2</string>
-            </map>
-            <key>name</key>
-            <string>windows</string>
-          </map>
-          <key>windows64</key>
-          <map>
-            <key>archive</key>
-            <map>
-              <key>hash</key>
-              <string>46689ff1442a8eccac3a7f3258308e1e</string>
-              <key>url</key>
-              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/ct2/30341/257307/llphysicsextensions_tpv-1.0.542327-windows64-542327.tar.bz2</string>
-            </map>
-            <key>name</key>
-            <string>windows</string>
-          </map>
-        </map>
-        <key>version</key>
-        <string>1.0.542327</string>
-      </map>
       <key>mesa</key>
       <map>
         <key>license</key>
diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt
index 41a6655e3d3..2d97e2ae469 100644
--- a/indra/cmake/CMakeLists.txt
+++ b/indra/cmake/CMakeLists.txt
@@ -37,7 +37,6 @@ set(cmake_SOURCE_FILES
     GLH.cmake
     GLOD.cmake
     GStreamer010Plugin.cmake
-    Havok.cmake
     Hunspell.cmake
     JPEG.cmake
     LLAddBuildTest.cmake
diff --git a/indra/cmake/Havok.cmake b/indra/cmake/Havok.cmake
deleted file mode 100644
index 811a126b8fb..00000000000
--- a/indra/cmake/Havok.cmake
+++ /dev/null
@@ -1,127 +0,0 @@
-# -*- cmake -*-
-include(Prebuilt)
-if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED)
-set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES")
-
-use_prebuilt_binary(havok-source)
-
-set(Havok_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/havok/Source)
-list(APPEND Havok_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/havok/Demo)
-
-# HK_DISABLE_IMPLICIT_VVECTOR3_CONVERSION suppresses an intended conversion
-# function which Xcode scolds us will unconditionally enter infinite
-# recursion if called. This hides that function.
-add_definitions("-DHK_DISABLE_IMPLICIT_VVECTOR3_CONVERSION")
-
-set(HAVOK_DEBUG_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug/havok-fulldebug)
-set(HAVOK_RELEASE_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/release/havok)
-
-if (LL_DEBUG_HAVOK)
-   if (WIN32)
-      # Always link relwithdebinfo to havok-hybrid on windows.
-      set(HAVOK_RELWITHDEBINFO_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug/havok-hybrid)
-   else (WIN32)
-      set(HAVOK_RELWITHDEBINFO_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug/havok-fulldebug)
-   endif (WIN32)
-else (LL_DEBUG_HAVOK)
-   set(HAVOK_RELWITHDEBINFO_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/release/havok)
-endif (LL_DEBUG_HAVOK)
-
-set(HAVOK_LIBS
-    hkBase
-    hkCompat
-    hkGeometryUtilities
-    hkInternal
-    hkSerialize
-    hkSceneData
-    hkpCollide
-    hkpUtilities
-    hkpConstraintSolver
-    hkpDynamics
-    hkpInternal
-    hkaiInternal
-    hkaiPathfinding
-    hkaiAiPhysicsBridge
-    hkcdInternal
-    hkcdCollide
-    hkpVehicle
-    hkVisualize
-    hkaiVisualize
-    hkgpConvexDecomposition
-)
-
-unset(HK_DEBUG_LIBRARIES)
-unset(HK_RELEASE_LIBRARIES)
-unset(HK_RELWITHDEBINFO_LIBRARIES)
-
-if (DEBUG_PREBUILT)
-  # DEBUG_MESSAGE() displays debugging message
-  function(DEBUG_MESSAGE)
-    # prints message args separated by semicolons rather than spaces,
-    # but making it pretty is a lot more work
-    message(STATUS "${ARGN}")
-  endfunction(DEBUG_MESSAGE)
-else (DEBUG_PREBUILT)
-  # without DEBUG_PREBUILT, DEBUG_MESSAGE() is a no-op
-  function(DEBUG_MESSAGE)
-  endfunction(DEBUG_MESSAGE)
-endif (DEBUG_PREBUILT)
-
-# DEBUG_EXEC() reports each execute_process() before invoking
-function(DEBUG_EXEC)
-  DEBUG_MESSAGE(${ARGN})
-  execute_process(COMMAND ${ARGN})
-endfunction(DEBUG_EXEC)
-
-# *TODO: Figure out why we need to extract like this...
-foreach(HAVOK_LIB ${HAVOK_LIBS})
-  find_library(HAVOK_DEBUG_LIB_${HAVOK_LIB}   ${HAVOK_LIB} PATHS ${HAVOK_DEBUG_LIBRARY_PATH})
-  find_library(HAVOK_RELEASE_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELEASE_LIBRARY_PATH})
-  find_library(HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELWITHDEBINFO_LIBRARY_PATH})
-  
-  if(LINUX)
-    set(debug_dir "${HAVOK_DEBUG_LIBRARY_PATH}/${HAVOK_LIB}")
-    set(release_dir "${HAVOK_RELEASE_LIBRARY_PATH}/${HAVOK_LIB}")
-    set(relwithdebinfo_dir "${HAVOK_RELWITHDEBINFO_LIBRARY_PATH}/${HAVOK_LIB}")
-
-    # Try to avoid extracting havok library each time we run cmake.
-    if("${havok_${HAVOK_LIB}_extracted}" STREQUAL "" AND EXISTS "${PREBUILD_TRACKING_DIR}/havok_${HAVOK_LIB}_extracted")
-      file(READ ${PREBUILD_TRACKING_DIR}/havok_${HAVOK_LIB}_extracted "havok_${HAVOK_LIB}_extracted")
-      DEBUG_MESSAGE("havok_${HAVOK_LIB}_extracted: \"${havok_${HAVOK_LIB}_extracted}\"")
-    endif("${havok_${HAVOK_LIB}_extracted}" STREQUAL "" AND EXISTS "${PREBUILD_TRACKING_DIR}/havok_${HAVOK_LIB}_extracted")
-
-    if(${PREBUILD_TRACKING_DIR}/havok_source_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/havok_${HAVOK_LIB}_extracted OR NOT ${havok_${HAVOK_LIB}_extracted} EQUAL 0)
-      DEBUG_MESSAGE("Extracting ${HAVOK_LIB}...")
-
-      foreach(lib ${debug_dir} ${release_dir} ${relwithdebinfo_dir})
-        DEBUG_EXEC("mkdir" ${lib})
-        DEBUG_EXEC("ar" "-xv" "../lib${HAVOK_LIB}.a"
-          WORKING_DIRECTORY ${lib})
-      endforeach(lib)
-
-      # Just assume success for now.
-      set(havok_${HAVOK_LIB}_extracted 0)
-      file(WRITE ${PREBUILD_TRACKING_DIR}/havok_${HAVOK_LIB}_extracted "${havok_${HAVOK_LIB}_extracted}")
-
-    endif()
-
-    file(GLOB extracted_debug "${debug_dir}/*.o")
-    file(GLOB extracted_release "${release_dir}/*.o")
-    file(GLOB extracted_relwithdebinfo "${relwithdebinfo_dir}/*.o")
-
-    DEBUG_MESSAGE("extracted_debug ${debug_dir}/*.o")
-    DEBUG_MESSAGE("extracted_release ${release_dir}/*.o")
-    DEBUG_MESSAGE("extracted_relwithdebinfo ${relwithdebinfo_dir}/*.o")
-
-    list(APPEND HK_DEBUG_LIBRARIES ${extracted_debug})
-    list(APPEND HK_RELEASE_LIBRARIES ${extracted_release})
-    list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${extracted_relwithdebinfo})
-  else(LINUX)
-    # Win32
-    list(APPEND HK_DEBUG_LIBRARIES   ${HAVOK_DEBUG_LIB_${HAVOK_LIB}})
-    list(APPEND HK_RELEASE_LIBRARIES ${HAVOK_RELEASE_LIB_${HAVOK_LIB}})
-    list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB}})
-  endif (LINUX)
-endforeach(HAVOK_LIB)
-
-endif(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED)
diff --git a/indra/cmake/LLPhysicsExtensions.cmake b/indra/cmake/LLPhysicsExtensions.cmake
index 57bd42f05ea..51b860b281c 100644
--- a/indra/cmake/LLPhysicsExtensions.cmake
+++ b/indra/cmake/LLPhysicsExtensions.cmake
@@ -2,31 +2,9 @@
 include(Linking)
 include(Prebuilt)
 
-# There are three possible solutions to provide the llphysicsextensions:
-# - The full source package, selected by -DHAVOK:BOOL=ON
-# - The stub source package, selected by -DHAVOK:BOOL=OFF 
-# - The prebuilt package available to those with sublicenses, selected by -DHAVOK_TPV:BOOL=ON
-
-if (INSTALL_PROPRIETARY)
-   set(HAVOK ON CACHE BOOL "Use Havok physics library")
-endif (INSTALL_PROPRIETARY)
-
-
 # Note that the use_prebuilt_binary macros below do not in fact include binaries;
 # the llphysicsextensions_* packages are source only and are built here.
 # The source package and the stub package both build libraries of the same name.
-
-if (HAVOK)
-   include(Havok)
-   use_prebuilt_binary(llphysicsextensions_source)
-   set(LLPHYSICSEXTENSIONS_SRC_DIR ${LIBS_PREBUILT_DIR}/llphysicsextensions/src)
-   set(LLPHYSICSEXTENSIONS_LIBRARIES    llphysicsextensions)
-
-elseif (HAVOK_TPV)
-   use_prebuilt_binary(llphysicsextensions_tpv)
-   set(LLPHYSICSEXTENSIONS_LIBRARIES    llphysicsextensions_tpv)
-   set(LLPHYSICSEXTENSIONS_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/llphysicsextensions)
-else (HAVOK)
 if (NOT USE_LL_STUBS)
    use_prebuilt_binary( ndPhysicsStub )
    if (WINDOWS)
@@ -41,11 +19,9 @@ if (NOT USE_LL_STUBS)
       set(LLPHYSICSEXTENSIONS_LIBRARIES nd_hacdConvexDecomposition hacd nd_Pathing )
    endif ()
    set(LLPHYSICSEXTENSIONS_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/ )
-else (NOT USE_LL_STUBS)
+else ()
    use_prebuilt_binary(llphysicsextensions_stub)
    set(LLPHYSICSEXTENSIONS_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/llphysicsextensions) 
    set(LLPHYSICSEXTENSIONS_SRC_DIR ${LIBS_PREBUILT_DIR}/llphysicsextensions/stub)
    set(LLPHYSICSEXTENSIONS_LIBRARIES    llphysicsextensionsstub)
-endif (NOT USE_LL_STUBS)
-endif (HAVOK)
-
+endif ()
-- 
GitLab