diff -up ./configure.ac.fltk ./configure.ac --- ./configure.ac.fltk 2015-03-18 13:42:25.000000000 +0300 +++ ./configure.ac 2016-02-12 23:07:32.735379465 +0300 @@ -394,12 +394,51 @@ pinentry_w32=no test $have_w32_system = yes && pinentry_w32=yes AM_CONDITIONAL(BUILD_PINENTRY_W32, test "$pinentry_w32" = "yes") +dnl +dnl Check for FLTK pinentry program. +dnl +AC_ARG_ENABLE(pinentry-fltk, + AC_HELP_STRING([--enable-pinentry-fltk], [build FLTK 1.3 pinentry]), + pinentry_fltk=$enableval, pinentry_fltk=maybe) + +dnl check for fltk-config +if test "$pinentry_fltk" != "no"; then + AC_PATH_PROG(FLTK_CONFIG, fltk-config, no) + if test x"${FLTK_CONFIG}" = xno ; then + AC_MSG_WARN([fltk-config is not found]) + pinentry_fltk=no + fi +fi + +dnl check for FLTK libraries and set flags +if test "$pinentry_fltk" != "no"; then + AC_MSG_CHECKING([for FLTK 1.3]) + FLTK_VERSION=`${FLTK_CONFIG} --api-version` + if test ${FLTK_VERSION} != "1.3" ; then + AC_MSG_RESULT([no]) + AC_MSG_WARN([FLTK 1.3 not found (available $FLTK_VERSION)]) + pinentry_fltk=no + else + AC_MSG_RESULT([yes]) + FLTKCFLAGS=`${FLTK_CONFIG} --cflags` + FLTKCXXFLAGS=`${FLTK_CONFIG} --cxxflags` + FLTKLIBS=`${FLTK_CONFIG} --ldflags` + AC_SUBST(FLTKCFLAGS) + AC_SUBST(FLTKCXXFLAGS) + AC_SUBST(FLTKLIBS) + pinentry_fltk=yes + fi +fi +AM_CONDITIONAL(BUILD_PINENTRY_FLTK, test "$pinentry_fltk" = "yes") + # Figure out the default pinentry. We are very conservative here. # Please change the order only after verifying that the preferred # pinentry really is better (more feature-complete and more secure). -if test "$pinentry_gtk_2" = "yes"; then +if test "$pinentry_fltk" = "yes"; then + PINENTRY_DEFAULT=pinentry-fltk +else if test "$pinentry_gtk_2" = "yes"; then PINENTRY_DEFAULT=pinentry-gtk-2 else if test "$pinentry_qt4" = "yes"; then @@ -420,6 +459,7 @@ else fi fi fi +fi AC_SUBST(PINENTRY_DEFAULT) @@ -431,6 +471,7 @@ curses/Makefile tty/Makefile gtk+-2/Makefile qt4/Makefile +fltk/Makefile w32/Makefile doc/Makefile Makefile @@ -450,6 +491,7 @@ AC_MSG_NOTICE([ GTK+-2 Pinentry ..: $pinentry_gtk_2 Qt4 Pinentry .....: $pinentry_qt4 $pinentry_qt4_clip_msg W32 Pinentry .....: $pinentry_w32 + FLTK Pinentry ....: $pinentry_fltk Fallback to Curses: $fallback_curses diff -up ./Makefile.am.fltk ./Makefile.am --- ./Makefile.am.fltk 2016-02-12 23:04:01.775395220 +0300 +++ ./Makefile.am 2016-02-12 23:04:18.902393941 +0300 @@ -58,8 +58,15 @@ else pinentry_w32 = endif +if BUILD_PINENTRY_FLTK +pinentry_fltk = fltk +else +pinentry_fltk = +endif + + SUBDIRS = assuan secmem pinentry ${pinentry_curses} ${pinentry_tty} \ - ${pinentry_gtk_2} ${pinentry_qt4} ${pinentry_w32} doc + ${pinentry_gtk_2} ${pinentry_qt4} ${pinentry_w32} ${pinentry_fltk} doc install-exec-local: