glx: Convert to automake.
authorEric Anholt <eric@anholt.net>
Sun, 5 Feb 2012 05:10:56 +0000 (06:10 +0100)
committerEric Anholt <eric@anholt.net>
Wed, 29 Feb 2012 19:52:40 +0000 (11:52 -0800)
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
configure.ac
src/glx/.gitignore [new file with mode: 0644]
src/glx/Makefile [deleted file]
src/glx/Makefile.am [new file with mode: 0644]
src/mesa/Makefile

index 0caa1b1..ac06e80 100644 (file)
@@ -379,6 +379,7 @@ fi
 AC_SUBST([GL_LIB])
 AC_SUBST([GLU_LIB])
 AC_SUBST([OSMESA_LIB])
+AM_CONDITIONAL(HAVE_MANGLED_GL, test $GL_LIB = MangledGL)
 
 dnl
 dnl potentially-infringing-but-nobody-knows-for-sure stuff
@@ -703,6 +704,7 @@ if test "x$enable_shared_glapi" = xyes; then
     DEFINES="$DEFINES -DIN_DRI_DRIVER"
 fi
 AC_SUBST([SHARED_GLAPI])
+AM_CONDITIONAL(HAVE_SHARED_GLAPI, test $SHARED_GLAPI = 1)
 
 dnl
 dnl Driver configuration. Options are xlib, dri and osmesa right now.
@@ -1040,6 +1042,7 @@ esac
 # builds.
 AM_CONDITIONAL(HAVE_XCB_GLX_CREATE_CONTEXT,
     test x$HAVE_XCB_GLX_CREATE_CONTEXT = xyes)
+AM_CONDITIONAL(HAVE_XF86VIDMODE, test "x$HAVE_XF86VIDMODE" = xyes)
 
 GLESv1_CM_LIB_DEPS="$LIBDRM_LIBS -lm -lpthread $DLOPEN_LIBS"
 GLESv1_CM_PC_LIB_PRIV="-lm -lpthread $DLOPEN_LIBS"
