summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configs/autoconf.in2
-rw-r--r--configure.ac10
-rw-r--r--src/mesa/Makefile17
-rw-r--r--src/mesa/drivers/osmesa/.gitignore7
-rw-r--r--src/mesa/drivers/osmesa/Makefile53
-rw-r--r--src/mesa/drivers/osmesa/Makefile.am82
-rw-r--r--src/mesa/osmesa.pc.in (renamed from src/mesa/drivers/osmesa/osmesa.pc.in)10
7 files changed, 78 insertions, 103 deletions
diff --git a/configs/autoconf.in b/configs/autoconf.in
index bb8f2c3c901..0ec51716603 100644
--- a/configs/autoconf.in
+++ b/configs/autoconf.in
@@ -129,6 +129,8 @@ 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 1700058338d..1353c28c9ea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -302,8 +302,6 @@ 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
@@ -1336,9 +1334,6 @@ 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
@@ -1347,9 +1342,12 @@ 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
@@ -1934,8 +1932,6 @@ 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 80e9562bb8c..0e15d61bd8d 100644
--- a/src/mesa/Makefile
+++ b/src/mesa/Makefile
@@ -189,6 +189,15 @@ 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 \
@@ -201,8 +210,12 @@ install-libgl: default gl.pc install-headers
$(DESTDIR)$(INSTALL_LIB_DIR)
$(INSTALL) -m 644 gl.pc $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
-install-osmesa: default
- cd drivers/osmesa && $(MAKE) install
+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-dri: default
cd drivers/dri && $(MAKE) install
diff --git a/src/mesa/drivers/osmesa/.gitignore b/src/mesa/drivers/osmesa/.gitignore
deleted file mode 100644
index 1d0b65f4273..00000000000
--- a/src/mesa/drivers/osmesa/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-.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
new file mode 100644
index 00000000000..005f4d5ba55
--- /dev/null
+++ b/src/mesa/drivers/osmesa/Makefile
@@ -0,0 +1,53 @@
+# 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
deleted file mode 100644
index 514e95d0013..00000000000
--- a/src/mesa/drivers/osmesa/Makefile.am
+++ /dev/null
@@ -1,82 +0,0 @@
-
-
-# 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/drivers/osmesa/osmesa.pc.in b/src/mesa/osmesa.pc.in
index ae7a20daa71..05327f40aa0 100644
--- a/src/mesa/drivers/osmesa/osmesa.pc.in
+++ b/src/mesa/osmesa.pc.in
@@ -1,11 +1,11 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
+prefix=@INSTALL_DIR@
+exec_prefix=${prefix}
+libdir=@INSTALL_LIB_DIR@
+includedir=@INSTALL_INC_DIR@
Name: osmesa
Description: Mesa Off-screen Rendering library
-Requires:
+Requires: @OSMESA_PC_REQ@
Version: @VERSION@
Libs: -L${libdir} -l@OSMESA_LIB@
Libs.private: @OSMESA_PC_LIB_PRIV@