summaryrefslogtreecommitdiffstats
path: root/src/egl/main
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2012-02-05 10:46:13 +0100
committerEric Anholt <[email protected]>2012-02-29 11:52:40 -0800
commit88612029f6ce9d2717220a0ef31bfe71a8c85529 (patch)
treed86254fa4af549ab8850c39d07b929ea6cb82fd2 /src/egl/main
parent28d92eff73a0821e7a73b04d3f50e715850dc5e9 (diff)
egl/main: Convert to automake.
The drivers/ walk-through-subdirs makefile is converted as well so I didn't need to keep EGL_DRIVERS_DIRS along with the per-driver HAVE_EGL_DRIVER_WHATEVER. Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/egl/main')
-rw-r--r--src/egl/main/.gitignore5
-rw-r--r--src/egl/main/Makefile183
-rw-r--r--src/egl/main/Makefile.am138
-rw-r--r--src/egl/main/egl.pc.in16
-rw-r--r--src/egl/main/egllog.c2
5 files changed, 152 insertions, 192 deletions
diff --git a/src/egl/main/.gitignore b/src/egl/main/.gitignore
new file mode 100644
index 00000000000..4d0c7d524f7
--- /dev/null
+++ b/src/egl/main/.gitignore
@@ -0,0 +1,5 @@
+.deps
+.libs
+Makefile
+Makefile.in
+libEGL.la
diff --git a/src/egl/main/Makefile b/src/egl/main/Makefile
deleted file mode 100644
index 91d761731fc..00000000000
--- a/src/egl/main/Makefile
+++ /dev/null
@@ -1,183 +0,0 @@
-# src/egl/main/Makefile
-
-TOP = ../../..
-include $(TOP)/configs/current
-
-
-EGL_MAJOR = 1
-EGL_MINOR = 0
-
-INCLUDE_DIRS = -I$(TOP)/include
-
-HEADERS = \
- eglcompiler.h \
- eglconfig.h \
- eglcontext.h \
- eglcurrent.h \
- egldefines.h \
- egldisplay.h \
- egldriver.h \
- eglglobals.h \
- eglimage.h \
- egllog.h \
- eglmisc.h \
- eglmode.h \
- eglmutex.h \
- eglscreen.h \
- eglstring.h \
- eglsurface.h \
- eglsync.h
-
-SOURCES = \
- eglapi.c \
- eglarray.c \
- eglconfig.c \
- eglcontext.c \
- eglcurrent.c \
- egldisplay.c \
- egldriver.c \
- eglfallbacks.c \
- eglglobals.c \
- eglimage.c \
- egllog.c \
- eglmisc.c \
- eglmode.c \
- eglscreen.c \
- eglstring.c \
- eglsurface.c \
- eglsync.c
-
-OBJECTS = $(SOURCES:.c=.o)
-
-
-# use dl*() to load drivers
-LOCAL_CFLAGS = -D_EGL_OS_UNIX=1
-LOCAL_LIBS =
-
-# egl_dri2 and egl_glx are built-ins
-ifeq ($(filter dri2, $(EGL_DRIVERS_DIRS)),dri2)
-LOCAL_CFLAGS += -D_EGL_BUILT_IN_DRIVER_DRI2
-LOCAL_LIBS += $(TOP)/src/egl/drivers/dri2/libegl_dri2.a
-ifneq ($(findstring x11, $(EGL_PLATFORMS)),)
-EGL_LIB_DEPS += $(XCB_DRI2_LIBS)
-endif
-EGL_LIB_DEPS += $(LIBUDEV_LIBS) $(DLOPEN_LIBS) $(LIBDRM_LIB)
-endif
-ifeq ($(filter glx, $(EGL_DRIVERS_DIRS)),glx)
-LOCAL_CFLAGS += -D_EGL_BUILT_IN_DRIVER_GLX
-LOCAL_LIBS += $(TOP)/src/egl/drivers/glx/libegl_glx.a
-EGL_LIB_DEPS += $(X11_LIBS) $(DLOPEN_LIBS)
-endif
-
-# libs/cflags for display type autodetection
-ifneq ($(findstring wayland, $(EGL_PLATFORMS)),)
-LOCAL_LIBS += $(TOP)/src/egl/wayland/wayland-drm/.libs/libwayland-drm.a
-EGL_LIB_DEPS += $(WAYLAND_LIBS)
-INCLUDE_DIRS += $(WAYLAND_CFLAGS)
-endif
-ifneq ($(findstring drm, $(EGL_PLATFORMS)),)
-EGL_LIB_DEPS += -lgbm
-INCLUDE_DIRS += -I$(TOP)/src/gbm/main
-endif
-
-# translate --with-egl-platforms to _EGLPlatformType
-EGL_NATIVE_PLATFORM=_EGL_INVALID_PLATFORM
-ifeq ($(firstword $(EGL_PLATFORMS)),x11)
-EGL_NATIVE_PLATFORM=_EGL_PLATFORM_X11
-endif
-ifeq ($(firstword $(EGL_PLATFORMS)),wayland)
-EGL_NATIVE_PLATFORM=_EGL_PLATFORM_WAYLAND
-endif
-ifeq ($(firstword $(EGL_PLATFORMS)),drm)
-EGL_NATIVE_PLATFORM=_EGL_PLATFORM_DRM
-endif
-ifeq ($(firstword $(EGL_PLATFORMS)),fbdev)
-EGL_NATIVE_PLATFORM=_EGL_PLATFORM_FBDEV
-endif
-ifeq ($(firstword $(EGL_PLATFORMS)),null)
-EGL_NATIVE_PLATFORM=_EGL_PLATFORM_NULL
-endif
-
-ifneq ($(findstring x11, $(EGL_PLATFORMS)),)
-LOCAL_CFLAGS += -DHAVE_X11_PLATFORM
-endif
-ifneq ($(findstring wayland, $(EGL_PLATFORMS)),)
-LOCAL_CFLAGS += -DHAVE_WAYLAND_PLATFORM
-endif
-ifneq ($(findstring drm, $(EGL_PLATFORMS)),)
-LOCAL_CFLAGS += -DHAVE_DRM_PLATFORM
-endif
-ifneq ($(findstring fbdev, $(EGL_PLATFORMS)),)
-LOCAL_CFLAGS += -DHAVE_FBDEV_PLATFORM
-endif
-ifneq ($(findstring null, $(EGL_PLATFORMS)),)
-LOCAL_CFLAGS += -DHAVE_NULL_PLATFORM
-endif
-
-LOCAL_CFLAGS += \
- -D_EGL_NATIVE_PLATFORM=$(EGL_NATIVE_PLATFORM) \
- -D_EGL_DRIVER_SEARCH_DIR=\"$(EGL_DRIVER_INSTALL_DIR)\"
-
-.c.o:
- $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $(LOCAL_CFLAGS) $< -o $@
-
-
-
-default: depend library
-
-
-# EGL Library
-library: $(TOP)/$(LIB_DIR)/$(EGL_LIB_NAME)
-
-$(TOP)/$(LIB_DIR)/$(EGL_LIB_NAME): $(OBJECTS) $(LOCAL_LIBS)
- $(MKLIB) -o $(EGL_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
- -major $(EGL_MAJOR) -minor $(EGL_MINOR) \
- -install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
- -L$(TOP)/$(LIB_DIR) $(EGL_LIB_DEPS) \
- $(OBJECTS) $(LOCAL_LIBS)
-
-install-headers:
- $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/KHR
- $(INSTALL) -m 644 $(TOP)/include/KHR/*.h \
- $(DESTDIR)$(INSTALL_INC_DIR)/KHR
- $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/EGL
- $(INSTALL) -m 644 $(TOP)/include/EGL/*.h \
- $(DESTDIR)$(INSTALL_INC_DIR)/EGL
-
-PKG_CONFIG_DIR = $(INSTALL_LIB_DIR)/pkgconfig
-
-gl_pcedit = sed \
- -e 's,@INSTALL_DIR@,$(INSTALL_DIR),' \
- -e 's,@INSTALL_LIB_DIR@,$(INSTALL_LIB_DIR),' \
- -e 's,@INSTALL_INC_DIR@,$(INSTALL_INC_DIR),' \
- -e 's,@VERSION@,$(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY),' \
- -e 's,@EGL_PC_REQ_PRIV@,$(EGL_PC_REQ_PRIV),' \
- -e 's,@EGL_PC_LIB_PRIV@,$(EGL_PC_LIB_PRIV),' \
- -e 's,@EGL_PC_CFLAGS@,$(EGL_PC_CFLAGS),' \
- -e 's,@EGL_LIB@,$(EGL_LIB),'
-
-egl.pc: egl.pc.in
- $(gl_pcedit) $< > $@
-
-install: default install-headers egl.pc
- $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)
- $(MINSTALL) $(TOP)/$(LIB_DIR)/$(EGL_LIB_GLOB) \
- $(DESTDIR)$(INSTALL_LIB_DIR)
- $(INSTALL) -d $(DESTDIR)$(PKG_CONFIG_DIR)
- $(INSTALL) -m 644 egl.pc $(DESTDIR)$(PKG_CONFIG_DIR)
-
-clean:
- -rm -f *.o
- -rm -f depend depend.bak
-
-
-depend: $(SOURCES) $(HEADERS)
- @ echo "running $(MKDEP)"
- @ rm -f depend
- @ touch depend
- $(MKDEP) $(MKDEP_OPTIONS) $(DEFINES) $(INCLUDE_DIRS) \
- $(SOURCES) $(HEADERS) > /dev/null 2>/dev/null
-
-
--include depend
-# DO NOT DELETE
diff --git a/src/egl/main/Makefile.am b/src/egl/main/Makefile.am
new file mode 100644
index 00000000000..cbf517837c8
--- /dev/null
+++ b/src/egl/main/Makefile.am
@@ -0,0 +1,138 @@
+# 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.
+
+GLAPI_LIB = ../mapi/glapi/libglapi.a
+
+if HAVE_XF86VIDMODE
+EXTRA_DEFINES_XF86VIDMODE = -DXF86VIDMODE
+endif
+
+AM_CFLAGS = \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/src/gbm/main \
+ $(DEFINES) \
+ $(EGL_CFLAGS) \
+ -D_EGL_NATIVE_PLATFORM=$(EGL_NATIVE_PLATFORM) \
+ -D_EGL_DRIVER_SEARCH_DIR=\"$(EGL_DRIVER_INSTALL_DIR)\" \
+ -D_EGL_OS_UNIX=1
+
+lib_LTLIBRARIES = libEGL.la
+
+libEGL_la_SOURCES = \
+ eglapi.c \
+ eglarray.c \
+ eglconfig.c \
+ eglcontext.c \
+ eglcurrent.c \
+ egldisplay.c \
+ egldriver.c \
+ eglfallbacks.c \
+ eglglobals.c \
+ eglimage.c \
+ egllog.c \
+ eglmisc.c \
+ eglmode.c \
+ eglscreen.c \
+ eglstring.c \
+ eglsurface.c \
+ eglsync.c \
+ eglcompiler.h \
+ eglconfig.h \
+ eglcontext.h \
+ eglcurrent.h \
+ egldefines.h \
+ egldisplay.h \
+ egldriver.h \
+ eglglobals.h \
+ eglimage.h \
+ egllog.h \
+ eglmisc.h \
+ eglmode.h \
+ eglmutex.h \
+ eglscreen.h \
+ eglstring.h \
+ eglsurface.h \
+ eglsync.h
+
+libEGL_la_LIBADD = \
+ $(EGL_LIB_DEPS)
+libEGL_la_LDFLAGS = -version-number 1:0
+
+if HAVE_EGL_PLATFORM_X11
+AM_CFLAGS += -DHAVE_X11_PLATFORM
+AM_CFLAGS += $(XCB_DRI2_CFLAGS)
+libEGL_la_LIBADD += $(XCB_DRI2_LIBS)
+endif
+
+if HAVE_EGL_PLATFORM_WAYLAND
+AM_CFLAGS += -DHAVE_WAYLAND_PLATFORM
+AM_CFLAGS += $(WAYLAND_CFLAGS)
+libEGL_la_LIBADD += $(WAYLAND_LIBS)
+libEGL_la_LIBADD += $(LIBDRM_LIBS)
+libEGL_la_LIBADD += ../wayland/wayland-drm/libwayland-drm.la
+endif
+
+if HAVE_EGL_PLATFORM_DRM
+AM_CFLAGS += -DHAVE_DRM_PLATFORM
+libEGL_la_LIBADD += ../../gbm/libgbm.la
+libEGL_la_LIBADD += ../../gbm/libgbm.la
+endif
+
+if HAVE_EGL_PLATFORM_FBDEV
+AM_CFLAGS += -DHAVE_FBDEV_PLATFORM
+endif
+
+if HAVE_EGL_PLATFORM_NULL
+AM_CFLAGS += -DHAVE_NULL_PLATFORM
+endif
+
+if HAVE_EGL_DRIVER_GLX
+AM_CFLAGS += -D_EGL_BUILT_IN_DRIVER_GLX
+libEGL_la_LIBADD += ../drivers/glx/libegl_glx.a
+libEGL_la_LIBADD += $(X11_LIBS) $(DLOPEN_LIBS)
+endif
+
+if HAVE_EGL_DRIVER_DRI2
+AM_CFLAGS += -D_EGL_BUILT_IN_DRIVER_DRI2
+AM_CFLAGS += -DHAVE_XCB_DRI2
+libEGL_la_LIBADD += ../drivers/dri2/libegl_dri2.a
+libEGL_la_LIBADD += $(LIBUDEV_LIBS) $(DLOPEN_LIBS) $(LIBDRM_LIBS)
+endif
+
+# 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: libEGL.la
+ $(MKDIR_P) $(top_builddir)/$(LIB_DIR);
+ ln -f .libs/libEGL.so.1.0.0 $(top_builddir)/$(LIB_DIR)/libEGL.so.1
+
+pkgconfigdir = $(libdir)/pkgconfig
+
+pkgconfig_DATA = egl.pc
+
+khrdir = $(includedir)/KHR
+khr_HEADERS = $(top_srcdir)/include/KHR/khrplatform.h
+
+egldir = $(includedir)/EGL
+egl_HEADERS = \
+ $(top_srcdir)/include/EGL/eglext.h \
+ $(top_srcdir)/include/EGL/egl.h \
+ $(top_srcdir)/include/EGL/eglmesaext.h \
+ $(top_srcdir)/include/EGL/eglplatform.h
diff --git a/src/egl/main/egl.pc.in b/src/egl/main/egl.pc.in
index 2855a4980a0..fd6904bd81a 100644
--- a/src/egl/main/egl.pc.in
+++ b/src/egl/main/egl.pc.in
@@ -1,12 +1,12 @@
-prefix=@INSTALL_DIR@
+prefix=@prefix@
exec_prefix=${prefix}
-libdir=@INSTALL_LIB_DIR@
-includedir=@INSTALL_INC_DIR@
+libdir=@libdir@
+includedir=@includedir@
Name: egl
Description: Mesa EGL library
-Requires.private: @EGL_PC_REQ_PRIV@
-Version: @VERSION@
-Libs: -L${libdir} -l@EGL_LIB@
-Libs.private: @EGL_PC_LIB_PRIV@
-Cflags: -I${includedir} @EGL_PC_CFLAGS@
+Requires.private: @GL_PC_REQ_PRIV@
+Version: @PACKAGE_VERSION@
+Libs: -L${libdir} -lEGL
+Libs.private: @GL_PC_LIB_PRIV@
+Cflags: -I${includedir} @GL_PC_CFLAGS@
diff --git a/src/egl/main/egllog.c b/src/egl/main/egllog.c
index 43eed64c299..38a896b2c5d 100644
--- a/src/egl/main/egllog.c
+++ b/src/egl/main/egllog.c
@@ -38,7 +38,7 @@
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
-#include <string.h>
+#include <strings.h>
#include "egllog.h"
#include "eglstring.h"