Re: [Mesa-dev] [PATCH 8/9] automake: convert libglapi
Jon TURNEY jon.tur...@dronecode.org.uk writes: +libglapi_la_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 +libglapi_la_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 +libglapi_la_CPPFLAGS += \ + -DMAPI_MODE_UTIL +glapi_GLAPI_sources = $(GLAPI_SOURCES) +glapi_ASM_sources = $(GLAPI_ASM_SOURCES) +glapi_MAPI_sources = $(MAPI_UTIL_FILES) +endif s/libglapi_la_CPPFLAGS/AM_CPPFLAGS/g may get you prettier build output (at least with CFLAGS, it prepends the lib name to the .o files, which affects build logs). +noinst_LTLIBRARIES = libglapi.la + +libglapi_la_SOURCES = $(glapi_GLAPI_sources) $(glapi_ASM_sources) $(glapi_MAPI_sources) +libglapi_la_LIBADD = +libglapi_la_LDFLAGS = + +# list all possible sources, so automake understands what should be distributed +EXTRA_libglapi_la_SOURCES = $(X86_API) $(X86_64_API) $(SPARC_API) I don't think you need this if you're adding sources to the list using automake conditionals, and you've removed autoconf substitutions from the variables (which, afaik, is the reason for the no autoconf substitutions in SOURCES rule.) +# 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 This libglapi.a should be in CLEANFILES. pgp1XZcrQUeg2.pgp Description: PGP signature ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 8/9] automake: convert libglapi
On 11/07/2012 16:20, Eric Anholt wrote: s/libglapi_la_CPPFLAGS/AM_CPPFLAGS/g may get you prettier build output (at least with CFLAGS, it prepends the lib name to the .o files, which affects build logs). Thanks, that is a lot nicer :-) +noinst_LTLIBRARIES = libglapi.la + +libglapi_la_SOURCES = $(glapi_GLAPI_sources) $(glapi_ASM_sources) $(glapi_MAPI_sources) +libglapi_la_LIBADD = +libglapi_la_LDFLAGS = + +# list all possible sources, so automake understands what should be distributed +EXTRA_libglapi_la_SOURCES = $(X86_API) $(X86_64_API) $(SPARC_API) I don't think you need this if you're adding sources to the list using automake conditionals, and you've removed autoconf substitutions from the variables (which, afaik, is the reason for the no autoconf substitutions in SOURCES rule.) Yes, this is probably an excess of caution. +# 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 This libglapi.a should be in CLEANFILES. Okay. I've added the compatibility links to CLEANFILES in the appropriate places in this patch sequence, but there are lots of pre-existing ones which don't do this. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 8/9] 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 jon.tur...@dronecode.org.uk --- configs/current.in |1 - configure.ac|6 +-- src/egl/main/Makefile.am|2 +- src/glx/Makefile.am |2 +- src/mapi/glapi/.gitignore |1 + src/mapi/glapi/Makefile | 77 --- src/mapi/glapi/Makefile.am | 68 ++ src/mapi/glapi/tests/Makefile.am|2 +- src/mesa/drivers/osmesa/Makefile.am |2 +- src/mesa/drivers/x11/Makefile.am|2 +- 10 files changed, 75 insertions(+), 88 deletions(-) delete mode 100644 src/mapi/glapi/Makefile create mode 100644 src/mapi/glapi/Makefile.am diff --git a/configs/current.in b/configs/current.in index e0c0130..dc0dea8 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 c579fd3..7e55907 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 @@ -2177,6 +2172,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 9c3935b..ca5257a 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 37a938d..6ca85cd 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 ecae56a..25d3dfd 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 211f384..000 --- 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 :=
[Mesa-dev] [PATCH 8/9] 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 Signed-off-by: Jon TURNEY jon.tur...@dronecode.org.uk --- configs/current.in |1 - configure.ac|6 +-- src/egl/main/Makefile.am|2 +- src/glx/Makefile.am |2 +- src/mapi/glapi/.gitignore |1 + src/mapi/glapi/Makefile | 77 --- src/mapi/glapi/Makefile.am | 69 +++ src/mapi/glapi/tests/Makefile.am|2 +- src/mesa/drivers/osmesa/Makefile.am |2 +- src/mesa/drivers/x11/Makefile.am|2 +- 10 files changed, 76 insertions(+), 88 deletions(-) delete mode 100644 src/mapi/glapi/Makefile create mode 100644 src/mapi/glapi/Makefile.am diff --git a/configs/current.in b/configs/current.in index e0c0130..dc0dea8 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 c579fd3..7e55907 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 @@ -2177,6 +2172,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 9c3935b..ca5257a 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 37a938d..6ca85cd 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 ecae56a..25d3dfd 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 211f384..000 --- 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 := \ -
[Mesa-dev] [PATCH 8/9] 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 Signed-off-by: Jon TURNEY jon.tur...@dronecode.org.uk --- configs/current.in |1 - configure.ac|6 +-- src/egl/main/Makefile.am|2 +- src/glx/Makefile.am |2 +- src/mapi/glapi/.gitignore |1 + src/mapi/glapi/Makefile | 77 --- src/mapi/glapi/Makefile.am | 68 ++ src/mapi/glapi/tests/Makefile.am|2 +- src/mesa/drivers/osmesa/Makefile.am |2 +- src/mesa/drivers/x11/Makefile.am|2 +- 10 files changed, 75 insertions(+), 88 deletions(-) delete mode 100644 src/mapi/glapi/Makefile create mode 100644 src/mapi/glapi/Makefile.am diff --git a/configs/current.in b/configs/current.in index e0c0130..dc0dea8 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 c7a42cb..c4e4852 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 @@ -2177,6 +2172,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 9c3935b..ca5257a 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 37a938d..6ca85cd 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 ecae56a..25d3dfd 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 211f384..000 --- 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 := \ -