diff --git a/.gitignore b/.gitignore index 0ddacbfc..544abd2d 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ *.gcda *.log *.trs +finalcut.pc stamp-h1 _configs.sed config.guess diff --git a/ChangeLog b/ChangeLog index d4564873..2943b92a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2018-09-20 Markus Gans + * added pkg-config file finalcut.pc + 2018-09-16 Markus Gans * Implement a ttytype test for the FTermDetection unit test diff --git a/Makefile.am b/Makefile.am index 8a2b0cf7..f025efc7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,6 +6,13 @@ AUTOMAKE_OPTIONS = foreign ACLOCAL_AMFLAGS = -I m4 +EXTRA_DIST=finalcut.pc + +pkgconfigdir = $(datadir)/pkgconfig +pkgconfig_DATA = finalcut.pc + +CLEANFILES = finalcut.pc + SUBDIRS = src fonts doc examples docdir = ${datadir}/doc/${PACKAGE} diff --git a/Makefile.in b/Makefile.in index 78a95284..472480af 100644 --- a/Makefile.in +++ b/Makefile.in @@ -85,9 +85,9 @@ host_triplet = @host@ subdir = . DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/configure $(am__configure_deps) \ - $(srcdir)/config.h.in AUTHORS COPYING COPYING.LESSER ChangeLog \ - compile config.guess config.sub depcomp install-sh missing \ - ltmain.sh + $(srcdir)/config.h.in $(srcdir)/finalcut.pc.in AUTHORS COPYING \ + COPYING.LESSER ChangeLog compile config.guess config.sub \ + depcomp install-sh missing ltmain.sh ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prefix_config_h.m4 \ $(top_srcdir)/m4/cppunit.m4 $(top_srcdir)/m4/libtool.m4 \ @@ -100,7 +100,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = +CONFIG_CLEAN_FILES = finalcut.pc CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) @@ -156,8 +156,8 @@ am__uninstall_files_from_dir = { \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } -am__installdirs = "$(DESTDIR)$(docdir)" -DATA = $(doc_DATA) +am__installdirs = "$(DESTDIR)$(docdir)" "$(DESTDIR)$(pkgconfigdir)" +DATA = $(doc_DATA) $(pkgconfig_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ @@ -358,6 +358,10 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = foreign ACLOCAL_AMFLAGS = -I m4 +EXTRA_DIST = finalcut.pc +pkgconfigdir = $(datadir)/pkgconfig +pkgconfig_DATA = finalcut.pc +CLEANFILES = finalcut.pc SUBDIRS = src fonts doc examples doc_DATA = AUTHORS COPYING COPYING.LESSER ChangeLog all: config.h @@ -413,6 +417,8 @@ $(srcdir)/config.h.in: $(am__configure_deps) distclean-hdr: -rm -f config.h stamp-h1 +finalcut.pc: $(top_builddir)/config.status $(srcdir)/finalcut.pc.in + cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: -rm -f *.lo @@ -443,6 +449,27 @@ uninstall-docDATA: @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) +install-pkgconfigDATA: $(pkgconfig_DATA) + @$(NORMAL_INSTALL) + @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ + done + +uninstall-pkgconfigDATA: + @$(NORMAL_UNINSTALL) + @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. @@ -743,7 +770,7 @@ check: check-recursive all-am: Makefile $(DATA) config.h installdirs: installdirs-recursive installdirs-am: - for dir in "$(DESTDIR)$(docdir)"; do \ + for dir in "$(DESTDIR)$(docdir)" "$(DESTDIR)$(pkgconfigdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive @@ -768,6 +795,7 @@ install-strip: mostlyclean-generic: clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) @@ -798,7 +826,7 @@ info: info-recursive info-am: -install-data-am: install-docDATA +install-data-am: install-docDATA install-pkgconfigDATA install-dvi: install-dvi-recursive @@ -844,7 +872,7 @@ ps: ps-recursive ps-am: -uninstall-am: uninstall-docDATA +uninstall-am: uninstall-docDATA uninstall-pkgconfigDATA .MAKE: $(am__recursive_targets) all install-am install-strip @@ -859,11 +887,12 @@ uninstall-am: uninstall-docDATA install-docDATA install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-docDATA + install-pkgconfigDATA install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-docDATA \ + uninstall-pkgconfigDATA test: check diff --git a/configure b/configure index 4f07afed..31bee2d0 100755 --- a/configure +++ b/configure @@ -17786,7 +17786,7 @@ SO_VERSION="4:0:4" -ac_config_files="$ac_config_files Makefile src/Makefile fonts/Makefile doc/Makefile examples/Makefile src/test/Makefile" +ac_config_files="$ac_config_files Makefile src/Makefile fonts/Makefile doc/Makefile examples/Makefile src/test/Makefile finalcut.pc" # use GPM (General Purpose Mouse) @@ -19239,6 +19239,7 @@ do "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; "src/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/test/Makefile" ;; + "finalcut.pc") CONFIG_FILES="$CONFIG_FILES finalcut.pc" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac diff --git a/configure.ac b/configure.ac index 8f03b21d..71a0b848 100644 --- a/configure.ac +++ b/configure.ac @@ -66,7 +66,13 @@ AC_SUBST([LIBTOOL_DEPS]) AC_CONFIG_MACRO_DIR([m4]) -AC_CONFIG_FILES([Makefile src/Makefile fonts/Makefile doc/Makefile examples/Makefile src/test/Makefile]) +AC_CONFIG_FILES([Makefile + src/Makefile + fonts/Makefile + doc/Makefile + examples/Makefile + src/test/Makefile + finalcut.pc]) # use GPM (General Purpose Mouse) AC_ARG_WITH([gpm], diff --git a/finalcut.pc.in b/finalcut.pc.in new file mode 100644 index 00000000..1f0e68d4 --- /dev/null +++ b/finalcut.pc.in @@ -0,0 +1,13 @@ +# Package information for pkg-config + +prefix=@prefix@ +exec_prefix=${prefix} +libdir=@libdir@ +includedir=${prefix}/include + +Name: finalcut +Description: The Final Cut text-based widget library +Version: @VERSION@ +URL: https://github.com/gansm/finalcut +Libs: -L${libdir} -lfinal +Cflags: -I${includedir} diff --git a/scripts/kcachegrind.sh b/scripts/kcachegrind.sh index 5cdae679..59fab975 100755 --- a/scripts/kcachegrind.sh +++ b/scripts/kcachegrind.sh @@ -1,6 +1,18 @@ #!/bin/bash -LD_LIBRARY_PATH=../src/.libs/ valgrind --tool=callgrind -v ../examples/.libs/ui 2>/dev/null +if [ -z "$1" ] +then + PROG="../examples/.libs/ui" +else + PROG="$1" + shift +fi + +# Is the file executable? +test ! -x "$PROG" && echo "No executable file not found" && exit -1 + + +LD_LIBRARY_PATH=../src/.libs/ valgrind --tool=callgrind -v "$PROG" 2>/dev/null kcachegrind rm -f callgrind.out.*