From e3420396124c75ec9679c4d1cf3a42c185207e5a Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Tue, 14 Jul 2015 01:58:33 +0100 Subject: [PATCH] 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 Reviewed-by: Matt Turner --- configure.ac | 3 +- src/Makefile.am | 8 +--- src/egl/{main => }/Makefile.am | 43 +++++++++++++++----- src/egl/Makefile.sources | 34 ++++++++++++++++ src/egl/drivers/dri2/Makefile.am | 67 -------------------------------- 5 files changed, 70 insertions(+), 85 deletions(-) rename src/egl/{main => }/Makefile.am (69%) create mode 100644 src/egl/Makefile.sources delete mode 100644 src/egl/drivers/dri2/Makefile.am diff --git a/configure.ac b/configure.ac index c25dc5d1962..480018ac536 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 90bf94737cf..0d49bcd19ed 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 similarity index 69% rename from src/egl/main/Makefile.am rename to src/egl/Makefile.am index 32fed81b0c0..6f9abcefc38 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 00000000000..48db8518f8a --- /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 b59360de123..00000000000 --- 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 -- 2.30.2