summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Android.mk1
-rw-r--r--src/SConscript1
-rw-r--r--src/compiler/Android.mk44
-rw-r--r--src/compiler/Makefile.am23
-rw-r--r--src/compiler/Makefile.sources4
-rw-r--r--src/compiler/SConscript22
-rw-r--r--src/compiler/shader_enums.c (renamed from src/glsl/nir/shader_enums.c)0
-rw-r--r--src/compiler/shader_enums.h (renamed from src/glsl/nir/shader_enums.h)0
-rw-r--r--src/gallium/auxiliary/nir/tgsi_to_nir.c2
-rw-r--r--src/gallium/drivers/freedreno/ir3/ir3_nir.h2
-rw-r--r--src/gallium/drivers/freedreno/ir3/ir3_shader.h2
-rw-r--r--src/gallium/targets/dri/SConscript1
-rw-r--r--src/gallium/targets/haiku-softpipe/SConscript1
-rw-r--r--src/gallium/targets/libgl-gdi/SConscript2
-rw-r--r--src/gallium/targets/libgl-xlib/SConscript1
-rw-r--r--src/gallium/targets/osmesa/SConscript1
-rw-r--r--src/glsl/Android.mk2
-rw-r--r--src/glsl/Makefile.am8
-rw-r--r--src/glsl/Makefile.sources4
-rw-r--r--src/glsl/SConscript3
-rw-r--r--src/glsl/nir/nir.h2
-rw-r--r--src/glsl/nir/nir_print.c2
-rw-r--r--src/mesa/drivers/x11/SConscript1
-rw-r--r--src/mesa/main/mtypes.h2
24 files changed, 116 insertions, 15 deletions
diff --git a/Android.mk b/Android.mk
index 1d765590010..908078a02ce 100644
--- a/Android.mk
+++ b/Android.mk
@@ -86,6 +86,7 @@ ifneq ($(strip $(MESA_GPU_DRIVERS)),)
SUBDIRS := \
src/loader \
src/mapi \
+ src/compiler \
src/glsl \
src/mesa \
src/util \
diff --git a/src/SConscript b/src/SConscript
index 106b87d4251..8acf9b04ab6 100644
--- a/src/SConscript
+++ b/src/SConscript
@@ -5,6 +5,7 @@ if env['platform'] == 'windows':
SConscript('getopt/SConscript')
SConscript('util/SConscript')
+SConscript('compiler/SConscript')
SConscript('glsl/SConscript')
if env['hostonly']:
diff --git a/src/compiler/Android.mk b/src/compiler/Android.mk
new file mode 100644
index 00000000000..8ebd49778ef
--- /dev/null
+++ b/src/compiler/Android.mk
@@ -0,0 +1,44 @@
+# Mesa 3-D graphics library
+#
+# Copyright (C) 2015 Intel Corporation
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+
+LOCAL_PATH := $(call my-dir)
+
+include $(LOCAL_PATH)/Makefile.sources
+
+# ---------------------------------------
+# Build libmesa_compiler
+# ---------------------------------------
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(LIBCOMPILER_FILES)
+
+LOCAL_C_INCLUDES := \
+ $(MESA_TOP)/src/mapi \
+ $(MESA_TOP)/src/mesa \
+ $(MESA_TOP)/src/gallium/include \
+ $(MESA_TOP)/src/gallium/auxiliary
+
+LOCAL_MODULE := libmesa_compiler
+
+include $(MESA_COMMON_MK)
+include $(BUILD_STATIC_LIBRARY)
diff --git a/src/compiler/Makefile.am b/src/compiler/Makefile.am
index 8ed8205fd73..fd1dd4b6d30 100644
--- a/src/compiler/Makefile.am
+++ b/src/compiler/Makefile.am
@@ -22,4 +22,25 @@
include Makefile.sources
-EXTRA_DIST = $(LIBCOMPILER_FILES)
+AM_CPPFLAGS = \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/src \
+ -I$(top_srcdir)/src/mapi \
+ -I$(top_srcdir)/src/mesa/ \
+ -I$(top_srcdir)/src/gallium/include \
+ -I$(top_srcdir)/src/gallium/auxiliary \
+ $(DEFINES)
+
+AM_CFLAGS = \
+ $(VISIBILITY_CFLAGS) \
+ $(MSVC2013_COMPAT_CFLAGS)
+
+AM_CXXFLAGS = \
+ $(VISIBILITY_CXXFLAGS) \
+ $(MSVC2013_COMPAT_CXXFLAGS)
+
+noinst_LTLIBRARIES = libcompiler.la
+
+libcompiler_la_SOURCES = $(LIBCOMPILER_FILES)
+
+EXTRA_DIST = SConscript
diff --git a/src/compiler/Makefile.sources b/src/compiler/Makefile.sources
index f154062d04c..73e1771c8a7 100644
--- a/src/compiler/Makefile.sources
+++ b/src/compiler/Makefile.sources
@@ -1,2 +1,4 @@
LIBCOMPILER_FILES = \
- builtin_type_macros.h
+ builtin_type_macros.h \
+ shader_enums.c \
+ shader_enums.h
diff --git a/src/compiler/SConscript b/src/compiler/SConscript
new file mode 100644
index 00000000000..412da0e62bd
--- /dev/null
+++ b/src/compiler/SConscript
@@ -0,0 +1,22 @@
+Import('*')
+
+env = env.Clone()
+
+env.MSVC2013Compat()
+
+env.Prepend(CPPPATH = [
+ '#include',
+ '#src',
+ '#src/mapi',
+ '#src/mesa',
+ '#src/gallium/include',
+ '#src/gallium/auxiliary',
+])
+
+sources = env.ParseSourceList('Makefile.sources', 'LIBCOMPILER_FILES')
+
+compiler = env.ConvenienceLibrary(
+ target = 'compiler',
+ source = sources
+)
+Export('compiler')
diff --git a/src/glsl/nir/shader_enums.c b/src/compiler/shader_enums.c
index 942d152b129..942d152b129 100644
--- a/src/glsl/nir/shader_enums.c
+++ b/src/compiler/shader_enums.c
diff --git a/src/glsl/nir/shader_enums.h b/src/compiler/shader_enums.h
index efc0b0d515e..efc0b0d515e 100644
--- a/src/glsl/nir/shader_enums.h
+++ b/src/compiler/shader_enums.h
diff --git a/src/gallium/auxiliary/nir/tgsi_to_nir.c b/src/gallium/auxiliary/nir/tgsi_to_nir.c
index dfda80f228f..0d6eb76eabd 100644
--- a/src/gallium/auxiliary/nir/tgsi_to_nir.c
+++ b/src/gallium/auxiliary/nir/tgsi_to_nir.c
@@ -27,7 +27,7 @@
#include "glsl/nir/nir_control_flow.h"
#include "glsl/nir/nir_builder.h"
#include "glsl/list.h"
-#include "glsl/nir/shader_enums.h"
+#include "compiler/shader_enums.h"
#include "nir/tgsi_to_nir.h"
#include "tgsi/tgsi_parse.h"
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_nir.h b/src/gallium/drivers/freedreno/ir3/ir3_nir.h
index 534199d3744..311a40338e5 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_nir.h
+++ b/src/gallium/drivers/freedreno/ir3/ir3_nir.h
@@ -30,7 +30,7 @@
#define IR3_NIR_H_
#include "glsl/nir/nir.h"
-#include "glsl/nir/shader_enums.h"
+#include "compiler/shader_enums.h"
#include "ir3_shader.h"
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_shader.h b/src/gallium/drivers/freedreno/ir3/ir3_shader.h
index b3c28a41387..03d4fa2e927 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_shader.h
+++ b/src/gallium/drivers/freedreno/ir3/ir3_shader.h
@@ -30,7 +30,7 @@
#define IR3_SHADER_H_
#include "pipe/p_state.h"
-#include "glsl/nir/shader_enums.h"
+#include "compiler/shader_enums.h"
#include "ir3.h"
#include "disasm.h"
diff --git a/src/gallium/targets/dri/SConscript b/src/gallium/targets/dri/SConscript
index b4516598675..bf3baa7094b 100644
--- a/src/gallium/targets/dri/SConscript
+++ b/src/gallium/targets/dri/SConscript
@@ -41,6 +41,7 @@ env.Prepend(LIBS = [
pipe_loader,
libloader,
mesautil,
+ compiler,
mesa,
glsl,
gallium,
diff --git a/src/gallium/targets/haiku-softpipe/SConscript b/src/gallium/targets/haiku-softpipe/SConscript
index 210721c420f..b7c13731d68 100644
--- a/src/gallium/targets/haiku-softpipe/SConscript
+++ b/src/gallium/targets/haiku-softpipe/SConscript
@@ -6,6 +6,7 @@ env.Prepend(LIBS = [
trace,
rbug,
mesautil,
+ compiler,
mesa,
glsl,
gallium
diff --git a/src/gallium/targets/libgl-gdi/SConscript b/src/gallium/targets/libgl-gdi/SConscript
index 594f34d7fad..3a63e3e6a3e 100644
--- a/src/gallium/targets/libgl-gdi/SConscript
+++ b/src/gallium/targets/libgl-gdi/SConscript
@@ -50,7 +50,7 @@ if env['gles']:
opengl32 = env.SharedLibrary(
target ='opengl32',
source = sources,
- LIBS = wgl + ws_gdi + glapi + mesa + drivers + gallium + glsl + env['LIBS'],
+ LIBS = wgl + ws_gdi + glapi + compiler + mesa + drivers + gallium + glsl + env['LIBS'],
)
env.Alias('opengl32', opengl32)
diff --git a/src/gallium/targets/libgl-xlib/SConscript b/src/gallium/targets/libgl-xlib/SConscript
index 687a8b9d3ed..e1c78dd06a0 100644
--- a/src/gallium/targets/libgl-xlib/SConscript
+++ b/src/gallium/targets/libgl-xlib/SConscript
@@ -29,6 +29,7 @@ env.Prepend(LIBS = [
ws_xlib,
glapi,
mesautil,
+ compiler,
mesa,
glsl,
gallium,
diff --git a/src/gallium/targets/osmesa/SConscript b/src/gallium/targets/osmesa/SConscript
index 4a9115ba1cf..eeaacbcaf64 100644
--- a/src/gallium/targets/osmesa/SConscript
+++ b/src/gallium/targets/osmesa/SConscript
@@ -12,6 +12,7 @@ env.Prepend(LIBS = [
st_osmesa,
ws_null,
glapi,
+ compiler,
mesa,
gallium,
trace,
diff --git a/src/glsl/Android.mk b/src/glsl/Android.mk
index f63b7daf26e..9cbb9a339a1 100644
--- a/src/glsl/Android.mk
+++ b/src/glsl/Android.mk
@@ -44,6 +44,8 @@ LOCAL_C_INCLUDES := \
$(MESA_TOP)/src/gallium/include \
$(MESA_TOP)/src/gallium/auxiliary
+LOCAL_STATIC_LIBRARIES := libmesa_compiler
+
LOCAL_MODULE := libmesa_glsl
include $(LOCAL_PATH)/Android.gen.mk
diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am
index ba7af7c779d..07d5267df5a 100644
--- a/src/glsl/Makefile.am
+++ b/src/glsl/Makefile.am
@@ -137,7 +137,10 @@ glcpp_glcpp_LDADD = \
$(top_builddir)/src/libglsl_util.la \
-lm
-libglsl_la_LIBADD = libglcpp.la
+libglsl_la_LIBADD = \
+ $(top_builddir)/src/compiler/libcompiler.la \
+ libglcpp.la
+
libglsl_la_SOURCES = \
glsl_lexer.cpp \
glsl_parser.cpp \
@@ -147,6 +150,9 @@ libglsl_la_SOURCES = \
$(NIR_GENERATED_FILES) \
$(GLSL_TO_NIR_FILES)
+libnir_la_LIBADD = \
+ $(top_builddir)/src/compiler/libcompiler.la
+
libnir_la_SOURCES = \
$(NIR_FILES) \
$(NIR_GENERATED_FILES)
diff --git a/src/glsl/Makefile.sources b/src/glsl/Makefile.sources
index 8b43eb88bec..5a576bc3c7e 100644
--- a/src/glsl/Makefile.sources
+++ b/src/glsl/Makefile.sources
@@ -81,9 +81,7 @@ NIR_FILES = \
nir/nir_vla.h \
nir/nir_worklist.c \
nir/nir_worklist.h \
- nir/nir_types.cpp \
- nir/shader_enums.h \
- nir/shader_enums.c
+ nir/nir_types.cpp
# libglsl
diff --git a/src/glsl/SConscript b/src/glsl/SConscript
index a9d38c163b7..e89d4e0eb01 100644
--- a/src/glsl/SConscript
+++ b/src/glsl/SConscript
@@ -65,7 +65,6 @@ for l in ('LIBGLCPP_FILES', 'LIBGLSL_FILES'):
# XXX: Remove this once we build NIR and NIR_FILES.
glsl_sources += [
'nir/glsl_types.cpp',
- 'nir/shader_enums.c',
]
if env['msvc']:
@@ -115,7 +114,7 @@ if env['platform'] == 'windows':
'user32',
])
-env.Prepend(LIBS = [glsl])
+env.Prepend(LIBS = [compiler, glsl])
glsl_compiler = env.Program(
target = 'glsl_compiler',
diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h
index e2bd2bfa025..79b35f7a416 100644
--- a/src/glsl/nir/nir.h
+++ b/src/glsl/nir/nir.h
@@ -35,7 +35,7 @@
#include "util/set.h"
#include "util/bitset.h"
#include "nir_types.h"
-#include "shader_enums.h"
+#include "compiler/shader_enums.h"
#include <stdio.h>
#include "nir_opcodes.h"
diff --git a/src/glsl/nir/nir_print.c b/src/glsl/nir/nir_print.c
index be9ca4e0f57..48ecb48a620 100644
--- a/src/glsl/nir/nir_print.c
+++ b/src/glsl/nir/nir_print.c
@@ -26,7 +26,7 @@
*/
#include "nir.h"
-#include "shader_enums.h"
+#include "compiler/shader_enums.h"
#include <stdio.h>
#include <stdlib.h>
diff --git a/src/mesa/drivers/x11/SConscript b/src/mesa/drivers/x11/SConscript
index d29f9874f44..45419973d39 100644
--- a/src/mesa/drivers/x11/SConscript
+++ b/src/mesa/drivers/x11/SConscript
@@ -18,6 +18,7 @@ env.Prepend(LIBPATH = env['X11_LIBPATH'])
env.Prepend(LIBS = [
glapi,
mesautil,
+ compiler,
glsl,
mesa,
])
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 15dd1ca7cdf..f3102dc21e3 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -42,7 +42,7 @@
#include "main/config.h"
#include "glapi/glapi.h"
#include "math/m_matrix.h" /* GLmatrix */
-#include "glsl/nir/shader_enums.h"
+#include "compiler/shader_enums.h"
#include "main/formats.h" /* MESA_FORMAT_COUNT */