From e3420396124c75ec9679c4d1cf3a42c185207e5a Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Tue, 14 Jul 2015 01:58:33 +0100 Subject: 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/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 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/Makefile.am b/src/egl/Makefile.am new file mode 100644 index 0000000000..6f9abcefc3 --- /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_PLATFORM +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 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 diff --git a/src/egl/main/Makefile.am b/src/egl/main/Makefile.am deleted file mode 100644 index 32fed81b0c..0000000000 --- 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 -- cgit v1.2.3