From: Emil Velikov <emil.veli...@collabora.com> This way one can reuse it in glsl, nir or other compiler infrastructure without pulling nir as dependency.
Signed-off-by: Emil Velikov <emil.veli...@collabora.com> --- Android.mk | 1 + src/SConscript | 1 + src/compiler/Android.mk | 44 ++++++++++++++++++++++++++ src/compiler/Makefile.am | 21 +++++++++++- src/compiler/Makefile.sources | 4 ++- src/compiler/SConscript | 22 +++++++++++++ src/{glsl/nir => compiler}/shader_enums.c | 0 src/{glsl/nir => compiler}/shader_enums.h | 0 src/gallium/auxiliary/nir/tgsi_to_nir.c | 3 +- src/gallium/drivers/freedreno/ir3/ir3_nir.h | 1 - src/gallium/drivers/freedreno/ir3/ir3_shader.h | 3 +- src/glsl/Android.mk | 2 ++ src/glsl/Makefile.am | 8 ++++- src/glsl/Makefile.sources | 4 +-- src/glsl/nir/nir.h | 2 +- src/glsl/nir/nir_print.c | 2 +- src/mesa/main/mtypes.h | 2 +- 17 files changed, 108 insertions(+), 12 deletions(-) create mode 100644 src/compiler/Android.mk create mode 100644 src/compiler/SConscript rename src/{glsl/nir => compiler}/shader_enums.c (100%) rename src/{glsl/nir => compiler}/shader_enums.h (100%) diff --git a/Android.mk b/Android.mk index ed160fb..9b140a7 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 106b87d..8acf9b0 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 0000000..8ebd497 --- /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 8ed8205..d4d482f 100644 --- a/src/compiler/Makefile.am +++ b/src/compiler/Makefile.am @@ -22,4 +22,23 @@ 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) diff --git a/src/compiler/Makefile.sources b/src/compiler/Makefile.sources index f154062..73e1771 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 0000000..412da0e --- /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 similarity index 100% rename from src/glsl/nir/shader_enums.c rename to src/compiler/shader_enums.c diff --git a/src/glsl/nir/shader_enums.h b/src/compiler/shader_enums.h similarity index 100% rename from src/glsl/nir/shader_enums.h rename to 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 86c2ffa..3301175 100644 --- a/src/gallium/auxiliary/nir/tgsi_to_nir.c +++ b/src/gallium/auxiliary/nir/tgsi_to_nir.c @@ -22,12 +22,13 @@ * IN THE SOFTWARE. */ +#include "compiler/shader_enums.h" + #include "util/ralloc.h" #include "glsl/nir/nir.h" #include "glsl/nir/nir_control_flow.h" #include "glsl/nir/nir_builder.h" #include "glsl/list.h" -#include "glsl/nir/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 9950782..f3d3075 100644 --- a/src/gallium/drivers/freedreno/ir3/ir3_nir.h +++ b/src/gallium/drivers/freedreno/ir3/ir3_nir.h @@ -30,7 +30,6 @@ #define IR3_NIR_H_ #include "glsl/nir/nir.h" -#include "glsl/nir/shader_enums.h" bool ir3_nir_lower_if_else(nir_shader *shader); diff --git a/src/gallium/drivers/freedreno/ir3/ir3_shader.h b/src/gallium/drivers/freedreno/ir3/ir3_shader.h index 5d1cccb..d9bc768 100644 --- a/src/gallium/drivers/freedreno/ir3/ir3_shader.h +++ b/src/gallium/drivers/freedreno/ir3/ir3_shader.h @@ -29,8 +29,9 @@ #ifndef IR3_SHADER_H_ #define IR3_SHADER_H_ +#include "compiler/shader_enums.h" + #include "pipe/p_state.h" -#include "glsl/nir/shader_enums.h" #include "ir3.h" #include "disasm.h" diff --git a/src/glsl/Android.mk b/src/glsl/Android.mk index f63b7da..9cbb9a3 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 33a34e4..225ec27 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) +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 fa6ed3c..73df60e 100644 --- a/src/glsl/Makefile.sources +++ b/src/glsl/Makefile.sources @@ -83,9 +83,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/nir/nir.h b/src/glsl/nir/nir.h index 524717a..e69b3c8 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 c98a047..de1f34c 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/main/mtypes.h b/src/mesa/main/mtypes.h index d425571..7f0abe7 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 */ -- 2.6.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev