From: Jon TURNEY Date: Fri, 29 Jun 2012 17:09:37 +0000 (+0100) Subject: automake: convert libglapi X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b2a37e242ea60fde6d616814a30b89325875d0df;p=mesa.git automake: convert libglapi * "configure substitutions are not allowed in _SOURCES variables" in automake, so remove the AC_SUBST'ed GLAPI_ASM_SOURCES and instead use some AM_CONDITIONALS to choose which asm sources are used * Change GLAPI_LIB to point to the .la file in other Makefile.am files, and make a link to the .a file for the convenience of other Makefiles which have not yet been converted to automake v2: - Use AM_CPPFLAGS for cleaner build output - EXTRA_SOURCES is not needed - Remove libglapi.a compatibility link on clean Signed-off-by: Jon TURNEY Reviewed-by: Eric Anholt Tested-by: Matt Turner --- diff --git a/configs/current.in b/configs/current.in index e0c01308849..dc0dea8359f 100644 --- a/configs/current.in +++ b/configs/current.in @@ -47,7 +47,6 @@ DLOPEN_LIBS = @DLOPEN_LIBS@ # Source selection MESA_ASM_FILES = @MESA_ASM_FILES@ -GLAPI_ASM_SOURCES = @GLAPI_ASM_SOURCES@ # Misc tools and flags MAKE = @MAKE@ diff --git a/configure.ac b/configure.ac index a0fd13feb4b..00a1d5d3564 100644 --- a/configure.ac +++ b/configure.ac @@ -454,7 +454,6 @@ AC_ARG_ENABLE([asm], ) asm_arch="" MESA_ASM_FILES="" -GLAPI_ASM_SOURCES="" AC_MSG_CHECKING([whether to enable assembly]) test "x$enable_asm" = xno && AC_MSG_RESULT([no]) # disable if cross compiling on x86/x86_64 since we must run gen_matypes @@ -503,19 +502,16 @@ if test "x$enable_asm" = xyes; then x86) DEFINES="$DEFINES -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM" MESA_ASM_FILES='$(X86_FILES)' - GLAPI_ASM_SOURCES='$(X86_API)' AC_MSG_RESULT([yes, x86]) ;; x86_64) DEFINES="$DEFINES -DUSE_X86_64_ASM" MESA_ASM_FILES='$(X86_64_FILES)' - GLAPI_ASM_SOURCES='$(X86_64_API)' AC_MSG_RESULT([yes, x86_64]) ;; sparc) DEFINES="$DEFINES -DUSE_SPARC_ASM" MESA_ASM_FILES='$(SPARC_FILES)' - GLAPI_ASM_SOURCES='$(SPARC_API)' AC_MSG_RESULT([yes, sparc]) ;; *) @@ -524,7 +520,6 @@ if test "x$enable_asm" = xyes; then esac fi AC_SUBST([MESA_ASM_FILES]) -AC_SUBST([GLAPI_ASM_SOURCES]) dnl PIC code macro MESA_PIC_FLAGS @@ -2158,6 +2153,7 @@ AC_CONFIG_FILES([configs/current src/glsl/tests/Makefile src/glx/Makefile src/glx/tests/Makefile + src/mapi/glapi/Makefile src/mapi/glapi/gen/Makefile src/mapi/shared-glapi/Makefile src/mapi/glapi/tests/Makefile diff --git a/src/egl/main/Makefile.am b/src/egl/main/Makefile.am index 9c3935b7857..ca5257a95f6 100644 --- a/src/egl/main/Makefile.am +++ b/src/egl/main/Makefile.am @@ -19,7 +19,7 @@ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. -GLAPI_LIB = ../mapi/glapi/libglapi.a +GLAPI_LIB = ../mapi/glapi/libglapi.la if HAVE_XF86VIDMODE EXTRA_DEFINES_XF86VIDMODE = -DXF86VIDMODE diff --git a/src/glx/Makefile.am b/src/glx/Makefile.am index 37a938d14ea..6ca85cd3a63 100644 --- a/src/glx/Makefile.am +++ b/src/glx/Makefile.am @@ -26,7 +26,7 @@ endif SUBDIRS=tests -GLAPI_LIB = ../mapi/glapi/libglapi.a +GLAPI_LIB = ../mapi/glapi/libglapi.la if HAVE_XF86VIDMODE EXTRA_DEFINES_XF86VIDMODE = -DXF86VIDMODE diff --git a/src/mapi/glapi/.gitignore b/src/mapi/glapi/.gitignore index ecae56a3f3f..25d3dfdcf8f 100644 --- a/src/mapi/glapi/.gitignore +++ b/src/mapi/glapi/.gitignore @@ -7,3 +7,4 @@ glapi_x86.S glapitable.h glapitemp.h glprocs.h +\Makefile diff --git a/src/mapi/glapi/Makefile b/src/mapi/glapi/Makefile deleted file mode 100644 index 211f384a77c..00000000000 --- a/src/mapi/glapi/Makefile +++ /dev/null @@ -1,77 +0,0 @@ -# src/mapi/glapi/Makefile - -TOP = ../../.. -include $(TOP)/configs/current - -TARGET = glapi - -MAPI = $(TOP)/src/mapi/mapi - -include sources.mak -include $(MAPI)/sources.mak - -glapi_CPPFLAGS := \ - -I$(TOP)/include \ - -I$(TOP)/src/mapi \ - -I$(TOP)/src/mesa - -ifeq ($(SHARED_GLAPI),1) -glapi_CPPFLAGS += \ - -DMAPI_MODE_BRIDGE \ - -DMAPI_ABI_HEADER=\"glapi/glapi_mapi_tmp.h\" -glapi_SOURCES := $(MAPI_BRIDGE_FILES) - -glapi_GLAPI_OBJECTS := -glapi_ASM_OBJECTS := -glapi_MAPI_OBJECTS := $(notdir $(MAPI_BRIDGE_FILES:.c=.o)) -else -glapi_CPPFLAGS += -DMAPI_MODE_UTIL -glapi_SOURCES := $(GLAPI_SOURCES) $(MAPI_UTIL_FILES) - -glapi_GLAPI_OBJECTS := $(GLAPI_SOURCES:.c=.o) -glapi_ASM_OBJECTS := $(GLAPI_ASM_SOURCES:.S=.o) -glapi_MAPI_OBJECTS := $(notdir $(MAPI_UTIL_FILES:.c=.o)) -endif # SHARED_GLAPI - -glapi_OBJECTS := \ - $(glapi_GLAPI_OBJECTS) \ - $(glapi_ASM_OBJECTS) \ - $(glapi_MAPI_OBJECTS) - -default: depend lib$(TARGET).a - -lib$(TARGET).a: $(glapi_OBJECTS) - @$(MKLIB) -o $(TARGET) -static $(glapi_OBJECTS) - -$(glapi_GLAPI_OBJECTS): %.o: %.c - $(CC) -c $(glapi_CPPFLAGS) $(CFLAGS) $< -o $@ - -$(glapi_ASM_OBJECTS): %.o: %.S - $(CC) -c $(glapi_CPPFLAGS) $(CFLAGS) $< -o $@ - -$(glapi_MAPI_OBJECTS): %.o: $(MAPI)/%.c - $(CC) -c $(glapi_CPPFLAGS) $(CFLAGS) $< -o $@ - -install: - -clean: - -rm -f $(glapi_OBJECTS) - -rm -f lib$(TARGET).a - -rm -f depend depend.bak - -ifeq ($(SHARED_GLAPI),1) -# workaround a bug in makedepend -makedepend_CPPFLAGS := \ - $(filter-out -DMAPI_ABI_HEADER=%, $(glapi_CPPFLAGS)) -$(glapi_OBJECTS): glapi_mapi_tmp.h -else -makedepend_CPPFLAGS := $(glapi_CPPFLAGS) -endif - -depend: $(glapi_SOURCES) - @ echo "running $(MKDEP)" - @ touch depend - @$(MKDEP) $(MKDEP_OPTIONS) -f- $(DEFINES) $(makedepend_CPPFLAGS) \ - $(glapi_SOURCES) 2>/dev/null | sed -e 's,^$(MAPI)/,,' > depend - --include depend diff --git a/src/mapi/glapi/Makefile.am b/src/mapi/glapi/Makefile.am new file mode 100644 index 00000000000..668d7faa921 --- /dev/null +++ b/src/mapi/glapi/Makefile.am @@ -0,0 +1,68 @@ +# Copyright © 2012 Jon TURNEY +# +# 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. + +TOP = $(top_srcdir) +include sources.mak +include ../mapi/sources.mak + +AM_CPPFLAGS = \ + $(DEFINES) \ + -I$(top_srcdir)/include \ + -I$(top_srcdir)/src/mapi \ + -I$(top_srcdir)/src/mesa + +if HAVE_X86_ASM +GLAPI_ASM_SOURCES = $(X86_API) +endif +if HAVE_X86_64_ASM +GLAPI_ASM_SOURCES = $(X86_64_API) +endif +if HAVE_SPARC_ASM +GLAPI_ASM_SOURCES = $(SPARC_API) +endif + +if HAVE_SHARED_GLAPI +AM_CPPFLAGS += \ + -DMAPI_MODE_BRIDGE \ + -DMAPI_ABI_HEADER=\"glapi/glapi_mapi_tmp.h\" +glapi_GLAPI_sources = +glapi_ASM_sources = +glapi_MAPI_sources = $(MAPI_BRIDGE_FILES) +else +AM_CPPFLAGS += \ + -DMAPI_MODE_UTIL +glapi_GLAPI_sources = $(GLAPI_SOURCES) +glapi_ASM_sources = $(GLAPI_ASM_SOURCES) +glapi_MAPI_sources = $(MAPI_UTIL_FILES) +endif + +noinst_LTLIBRARIES = libglapi.la + +libglapi_la_SOURCES = $(glapi_GLAPI_sources) $(glapi_ASM_sources) $(glapi_MAPI_sources) +libglapi_la_LIBADD = +libglapi_la_LDFLAGS = + +# Provide compatibility with scripts for the old Mesa build system for +# a while by putting a link to libglapi.a here +all-local: libglapi.la + ln -sf .libs/libglapi.a libglapi.a + +CLEANFILES = libglapi.a diff --git a/src/mapi/glapi/tests/Makefile.am b/src/mapi/glapi/tests/Makefile.am index 96b63f54ff9..96fc8713bd3 100644 --- a/src/mapi/glapi/tests/Makefile.am +++ b/src/mapi/glapi/tests/Makefile.am @@ -10,6 +10,6 @@ glapi_test_SOURCES = \ check_table.cpp glapi_test_LDADD = \ - $(top_builddir)/src/mapi/glapi/libglapi.a \ + $(top_builddir)/src/mapi/glapi/libglapi.la \ $(top_builddir)/src/gtest/libgtest.la \ -lpthread diff --git a/src/mesa/drivers/osmesa/Makefile.am b/src/mesa/drivers/osmesa/Makefile.am index 6dadf4614fc..9989c92620f 100644 --- a/src/mesa/drivers/osmesa/Makefile.am +++ b/src/mesa/drivers/osmesa/Makefile.am @@ -40,7 +40,7 @@ lib@OSMESA_LIB@_la_SOURCES = osmesa.c lib@OSMESA_LIB@_la_LDFLAGS = -module -version-number @OSMESA_VERSION@ -shared lib@OSMESA_LIB@_la_LIBADD = \ $(top_builddir)/src/mesa/libmesa.la \ - $(top_builddir)/src/mapi/glapi/libglapi.a \ + $(top_builddir)/src/mapi/glapi/libglapi.la \ $(top_builddir)/src/glsl/libglsl.la # Provide compatibility with scripts for the old Mesa build system for diff --git a/src/mesa/drivers/x11/Makefile.am b/src/mesa/drivers/x11/Makefile.am index 4948e8f9c76..52febbb8d1b 100644 --- a/src/mesa/drivers/x11/Makefile.am +++ b/src/mesa/drivers/x11/Makefile.am @@ -57,7 +57,7 @@ GL_PATCH = 0 libGL_la_LIBADD = \ $(top_builddir)/src/mesa/libmesa.la \ - $(top_builddir)/src/mapi/glapi/libglapi.a + $(top_builddir)/src/mapi/glapi/libglapi.la libGL_la_LDFLAGS = \ -version-number $(GL_MAJOR):$(GL_MINOR):$(GL_PATCH) \ $(GL_LIB_DEPS)