summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary
diff options
context:
space:
mode:
authorEmil Velikov <[email protected]>2014-11-10 18:59:34 +0000
committerEmil Velikov <[email protected]>2014-11-26 20:09:09 +0000
commitc642e87d9f423c78bf631410e858f675292ba0c4 (patch)
tree085800f7016c2f621169166d3638bd4dcfc379ab /src/gallium/auxiliary
parent86a51eb86177971d9a0c0f0028cc143b13486a07 (diff)
auxiliary/vl: rework the build of the VL code
Rather than shoving all the VL code for non-VL targets, increasing their size, just split it out and use it when needed. This gives us the side effect of building vl_winsys_dri.c once, dropping a few automake warnings, and reducing the size of the dri modules as below text data bss dec hex filename 5850573 187549 1977928 8016050 7a50b2 before/nouveau_dri.so 5508486 187100 391240 6086826 5ce0aa after/nouveau_dri.so The above data is for a nouveau + swrast + kms_swrast 'megadriver'. v2: Do not include the vl sources in the auxiliary library. v3: Rebase. Add nine. Cc: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
Diffstat (limited to 'src/gallium/auxiliary')
-rw-r--r--src/gallium/auxiliary/Android.mk2
-rw-r--r--src/gallium/auxiliary/Makefile.am26
-rw-r--r--src/gallium/auxiliary/Makefile.sources1
-rw-r--r--src/gallium/auxiliary/SConscript2
4 files changed, 26 insertions, 5 deletions
diff --git a/src/gallium/auxiliary/Android.mk b/src/gallium/auxiliary/Android.mk
index 2e7d7a8c701..0bc18317086 100644
--- a/src/gallium/auxiliary/Android.mk
+++ b/src/gallium/auxiliary/Android.mk
@@ -30,7 +30,7 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES := \
$(C_SOURCES) \
- $(VL_SOURCES)
+ $(VL_STUB_SOURCES)
LOCAL_C_INCLUDES := \
$(GALLIUM_TOP)/auxiliary/util \
diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am
index 8010d9b2ae4..4085e510bd1 100644
--- a/src/gallium/auxiliary/Makefile.am
+++ b/src/gallium/auxiliary/Makefile.am
@@ -18,7 +18,6 @@ AM_CXXFLAGS = $(VISIBILITY_CXXFLAGS)
libgallium_la_SOURCES = \
$(C_SOURCES) \
- $(VL_SOURCES) \
$(GENERATED_SOURCES)
if HAVE_MESA_LLVM
@@ -52,6 +51,28 @@ noinst_LTLIBRARIES += libgalliumvl_stub.la
libgalliumvl_stub_la_SOURCES = \
$(VL_STUB_SOURCES)
+if NEED_GALLIUM_VL
+
+noinst_LTLIBRARIES += libgalliumvl.la
+
+libgalliumvl_la_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(VL_CFLAGS) \
+ $(LIBDRM_CFLAGS) \
+ $(GALLIUM_PIPE_LOADER_DEFINES) \
+ -DPIPE_SEARCH_DIR=\"$(libdir)/gallium-pipe\"
+
+if HAVE_GALLIUM_STATIC_TARGETS
+libgalliumvl_la_CFLAGS += \
+ -DGALLIUM_STATIC_TARGETS=1
+
+endif # HAVE_GALLIUM_STATIC_TARGETS
+
+libgalliumvl_la_SOURCES = \
+ $(VL_SOURCES)
+
+endif
+
EXTRA_DIST = \
Android.mk SConscript \
indices/u_indices.c \
@@ -62,5 +83,4 @@ EXTRA_DIST = \
util/u_format.csv \
util/u_format_pack.py \
util/u_format_parse.py \
- util/u_format_table.py \
- vl/vl_winsys_dri.c
+ util/u_format_table.py
diff --git a/src/gallium/auxiliary/Makefile.sources b/src/gallium/auxiliary/Makefile.sources
index eefb013630f..862626461b1 100644
--- a/src/gallium/auxiliary/Makefile.sources
+++ b/src/gallium/auxiliary/Makefile.sources
@@ -335,6 +335,7 @@ VL_SOURCES := \
vl/vl_video_buffer.h \
vl/vl_vlc.h \
vl/vl_winsys.h \
+ vl/vl_winsys_dri.c \
vl/vl_zscan.c \
vl/vl_zscan.h
diff --git a/src/gallium/auxiliary/SConscript b/src/gallium/auxiliary/SConscript
index 0acd3c7d285..6cb6b8c6565 100644
--- a/src/gallium/auxiliary/SConscript
+++ b/src/gallium/auxiliary/SConscript
@@ -36,7 +36,7 @@ env.Depends('util/u_format_table.c', [
source = env.ParseSourceList('Makefile.sources', [
'C_SOURCES',
- 'VL_SOURCES',
+ 'VL_STUB_SOURCES',
'GENERATED_SOURCES'
])