automake: src/mesa/drivers/osmesa

This commit is contained in:
Matt Turner 2012-01-26 22:37:06 -05:00
parent e3b5200496
commit 275ac7e5c1
7 changed files with 103 additions and 78 deletions

View File

@ -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@

View File

@ -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])

View File

@ -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

7
src/mesa/drivers/osmesa/.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
.deps
.libs
Makefile
Makefile.in
libOSMesa.la
libOSMesa16.la
libOSMesa32.la

View File

@ -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?

View File

@ -0,0 +1,82 @@
# Copyright © 2012 Matt Turner <mattst88@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_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);

View File

@ -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@