[Mesa-dev] [PATCH 11/14] automake: rework the EGL build

Emil Velikov emil.l.velikov at gmail.com
Tue Jul 14 08:02:45 PDT 2015


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.

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
 configure.ac                     |   3 +-
 src/Makefile.am                  |   8 +--
 src/egl/Makefile.am              | 120 +++++++++++++++++++++++++++++++++++++++
 src/egl/Makefile.sources         |  34 +++++++++++
 src/egl/drivers/dri2/Makefile.am |  67 ----------------------
 src/egl/main/Makefile.am         |  95 -------------------------------
 6 files changed, 156 insertions(+), 171 deletions(-)
 create mode 100644 src/egl/Makefile.am
 create mode 100644 src/egl/Makefile.sources
 delete mode 100644 src/egl/drivers/dri2/Makefile.am
 delete mode 100644 src/egl/main/Makefile.am

diff --git a/configure.ac b/configure.ac
index bdfd134..d07988d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2315,8 +2315,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 90bf947..0d49bcd 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/Makefile.am b/src/egl/Makefile.am
new file mode 100644
index 0000000..e6862d2
--- /dev/null
+++ b/src/egl/Makefile.am
@@ -0,0 +1,120 @@
+# 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.
+
+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_la_LIBADD = \
+	$(EGL_LIB_DEPS)
+libEGL_la_LDFLAGS = \
+	-no-undefined \
+	-version-number 1:0 \
+	$(BSYMBOLIC) \
+	$(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
+AM_CFLAGS += -DHAVE_WAYLAND_PLATFORM
+AM_CFLAGS += $(WAYLAND_CFLAGS)
+libEGL_la_LIBADD += $(WAYLAND_LIBS)
+libEGL_la_LIBADD += $(LIBDRM_LIBS)
+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 += $(top_builddir)/src/gbm/libgbm.la
+dri2_backend_FILES += drivers/dri2/platform_drm.c
+endif
+
+if HAVE_EGL_PLATFORM_SURFACELESS
+AM_CFLAGS += -DHAVE_SURFACELESS_PhLATFORM
+dri2_backend_FILES += drivers/dri2/platform_surfaceless.c
+endif
+
+if HAVE_EGL_DRIVER_DRI2
+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
+
+include $(top_srcdir)/install-lib-links.mk
+
+pkgconfigdir = $(libdir)/pkgconfig
+
+pkgconfig_DATA = main/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/eglextchromium.h \
+	$(top_srcdir)/include/EGL/eglmesaext.h \
+	$(top_srcdir)/include/EGL/eglplatform.h
+
+EXTRA_DIST = \
+	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 0000000..48db851
--- /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 b59360d..0000000
--- 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
diff --git a/src/egl/main/Makefile.am b/src/egl/main/Makefile.am
deleted file mode 100644
index 32fed81..0000000
--- a/src/egl/main/Makefile.am
+++ /dev/null
@@ -1,95 +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.
-
-include Makefile.sources
-
-AM_CFLAGS = \
-	-I$(top_srcdir)/include \
-	-I$(top_srcdir)/src/gbm/main \
-	$(DEFINES) \
-	$(VISIBILITY_CFLAGS) \
-	$(EGL_CFLAGS) \
-	-D_EGL_NATIVE_PLATFORM=$(EGL_NATIVE_PLATFORM)
-
-lib_LTLIBRARIES = libEGL.la
-
-libEGL_la_SOURCES = \
-	${LIBEGL_C_FILES}
-
-libEGL_la_LIBADD = \
-	$(EGL_LIB_DEPS)
-libEGL_la_LDFLAGS = \
-	-no-undefined \
-	-version-number 1:0 \
-	$(BSYMBOLIC) \
-	$(GC_SECTIONS) \
-	$(LD_NO_UNDEFINED)
-
-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
-endif
-
-if HAVE_EGL_PLATFORM_SURFACELESS
-AM_CFLAGS += -DHAVE_SURFACELESS_PLATFORM
-endif
-
-if HAVE_EGL_DRIVER_DRI2
-AM_CFLAGS += -D_EGL_BUILT_IN_DRIVER_DRI2
-libEGL_la_LIBADD += ../drivers/dri2/libegl_dri2.la
-libEGL_la_LIBADD += $(DLOPEN_LIBS) $(LIBDRM_LIBS)
-endif
-
-include $(top_srcdir)/install-lib-links.mk
-
-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/eglextchromium.h \
-	$(top_srcdir)/include/EGL/eglmesaext.h \
-	$(top_srcdir)/include/EGL/eglplatform.h
-
-EXTRA_DIST = \
-	egl.def \
-	README.txt \
-	SConscript
-- 
2.4.5



More information about the mesa-dev mailing list