diff options
-rw-r--r-- | configs/autoconf.in | 2 | ||||
-rw-r--r-- | configure.ac | 10 | ||||
-rw-r--r-- | src/mesa/Makefile | 17 | ||||
-rw-r--r-- | src/mesa/drivers/osmesa/.gitignore | 7 | ||||
-rw-r--r-- | src/mesa/drivers/osmesa/Makefile | 53 | ||||
-rw-r--r-- | src/mesa/drivers/osmesa/Makefile.am | 82 | ||||
-rw-r--r-- | src/mesa/drivers/osmesa/osmesa.pc.in (renamed from src/mesa/osmesa.pc.in) | 10 |
7 files changed, 103 insertions, 78 deletions
diff --git a/configs/autoconf.in b/configs/autoconf.in index 3de341241ed..a8aa42dd887 100644 --- a/configs/autoconf.in +++ b/configs/autoconf.in @@ -129,8 +129,6 @@ MOTIF_CFLAGS = @MOTIF_CFLAGS@ # Library/program dependencies GL_LIB_DEPS = $(EXTRA_LIB_PATH) @GL_LIB_DEPS@ -OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @OSMESA_MESA_DEPS@ \ - $(EXTRA_LIB_PATH) @OSMESA_LIB_DEPS@ EGL_LIB_DEPS = $(EXTRA_LIB_PATH) @EGL_LIB_DEPS@ GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLU_MESA_DEPS@ \ $(EXTRA_LIB_PATH) @GLU_LIB_DEPS@ diff --git a/configure.ac b/configure.ac index d42a52941bd..94817987713 100644 --- a/configure.ac +++ b/configure.ac @@ -299,6 +299,8 @@ xnono ) enable_static=yes ;; esac +AM_CONDITIONAL(BUILD_STATIC, test "x$enable_static" = xyes) +AM_CONDITIONAL(BUILD_SHARED, test "x$enable_shared" = xyes) dnl dnl mklib options @@ -1331,6 +1333,9 @@ x16|x32) AC_MSG_ERROR([OSMesa bits '$osmesa_bits' is not a valid option]) ;; esac +AM_CONDITIONAL(HAVE_OSMESA8, test "x$osmesa_bits" = x8) +AM_CONDITIONAL(HAVE_OSMESA16, test "x$osmesa_bits" = x16) +AM_CONDITIONAL(HAVE_OSMESA32, test "x$osmesa_bits" = x32) if test "x$enable_osmesa" = xyes; then # only link libraries with osmesa if shared @@ -1339,12 +1344,9 @@ if test "x$enable_osmesa" = xyes; then else OSMESA_LIB_DEPS="" fi - OSMESA_MESA_DEPS="" OSMESA_PC_LIB_PRIV="-lm -lpthread $SELINUX_LIBS $DLOPEN_LIBS" fi AC_SUBST([OSMESA_LIB_DEPS]) -AC_SUBST([OSMESA_MESA_DEPS]) -AC_SUBST([OSMESA_PC_REQ]) AC_SUBST([OSMESA_PC_LIB_PRIV]) dnl @@ -1929,6 +1931,8 @@ AC_CONFIG_FILES([configs/autoconf src/mesa/drivers/dri/r200/Makefile src/mesa/drivers/dri/radeon/Makefile src/mesa/drivers/dri/swrast/Makefile + src/mesa/drivers/osmesa/osmesa.pc + src/mesa/drivers/osmesa/Makefile tests/Makefile tests/glx/Makefile]) diff --git a/src/mesa/Makefile b/src/mesa/Makefile index 0e15d61bd8d..80e9562bb8c 100644 --- a/src/mesa/Makefile +++ b/src/mesa/Makefile @@ -189,15 +189,6 @@ gl_pcedit = sed \ gl.pc: gl.pc.in $(gl_pcedit) $< > $@ -osmesa_pcedit = sed \ - $(pcedit) \ - -e 's,@OSMESA_LIB@,$(OSMESA_LIB),' \ - -e 's,@OSMESA_PC_REQ@,$(OSMESA_PC_REQ),' \ - -e 's,@OSMESA_PC_LIB_PRIV@,$(OSMESA_PC_LIB_PRIV),' - -osmesa.pc: osmesa.pc.in - $(osmesa_pcedit) $< > $@ - install-headers: $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL $(INSTALL) -m 644 $(TOP)/include/GL/*.h \ @@ -210,12 +201,8 @@ install-libgl: default gl.pc install-headers $(DESTDIR)$(INSTALL_LIB_DIR) $(INSTALL) -m 644 gl.pc $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig -install-osmesa: default osmesa.pc - $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR) - $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig - $(MINSTALL) $(TOP)/$(LIB_DIR)/$(OSMESA_LIB_GLOB) \ - $(DESTDIR)$(INSTALL_LIB_DIR) - $(INSTALL) -m 644 osmesa.pc $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig +install-osmesa: default + cd drivers/osmesa && $(MAKE) install install-dri: default cd drivers/dri && $(MAKE) install diff --git a/src/mesa/drivers/osmesa/.gitignore b/src/mesa/drivers/osmesa/.gitignore new file mode 100644 index 00000000000..1d0b65f4273 --- /dev/null +++ b/src/mesa/drivers/osmesa/.gitignore @@ -0,0 +1,7 @@ +.deps +.libs +Makefile +Makefile.in +libOSMesa.la +libOSMesa16.la +libOSMesa32.la diff --git a/src/mesa/drivers/osmesa/Makefile b/src/mesa/drivers/osmesa/Makefile deleted file mode 100644 index 005f4d5ba55..00000000000 --- a/src/mesa/drivers/osmesa/Makefile +++ /dev/null @@ -1,53 +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 - -OSMESA_LIB_DEPS := -L$(TOP)/$(LIB_DIR) -l$(GLAPI_LIB) $(OSMESA_LIB_DEPS) - -.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 00000000000..514e95d0013 --- /dev/null +++ b/src/mesa/drivers/osmesa/Makefile.am @@ -0,0 +1,82 @@ + + +# Copyright © 2012 Matt Turner <[email protected]> +# +# 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_srcdir) + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = osmesa.pc + +AM_CPPFLAGS = \ + -I$(top_srcdir)/include \ + -I$(top_srcdir)/src/mapi \ + -I$(top_srcdir)/src/mesa \ + -I$(top_srcdir)/src/mesa/main + +LIBADD = \ + $(top_srcdir)/src/mesa/libmesa.a \ + $(top_srcdir)/src/mapi/glapi/libglapi.a \ + $(top_srcdir)/src/glsl/libglsl.a \ + $(OSMESA_LIB_DEPS) + +if BUILD_SHARED +LIBOSMESA = lib$(OSMESA_LIB).so +endif + +if BUILD_STATIC +LIBOSMESA = lib$(OSMESA_LIB).a +endif + +if HAVE_OSMESA8 +lib_LTLIBRARIES = libOSMesa.la + +libOSMesa_la_SOURCES = osmesa.c +libOSMesa_la_LDFLAGS = -no-undefined -version-info 8:0:0 #FIXME +libOSMesa_la_LIBADD = $(LIBADD) +endif + +if HAVE_OSMESA16 +lib_LTLIBRARIES = libOSMesa16.la + +libOSMesa16_la_SOURCES = osmesa.c +libOSMesa16_la_LDFLAGS = -no-undefined -version-info 8:0:0 # FIXME +libOSMesa16_la_LIBADD = $(LIBADD) +endif + +if HAVE_OSMESA32 +lib_LTLIBRARIES = libOSMesa32.la + +libOSMesa32_la_SOURCES = osmesa.c +libOSMesa32_la_LDFLAGS = -no-undefined -version-info 8:0:0 # FIXME +libOSMesa32_la_LIBADD = $(LIBADD) +endif + +# Provide compatibility with scripts for the old Mesa build system for +# a while by putting a link to the library into /lib of the build tree. +all-local: lib$(OSMESA_LIB).la + $(MKDIR_P) $(top_builddir)/$(LIB_DIR); +if BUILD_SHARED + ln -f .libs/$(LIBOSMESA).8.0.0 $(top_builddir)/$(LIB_DIR)/$(LIBOSMESA).8.0.0; + ln -f .libs/$(LIBOSMESA).8 $(top_builddir)/$(LIB_DIR)/$(LIBOSMESA).8; +endif + ln -f .libs/$(LIBOSMESA) $(top_builddir)/$(LIB_DIR)/$(LIBOSMESA); diff --git a/src/mesa/osmesa.pc.in b/src/mesa/drivers/osmesa/osmesa.pc.in index 05327f40aa0..ae7a20daa71 100644 --- a/src/mesa/osmesa.pc.in +++ b/src/mesa/drivers/osmesa/osmesa.pc.in @@ -1,11 +1,11 @@ -prefix=@INSTALL_DIR@ -exec_prefix=${prefix} -libdir=@INSTALL_LIB_DIR@ -includedir=@INSTALL_INC_DIR@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ Name: osmesa Description: Mesa Off-screen Rendering library -Requires: @OSMESA_PC_REQ@ +Requires: Version: @VERSION@ Libs: -L${libdir} -l@OSMESA_LIB@ Libs.private: @OSMESA_PC_LIB_PRIV@ |