Update the build script

- Use newer default VHAL implementaion
- Update the script for non-bitbake build

Bug: 183041891
Test: Build
Change-Id: Iaa1753a45d8282cfa8afc4191c2cff7636ba6d2c
diff --git a/agl_services_build/repo_manifest.xml b/agl_services_build/repo_manifest.xml
index fe09d44..bb533d1 100644
--- a/agl_services_build/repo_manifest.xml
+++ b/agl_services_build/repo_manifest.xml
@@ -28,7 +28,7 @@
   <project path="third_party/grpc-grpc" name="platform/external/grpc-grpc" groups="pdk,tradefed" />
   <project path="third_party/jsoncpp" name="platform/external/jsoncpp" groups="pdk" />
   <project path="third_party/protobuf" name="platform/external/protobuf" groups="pdk" />
-  <project path="hardware/interfaces" name="platform/hardware/interfaces" groups="pdk" >
+  <project path="hardware/interfaces" name="platform/hardware/interfaces" groups="pdk" revision="229e07f9b922522e1612b6dd930919cf58c8865f">
       <linkfile src="automotive/vehicle/2.0/default" dest="third_party/default_native_vehicle_hal" />
   </project>
   <project path="third_party/android/system_core" name="platform/system/core" groups="pdk" />
diff --git a/agl_services_build/toolchain/agl_toolchain.cmake b/agl_services_build/toolchain/agl_toolchain.cmake
index c63ea98..f104a88 100644
--- a/agl_services_build/toolchain/agl_toolchain.cmake
+++ b/agl_services_build/toolchain/agl_toolchain.cmake
@@ -1,29 +1,11 @@
 SET(CMAKE_SYSTEM_NAME Linux)
 SET(CMAKE_SYSTEM_PROCESSOR aarch64)
 
-# Toolchain precedence: environment variable TROUT_CLANG_PATH > Android Clang Toolchain > Floral Clang Toolchain
-# AGL sysroot precedence: environment variable TROUT_AGL_SYSROOT > Floral AGL sysroot
-IF(DEFINED ENV{COQOS_HV_PATH})
-    SET(TROUT_CLANG_PATH $ENV{COQOS_HV_PATH}/tools/toolchains/clang-llvm-9)
-    SET(TROUT_AGL_SYSROOT $ENV{COQOS_HV_PATH}/bsp/linux/yocto/qti-yocto-agl-sdk-sa8155-automotive-machine-image/sysroots/aarch64-agl-linux)
-ENDIF()
-
-IF (DEFINED ENV{ANDROID_BUILD_TOP})
-    FILE(GLOB TROUT_ANDROID_TOOLCHAIN_CANDIDATES $ENV{ANDROID_BUILD_TOP}/prebuilts/clang/host/linux-x86/clang-*
-        LIST_DIRECTORIES true)
-    # Select the latest one
-    LIST(SORT TROUT_ANDROID_TOOLCHAIN_CANDIDATES ORDER DESCENDING)
-    FIND_PATH(TROUT_ANDROID_TOOLCHAIN
-        NAMES
-        bin/clang
-        bin/clang++
-        bin/llvm-ar
-        bin/llvm-nm
-        bin/llvm-ranlib
-        PATHS
-        ${TROUT_ANDROID_TOOLCHAIN_CANDIDATES}
-        NO_DEFAULT_PATH)
-    SET(TROUT_CLANG_PATH ${TROUT_ANDROID_TOOLCHAIN})
+# Toolchain precedence: environment variable TROUT_CLANG_PATH > LV Clang Toolchain
+# AGL sysroot precedence: environment variable TROUT_AGL_SYSROOT > LV AGL sysroot
+IF(DEFINED ENV{LV_BUILD_PATH})
+    SET(TROUT_CLANG_PATH $ENV{LV_BUILD_PATH}/tmp-glibc/sysroots-components/x86_64/clang-native)
+    SET(TROUT_AGL_SYSROOT $ENV{LV_BUILD_PATH}/tmp-glibc/sysroots/opsy-sa8155/)
 ENDIF()
 
 IF (DEFINED ENV{TROUT_CLANG_PATH})
@@ -35,11 +17,11 @@
 ENDIF()
 
 IF (NOT TROUT_CLANG_PATH)
-    MESSAGE(FATAL_ERROR "Please run `lunch`, or define environment variable COQOS_HV_PATH or TROUT_CLANG_PATH")
+    MESSAGE(FATAL_ERROR "Please run `lunch`, or define environment variable LV_BUILD_PATH or TROUT_CLANG_PATH")
 ENDIF()
 
 IF (NOT TROUT_AGL_SYSROOT)
-    MESSAGE(FATAL_ERROR "Please define environment variable COQOS_HV_PATH or TROUT_AGL_SYSROOT")
+    MESSAGE(FATAL_ERROR "Please define environment variable LV_BUILD_PATH or TROUT_AGL_SYSROOT")
 ENDIF()
 
 SET(_triple aarch64-none-linux-gnu)
@@ -47,26 +29,26 @@
 SET(CMAKE_CROSSCOMPILING TRUE)
 SET(CMAKE_SYSROOT ${TROUT_AGL_SYSROOT})
 
-SET(CMAKE_C_COMPILER ${TROUT_CLANG_PATH}/bin/clang)
+SET(CMAKE_C_COMPILER ${TROUT_CLANG_PATH}/usr/bin/clang)
 SET(CMAKE_C_COMPILER_TARGET ${_triple})
 
