summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmil Velikov <emil.l.velikov@gmail.com>2015-07-14 01:58:33 +0100
committerEmil Velikov <emil.l.velikov@gmail.com>2015-07-22 16:35:27 +0100
commite3420396124c75ec9679c4d1cf3a42c185207e5a (patch)
tree65a590f48a2184a34ea4c413197596918b4df129
parent0399d7ab3f69624b7f0b7b39e948432959fe270e (diff)
automake: rework the EGL build
Simplify things by merging the two makefiles. This way we can combine the duplicated HAVE_PLATFORM_ checks, and build the library without having a separate static library. v2: use $() when referencing variables, use correct define (Matt) Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
-rw-r--r--configure.ac3
-rw-r--r--src/Makefile.am8
-rw-r--r--src/egl/Makefile.am (renamed from src/egl/main/Makefile.am)43
-rw-r--r--src/egl/Makefile.sources34
-rw-r--r--src/egl/drivers/dri2/Makefile.am67
5 files changed, 70 insertions, 85 deletions
diff --git a/configure.ac b/configure.ac
index c25dc5d196..480018ac53 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2296,8 +2296,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
dnl Substitute the config
AC_CONFIG_FILES([Makefile
src/Makefile
- src/egl/drivers/dri2/Makefile
- src/egl/main/Makefile
+ src/egl/Makefile
src/egl/main/egl.pc
src/egl/wayland/wayland-drm/Makefile
src/egl/wayland/wayland-egl/Makefile
diff --git a/src/Makefile.am b/src/Makefile.am
index 90bf94737c..0d49bcd19e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -35,16 +35,12 @@ if HAVE_EGL_PLATFORM_WAYLAND
SUBDIRS += egl/wayland/wayland-egl egl/wayland/wayland-drm
endif
-if HAVE_EGL_DRIVER_DRI2
-SUBDIRS += egl/drivers/dri2
-endif
-
if HAVE_GBM
SUBDIRS += gbm
endif
if HAVE_EGL
-SUBDIRS += egl/main
+SUBDIRS += egl
endif
if HAVE_GALLIUM
@@ -52,8 +48,6 @@ SUBDIRS += gallium
endif
EXTRA_DIST = \
- egl/drivers/haiku \
- egl/docs \
getopt hgl SConscript
AM_CFLAGS = $(VISIBILITY_CFLAGS)
diff --git a/src/egl/main/Makefile.am b/src/egl/Makefile.am
index 32fed81b0c..6f9abcefc3 100644
--- a/src/egl/main/Makefile.am
+++ b/src/egl/Makefile.am
@@ -23,16 +23,18 @@ include Makefile.sources
AM_CFLAGS = \
-I$(top_srcdir)/include \
+ -I$(top_srcdir)/src/egl/main \
-I$(top_srcdir)/src/gbm/main \
$(DEFINES) \
$(VISIBILITY_CFLAGS) \
+ $(LIBDRM_CFLAGS) \
$(EGL_CFLAGS) \
-D_EGL_NATIVE_PLATFORM=$(EGL_NATIVE_PLATFORM)
lib_LTLIBRARIES = libEGL.la
libEGL_la_SOURCES = \
- ${LIBEGL_C_FILES}
+ $(LIBEGL_C_FILES)
libEGL_la_LIBADD = \
$(EGL_LIB_DEPS)
@@ -43,10 +45,13 @@ libEGL_la_LDFLAGS = \
$(GC_SECTIONS) \
$(LD_NO_UNDEFINED)
+dri2_backend_FILES =
+
if HAVE_EGL_PLATFORM_X11
AM_CFLAGS += -DHAVE_X11_PLATFORM
AM_CFLAGS += $(XCB_DRI2_CFLAGS)
libEGL_la_LIBADD += $(XCB_DRI2_LIBS)
+dri2_backend_FILES += drivers/dri2/platform_x11.c
endif
if HAVE_EGL_PLATFORM_WAYLAND
@@ -54,21 +59,37 @@ 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
+libEGL_la_LIBADD += $(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la
+dri2_backend_FILES += drivers/dri2/platform_wayland.c
endif
if HAVE_EGL_PLATFORM_DRM
AM_CFLAGS += -DHAVE_DRM_PLATFORM
-libEGL_la_LIBADD += ../../gbm/libgbm.la
+libEGL_la_LIBADD += $(top_builddir)/src/gbm/libgbm.la
+dri2_backend_FILES += drivers/dri2/platform_drm.c
endif
if HAVE_EGL_PLATFORM_SURFACELESS
AM_CFLAGS += -DHAVE_SURFACELESS_PLATFORM
+dri2_backend_FILES += drivers/dri2/platform_surfaceless.c
endif
if HAVE_EGL_DRIVER_DRI2
-AM_CFLAGS += -D_EGL_BUILT_IN_DRIVER_DRI2
-libEGL_la_LIBADD += ../drivers/dri2/libegl_dri2.la
+AM_CFLAGS += \
+ -I$(top_srcdir)/src/loader \
+ -I$(top_srcdir)/src/egl/drivers/dri2 \
+ -I$(top_srcdir)/src/gbm/backends/dri \
+ -I$(top_srcdir)/src/egl/wayland/wayland-egl \
+ -I$(top_srcdir)/src/egl/wayland/wayland-drm \
+ -I$(top_builddir)/src/egl/wayland/wayland-drm \
+ -DDEFAULT_DRIVER_DIR=\"$(DRI_DRIVER_SEARCH_DIR)\" \
+ -D_EGL_BUILT_IN_DRIVER_DRI2
+
+libEGL_la_SOURCES += \
+ $(dri2_backend_core_FILES) \
+ $(dri2_backend_FILES)
+
+libEGL_la_LIBADD += $(top_builddir)/src/loader/libloader.la
libEGL_la_LIBADD += $(DLOPEN_LIBS) $(LIBDRM_LIBS)
endif
@@ -76,7 +97,7 @@ include $(top_srcdir)/install-lib-links.mk
pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = egl.pc
+pkgconfig_DATA = main/egl.pc
khrdir = $(includedir)/KHR
khr_HEADERS = $(top_srcdir)/include/KHR/khrplatform.h
@@ -90,6 +111,10 @@ egl_HEADERS = \
$(top_srcdir)/include/EGL/eglplatform.h
EXTRA_DIST = \
- egl.def \
- README.txt \
- SConscript
+ drivers/haiku \
+ docs \
+ main/egl.def \
+ main/README.txt \
+ main/SConscript \
+ main/Makefile.sources \
+ drivers/dri2/SConscript
diff --git a/src/egl/Makefile.sources b/src/egl/Makefile.sources
new file mode 100644
index 0000000000..48db8518f8
--- /dev/null
+++ b/src/egl/Makefile.sources
@@ -0,0 +1,34 @@
+LIBEGL_C_FILES := \
+ main/eglapi.c \
+ main/eglapi.h \
+ main/eglarray.c \
+ main/eglarray.h \
+ main/eglcompiler.h \
+ main/eglconfig.c \
+ main/eglconfig.h \
+ main/eglcontext.c \
+ main/eglcontext.h \
+ main/eglcurrent.c \
+ main/eglcurrent.h \
+ main/egldefines.h \
+ main/egldisplay.c \
+ main/egldisplay.h \
+ main/egldriver.c \
+ main/egldriver.h \
+ main/eglfallbacks.c \
+ main/eglglobals.c \
+ main/eglglobals.h \
+ main/eglimage.c \
+ main/eglimage.h \
+ main/egllog.c \
+ main/egllog.h \
+ main/eglsurface.c \
+ main/eglsurface.h \
+ main/eglsync.c \
+ main/eglsync.h \
+ main/egltypedefs.h
+
+dri2_backend_core_FILES := \
+ drivers/dri2/egl_dri2.c \
+ drivers/dri2/egl_dri2.h \
+ drivers/dri2/egl_dri2_fallbacks.h
diff --git a/src/egl/drivers/dri2/Makefile.am b/src/egl/drivers/dri2/Makefile.am
deleted file mode 100644
index b59360de12..0000000000
--- a/src/egl/drivers/dri2/Makefile.am
+++ /dev/null
@@ -1,67 +0,0 @@
-# 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.
-
-AM_CFLAGS = \
- -I$(top_srcdir)/include \
- -I$(top_srcdir)/src/egl/main \
- -I$(top_srcdir)/src/loader \
- -I$(top_srcdir)/src/gbm/main \
- -I$(top_srcdir)/src/gbm/backends/dri \
- -I$(top_srcdir)/src/egl/wayland/wayland-egl \
- -I$(top_srcdir)/src/egl/wayland/wayland-drm \
- -I$(top_builddir)/src/egl/wayland/wayland-drm \
- $(DEFINES) \
- $(VISIBILITY_CFLAGS) \
- $(LIBDRM_CFLAGS) \
- -DDEFAULT_DRIVER_DIR=\"$(DRI_DRIVER_SEARCH_DIR)\"
-
-noinst_LTLIBRARIES = libegl_dri2.la
-
-libegl_dri2_la_SOURCES = \
- egl_dri2.c \
- egl_dri2.h \
- egl_dri2_fallbacks.h
-
-libegl_dri2_la_LIBADD = \
- $(top_builddir)/src/loader/libloader.la \
- $(EGL_LIB_DEPS)
-
-if HAVE_EGL_PLATFORM_X11
-libegl_dri2_la_SOURCES += platform_x11.c
-AM_CFLAGS += -DHAVE_X11_PLATFORM
-AM_CFLAGS += $(XCB_DRI2_CFLAGS)
-endif
-
-if HAVE_EGL_PLATFORM_WAYLAND
-libegl_dri2_la_SOURCES += platform_wayland.c
-AM_CFLAGS += -DHAVE_WAYLAND_PLATFORM
-AM_CFLAGS += $(WAYLAND_CFLAGS)
-endif
-
-if HAVE_EGL_PLATFORM_DRM
-libegl_dri2_la_SOURCES += platform_drm.c
-AM_CFLAGS += -DHAVE_DRM_PLATFORM
-endif
-
-if HAVE_EGL_PLATFORM_SURFACELESS
-libegl_dri2_la_SOURCES += platform_surfaceless.c
-AM_CFLAGS += -DHAVE_SURFACELESS_PLATFORM
-endif