summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2012-01-12 14:28:37 -0800
committerEric Anholt <[email protected]>2012-01-17 10:35:24 -0800
commite326480e4ebe8687948041c2dc5f5b7595559a2e (patch)
tree128c26347a1da185c38baaf5530b992003df0a05 /src
parenta14582d7e2ace05a3583cecff39f2bb4f41f7b79 (diff)
i965: Convert the build to using automake.
This does introduce a warning by the automake build system, that the missing-symbols test build is non-portable. That's true -- Mac OS X can't take something built as a loadable module and just link it as a library. Of course, we aren't building this on OS X at all, so it would be nice to be able to suppress it, but I haven't found a way. Still, the build is going to be much quieter than we have ever had before, so I think this is a fair tradeoff until we find a way to shut that warning up. v2: Put a link in /lib to avoid transition pains for people. Reviewed-by: Ian Romanick <[email protected]> (v1) Reviewed-by: Matt Turner <[email protected]> (v1)
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i965/Android.mk6
-rw-r--r--src/mesa/drivers/dri/i965/Makefile27
-rw-r--r--src/mesa/drivers/dri/i965/Makefile.am81
-rw-r--r--src/mesa/drivers/dri/i965/Makefile.sources8
4 files changed, 88 insertions, 34 deletions
diff --git a/src/mesa/drivers/dri/i965/Android.mk b/src/mesa/drivers/dri/i965/Android.mk
index ec4a7613099..fbc6fc0e1db 100644
--- a/src/mesa/drivers/dri/i965/Android.mk
+++ b/src/mesa/drivers/dri/i965/Android.mk
@@ -41,9 +41,9 @@ LOCAL_C_INCLUDES := \
$(DRM_TOP)/intel
LOCAL_SRC_FILES := \
- $(i965_C_SOURCES) \
- $(i965_CXX_SOURCES) \
- $(i965_ASM_SOURCES)
+ $(i965_C_FILES) \
+ $(i965_CXX_FILES) \
+ $(i965_ASM_FILES)
LOCAL_WHOLE_STATIC_LIBRARIES := \
$(MESA_DRI_WHOLE_STATIC_LIBRARIES)
diff --git a/src/mesa/drivers/dri/i965/Makefile b/src/mesa/drivers/dri/i965/Makefile
deleted file mode 100644
index 57af7a6f138..00000000000
--- a/src/mesa/drivers/dri/i965/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-TOP = ../../../../..
-MESA_TOP := $(TOP)
-
-# Import variables i965_*.
-include Makefile.sources
-
-include $(TOP)/configs/current
-
-LIBNAME = i965_dri.so
-
-include ../Makefile.defines
-
-C_SOURCES := \
- $(i965_C_SOURCES) \
- $(COMMON_SOURCES)
-
-CXX_SOURCES := $(i965_CXX_SOURCES)
-ASM_SOURCES := $(i965_ASM_SOURCES)
-DRIVER_DEFINES := $(addprefix -I, $(i965_INCLUDES))
-
-INCLUDES += $(INTEL_CFLAGS)
-DRI_LIB_DEPS += $(INTEL_LIBS)
-
-include ../Makefile.targets
-
-intel_decode.o: ../intel/intel_decode.c
-intel_tex_layout.o: ../intel/intel_tex_layout.c
diff --git a/src/mesa/drivers/dri/i965/Makefile.am b/src/mesa/drivers/dri/i965/Makefile.am
new file mode 100644
index 00000000000..55123814a7b
--- /dev/null
+++ b/src/mesa/drivers/dri/i965/Makefile.am
@@ -0,0 +1,81 @@
+
+
+# Copyright © 2011 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 (including the next
+# paragraph) 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.
+
+include Makefile.sources
+
+# Hack to make some of the non-automake variables work.
+TOP=$(top_builddir)
+
+AM_CFLAGS = \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/src/ \
+ -I$(top_srcdir)/src/mapi \
+ -I$(top_srcdir)/src/mesa/ \
+ -I../common \
+ -I../intel \
+ -I../intel/server \
+ $(DEFINES) \
+ $(ASM_FLAGS) \
+ $(API_DEFINES) \
+ $(INTEL_CFLAGS)
+
+AM_CXXFLAGS = $(AM_CFLAGS)
+
+dridir = $(DRI_DRIVER_INSTALL_DIR)
+
+if HAVE_I965_DRI
+dri_LTLIBRARIES = i965_dri.la
+endif
+
+# These should be an ltlibrary that's built once. Let's fix that once
+# the other drivers are converted to automake.
+COMMON_FILES = \
+ ../common/utils.c \
+ ../common/dri_util.c \
+ ../common/xmlconfig.c
+
+i965_dri_la_SOURCES = \
+ $(i965_C_FILES) \
+ $(i965_CXX_FILES) \
+ $(COMMON_FILES)
+
+i965_dri_la_LDFLAGS = -module -avoid-version -shared
+i965_dri_la_LIBADD = \
+ $(DRI_LIB_DEPS) \
+ $(DRICORE_LIB_DEPS) \
+ $(INTEL_LIBS)
+
+# Test build to make sure that we didn't leave any undefined symbols in the
+# driver.
+noinst_PROGRAMS = i965_symbols_test
+
+i965_symbols_test_SOURCES = \
+ ../common/dri_test.c
+i965_symbols_test_LDADD = \
+ i965_dri.la
+
+# Provide compatibility with scripts for the old Mesa build system for
+# a while by putting a link to the driver into /lib of the build tree.
+all-local: i965_dri.la
+ $(MKDIR_P) $(top_builddir)/$(LIB_DIR);
+ ln -f .libs/i965_dri.so $(top_builddir)/$(LIB_DIR)/i965_dri.so;
diff --git a/src/mesa/drivers/dri/i965/Makefile.sources b/src/mesa/drivers/dri/i965/Makefile.sources
index 3eeac6f91b2..2b20885f30b 100644
--- a/src/mesa/drivers/dri/i965/Makefile.sources
+++ b/src/mesa/drivers/dri/i965/Makefile.sources
@@ -2,7 +2,7 @@ i965_INCLUDES := \
$(MESA_TOP)/src \
$(MESA_TOP)/src/mesa/drivers/dri/intel
-i965_C_SOURCES := \
+i965_C_FILES := \
intel_batchbuffer.c \
intel_blit.c \
intel_buffer_objects.c \
@@ -109,9 +109,9 @@ i965_C_SOURCES := \
gen7_viewport_state.c \
gen7_vs_state.c \
gen7_wm_state.c \
- gen7_wm_surface_state.c \
+ gen7_wm_surface_state.c
-i965_CXX_SOURCES := \
+i965_CXX_FILES := \
brw_cubemap_normalize.cpp \
brw_fs.cpp \
brw_fs_emit.cpp \
@@ -127,4 +127,4 @@ i965_CXX_SOURCES := \
brw_vec4_reg_allocate.cpp \
brw_vec4_visitor.cpp
-i965_ASM_SOURCES :=
+i965_ASM_FILES :=