From 292b0d784c8a6326f070fdf877a3a7bcbabd62b6 Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Sun, 28 Apr 2013 16:35:38 +0000 Subject: [PATCH] Mesa: Reorganize the Mesa BuildFeature * Only specify some library deps on gcc4 as they are unused on gcc2 --- build/jam/BuildFeatures | 62 ++++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/build/jam/BuildFeatures b/build/jam/BuildFeatures index 933032add5..cb38b6b912 100644 --- a/build/jam/BuildFeatures +++ b/build/jam/BuildFeatures @@ -355,50 +355,54 @@ if $(TARGET_ARCH) = x86 { HAIKU_MESA_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR) $(HAIKU_MESA_FILE:B) ] ; + HAIKU_MESA_HEADERS = [ FDirName $(HAIKU_MESA_DIR) include ] ; HAIKU_MESA_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_MESA_DIR) : include/ : $(zipFile) : extracted-mesa ] ; - HAIKU_GLAPI_LIB = [ ExtractArchive $(HAIKU_MESA_DIR) - : - lib.haiku/libglapi.a - : $(zipFile) - : extracted-mesa ] ; - HAIKU_GLSL_LIB = [ ExtractArchive $(HAIKU_MESA_DIR) - : - lib.haiku/libglsl.a - : $(zipFile) - : extracted-mesa ] ; + # Base Mesa libraries HAIKU_MESA_LIB = [ ExtractArchive $(HAIKU_MESA_DIR) : lib.haiku/libmesa.a : $(zipFile) : extracted-mesa ] ; - HAIKU_GALLIUM_LIB = [ ExtractArchive $(HAIKU_MESA_DIR) + HAIKU_GLAPI_LIB = [ ExtractArchive $(HAIKU_MESA_DIR) : - lib.haiku/libgallium.a + lib.haiku/libglapi.a : $(zipFile) : extracted-mesa ] ; - if FIsBuildFeatureEnabled(llvm) { - HAIKU_GALLIUM_LLVMPIPE_LIB = [ ExtractArchive $(HAIKU_MESA_DIR) - : - lib.haiku/libllvmpipe.a - : $(zipFile) - : extracted-mesa ] ; - Depends $(HAIKU_GALLIUM_LLVMPIPE_LIB) : $(HAIKU_LLVM_LIBS) ; - } else { - HAIKU_GALLIUM_SOFTPIPE_LIB = [ ExtractArchive $(HAIKU_MESA_DIR) - : - lib.haiku/libsoftpipe.a - : $(zipFile) - : extracted-mesa ] ; - } - - HAIKU_MESA_HEADERS = [ FDirName $(HAIKU_MESA_DIR) include ] ; - Depends $(HAIKU_MESA_HEADERS_DEPENDENCY) : $(HAIKU_GLU_HEADERS_DEPENDENCY) ; Depends $(HAIKU_GLAPI_LIBS) : $(HAIKU_GLU_LIBS) ; + # Extended Mesa libraries for newer versions + if $(HAIKU_GCC_VERSION[1]) >= 4 { + HAIKU_GLSL_LIB = [ ExtractArchive $(HAIKU_MESA_DIR) + : + lib.haiku/libglsl.a + : $(zipFile) + : extracted-mesa ] ; + HAIKU_GALLIUM_LIB = [ ExtractArchive $(HAIKU_MESA_DIR) + : + lib.haiku/libgallium.a + : $(zipFile) + : extracted-mesa ] ; + + if FIsBuildFeatureEnabled(llvm) { + HAIKU_GALLIUM_LLVMPIPE_LIB = [ ExtractArchive $(HAIKU_MESA_DIR) + : + lib.haiku/libllvmpipe.a + : $(zipFile) + : extracted-mesa ] ; + Depends $(HAIKU_GALLIUM_LLVMPIPE_LIB) : $(HAIKU_LLVM_LIBS) ; + } else { + HAIKU_GALLIUM_SOFTPIPE_LIB = [ ExtractArchive $(HAIKU_MESA_DIR) + : + lib.haiku/libsoftpipe.a + : $(zipFile) + : extracted-mesa ] ; + } + } + EnableBuildFeatures mesa ; } else { Echo "Mesa 3D rendering support not available on $(TARGET_ARCH)" ;