From ecbdee63cf21c83be532d5e63a6c2618bc4049dd Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Wed, 19 Dec 2012 18:17:59 -0600 Subject: [PATCH] Mesa 9.0.1: Build cleanup * Try to keep each renderer designed the same. * swrast will build... swpipe won't build until we have an llvm build package. (should in a few days once llvm 3.2 is released) --- build/jam/BuildFeatures | 12 +-- src/add-ons/opengl/swpipe/Jamfile | 97 +++++++++++++++++++++++- src/add-ons/opengl/swrast/Jamfile | 19 +---- src/add-ons/opengl/swrast_legacy/Jamfile | 2 +- 4 files changed, 103 insertions(+), 27 deletions(-) diff --git a/build/jam/BuildFeatures b/build/jam/BuildFeatures index 7320a440e1..b47f8f6395 100644 --- a/build/jam/BuildFeatures +++ b/build/jam/BuildFeatures @@ -230,13 +230,9 @@ if $(TARGET_ARCH) = x86 { # Mesa if $(TARGET_ARCH) = x86 { - local glslObject ; - local galliumObjects ; local zipFile ; if $(HAIKU_GCC_VERSION[1]) >= 4 { - HAIKU_MESA_FILE = mesa-9.0-x86-gcc4-2012-11-17.zip ; - glslObject = lib.haiku/libglsl.a ; - galliumObjects = lib.haiku/libgallium.a ; + HAIKU_MESA_FILE = mesa-9.0.1-x86-gcc4-2012-12-19.zip ; } else { HAIKU_MESA_FILE = mesa-7.8.2-x86-gcc2-2012-01-17.zip ; } @@ -256,10 +252,14 @@ if $(TARGET_ARCH) = x86 { : $(zipFile) : extracted-mesa ] ; + HAIKU_MESA_LIBS = + $(HAIKU_MESA_DIR)/lib.haiku/libmesa.a + $(HAIKU_MESA_DIR)/lib.haiku/libglsl.a ; + HAIKU_MESA_HEADERS = [ FDirName $(HAIKU_MESA_DIR) include ] ; Depends $(HAIKU_MESA_HEADERS_DEPENDENCY) : $(HAIKU_GLU_HEADERS_DEPENDENCY) ; - Depends $(HAIKU_MESA_LIBS) : $(HAIKU_GLU_LIBS) ; + Depends $(HAIKU_GLAPI_LIBS) : $(HAIKU_GLU_LIBS) ; EnableBuildFeatures mesa ; } else { diff --git a/src/add-ons/opengl/swpipe/Jamfile b/src/add-ons/opengl/swpipe/Jamfile index b8bb51ade6..e57905e57c 100644 --- a/src/add-ons/opengl/swpipe/Jamfile +++ b/src/add-ons/opengl/swpipe/Jamfile @@ -15,14 +15,101 @@ local sources = local HAIKU_SWPIPE_DRIVER = $(HAIKU_MESA_DIR)/lib.haiku/libsoftpipe.a ; -if $(HAIKU_LLVM_PRESENT) { +local llvmLibraries = ; +if $(HAIKU_LLVM_DIR) { # TODO: Add LLVM OptionalBuildPackage SubDirC++Flags [ FDefines HAVE_LLVM=0x0302 ] ; # TODO: This is a hack for now SubDirSysHdrs /boot/common/include ; - HAIKU_SWPIPE_DRIVER = + HAIKU_LLVM_DIR = /boot/common/lib ; + + HAIKU_SWPIPE_DRIVER += $(HAIKU_MESA_DIR)/lib.haiku/libllvmpipe.a ; + + llvmLibraries = + $(HAIKU_LLVM_DIR)/libLLVMAsmParser.a + $(HAIKU_LLVM_DIR)/libLLVMInstrumentation.a + $(HAIKU_LLVM_DIR)/libLLVMLinker.a + $(HAIKU_LLVM_DIR)/libLLVMArchive.a + $(HAIKU_LLVM_DIR)/libLLVMBitReader.a + $(HAIKU_LLVM_DIR)/libLLVMDebugInfo.a + $(HAIKU_LLVM_DIR)/libLLVMJIT.a + $(HAIKU_LLVM_DIR)/libLLVMipo.a + $(HAIKU_LLVM_DIR)/libLLVMVectorize.a + $(HAIKU_LLVM_DIR)/libLLVMBitWriter.a + $(HAIKU_LLVM_DIR)/libLLVMTableGen.a + $(HAIKU_LLVM_DIR)/libLLVMHexagonCodeGen.a + $(HAIKU_LLVM_DIR)/libLLVMHexagonAsmPrinter.a + $(HAIKU_LLVM_DIR)/libLLVMHexagonDesc.a + $(HAIKU_LLVM_DIR)/libLLVMHexagonInfo.a + $(HAIKU_LLVM_DIR)/libLLVMNVPTXCodeGen.a + $(HAIKU_LLVM_DIR)/libLLVMNVPTXDesc.a + $(HAIKU_LLVM_DIR)/libLLVMNVPTXInfo.a + $(HAIKU_LLVM_DIR)/libLLVMNVPTXAsmPrinter.a + $(HAIKU_LLVM_DIR)/libLLVMMBlazeCodeGen.a + $(HAIKU_LLVM_DIR)/libLLVMMBlazeAsmParser.a + $(HAIKU_LLVM_DIR)/libLLVMMBlazeDisassembler.a + $(HAIKU_LLVM_DIR)/libLLVMMBlazeDesc.a + $(HAIKU_LLVM_DIR)/libLLVMMBlazeInfo.a + $(HAIKU_LLVM_DIR)/libLLVMMBlazeAsmPrinter.a + $(HAIKU_LLVM_DIR)/libLLVMCppBackendCodeGen.a + $(HAIKU_LLVM_DIR)/libLLVMCppBackendInfo.a + $(HAIKU_LLVM_DIR)/libLLVMMSP430CodeGen.a + $(HAIKU_LLVM_DIR)/libLLVMMSP430Desc.a + $(HAIKU_LLVM_DIR)/libLLVMMSP430AsmPrinter.a + $(HAIKU_LLVM_DIR)/libLLVMMSP430Info.a + $(HAIKU_LLVM_DIR)/libLLVMXCoreCodeGen.a + $(HAIKU_LLVM_DIR)/libLLVMXCoreDesc.a + $(HAIKU_LLVM_DIR)/libLLVMXCoreInfo.a + $(HAIKU_LLVM_DIR)/libLLVMCellSPUCodeGen.a + $(HAIKU_LLVM_DIR)/libLLVMCellSPUDesc.a + $(HAIKU_LLVM_DIR)/libLLVMCellSPUInfo.a + $(HAIKU_LLVM_DIR)/libLLVMMipsAsmParser.a + $(HAIKU_LLVM_DIR)/libLLVMMipsCodeGen.a + $(HAIKU_LLVM_DIR)/libLLVMMipsDesc.a + $(HAIKU_LLVM_DIR)/libLLVMMipsAsmPrinter.a + $(HAIKU_LLVM_DIR)/libLLVMMipsDisassembler.a + $(HAIKU_LLVM_DIR)/libLLVMMipsInfo.a + $(HAIKU_LLVM_DIR)/libLLVMARMAsmParser.a + $(HAIKU_LLVM_DIR)/libLLVMARMCodeGen.a + $(HAIKU_LLVM_DIR)/libLLVMARMDisassembler.a + $(HAIKU_LLVM_DIR)/libLLVMARMDesc.a + $(HAIKU_LLVM_DIR)/libLLVMARMInfo.a + $(HAIKU_LLVM_DIR)/libLLVMARMAsmPrinter.a + $(HAIKU_LLVM_DIR)/libLLVMPowerPCCodeGen.a + $(HAIKU_LLVM_DIR)/libLLVMPowerPCDesc.a + $(HAIKU_LLVM_DIR)/libLLVMPowerPCInfo.a + $(HAIKU_LLVM_DIR)/libLLVMPowerPCAsmPrinter.a + $(HAIKU_LLVM_DIR)/libLLVMSparcCodeGen.a + $(HAIKU_LLVM_DIR)/libLLVMSparcDesc.a + $(HAIKU_LLVM_DIR)/libLLVMSparcInfo.a + $(HAIKU_LLVM_DIR)/libLLVMX86AsmParser.a + $(HAIKU_LLVM_DIR)/libLLVMX86CodeGen.a + $(HAIKU_LLVM_DIR)/libLLVMSelectionDAG.a + $(HAIKU_LLVM_DIR)/libLLVMAsmPrinter.a + $(HAIKU_LLVM_DIR)/libLLVMX86Disassembler.a + $(HAIKU_LLVM_DIR)/libLLVMX86Desc.a + $(HAIKU_LLVM_DIR)/libLLVMX86Info.a + $(HAIKU_LLVM_DIR)/libLLVMX86AsmPrinter.a + $(HAIKU_LLVM_DIR)/libLLVMX86Utils.a + $(HAIKU_LLVM_DIR)/libLLVMMCDisassembler.a + $(HAIKU_LLVM_DIR)/libLLVMMCParser.a + $(HAIKU_LLVM_DIR)/libLLVMInterpreter.a + $(HAIKU_LLVM_DIR)/libLLVMCodeGen.a + $(HAIKU_LLVM_DIR)/libLLVMScalarOpts.a + $(HAIKU_LLVM_DIR)/libLLVMInstCombine.a + $(HAIKU_LLVM_DIR)/libLLVMTransformUtils.a + $(HAIKU_LLVM_DIR)/libLLVMipa.a + $(HAIKU_LLVM_DIR)/libLLVMAnalysis.a + $(HAIKU_LLVM_DIR)/libLLVMMCJIT.a + $(HAIKU_LLVM_DIR)/libLLVMRuntimeDyld.a + $(HAIKU_LLVM_DIR)/libLLVMExecutionEngine.a + $(HAIKU_LLVM_DIR)/libLLVMTarget.a + $(HAIKU_LLVM_DIR)/libLLVMMC.a + $(HAIKU_LLVM_DIR)/libLLVMObject.a + $(HAIKU_LLVM_DIR)/libLLVMCore.a + $(HAIKU_LLVM_DIR)/libLLVMSupport.a ; } UsePrivateHeaders interface ; @@ -34,7 +121,9 @@ AddResources Software\ Renderer : SoftwareRenderer.rdef ; Addon Software\ Renderer : $(sources) : libGL.so - $(HAIKU_MESA_DIR)/lib.haiku/libmesagallium.a $(HAIKU_SWPIPE_DRIVER) - be translation $(TARGET_LIBSUPC++) + $(HAIKU_MESA_LIBS) + $(HAIKU_MESA_DIR)/lib.haiku/libgallium.a + $(llvmLibraries) + be translation stdc++ $(TARGET_LIBSUPC++) ; diff --git a/src/add-ons/opengl/swrast/Jamfile b/src/add-ons/opengl/swrast/Jamfile index 82ddbc685a..c43e5a86be 100644 --- a/src/add-ons/opengl/swrast/Jamfile +++ b/src/add-ons/opengl/swrast/Jamfile @@ -8,20 +8,8 @@ if $(TARGET_PLATFORM) != haiku { } -{ - local defines ; - defines = BEOS_THREADS GNU_ASSEMBLER ; - - if $(TARGET_ARCH) = x86 { - defines += USE_X86_ASM USE_MMX_ASM USE_3DNOW_ASM USE_SSE_ASM ; - } else if $(TARGET_ARCH) = ppc { - # Not yet supported, as current Mesa3D PPC assembly is Linux-dependent! - # defines += USE_PPC_ASM ; - } else if $(TARGET_ARCH) = sparc { - defines += USE_SPARC_ASM ; - } -} - +local defines = BEOS_THREADS GNU_ASSEMBLER ; +SubDirC++Flags [ FDefines $(defines) ] ; local sources = MesaSoftwareRenderer.cpp ; @@ -40,7 +28,6 @@ AddResources Software\ Rasterizer : MesaSoftwareRenderer.rdef ; Addon Software\ Rasterizer : MesaSoftwareRenderer.cpp : - $(HAIKU_MESA_DIR)/lib.haiku/libmesa.a - $(HAIKU_MESA_DIR)/lib.haiku/libglsl.a + $(HAIKU_MESA_LIBS) libGL.so be $(TARGET_LIBSUPC++) ; diff --git a/src/add-ons/opengl/swrast_legacy/Jamfile b/src/add-ons/opengl/swrast_legacy/Jamfile index 88d606b5bd..dbe2b496fc 100644 --- a/src/add-ons/opengl/swrast_legacy/Jamfile +++ b/src/add-ons/opengl/swrast_legacy/Jamfile @@ -49,6 +49,6 @@ AddResources Legacy\ Software\ Rasterizer : MesaSoftwareRenderer.rdef ; Addon Legacy\ Software\ Rasterizer : MesaSoftwareRenderer.cpp : - $(HAIKU_MESA_DIR)/lib.haiku/lib.haiku/libmesa.a + $(HAIKU_MESA_LIBS) libGL.so be $(TARGET_LIBSUPC++) ;