# -*-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 = -mmmx -msse -msse2 -mstackrealign

DEFINES += -DNDEBUG -DGALLIUM_LLVMPIPE -DHAVE_UDIS86

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

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
  HAVE_LLVM := 0x0$(subst .,0,$(LLVM_VERSION:svn=))
  DEFINES += -DHAVE_LLVM=$(HAVE_LLVM)
#  $(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