mirror of https://gitlab.freedesktop.org/mesa/mesa
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 <ian.d.romanick@intel.com> (v1) Reviewed-by: Matt Turner <mattst88@gmail.com> (v1)
This commit is contained in:
parent
a14582d7e2
commit
e326480e4e
|
@ -2,6 +2,7 @@
|
|||
*.dll
|
||||
*.exe
|
||||
*.ilk
|
||||
*.lo
|
||||
*.o
|
||||
*.obj
|
||||
*.os
|
||||
|
@ -19,9 +20,11 @@
|
|||
*~
|
||||
depend
|
||||
depend.bak
|
||||
bin/ltmain.sh
|
||||
lib
|
||||
lib64
|
||||
configure
|
||||
configure.lineno
|
||||
autom4te.cache
|
||||
aclocal.m4
|
||||
config.log
|
||||
|
@ -30,5 +33,6 @@ cscope*
|
|||
.scon*
|
||||
config.py
|
||||
build
|
||||
libtool
|
||||
manifest.txt
|
||||
.dir-locals.el
|
||||
|
|
|
@ -62,7 +62,7 @@ GALLIUM_WINSYS_DIRS = sw sw/xlib drm/vmware drm/intel svga/drm
|
|||
GALLIUM_TARGET_DIRS = dri-vmwgfx
|
||||
GALLIUM_STATE_TRACKERS_DIRS = egl dri
|
||||
|
||||
DRI_DIRS = i915 i965 nouveau r200 radeon swrast
|
||||
DRI_DIRS = i915 nouveau r200 radeon swrast
|
||||
|
||||
INTEL_LIBS = $(shell $(PKG_CONFIG) --libs libdrm_intel)
|
||||
INTEL_CFLAGS = $(shell $(PKG_CONFIG) --cflags libdrm_intel)
|
||||
|
|
13
configure.ac
13
configure.ac
|
@ -18,6 +18,9 @@ AC_CONFIG_AUX_DIR([bin])
|
|||
AC_CANONICAL_HOST
|
||||
AM_INIT_AUTOMAKE([foreign])
|
||||
|
||||
LT_PREREQ([2.2])
|
||||
LT_INIT([disable-static])
|
||||
|
||||
dnl Save user CFLAGS and CXXFLAGS so one can override the default ones
|
||||
USER_CFLAGS="$CFLAGS"
|
||||
USER_CXXFLAGS="$CXXFLAGS"
|
||||
|
@ -1282,9 +1285,18 @@ AC_SUBST([DRI_LIB_DEPS])
|
|||
case $DRI_DIRS in
|
||||
*i915*|*i965*)
|
||||
PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED])
|
||||
|
||||
case $DRI_DIRS in
|
||||
*i965*)
|
||||
HAVE_I965_DRI=yes;
|
||||
;;
|
||||
esac
|
||||
|
||||
;;
|
||||
esac
|
||||
|
||||
AM_CONDITIONAL(HAVE_I965_DRI, test x$HAVE_I965_DRI = xyes)
|
||||
|
||||
case $DRI_DIRS in
|
||||
*nouveau*)
|
||||
PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED])
|
||||
|
@ -1924,6 +1936,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
|
|||
|
||||
dnl Substitute the config
|
||||
AC_CONFIG_FILES([configs/autoconf
|
||||
src/mesa/drivers/dri/i965/Makefile
|
||||
tests/Makefile
|
||||
tests/glx/Makefile])
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
|
@ -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;
|
|
@ -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 :=
|
||||
|
|
Loading…
Reference in New Issue