On Thu, Jan 12, 2012 at 7:08 PM, Eric Anholt <[email protected]> wrote: > 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. > --- > .gitignore | 4 ++ > configs/linux-dri | 2 +- > configure.ac | 13 +++++ > src/mesa/drivers/dri/i965/Android.mk | 6 +- > src/mesa/drivers/dri/i965/Makefile | 27 ---------- > src/mesa/drivers/dri/i965/Makefile.am | 75 > ++++++++++++++++++++++++++++ > src/mesa/drivers/dri/i965/Makefile.sources | 8 ++-- > 7 files changed, 100 insertions(+), 35 deletions(-) > delete mode 100644 src/mesa/drivers/dri/i965/Makefile > create mode 100644 src/mesa/drivers/dri/i965/Makefile.am > > diff --git a/.gitignore b/.gitignore > index a6243bf..a4394b6 100644 > --- a/.gitignore > +++ b/.gitignore > @@ -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 > diff --git a/configs/linux-dri b/configs/linux-dri > index e63790e..dde6408 100644 > --- a/configs/linux-dri > +++ b/configs/linux-dri > @@ -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) > diff --git a/configure.ac b/configure.ac > index 7c50e3c..1a120ec 100644 > --- a/configure.ac > +++ b/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]) > > diff --git a/src/mesa/drivers/dri/i965/Android.mk > b/src/mesa/drivers/dri/i965/Android.mk > index ec4a761..fbc6fc0 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 57af7a6..0000000 > --- 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 0000000..cb44aa4 > --- /dev/null > +++ b/src/mesa/drivers/dri/i965/Makefile.am > @@ -0,0 +1,75 @@ > + > + > +# 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 > diff --git a/src/mesa/drivers/dri/i965/Makefile.sources > b/src/mesa/drivers/dri/i965/Makefile.sources > index 3eeac6f..2b20885 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 := > --
Reviewed-by: Matt Turner <[email protected]> Looking at this, I see some things I missed in automaking src/glsl, so thanks! :) Can we simply remove i965_ASM_SOURCES? It doesn't seem to do anything. Matt _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