-SET(CMAKE_CXX_COMPILER ${TROUT_CLANG_PATH}/bin/clang++)
+SET(CMAKE_CXX_COMPILER ${TROUT_CLANG_PATH}/usr/bin/clang++)
 SET(CMAKE_CXX_COMPILER_TARGET ${_triple})
 
 SET(CMAKE_ASM_COMPILER_TARGET ${_triple})
 
-SET(CMAKE_AR ${TROUT_CLANG_PATH}/bin/llvm-ar)
-SET(CMAKE_NM ${TROUT_CLANG_PATH}/bin/llvm-nm)
-SET(CMAKE_RANLIB ${TROUT_CLANG_PATH}/bin/llvm-ranlib)
+SET(CMAKE_AR ${TROUT_CLANG_PATH}/usr/bin/llvm-ar)
+SET(CMAKE_NM ${TROUT_CLANG_PATH}/usr/bin/llvm-nm)
+SET(CMAKE_RANLIB ${TROUT_CLANG_PATH}/usr/bin/llvm-ranlib)
 
 SET(CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES
-    ${TROUT_AGL_SYSROOT}/usr/include/c++/7.3.0
-    ${TROUT_AGL_SYSROOT}/usr/include/c++/7.3.0/aarch64-agl-linux
+    ${TROUT_AGL_SYSROOT}/usr/include/c++/9.3.0
+    ${TROUT_AGL_SYSROOT}/usr/include/c++/9.3.0/aarch64-oe-linux
 )
 
 SET(CMAKE_EXE_LINKER_FLAGS
     -fuse-ld=lld
-    -B ${TROUT_AGL_SYSROOT}/usr/lib/aarch64-agl-linux/7.3.0
+    -B ${TROUT_AGL_SYSROOT}/usr/lib/aarch64-oe-linux/9.3.0
     -nodefaultlibs
     -lstdc++
     -lm
@@ -75,17 +57,6 @@
 )
 STRING(REPLACE ";" " " CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
 
-SET(CMAKE_SHARED_LINKER_FLAGS
-    -fuse-ld=lld
-    -B ${TROUT_AGL_SYSROOT}/usr/lib/aarch64-agl-linux/7.3.0
-    -nodefaultlibs
-    -lstdc++
-    -lm
-    -lc
-    -lgcc_s
-)
-STRING(REPLACE ";" " " CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
-
 SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
 SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
 SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
diff --git a/agl_services_build/yocto-layer/meta-google/recipes-trout/agl-services/sources.inc b/agl_services_build/yocto-layer/meta-google/recipes-trout/agl-services/sources.inc
index 0ebc9be..1495ef1 100644
--- a/agl_services_build/yocto-layer/meta-google/recipes-trout/agl-services/sources.inc
+++ b/agl_services_build/yocto-layer/meta-google/recipes-trout/agl-services/sources.inc
@@ -30,7 +30,7 @@
     ${@trout_git_uri(d, 'ANDROID_REMOTE', 'platform/external/grpc-grpc', 'third_party/grpc-grpc', '75bfcd05212333d0f4247865e3a61eaf6092d932')} \
     ${@trout_git_uri(d, 'ANDROID_REMOTE', 'platform/external/jsoncpp', 'third_party/jsoncpp', 'ceed690fefd71a34154781da01b3bb0294a486eb')} \
     ${@trout_git_uri(d, 'ANDROID_REMOTE', 'platform/external/protobuf', 'third_party/protobuf', '2305946dc587fb5766d207c7e3981375b2aaf5ce')} \
-    ${@trout_git_uri(d, 'ANDROID_REMOTE', 'platform/hardware/interfaces', 'hardware/interfaces', '1eb933123b52d6b1f69acfd87d3aeceb45f6ef1b')} \
+    ${@trout_git_uri(d, 'ANDROID_REMOTE', 'platform/hardware/interfaces', 'hardware/interfaces', '229e07f9b922522e1612b6dd930919cf58c8865f')} \
     ${@trout_git_uri(d, 'ANDROID_REMOTE', 'platform/system/core', 'third_party/android/system_core', 'b1ee3a99d1fc3d41606555e29da484df8a66ed71')} \
     ${@trout_git_uri(d, 'BORINGSSL_REMOTE', 'boringssl', 'third_party/boringssl', '0b710a305b42b67522003a314dea3e3868485665')} \
     ${@trout_git_uri(d, 'GITHUB_REMOTE', 'c-ares/c-ares', 'third_party/cares', '3be1924221e1326df520f8498d704a5c4c8d0cce')} \
diff --git a/hal/vehicle/2.0/agl_build/CMakeLists.txt b/hal/vehicle/2.0/agl_build/CMakeLists.txt
index f09ae62..9ac6526 100644
--- a/hal/vehicle/2.0/agl_build/CMakeLists.txt
+++ b/hal/vehicle/2.0/agl_build/CMakeLists.txt
@@ -51,7 +51,6 @@
     ${trout_NATIVE_VHAL_ROOT_DIR}/common/src/VehicleObjectPool.cpp
     ${trout_NATIVE_VHAL_ROOT_DIR}/common/src/VehicleUtils.cpp
     ${trout_NATIVE_VHAL_ROOT_DIR}/impl/vhal_v2_0/VehicleHalServer.cpp
-    ${trout_NATIVE_VHAL_ROOT_DIR}/impl/vhal_v2_0/EmulatedUserHal.cpp
     ${trout_NATIVE_VHAL_ROOT_DIR}/impl/vhal_v2_0/GeneratorHub.cpp
     ${trout_NATIVE_VHAL_ROOT_DIR}/impl/vhal_v2_0/JsonFakeValueGenerator.cpp
     ${trout_NATIVE_VHAL_ROOT_DIR}/impl/vhal_v2_0/LinearFakeValueGenerator.cpp