summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-03-04 15:40:29 +0100
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-03-04 15:41:00 +0100
commit3718effc431f5622a23c55b254153efdfe4e72c4 (patch)
treed8a805870c6a3785022e2f52f0c3715410e29a37 /configure.ac
parenta773fdc44bfb818f1830e9e48ba765881e68c942 (diff)
Add the Wayland platform to FLTK 1.4
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac97
1 files changed, 83 insertions, 14 deletions
diff --git a/configure.ac b/configure.ac
index 311108b36..e4c4eb2a4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ dnl the "configure" script is made from this by running GNU "autoconf"
dnl
dnl Configuration script for the Fast Light Tool Kit (FLTK).
dnl
-dnl Copyright 1998-2021 by Bill Spitzak and others.
+dnl Copyright 1998-2022 by Bill Spitzak and others.
dnl
dnl This library is free software. Distribution and use rights are outlined in
dnl the file "COPYING" which should have been included with this file. If this
@@ -110,6 +110,8 @@ AC_ARG_ENABLE([localzlib], AS_HELP_STRING([--enable-localzlib], [use local ZLIB
AC_ARG_ENABLE([pango], AS_HELP_STRING([--enable-pango], [turn on Pango support]))
+AC_ARG_ENABLE([wayland], AS_HELP_STRING([--enable-wayland], [turn on Wayland support]))
+
AC_ARG_ENABLE([print], AS_HELP_STRING([--disable-print], [turn off print support (X11)]))
AS_IF([test x$enable_print = xno], [
AC_DEFINE([FL_NO_PRINT_SUPPORT], [Disable X11 print support?])
@@ -897,6 +899,7 @@ dnl Define OS-specific stuff...
HLINKS=
OSX_ONLY=:
THREADS=
+LIBDECORDIR=""
AC_ARG_WITH([links], AS_HELP_STRING([--with-links], [make header links for common misspellings (default=no)]))
@@ -995,6 +998,64 @@ AS_CASE([$host_os_gui], [cygwin* | mingw*], [
THREADS="threads$EXEEXT"
])
+ AS_IF([test x$enable_wayland = xyes], [
+ dnl Prepare for Wayland...
+
+ AS_IF([test x$PKGCONFIG = x], [
+ dnl pkg-config is not available, issue warning and abort...
+ AC_MSG_WARN([--enable-wayland: please install pkg-config.])
+ AC_MSG_ERROR([Aborting.])
+ ])
+
+ BUILD="WAYLAND"
+ AC_DEFINE([FLTK_USE_WAYLAND])
+ CFLAGS="$CFLAGS -DUSE_SYSTEM_LIBDECOR=0"
+ CXXFLAGS="$CXXFLAGS -DUSE_SYSTEM_LIBDECOR=0"
+ graphics="Wayland"
+ LIBS="$LIBS $($PKGCONFIG --libs wayland-cursor) $($PKGCONFIG --libs wayland-client) $($PKGCONFIG --libs xkbcommon)"
+ LIBS="$LIBS $($PKGCONFIG --libs dbus-1) -ldl"
+ CXXFLAGS="$CXXFLAGS -I../libdecor/src"
+ DSOFLAGS="$LIBS $DSOFLAGS"
+ enable_pango=yes
+ LIBDECORDIR="libdecor/build"
+ LDFLAGS="$LDFLAGS -rdynamic -no-pie"
+
+ AC_SEARCH_LIBS([dlopen], [dl])
+ AC_CHECK_HEADER([GL/gl.h], [AC_DEFINE([HAVE_GL])])
+ AC_CHECK_HEADER([GL/glu.h], [
+ AC_DEFINE([HAVE_GL_GLU_H])
+ GLLIBS="$($PKGCONFIG --libs wayland-egl) $($PKGCONFIG --libs egl) $($PKGCONFIG --libs glu) $GLLIBS"
+ ])
+
+ dnl Check for GTK-3 ...
+ gtk_found=no
+ CFLAGS="$($PKGCONFIG --cflags gtk+-3.0) $CFLAGS"
+ AC_CHECK_HEADERS([gtk/gtk.h], [
+ CFLAGS="$CFLAGS -DHAVE_GTK"
+ LIBS="$LIBS $($PKGCONFIG --libs gtk+-3.0)"
+ gtk_found=yes
+ ])
+
+ dnl Check for the Pango library ...
+ pango_found=no
+ CFLAGS="$($PKGCONFIG --cflags pangocairo) $CFLAGS"
+ CXXFLAGS="$($PKGCONFIG --cflags pangocairo) $CXXFLAGS"
+ LIBS="$LIBS $($PKGCONFIG --libs pangocairo)"
+
+ AC_CHECK_HEADERS([pango/pangocairo.h], [
+ AC_DEFINE([USE_PANGO])
+ AC_DEFINE([USE_XFT])
+ pango_found=yes
+ ])
+
+ dnl Early abort if Pango could not be found
+ AS_IF([test x$pango_found != xyes], [
+ AC_MSG_NOTICE([--enable-wayland: Pango libs and/or headers could not be found.])
+ AC_MSG_ERROR([Aborting.])
+ ])
+
+ ], [
+
dnl Check for X11...
AC_PATH_XTRA
@@ -1016,7 +1077,7 @@ AS_CASE([$host_os_gui], [cygwin* | mingw*], [
AS_IF([test "x$x_includes" != x], [
ac_cpp="$ac_cpp -I$x_includes"
])
-
+])
dnl Check for OpenGL unless disabled...
GLLIBS=
@@ -1217,6 +1278,8 @@ AC_SUBST([HLINKS])
AC_SUBST([OSX_ONLY])
AC_SUBST([THREADS])
+AC_SUBST([LIBDECORDIR])
+
AC_SUBST([INSTALL_DESKTOP])
AC_SUBST([UNINSTALL_DESKTOP])
@@ -1344,17 +1407,21 @@ AS_IF([test -n "$GCC"], [
[AC_MSG_RESULT(no)])
CFLAGS="$OLDCFLAGS"
- dnl Make sure that shared libraries don't have undefined references
- # See if ld supports -no-undefined...
- AC_MSG_CHECKING([if ld supports -no-undefined])
- OLDLDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -Wl,-no-undefined"
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM([[]], [[]])],
- [DSOFLAGS="$DSOFLAGS -Wl,-no-undefined"
- AC_MSG_RESULT(yes)],
- [AC_MSG_RESULT(no)])
- LDFLAGS="$OLDLDFLAGS"
+ AS_IF([test x$enable_wayland = xyes],[
+ DSOFLAGS="$DSOFLAGS -Wl,--allow-shlib-undefined"
+ ] , [
+ dnl Make sure that shared libraries don't have undefined references
+ # See if ld supports -no-undefined...
+ AC_MSG_CHECKING([if ld supports -no-undefined])
+ OLDLDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -Wl,-no-undefined"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[]], [[]])],
+ [DSOFLAGS="$DSOFLAGS -Wl,-no-undefined"
+ AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)])
+ LDFLAGS="$OLDLDFLAGS"
+ ])
# See if ld supports -Bsymbolic-functions...
AC_MSG_CHECKING([if ld supports -Bsymbolic-functions])
@@ -1529,7 +1596,9 @@ AS_CASE([$host_os_gui], [cygwin* | mingw*], [
], [darwin*], [
graphics="Quartz"
], [*], [
- graphics="X11"
+ AS_IF([test x$enable_wayland != xyes], [
+ graphics="X11"
+ ])
AS_IF([test x$xft_found = xyes], [
graphics="$graphics + Xft"
])