# -*-makefile-*-
# Configuration for Linux and LLVM with optimizations
# Builds the llvmpipe gallium driver

include $(TOP)/configs/linux

CONFIG_NAME = linux-llvm

# Add llvmpipe driver
GALLIUM_DRIVERS_DIRS += llvmpipe

OPT_FLAGS = -O3 -ansi -pedantic
ARCH_FLAGS = -m32 -mmmx -msse -msse2 -mstackrealign

DEFINES += -DNDEBUG -DGALLIUM_LLVMPIPE -DDRAW_LLVM -DHAVE_UDIS86

# override -std=c99
CFLAGS += -std=gnu99

LLVM_VERSION := $(shell llvm-config --version)

ifeq ($(LLVM_VERSION),)
  $(warning Could not find LLVM! Make Sure 'llvm-config' is in the path)
  MESA_LLVM=0
else
  MESA_LLVM=1
#  $(info Using LLVM version: $(LLVM_VERSION))
endif

ifeq ($(MESA_LLVM),1)
#  LLVM_CFLAGS=`llvm-config --cflags`
  LLVM_CXXFLAGS=`llvm-config --cxxflags backend bitreader engine ipo interpreter instrumentation` -Wno-long-long
  LLVM_LDFLAGS = $(shell llvm-config --ldflags backend bitreader engine ipo interpreter instrumentation)
  LLVM_LIBS = $(shell llvm-config --libs backend bitwriter bitreader engine ipo interpreter instrumentation)
  MKLIB_OPTIONS=-cplusplus
else
  LLVM_CFLAGS=
  LLVM_CXXFLAGS=
endif

LD = g++
GL_LIB_DEPS = $(LLVM_LDFLAGS) $(LLVM_LIBS) $(EXTRA_LIB_PATH) -lX11 -lXext -lm -lpthread -lstdc++ -ludis86
