[Mesa-dev] [PATCH] automake: convert libOSmesa building
Laurent Carlier
lordheavym at gmail.com
Sat Jun 23 07:46:35 PDT 2012
This also currently fix the installation of libOSmesa.
---
configure.ac | 1 +
src/mesa/drivers/osmesa/Makefile | 51 ------------------------------------
src/mesa/drivers/osmesa/Makefile.am | 50 +++++++++++++++++++++++++++++++++++
src/mesa/drivers/osmesa/Makefile.old | 51 ++++++++++++++++++++++++++++++++++++
4 files changed, 102 insertions(+), 51 deletions(-)
delete mode 100644 src/mesa/drivers/osmesa/Makefile
create mode 100644 src/mesa/drivers/osmesa/Makefile.am
create mode 100644 src/mesa/drivers/osmesa/Makefile.old
diff --git a/configure.ac b/configure.ac
index 46265a2..0b4a6b7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2189,6 +2189,7 @@ AC_CONFIG_FILES([configs/current
src/mesa/drivers/dri/radeon/Makefile
src/mesa/drivers/dri/swrast/Makefile
src/mesa/drivers/x11/Makefile
+ src/mesa/drivers/osmesa/Makefile
src/mesa/gl.pc
src/mesa/osmesa.pc])
diff --git a/src/mesa/drivers/osmesa/Makefile b/src/mesa/drivers/osmesa/Makefile
deleted file mode 100644
index 39ab09a..0000000
--- a/src/mesa/drivers/osmesa/Makefile
+++ /dev/null
@@ -1,51 +0,0 @@
-# src/mesa/drivers/osmesa/Makefile for libOSMesa.so
-
-# Note that we may generate libOSMesa.so or libOSMesa16.so or libOSMesa32.so
-# with this Makefile
-
-
-TOP = ../../../..
-
-include $(TOP)/configs/current
-
-
-
-SOURCES = osmesa.c
-
-OBJECTS = $(SOURCES:.c=.o)
-
-INCLUDE_DIRS = \
- -I$(TOP)/include \
- -I$(TOP)/src/mapi \
- -I$(TOP)/src/mesa \
- -I$(TOP)/src/mesa/main
-
-CORE_MESA = \
- $(TOP)/src/mesa/libmesa.a \
- $(TOP)/src/mapi/glapi/libglapi.a \
- $(TOP)/src/glsl/libglsl.a
-
-.c.o:
- $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
-
-
-default: $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME)
-
-
-# libOSMesa can be used in conjuction with libGL or with all other Mesa
-# sources. We can also build libOSMesa16/libOSMesa32 by setting
-# -DCHAN_BITS=16/32.
-$(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME): $(OBJECTS) $(CORE_MESA)
- $(MKLIB) -o $(OSMESA_LIB) -linker '$(CXX)' -ldflags '$(LDFLAGS)' \
- -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
- -install $(TOP)/$(LIB_DIR) -cplusplus $(MKLIB_OPTIONS) \
- -id $(INSTALL_LIB_DIR)/lib$(OSMESA_LIB).$(MESA_MAJOR).dylib \
- $(OSMESA_LIB_DEPS) $(OBJECTS) $(CORE_MESA)
-
-
-
-clean:
- -rm -f *.o *~
-
-
-# XXX todo install rule?
diff --git a/src/mesa/drivers/osmesa/Makefile.am b/src/mesa/drivers/osmesa/Makefile.am
new file mode 100644
index 0000000..6542722
--- /dev/null
+++ b/src/mesa/drivers/osmesa/Makefile.am
@@ -0,0 +1,50 @@
+
+
+# Copyright © 2012 Matt Turner <mattst88 at gmail.com>
+#
+# 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.
+
+# Hack to make some of the non-automake variables work.
+TOP=$(top_builddir)
+
+AM_CFLAGS = \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/src/mapi \
+ -I$(top_srcdir)/src/mesa/ \
+ $(DEFINES) \
+ $(API_DEFINES)
+
+if HAVE_OSMESA_DRIVER
+lib_LTLIBRARIES = lib at OSMESA_LIB@.la
+endif
+
+lib at OSMESA_LIB@_la_SOURCES = osmesa.c
+
+lib at OSMESA_LIB@_la_LDFLAGS = -module -avoid-version -shared
+lib at OSMESA_LIB@_la_LIBADD = \
+ $(top_srcdir)/src/mesa/libmesa.a \
+ $(top_srcdir)/src/mapi/glapi/libglapi.a \
+ $(top_srcdir)/src/glsl/libglsl.a
+
+# 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: lib at OSMESA_LIB@.la
+ $(MKDIR_P) $(top_builddir)/$(LIB_DIR);
+ ln -f .libs/lib at OSMESA_LIB@.so $(top_builddir)/$(LIB_DIR)/lib at OSMESA_LIB@.so;
diff --git a/src/mesa/drivers/osmesa/Makefile.old b/src/mesa/drivers/osmesa/Makefile.old
new file mode 100644
index 0000000..39ab09a
--- /dev/null
+++ b/src/mesa/drivers/osmesa/Makefile.old
@@ -0,0 +1,51 @@
+# src/mesa/drivers/osmesa/Makefile for libOSMesa.so
+
+# Note that we may generate libOSMesa.so or libOSMesa16.so or libOSMesa32.so
+# with this Makefile
+
+
+TOP = ../../../..
+
+include $(TOP)/configs/current
+
+
+
+SOURCES = osmesa.c
+
+OBJECTS = $(SOURCES:.c=.o)
+
+INCLUDE_DIRS = \
+ -I$(TOP)/include \
+ -I$(TOP)/src/mapi \
+ -I$(TOP)/src/mesa \
+ -I$(TOP)/src/mesa/main
+
+CORE_MESA = \
+ $(TOP)/src/mesa/libmesa.a \
+ $(TOP)/src/mapi/glapi/libglapi.a \
+ $(TOP)/src/glsl/libglsl.a
+
+.c.o:
+ $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
+
+
+default: $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME)
+
+
+# libOSMesa can be used in conjuction with libGL or with all other Mesa
+# sources. We can also build libOSMesa16/libOSMesa32 by setting
+# -DCHAN_BITS=16/32.
+$(TOP)/$(LIB_DIR)/$(OSMESA_LIB_NAME): $(OBJECTS) $(CORE_MESA)
+ $(MKLIB) -o $(OSMESA_LIB) -linker '$(CXX)' -ldflags '$(LDFLAGS)' \
+ -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
+ -install $(TOP)/$(LIB_DIR) -cplusplus $(MKLIB_OPTIONS) \
+ -id $(INSTALL_LIB_DIR)/lib$(OSMESA_LIB).$(MESA_MAJOR).dylib \
+ $(OSMESA_LIB_DEPS) $(OBJECTS) $(CORE_MESA)
+
+
+
+clean:
+ -rm -f *.o *~
+
+
+# XXX todo install rule?
--
1.7.11
More information about the mesa-dev
mailing list