@@ -1939,6 +1942,7 @@ AC_CONFIG_FILES([configs/autoconf
                src/egl/wayland/wayland-egl/Makefile
                src/egl/wayland/wayland-egl/wayland-egl.pc
                src/egl/wayland/wayland-drm/Makefile
+               src/glx/Makefile
                src/mesa/drivers/dri/dri.pc
                src/mesa/drivers/dri/Makefile
                src/mesa/drivers/dri/common/Makefile
diff --git a/src/glx/.gitignore b/src/glx/.gitignore
new file mode 100644 (file)
index 0000000..ea7b611
--- /dev/null
@@ -0,0 +1,5 @@
+.deps
+.libs
+Makefile
+Makefile.in
+libGL.la
diff --git a/src/glx/Makefile b/src/glx/Makefile
deleted file mode 100644 (file)
index f702f95..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-TOP = ../..
-include $(TOP)/configs/current
-
-ifeq ($(HAVE_XF86VIDMODE),yes)
-EXTRA_DEFINES_XF86VIDMODE = -DXF86VIDMODE
-endif
-
-EXTRA_DEFINES = $(EXTRA_DEFINES_XF86VIDMODE) -D_REENTRANT \
-                -DDEFAULT_DRIVER_DIR=\"$(DRI_DRIVER_SEARCH_DIR)\"
-
-SOURCES = \
-         clientattrib.c \
-         clientinfo.c \
-         compsize.c \
-         create_context.c \
-         eval.c \
-         glxconfig.c \
-         glxcmds.c \
-         glxcurrent.c \
-         glx_error.c \
-         glxext.c \
-         glxextensions.c \
-         indirect_glx.c \
-         indirect.c \
-         indirect_init.c \
-         indirect_size.c \
-         indirect_window_pos.c \
-         indirect_texture_compression.c \
-         indirect_transpose_matrix.c \
-         indirect_vertex_array.c \
-         indirect_vertex_program.c \
-         pixel.c \
-         pixelstore.c \
-         render2.c \
-         renderpix.c \
-         single2.c \
-         singlepix.c \
-         vertarr.c \
-         xfont.c \
-         glx_pbuffer.c \
-         glx_query.c \
-         drisw_glx.c \
-         dri_common.c \
-         dri_glx.c \
-         XF86dri.c \
-         glxhash.c \
-         dri2_glx.c \
-         dri2.c \
-         applegl_glx.c
-
-
-ifeq ($(SHARED_GLAPI),1)
-GL_LIB_DEPS := -L$(TOP)/$(LIB_DIR) -l$(GLAPI_LIB) $(GL_LIB_DEPS)
-EXTRA_DEFINES += -DGLX_SHARED_GLAPI
-endif
-
-# override GLAPI_LIB
-GLAPI_LIB = $(TOP)/src/mapi/glapi/libglapi.a
-
-OBJECTS = $(SOURCES:.c=.o)
-
-INCLUDES = -I. \
-       -I$(TOP)/include \
-       -I$(TOP)/include/GL/internal \
-       -I$(TOP)/src/mesa \
-       -I$(TOP)/src/mapi \
-       -I$(TOP)/src/mapi/glapi \
-       $(LIBDRM_CFLAGS) \
-       $(DRI2PROTO_CFLAGS) \
-       $(GLPROTO_CFLAGS) \
-       $(X11_INCLUDES)
-
-
-##### RULES #####
-
-.c.o:
-       $(CC) -c $(INCLUDES) $(CFLAGS) $(EXTRA_DEFINES) $< -o $@
-
-.S.o:
-       $(CC) -c $(INCLUDES) $(CFLAGS) $(EXTRA_DEFINES)  $< -o $@
-
-##### TARGETS #####
-
-default: depend $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
-
-libglx.a: $(OBJECTS)
-       $(MKLIB) -cplusplus -o glx -static $(OBJECTS)
-
-# Make libGL
-$(TOP)/$(LIB_DIR)/$(GL_LIB_NAME): libglx.a $(OBJECTS) $(GLAPI_LIB) Makefile
-       $(MKLIB) -o $(GL_LIB) -linker '$(CXX)' -ldflags '$(LDFLAGS)' \
-               -major 1 -minor 2 \
-               -cplusplus $(MKLIB_OPTIONS) \
-               -install $(TOP)/$(LIB_DIR) -id $(INSTALL_LIB_DIR)/lib$(GL_LIB).1.dylib \
-               $(GL_LIB_DEPS) $(OBJECTS) $(GLAPI_LIB)
-
-$(GLAPI_LIB):
-       @$(MAKE) -C $(TOP)/src/mapi/glapi
-
-depend: $(SOURCES) Makefile
-       rm -f depend
-       touch depend
-       $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(SOURCES)
-
-
-# Emacs tags
-tags:
-       etags `find . -name \*.[ch]` `find $(TOP)/include`
-
-install: $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME)
-       $(MAKE) -C $(TOP)/src/mesa install-libgl
-
-# Remove .o and backup files
-clean:
-       -rm -f $(TOP)/$(LIB_DIR)/$(GL_LIB_GLOB)
-       -rm -f *.o *~
-       -rm -f depend depend.bak
-
--include depend
diff --git a/src/glx/Makefile.am b/src/glx/Makefile.am
new file mode 100644 (file)
index 0000000..b5bbebd
--- /dev/null
@@ -0,0 +1,122 @@
+# Copyright © 2012 Intel Corporation
+#
+# 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.
+
+if HAVE_SHARED_GLAPI
+SHARED_GLAPI_CFLAGS = -DGLX_SHARED_GLAPI
+SHARED_GLAPI_LIBS = -L$(top_builddir)/$(LIB_DIR) -lglapi
+endif
+
+GLAPI_LIB = ../mapi/glapi/libglapi.a
+
+if HAVE_XF86VIDMODE
+EXTRA_DEFINES_XF86VIDMODE = -DXF86VIDMODE
+endif
+
+AM_CFLAGS = \
+       -I$(top_srcdir)/include \
+       -I$(top_srcdir)/include/GL/internal \
+       -I$(top_srcdir)/src/mapi \
+       -I$(top_srcdir)/src/mapi/glapi \
+       $(SHARED_GLAPI_CFLAGS) \
+       $(EXTRA_DEFINES_XF86VIDMODE) \
+       -D_REENTRANT \
+       -DDEFAULT_DRIVER_DIR=\"$(DRI_DRIVER_SEARCH_DIR)\" \
+       $(DEFINES) \
+       $(LIBDRM_CFLAGS) \
+       $(DRI2PROTO_CFLAGS) \
+       $(GLPROTO_CFLAGS) \
+       $(X11_INCLUDES)
+
+if HAVE_MANGLED_GL
+MANGLED_GL_LIB = libMangledGL.la
+else
+NORMAL_GL_LIB = libGL.la
+endif
+
+lib_LTLIBRARIES = \
+       $(NORMAL_GL_LIB) \
+       $(MANGLED_GL_LIB)
+
+GL_FILES = \
+         clientattrib.c \
+         clientinfo.c \
+         compsize.c \
+         create_context.c \
+         eval.c \
+         glxconfig.c \
+         glxcmds.c \
+         glxcurrent.c \
+         glx_error.c \
+         glxext.c \
+         glxextensions.c \
+         indirect_glx.c \
+         indirect.c \
+         indirect_init.c \
+         indirect_size.c \
+         indirect_window_pos.c \
+         indirect_texture_compression.c \
+         indirect_transpose_matrix.c \
+         indirect_vertex_array.c \
+         indirect_vertex_program.c \
+         pixel.c \
+         pixelstore.c \
+         render2.c \
+         renderpix.c \
+         single2.c \
+         singlepix.c \
+         vertarr.c \
+         xfont.c \
+         glx_pbuffer.c \
+         glx_query.c \
+         drisw_glx.c \
+         dri_common.c \
+         dri_glx.c \
+         XF86dri.c \
+         glxhash.c \
+         dri2_glx.c \
+         dri2.c \
+         applegl_glx.c
+
+GL_LIBS = \
+       $(SHARED_GLAPI_LIBS) \
+       $(GLAPI_LIB) \
+       $(GL_LIB_DEPS)
+
+GL_LDFLAGS = \
+       -version-number 1:2
+
+libGL_la_SOURCES = $(GL_FILES)
+libMangledGL_la_SOURCES = $(GL_FILES)
+libGL_la_LIBADD = $(GL_LIBS)
+libMangledGL_la_LIBADD = $(GL_LIBS)
+libGL_la_LDFLAGS = $(GL_LDFLAGS)
+libMangledGL_la_LDFLAGS = $(GL_LDFLAGS)
+
+# 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.
+if !HAVE_MANGLED_GL
+all-local: $(NORMAL_GL_LIB) $(MANGLED_GL_LIB)
+       $(MKDIR_P) $(top_builddir)/$(LIB_DIR);
+       ln -f .libs/libGL.so.1.2.0 $(top_builddir)/$(LIB_DIR)/libGL.so.1
+endif
+
+$(GLAPI_LIB):
+       @$(MAKE) -C $(TOP)/src/mapi/glapi
index 0e15d61..71e22b9 100644 (file)
@@ -206,8 +206,6 @@ install-headers:
 install-libgl: default gl.pc install-headers
        $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)
        $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
-       $(MINSTALL) $(TOP)/$(LIB_DIR)/$(GL_LIB_GLOB) \
-               $(DESTDIR)$(INSTALL_LIB_DIR)
        $(INSTALL) -m 644 gl.pc $(DESTDIR)$(INSTALL_LIB_DIR)/pkgconfig
 
 install-osmesa: default osmesa.pc