From: Richard W.M. Jones Date: Fri, 1 Oct 2021 14:33:29 +0000 (+0100) Subject: Convert to using automake X-Git-Tag: v1.1.0~3 X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=5405de2920fa56529b56f61ff683806e72ddfa6a;p=virt-top.git Convert to using automake --- diff --git a/.gitignore b/.gitignore index e3f77e7..3eacd90 100644 --- a/.gitignore +++ b/.gitignore @@ -6,26 +6,38 @@ *.cmxa *.dll *.exe +*.gmo *.o *.opt *.orig *.so *~ -META Makefile -aclocal.m4 -config.cache -config.h -config.log -config.status -configure -core -core.* -html +Makefile.in +.deps + +/META +/aclocal.m4 +/compile +/config.cache +/config.h +/config.h.in +/config.log +/config.status +/configure +/core +/core.* +/depcomp +/html +/missing +/ocaml-dep.sh +/ocaml-link.sh +/src/.depend +/stamp-h1 -/Make.rules /autom4te.cache +/local* /po/*.mo /po/*.po.bak /src/opt_gettext.ml diff --git a/ChangeLog b/ChangeLog index 6690b45..08dd5ed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,85 @@ +2021-10-01 Richard W.M. Jones + + Convert to using automake + +2020-09-21 Richard W.M. Jones + + Merge remote-tracking branch 'weblate/master' into master + +2020-09-13 Emilio Herrera + + Translated using Weblate (Spanish) + Currently translated at 84.5% (71 of 84 strings) + + Translation: virt-top/master + Translate-URL: https://translate.fedoraproject.org/projects/virt-top/master/es/ + +2020-08-28 Julien Humbert + + Translated using Weblate (French) + Currently translated at 20.2% (17 of 84 strings) + + Translation: virt-top/master + Translate-URL: https://translate.fedoraproject.org/projects/virt-top/master/fr/ + +2020-08-28 Yuri Chornoivan + + Translated using Weblate (Ukrainian) + Currently translated at 100.0% (84 of 84 strings) + + Translation: virt-top/master + Translate-URL: https://translate.fedoraproject.org/projects/virt-top/master/uk/ + +2020-08-28 Göran Uddeborg + + Translated using Weblate (Swedish) + Currently translated at 100.0% (84 of 84 strings) + + Translation: virt-top/master + Translate-URL: https://translate.fedoraproject.org/projects/virt-top/master/sv/ + +2020-08-28 Oğuz Ersen + + Translated using Weblate (Turkish) + Currently translated at 100.0% (84 of 84 strings) + + Translation: virt-top/master + Translate-URL: https://translate.fedoraproject.org/projects/virt-top/master/tr/ + +2020-08-28 Piotr Drąg + + Translated using Weblate (Polish) + Currently translated at 100.0% (84 of 84 strings) + + Translation: virt-top/master + Translate-URL: https://translate.fedoraproject.org/projects/virt-top/master/pl/ + + Translated using Weblate (Polish) + + Currently translated at 100.0% (84 of 84 strings) + + Translation: virt-top/master + Translate-URL: https://translate.fedoraproject.org/projects/virt-top/master/pl/ + +2020-08-28 Weblate + + Update translation files + Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. + + Translation: virt-top/master + Translate-URL: https://translate.fedoraproject.org/projects/virt-top/master/ + +2020-08-27 Richard W.M. Jones + + Update translations from Zanata (RHBZ#1868108). + +2019-08-21 Stephane Glondu + + libvirt: Handle VIR_DOMAIN_PMSUSPENDED state. + Fixes FTBFS with ocaml-libvirt 0.6.1.5. + + RWMJ: Added documentation and changed the letter to 'M'. + 2019-08-20 Richard W.M. Jones Version 1.0.9. diff --git a/MANIFEST b/MANIFEST deleted file mode 100644 index 4e4014b..0000000 --- a/MANIFEST +++ /dev/null @@ -1,78 +0,0 @@ -.gitignore -ChangeLog -config.guess -config.h.in -config.sub -configure.ac -COPYING -COPYING.LIB -HACKING -gitlog-to-changelog -install-sh -Makefile.in -Make.rules.in -MANIFEST -m4/ocaml.m4 -po/as.po -po/ca.po -po/de.po -po/es.po -po/eu.po -po/fr.po -po/gu.po -po/hu.po -po/id.po -po/it.po -po/ja.po -po/ka.po -po/kn.po -po/LINGUAS -po/Makefile.in -po/ml.po -po/mr.po -po/nl.po -po/or.po -po/pa.po -po/pl.po -po/pt_BR.po -po/pt.po -po/POTFILES -po/ru.po -po/sr.po -po/sv.po -po/te.po -po/tg.po -po/tr.po -po/uk.po -po/virt-top.pot -po/zanata-pull.sh -po/zanata.xml -po/zh_CN.po -po/zh_TW.po -README -TODO -src/.depend -src/Makefile.in -src/README -src/collect.ml -src/collect.mli -src/csv_output.ml -src/csv_output.mli -src/main.ml -src/opt_calendar.ml -src/opt_csv.ml -src/opt_xml.ml -src/redraw.ml -src/redraw.mli -src/screen.ml -src/screen.mli -src/stream_output.ml -src/stream_output.mli -src/top.ml -src/top.mli -src/types.ml -src/types.mli -src/utils.ml -src/utils.mli -src/version.ml.in -src/virt-top.pod diff --git a/Make.rules.in b/Make.rules.in deleted file mode 100644 index 12037e1..0000000 --- a/Make.rules.in +++ /dev/null @@ -1,78 +0,0 @@ -# ocaml-libvirt -# Copyright (C) 2007-2009 Red Hat Inc., Richard W.M. Jones -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -# This file is included by Makefiles in subdirectories. - -OCAMLFIND = @OCAMLFIND@ -OCAMLDEP = @OCAMLDEP@ -OCAMLC = @OCAMLC@ -OCAMLOPT = @OCAMLOPT@ - -# Common rules for building OCaml objects. - -ifneq ($(OCAMLFIND),) -.mli.cmi: - $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $< -.ml.cmo: - $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $< -.ml.cmx: - $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) -c $< -else -.mli.cmi: - $(OCAMLC) $(OCAMLCFLAGS) $(OCAMLCINCS) -c $< -.ml.cmo: - $(OCAMLC) $(OCAMLCFLAGS) $(OCAMLCINCS) -c $< -.ml.cmx: - $(OCAMLOPT) $(OCAMLOPTFLAGS) $(OCAMLOPTINCS) -c $< -endif - -%.ml %.mli: %.mly - ocamlyacc $< -.mll.ml: - ocamllex $< - -# Dependencies. - -depend: .depend - -ifneq ($(OCAMLFIND),) -.depend: $(wildcard *.mli) $(wildcard *.ml) - rm -f $@ $@-t - $(OCAMLFIND) ocamldep $(OCAMLCPACKAGES) $(OCAMLDEPFLAGS) $^ | \ - sed 's/ :/:/' | \ - sed 's/ *$$//' | \ - sed -e :a -e '/ *\\$$/N; s/ *\\\n */ /; ta' | \ - sort > $@-t - mv $@-t $@ -else -.depend: $(wildcard *.mli) $(wildcard *.ml) - rm -f $@ $@-t - $(OCAMLDEP) $(OCAMLCINCS) $(OCAMLDEPFLAGS) $^ | \ - sed 's/ :/:/' | \ - sed 's/ *$$//' | \ - sed -e :a -e '/ *\\$$/N; s/ *\\\n */ /; ta' | \ - sort > $@-t - mv $@-t $@ -endif - -ifeq ($(wildcard .depend),.depend) -include .depend -endif - -.PHONY: depend dist check-manifest dpkg doc - -.SUFFIXES: .cmo .cmi .cmx .ml .mli .mll .mly diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..699ccce --- /dev/null +++ b/Makefile.am @@ -0,0 +1,69 @@ +# virt-top +# Copyright (C) 2007-2021 Red Hat Inc., Richard W.M. Jones +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +SUBDIRS = src po + +EXTRA_DIST = \ + .gitignore \ + gitlog-to-changelog \ + HACKING + +dist-hook: po/POTFILES po/POTFILES-ml + +po/POTFILES: configure.ac + rm -f $@ $@-t + find . -name '*.c' | \ + grep -v '/$(PACKAGE_NAME)-$(PACKAGE_VERSION)/' | \ + LC_ALL=C sort > $@-t + mv $@-t $@ + +po/POTFILES-ml: configure.ac + rm -f $@ $@-t + find . -name '*.ml' | \ + grep -v '/$(PACKAGE_NAME)-$(PACKAGE_VERSION)/' | \ + LC_ALL=C sort > $@-t + mv $@-t $@ + +# Commit everything in current directory to HEAD, and set commit +# message to current version (only for maintainer). + +maintainer-commit: + git commit -a -m "Version $(VERSION)." + +# Tag HEAD with current version (only for maintainer). + +maintainer-tag: + git tag -a "v$(VERSION)" -m "Version $(VERSION)" -f + +# Maintainer only: check no files are missing from EXTRA_DIST rules, +# and that all generated files have been included in the tarball. +# (Note you must have done 'make dist') + +maintainer-check-extra-dist: + zcat $(PACKAGE_NAME)-$(VERSION).tar.gz | tar tf - | sort | \ + sed 's,^$(PACKAGE_NAME)-$(VERSION)/,,' > tarfiles + git ls-files | sort > gitfiles + comm -13 tarfiles gitfiles > comm-out + @echo Checking for differences between EXTRA_DIST and git ... + cat comm-out + [ ! -s comm-out ] + rm tarfiles gitfiles comm-out + @echo PASS: EXTRA_DIST tests + +ChangeLog: $(shell find -type f) + ./gitlog-to-changelog > $@.new + mv $@.new $@ diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index d0aec17..0000000 --- a/Makefile.in +++ /dev/null @@ -1,68 +0,0 @@ -# virt-top -# Copyright (C) 2007-2014 Red Hat Inc., Richard W.M. Jones -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -PACKAGE = @PACKAGE_NAME@ -VERSION = @PACKAGE_VERSION@ - -INSTALL = @INSTALL@ - -MAKENSIS = @MAKENSIS@ - -SUBDIRS = src - -all opt depend install: - $(MAKE) -C src $@ - -clean: - for d in . $(SUBDIRS); do \ - (cd $$d; rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a *.so *.opt *~ *.dll *.exe core); \ - done - rm -f src/virt-top - -distclean: clean - rm -f config.h config.log config.status configure - rm -rf autom4te.cache - rm -f Makefile - rm -f src/Makefile - -# Distribution. - -dist: ChangeLog - $(MAKE) check-manifest - rm -rf $(PACKAGE)-$(VERSION) - mkdir $(PACKAGE)-$(VERSION) - tar -cf - -T MANIFEST | tar -C $(PACKAGE)-$(VERSION) -xf - - $(INSTALL) -m 0755 configure $(PACKAGE)-$(VERSION)/ - $(INSTALL) -m 0644 aclocal.m4 $(PACKAGE)-$(VERSION)/ - $(INSTALL) -m 0644 src/virt-top.1 $(PACKAGE)-$(VERSION)/src/ - $(INSTALL) -m 0644 src/virt-top.txt $(PACKAGE)-$(VERSION)/src/ - tar zcf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION) - rm -rf $(PACKAGE)-$(VERSION) - ls -l $(PACKAGE)-$(VERSION).tar.gz - -check-manifest: - git ls-files | sort > .check-manifest; \ - sort MANIFEST > .orig-manifest; \ - diff -u .orig-manifest .check-manifest; rv=$$?; \ - rm -f .orig-manifest .check-manifest; \ - exit $$rv - -ChangeLog: $(shell find -type f) - ./gitlog-to-changelog > $@.new - mv $@.new $@ - -.PHONY: all opt depend install clean distclean force diff --git a/config.h.in b/config.h.in deleted file mode 100644 index f80de9c..0000000 --- a/config.h.in +++ /dev/null @@ -1,19 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION diff --git a/config.rpath b/config.rpath new file mode 100755 index 0000000..4b7dc49 --- /dev/null +++ b/config.rpath @@ -0,0 +1,684 @@ +#! /bin/sh +# Output a system dependent set of variables, describing how to set the +# run time search path of shared libraries in an executable. +# +# Copyright 1996-2021 Free Software Foundation, Inc. +# Taken from GNU libtool, 2001 +# Originally by Gordon Matzigkeit , 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# The first argument passed to this file is the canonical host specification, +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld +# should be set by the caller. +# +# The set of defined variables is at the end of this script. + +# Known limitations: +# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer +# than 256 bytes, otherwise the compiler driver will dump core. The only +# known workaround is to choose shorter directory names for the build +# directory and/or the installation directory. + +# All known linkers require a '.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +shrext=.so + +host="$1" +host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + +# Code taken from libtool.m4's _LT_CC_BASENAME. + +for cc_temp in $CC""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` + +# Code taken from libtool.m4's _LT_COMPILER_PIC. + +wl= +if test "$GCC" = yes; then + wl='-Wl,' +else + case "$host_os" in + aix*) + wl='-Wl,' + ;; + mingw* | cygwin* | pw32* | os2* | cegcc*) + ;; + hpux9* | hpux10* | hpux11*) + wl='-Wl,' + ;; + irix5* | irix6* | nonstopux*) + wl='-Wl,' + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + ecc*) + wl='-Wl,' + ;; + icc* | ifort*) + wl='-Wl,' + ;; + lf95*) + wl='-Wl,' + ;; + nagfor*) + wl='-Wl,-Wl,,' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + wl='-Wl,' + ;; + ccc*) + wl='-Wl,' + ;; + xl* | bgxl* | bgf* | mpixl*) + wl='-Wl,' + ;; + como) + wl='-lopt=' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ F* | *Sun*Fortran*) + wl= + ;; + *Sun\ C*) + wl='-Wl,' + ;; + esac + ;; + esac + ;; + newsos6) + ;; + *nto* | *qnx*) + ;; + osf3* | osf4* | osf5*) + wl='-Wl,' + ;; + rdos*) + ;; + solaris*) + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + wl='-Qoption ld ' + ;; + *) + wl='-Wl,' + ;; + esac + ;; + sunos4*) + wl='-Qoption ld ' + ;; + sysv4 | sysv4.2uw2* | sysv4.3*) + wl='-Wl,' + ;; + sysv4*MP*) + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + wl='-Wl,' + ;; + unicos*) + wl='-Wl,' + ;; + uts4*) + ;; + esac +fi + +# Code taken from libtool.m4's _LT_LINKER_SHLIBS. + +hardcode_libdir_flag_spec= +hardcode_libdir_separator= +hardcode_direct=no +hardcode_minus_L=no + +case "$host_os" in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; +esac + +ld_shlibs=yes +if test "$with_gnu_ld" = yes; then + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + # Unlike libtool, we use -rpath here, not --rpath, since the documented + # option of GNU ld is called -rpath, not --rpath. + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + case "$host_os" in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + fi + ;; + amigaos*) + case "$host_cpu" in + powerpc) + ;; + m68k) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + cygwin* | mingw* | pw32* | cegcc*) + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + haiku*) + ;; + interix[3-9]*) + hardcode_direct=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + netbsd*) + ;; + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + else + ld_shlibs=no + fi + ;; + esac + ;; + sunos4*) + hardcode_direct=yes + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + : + else + ld_shlibs=no + fi + ;; + esac + if test "$ld_shlibs" = no; then + hardcode_libdir_flag_spec= + fi +else + case "$host_os" in + aix3*) + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + else + aix_use_runtimelinking=no + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + fi + hardcode_direct=yes + hardcode_libdir_separator=':' + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + fi + # Begin _LT_AC_SYS_LIBPATH_AIX. + echo 'int main () { return 0; }' > conftest.c + ${CC} ${LDFLAGS} conftest.c -o conftest + aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` + fi + if test -z "$aix_libpath"; then + aix_libpath="/usr/lib:/lib" + fi + rm -f conftest.c conftest + # End _LT_AC_SYS_LIBPATH_AIX. + if test "$aix_use_runtimelinking" = yes; then + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + else + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + fi + fi + ;; + amigaos*) + case "$host_cpu" in + powerpc) + ;; + m68k) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + bsdi[45]*) + ;; + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + libext=lib + ;; + darwin* | rhapsody*) + hardcode_direct=no + if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then + : + else + ld_shlibs=no + fi + ;; + dgux*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + freebsd2.[01]*) + hardcode_direct=yes + hardcode_minus_L=yes + ;; + freebsd* | dragonfly* | midnightbsd*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + hpux9*) + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + hpux10*) + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + hpux11*) + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + ;; + *) + hardcode_direct=yes + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + irix5* | irix6* | nonstopux*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + netbsd*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + newsos6) + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + *nto* | *qnx*) + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + else + case "$host_os" in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + osf3*) + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + osf4* | osf5*) + if test "$GCC" = yes; then + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + # Both cc and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + solaris*) + hardcode_libdir_flag_spec='-R$libdir' + ;; + sunos4*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + ;; + sysv4) + case $host_vendor in + sni) + hardcode_direct=yes # is this really true??? + ;; + siemens) + hardcode_direct=no + ;; + motorola) + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + ;; + sysv4.3*) + ;; + sysv4*MP*) + if test -d /usr/nec; then + ld_shlibs=yes + fi + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + ;; + sysv5* | sco3.2v5* | sco5v6*) + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + ;; + uts4*) + hardcode_libdir_flag_spec='-L$libdir' + ;; + *) + ld_shlibs=no + ;; + esac +fi + +# Check dynamic linker characteristics +# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. +# Unlike libtool.m4, here we don't care about _all_ names of the library, but +# only about the one the linker finds when passed -lNAME. This is the last +# element of library_names_spec in libtool.m4, or possibly two of them if the +# linker has special search rules. +library_names_spec= # the last element of library_names_spec in libtool.m4 +libname_spec='lib$name' +case "$host_os" in + aix3*) + library_names_spec='$libname.a' + ;; + aix[4-9]*) + library_names_spec='$libname$shrext' + ;; + amigaos*) + case "$host_cpu" in + powerpc*) + library_names_spec='$libname$shrext' ;; + m68k) + library_names_spec='$libname.a' ;; + esac + ;; + beos*) + library_names_spec='$libname$shrext' + ;; + bsdi[45]*) + library_names_spec='$libname$shrext' + ;; + cygwin* | mingw* | pw32* | cegcc*) + shrext=.dll + library_names_spec='$libname.dll.a $libname.lib' + ;; + darwin* | rhapsody*) + shrext=.dylib + library_names_spec='$libname$shrext' + ;; + dgux*) + library_names_spec='$libname$shrext' + ;; + freebsd[23].*) + library_names_spec='$libname$shrext$versuffix' + ;; + freebsd* | dragonfly* | midnightbsd*) + library_names_spec='$libname$shrext' + ;; + gnu*) + library_names_spec='$libname$shrext' + ;; + haiku*) + library_names_spec='$libname$shrext' + ;; + hpux9* | hpux10* | hpux11*) + case $host_cpu in + ia64*) + shrext=.so + ;; + hppa*64*) + shrext=.sl + ;; + *) + shrext=.sl + ;; + esac + library_names_spec='$libname$shrext' + ;; + interix[3-9]*) + library_names_spec='$libname$shrext' + ;; + irix5* | irix6* | nonstopux*) + library_names_spec='$libname$shrext' + case "$host_os" in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; + *) libsuff= shlibsuff= ;; + esac + ;; + esac + ;; + linux*oldld* | linux*aout* | linux*coff*) + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu) + library_names_spec='$libname$shrext' + ;; + knetbsd*-gnu) + library_names_spec='$libname$shrext' + ;; + netbsd*) + library_names_spec='$libname$shrext' + ;; + newsos6) + library_names_spec='$libname$shrext' + ;; + *nto* | *qnx*) + library_names_spec='$libname$shrext' + ;; + openbsd*) + library_names_spec='$libname$shrext$versuffix' + ;; + os2*) + libname_spec='$name' + shrext=.dll + library_names_spec='$libname.a' + ;; + osf3* | osf4* | osf5*) + library_names_spec='$libname$shrext' + ;; + rdos*) + ;; + solaris*) + library_names_spec='$libname$shrext' + ;; + sunos4*) + library_names_spec='$libname$shrext$versuffix' + ;; + sysv4 | sysv4.3*) + library_names_spec='$libname$shrext' + ;; + sysv4*MP*) + library_names_spec='$libname$shrext' + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + library_names_spec='$libname$shrext' + ;; + tpf*) + library_names_spec='$libname$shrext' + ;; + uts4*) + library_names_spec='$libname$shrext' + ;; +esac + +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' +escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` +shlibext=`echo "$shrext" | sed -e 's,^\.,,'` +escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` +escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` + +LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <= 4.03, but in theory might be disabled by +dnl downstream distros. +OCAML_RUNTIME_VARIANT_PIC_OPTION="" +if test "x$OCAMLC" != "xno"; then + AC_MSG_CHECKING([if OCaml ‘-runtime-variant _pic’ works]) + rm -f conftest.ml contest + echo 'print_endline "hello world"' > conftest.ml + if $OCAMLOPT conftest.ml -runtime-variant _pic -o conftest >&5 2>&5 ; then + AC_MSG_RESULT([yes]) + OCAML_RUNTIME_VARIANT_PIC_OPTION="-runtime-variant _pic" + else + AC_MSG_RESULT([no]) + fi + rm -f conftest.ml contest +fi +AC_SUBST([OCAML_RUNTIME_VARIANT_PIC_OPTION]) dnl Check for optional perldoc (for building manual pages). -AC_CHECK_PROG(HAVE_PERLDOC,perldoc,perldoc) +AC_CHECK_PROG([HAVE_PERLDOC], perldoc, perldoc) +AM_CONDITIONAL([HAVE_PERLDOC], [test "x$HAVE_PERLDOC" = "xperldoc"]) dnl Check for recommended ocaml-gettext tool. -AC_CHECK_PROG(OCAML_GETTEXT,ocaml-gettext,ocaml-gettext) - -dnl Check for msgfmt tool. -AC_CHECK_PROG(MSGFMT,msgfmt,msgfmt) +AC_CHECK_PROG([OCAML_GETTEXT], ocaml-gettext, ocaml-gettext) +AM_CONDITIONAL([HAVE_OCAML_GETTEXT],[test "x$OCAML_GETTEXT" = "xocaml-gettext"]) + +dnl Check for GNU gettext tools (optional). +AC_CHECK_PROG([XGETTEXT],[xgettext],[xgettext],[no]) +AC_CHECK_PROG([MSGCAT],[msgcat],[msgcat],[no]) +AC_CHECK_PROG([MSGFMT],[msgfmt],[msgfmt],[no]) +AC_CHECK_PROG([MSGMERGE],[msgmerge],[msgmerge],[no]) + +dnl Check they are the GNU gettext tools. +AC_MSG_CHECKING([msgfmt is GNU tool]) +if $MSGFMT --version >/dev/null 2>&1 && $MSGFMT --version | grep -q 'GNU gettext +'; then + msgfmt_is_gnu=yes +else + msgfmt_is_gnu=no +fi +AC_MSG_RESULT([$msgfmt_is_gnu]) +AM_CONDITIONAL([HAVE_GNU_GETTEXT], + [test "x$XGETTEXT" != "xno" && test "x$MSGCAT" != "xno" && test "x$MSGFMT" != "xno" && test "x$MSGMERGE" != "xno" && test "x$msgfmt_is_gnu" != "xno"]) -dnl Substitute CFLAGS and LDFLAGS if set. -AC_SUBST([CFLAGS]) -AC_SUBST([LDFLAGS]) +dnl Check for gettext. +AM_GNU_GETTEXT([external]) dnl Write gettext modules for the programs. dnl http://www.le-gall.net/sylvain+violaine/documentation/ocaml-gettext/html/reference-manual/ch03s04.html @@ -120,8 +170,9 @@ echo "------------------------------------------------------------" dnl Produce output files. AC_CONFIG_HEADERS([config.h]) +AC_CONFIG_FILES([ocaml-dep.sh], [chmod +x,-w ocaml-dep.sh]) +AC_CONFIG_FILES([ocaml-link.sh], [chmod +x,-w ocaml-link.sh]) AC_CONFIG_FILES([Makefile - Make.rules po/Makefile src/Makefile src/version.ml diff --git a/ocaml-dep.sh.in b/ocaml-dep.sh.in new file mode 100755 index 0000000..49c816a --- /dev/null +++ b/ocaml-dep.sh.in @@ -0,0 +1,83 @@ +#!/bin/bash - +# (C) Copyright 2009-2020 Red Hat Inc. +# @configure_input@ +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +# This is a smarter wrapper around ocamldep(1) which is used to create +# the .depend files which are present in each subdirectory that builds +# OCaml code. +# +# Usage: +# .depend: *.mli *.ml +# $(top_builddir)/ocaml-dep.sh $^ +# -include .depend + +set -e + +# List of directories that contain common OCaml libraries. If it +# contains OCaml code that can be included from another directory, +# then it should go here. Note that OCaml modules in these +# directories must have unique names (eg. not ‘Utils’) else +# dependencies don't get built right. +include_dirs=" +common/mlgettext +common/mlpcre +common/mlprogress +common/mlstdutils +common/mltools +common/mlutils +common/mlv2v +common/mlvisit +common/mlxml +lib +" + +# Output file is always created in the current directory. +output=.depend + +subdir=$(realpath --relative-to=@abs_top_builddir@ .) +srcdir=$(realpath --relative-to=. @abs_top_srcdir@/${subdir}) +srcdir_re=$(realpath --relative-to=. @abs_top_srcdir@/${subdir} | sed 's/\./[.]/g') +top_builddir=$(realpath --relative-to=. @abs_top_builddir@) + +includes="-I @abs_top_srcdir@/$subdir -I @abs_top_builddir@/$subdir" +for i in $include_dirs; do + includes="$includes -I @abs_top_srcdir@/$i -I @abs_top_builddir@/$i" +done + +rm -f $output $output-t + +echo "# OCaml dependencies generated by $0" > $output-t +echo >> $output-t + +# Rewrite paths +# 1. Normalize absolute srcdir to relative path +# 2. Object files (*.cm*, *.o), in srcdir: Rewrite to builddir +# 3. Generated _config.ml in srcdir: Rewrite to builddir +# 4. Other object files below abs_top_srcdir: rewrite to corresponding builddir +# 5. Eliminate "./" prefix +@OCAMLFIND@ ocamldep @OCAMLDEP_ALL@ @OCAMLDEP_ONE_LINE@ $includes "$@" \ + | sed \ + -e "s,@abs_top_srcdir@/${subdir},.,g" \ + -e "s,\B${srcdir_re}/\\([^ ]*[.]\\)\\(cm[^ ]*\\|o\\),\\1\\2,g" \ + -e "s,\B${srcdir_re}/\\([^ /]*_config[.]ml\\),\\1,g" \ + -e "s,@abs_top_srcdir@/\\([^ ]*[.]\\)\\(cm[^ ]*\\|o\\),${top_builddir}/\\1\\2,g" \ + -e 's,\(^\| \)./,\1,g' \ + >> $output-t + +chmod -w $output-t + +mv $output-t $output diff --git a/ocaml-link.sh.in b/ocaml-link.sh.in new file mode 100755 index 0000000..8f77dc2 --- /dev/null +++ b/ocaml-link.sh.in @@ -0,0 +1,58 @@ +#!/bin/bash - +# Script used to link OCaml programs. +# @configure_input@ +# (C) Copyright 2015-2020 Red Hat Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +# See guestfs-hacking(1) section "HOW OCAML PROGRAMS ARE COMPILED AND LINKED" + +# Hack automake to link OCaml-based binaries properly. +# There is no other way to add the -cclib parameter to the end of +# the command line. + +# Usage: +# ./ocaml-link.sh -cclib '...' -- ARGS +# Pass the cclib argument separately, and the rest as separated +# arguments. + +TEMP=`getopt -a -o '' --long 'cclib:' \ + -n "$(basename $0)" -- "$@"` +if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi +eval set -- "$TEMP" + +cclib= + +while true ; do + case "$1" in + -cclib|--cclib) cclib="$2" ; shift 2 ;; + --) shift ; break ;; + *) echo "Internal error!" ; exit 1 ;; + esac +done + +# Integration with silent rules of automake: print the full command +# line option in verbose mode. +if [ x"${V:-@AM_DEFAULT_VERBOSITY@}" = x1 ]; then + echo "$@" \ + @OCAML_RUNTIME_VARIANT_PIC_OPTION@ \ + -linkpkg \ + -cclib "'@LDFLAGS@ $cclib'" +fi +# NB -cclib must come last. +exec "$@" \ + @OCAML_RUNTIME_VARIANT_PIC_OPTION@ \ + -linkpkg \ + -cclib "@LDFLAGS@ $cclib" diff --git a/po/LINGUAS b/po/LINGUAS index b2c02a2..296b113 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -1,5 +1,6 @@ as ca +cs de es eu diff --git a/po/Makefile.am b/po/Makefile.am new file mode 100644 index 0000000..fc13f94 --- /dev/null +++ b/po/Makefile.am @@ -0,0 +1,95 @@ +# libguestfs +# Copyright (C) 2009-2020 Red Hat Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +DOMAIN = $(PACKAGE_NAME) +COPYRIGHT_HOLDER = Red Hat Inc. +MSGID_BUGS_ADDRESS = https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools + +# Languages. +# Don't use LINGUAS (uppercase) as Gentoo defines it (RHBZ#804464). +linguas := $(shell cat $(srcdir)/LINGUAS) + +POTFILES := $(shell $(SED) 's,^,$(top_srcdir)/,' $(srcdir)/POTFILES) +POTFILES_ML := $(shell $(SED) 's,^,$(top_srcdir)/,' $(srcdir)/POTFILES-ml) +POFILES := $(linguas:%=%.po) +GMOFILES := $(linguas:%=%.gmo) + +EXTRA_DIST = \ + LINGUAS \ + POTFILES POTFILES-ml \ + $(DOMAIN).pot \ + $(POFILES) \ + $(GMOFILES) \ + zanata-pull.sh \ + zanata.xml + +if HAVE_GNU_GETTEXT + +XGETTEXT_ARGS = \ + --default-domain=$(DOMAIN) \ + --from-code=utf-8 \ + --add-comments=TRANSLATORS: \ + --keyword=_ --keyword=N_ --keyword=__ --keyword=__x \ + --flag=error:3:c-format \ + --flag=error_at_line:5:c-format \ + --flag=asprintf:2:c-format \ + --flag=vasprintf:2:c-format \ + --flag=xasprintf:1:c-format \ + --copyright-holder='$(COPYRIGHT_HOLDER)' \ + --package-name="$(PACKAGE_NAME)" \ + --package-version="$(PACKAGE_VERSION)" \ + --msgid-bugs-address="$(MSGID_BUGS_ADDRESS)" \ + --directory=$(top_srcdir) + +# For explanation, see +# http://mingw-users.1079350.n2.nabble.com/Getting-rid-of-xgettext-s-quot-CHARSET-quot-warning-td5620533.html +FIX_CHARSET = \ + $(SED) -i 's|text/plain; charset=CHARSET|text/plain; charset=utf-8|g' + +$(DOMAIN).pot: Makefile POTFILES $(POTFILES) POTFILES-ml $(POTFILES_ML) + rm -f $@-t + touch $@-t +if HAVE_OCAML_GETTEXT + cd $(top_srcdir) && $(OCAML_GETTEXT) --action extract --extract-pot $(abs_srcdir)/$@-t $(shell cat $(abs_srcdir)/POTFILES-ml) + \ + $(FIX_CHARSET) $@-t +endif + $(XGETTEXT) -j -o $@-t $(XGETTEXT_ARGS) \ + --files-from=$(abs_srcdir)/POTFILES + $(FIX_CHARSET) $@-t + mv $@-t $@ + +.po.gmo: + rm -f $@ $@-t + $(MSGFMT) -c -o $@-t $(srcdir)/$< + mv $@-t $@ + +# Install. +# Cannot use 'localedir' since this conflicts with autoconf. +langinstdir = $(datadir)/locale + +install-data-hook: $(GMOFILES) + mkdir -p $(DESTDIR)$(langinstdir) + for lang in $(linguas); do \ + d=$(DESTDIR)$(langinstdir)/$$lang/LC_MESSAGES; \ + mkdir -p $$d; \ + install -m 0644 $$lang.gmo $$d/$(DOMAIN).mo; \ + done + +.PRECIOUS: $(DOMAIN).pot $(POFILES) + +endif diff --git a/po/Makefile.in b/po/Makefile.in deleted file mode 100644 index 949c2d9..0000000 --- a/po/Makefile.in +++ /dev/null @@ -1,80 +0,0 @@ -# Makefile for po subdirectory. -# @configure_input@ -# -# Copyright (C) 2007-2008 Red Hat Inc. -# Written by Richard W.M. Jones -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -OCAML_GETTEXT_PACKAGE = virt-top -LINGUAS = $(shell cat LINGUAS) -SOURCES = POTFILES - -MSGFMT = @MSGFMT@ - -OCAML_GETTEXT = @OCAML_GETTEXT@ -OCAML_GETTEXT_EXTRACT_OPTIONS = -OCAML_GETTEXT_COMPILE_OPTIONS = -OCAML_GETTEXT_INSTALL_OPTIONS = -OCAML_GETTEXT_MERGE_OPTIONS = - -PODIR = @prefix@/share/locale - -POFILES = $(addsuffix .po,$(LINGUAS)) -MOFILES = $(addsuffix .mo,$(LINGUAS)) -POTFILE = $(OCAML_GETTEXT_PACKAGE).pot - -all: $(MOFILES) $(POTFILE) - -install: install-po - -uninstall: uninstall-po - -clean:: clean-po - -%.mo: %.po - $(MSGFMT) -o $@ $^ - -%.pot: $(SOURCES) $(shell cat $(SOURCES)) - $(OCAML_GETTEXT) --action extract $(OCAML_GETTEXT_EXTRACT_OPTIONS) \ - --extract-pot $@ $< - -# Also includes a fix for incorrectly escaped multi-byte sequences. -%.po: $(POTFILE) - $(OCAML_GETTEXT) --action merge $(OCAML_GETTEXT_MERGE_OPTIONS) \ - --merge-pot $(POTFILE) $@ - mv $@ $@.orig - perl -wpe 's/\\(\d{3})/pack "C*", $$1/ge' < $@.orig > $@ - -$(BUILDPO): - mkdir -p $(BUILDPO) - -.PRECIOUS: $(POTFILE) - -install-po: $(MOFILES) - $(OCAML_GETTEXT) --action install $(OCAML_GETTEXT_INSTALL_OPTIONS) \ - --install-textdomain $(OCAML_GETTEXT_PACKAGE) \ - --install-destdir $(PODIR) $(MOFILES) - -uninstall-po: - $(OCAML_GETTEXT) --action uninstall $(OCAML_GETTEXT_INSTALL_OPTIONS) \ - --uninstall-textdomain $(OCAML_GETTEXT_PACKAGE) \ - --uninstall-orgdir $(PODIR) $(MOFILES) - -clean-po: - -$(OCAML_GETTEXT) --action uninstall $(OCAML_GETTEXT_INSTALL_OPTIONS) \ - --uninstall-textdomain $(OCAML_GETTEXT_PACKAGE) \ - --uninstall-orgdir $(BUILDPO) $(MOFILES) - -$(RM) $(MOFILES) diff --git a/po/POTFILES b/po/POTFILES index 6150703..22b1625 100644 --- a/po/POTFILES +++ b/po/POTFILES @@ -1,14 +1 @@ -../src/collect.ml -../src/csv_output.ml -../src/main.ml -../src/opt_calendar.ml -../src/opt_csv.ml -../src/opt_gettext.ml -../src/opt_xml.ml -../src/redraw.ml -../src/screen.ml -../src/stream.ml -../src/top.ml -../src/types.ml -../src/utils.ml -../src/version.ml +./src/dummy.c diff --git a/po/POTFILES-ml b/po/POTFILES-ml new file mode 100644 index 0000000..b6356eb --- /dev/null +++ b/po/POTFILES-ml @@ -0,0 +1,14 @@ +./src/collect.ml +./src/csv_output.ml +./src/main.ml +./src/opt_calendar.ml +./src/opt_csv.ml +./src/opt_gettext.ml +./src/opt_xml.ml +./src/redraw.ml +./src/screen.ml +./src/stream_output.ml +./src/top.ml +./src/types.ml +./src/utils.ml +./src/version.ml diff --git a/po/virt-top.pot b/po/virt-top.pot index 3d7a1e5..09cd370 100644 --- a/po/virt-top.pot +++ b/po/virt-top.pot @@ -1,355 +1,366 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR Red Hat Inc. +# This file is distributed under the same license as the virt-top package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-03-27 11:32+0000\n" +"Project-Id-Version: virt-top 1.0.9\n" +"Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" +"component=libguestfs&product=Virtualization+Tools\n" +"POT-Creation-Date: 2021-10-01 16:15+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" +"Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: ../src/top.ml:1670 +#: src/top.ml:588 msgid "# %s virt-top configuration file\n" msgstr "" -#: ../src/top.ml:1688 +#: src/top.ml:606 msgid "# Enable CSV output to the named file\n" msgstr "" -#: ../src/top.ml:1691 +#: src/top.ml:609 msgid "# To protect this file from being overwritten, uncomment next line\n" msgstr "" -#: ../src/top.ml:1685 +#: src/top.ml:603 msgid "# To send debug and error messages to a file, uncomment next line\n" msgstr "" -#: ../src/top.ml:1671 +#: src/top.ml:589 msgid "# generated on %s by %s\n" msgstr "" -#: ../src/top.ml:65 +#: src/types.ml:43 msgid "%CPU" msgstr "" -#: ../src/top.ml:66 +#: src/types.ml:44 msgid "%MEM" msgstr "" -#: ../src/top.ml:1237 -msgid "%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d O:%d X:%d" +#: src/redraw.ml:481 +msgid "" +"%d domains, %d active, %d running, %d sleeping, %d paused, %d inactive D:%d " +"O:%d X:%d" msgstr "" -#: ../src/top.ml:245 +#: src/top.ml:177 msgid "%s: could not parse '%s' in init file: expecting %s" msgstr "" -#: ../src/top.ml:240 +#: src/top.ml:172 msgid "%s: could not parse '%s' in init file: expecting a number" msgstr "" -#: ../src/top.ml:235 +#: src/top.ml:167 msgid "%s: could not parse '%s' in init file: expecting an integer" msgstr "" -#: ../src/top.ml:105 +#: src/types.ml:83 msgid "%s: display should be %s" msgstr "" -#: ../src/top.ml:83 +#: src/types.ml:61 msgid "%s: sort order should be: %s" msgstr "" -#: ../src/top.ml:217 +#: src/top.ml:149 msgid "%s: unknown parameter" msgstr "" -#: ../src/top.ml:269 -msgid "%s:%d: configuration item ``%s'' ignored\n%!" +#: src/top.ml:201 +msgid "" +"%s:%d: configuration item ``%s'' ignored\n" +"%!" msgstr "" -#: ../src/top.ml:147 +#: src/top.ml:79 msgid "-d: cannot set a negative delay" msgstr "" -#: ../src/top.ml:173 +#: src/top.ml:105 msgid "Batch mode" msgstr "" -#: ../src/top.ml:72 +#: src/types.ml:50 msgid "Block read reqs" msgstr "" -#: ../src/top.ml:73 +#: src/types.ml:51 msgid "Block write reqs" msgstr "" -#: ../src/top.ml:1244 +#: src/redraw.ml:488 msgid "CPU: %2.1f%% Mem: %Ld MB (%Ld MB by guests)" msgstr "" -#: ../src/top.ml:1493 +#: src/top.ml:411 msgid "Change delay from %.1f to: " msgstr "" -#: ../src/top.ml:177 ../src/top.ml:175 +#: src/top.ml:109 src/top.ml:107 msgid "Connect to libvirt URI" msgstr "" -#: ../src/top.ml:1744 +#: src/top.ml:662 msgid "Connect: %s; Hostname: %s" msgstr "" -#: ../src/top.ml:1783 +#: src/top.ml:701 msgid "DISPLAY MODES" msgstr "" -#: ../src/top.ml:1500 +#: src/top.ml:418 msgid "Delay must be > 0" msgstr "" -#: ../src/top.ml:189 +#: src/top.ml:121 msgid "Delay time interval (seconds)" msgstr "" -#: ../src/top.ml:1737 +#: src/top.ml:655 msgid "Delay: %.1f secs; Batch: %s; Secure: %s; Sort: %s" msgstr "" -#: ../src/top.ml:181 +#: src/top.ml:113 msgid "Disable CPU stats in CSV" msgstr "" -#: ../src/top.ml:185 +#: src/top.ml:117 msgid "Disable block device stats in CSV" msgstr "" -#: ../src/top.ml:183 +#: src/top.ml:115 msgid "Disable memory stats in CSV" msgstr "" -#: ../src/top.ml:187 +#: src/top.ml:119 msgid "Disable net stats in CSV" msgstr "" -#: ../src/top.ml:214 +#: src/top.ml:146 msgid "Display version number and exit" msgstr "" -#: ../src/top.ml:199 +#: src/top.ml:131 msgid "Do not read init file" msgstr "" -#: ../src/top.ml:68 +#: src/types.ml:46 msgid "Domain ID" msgstr "" -#: ../src/top.ml:69 +#: src/types.ml:47 msgid "Domain name" msgstr "" -#: ../src/top.ml:1797 +#: src/top.ml:715 msgid "Domains display" msgstr "" -#: ../src/main.ml:69 ../src/main.ml:44 ../src/top.ml:1711 ../src/top.ml:1708 +#: src/top.ml:629 src/top.ml:626 src/main.ml:69 src/main.ml:44 msgid "Error" msgstr "" -#: ../src/top.ml:193 +#: src/top.ml:125 msgid "Exit at given time" msgstr "" -#: ../src/top.ml:1766 +#: src/top.ml:684 msgid "Help" msgstr "" -#: ../src/top.ml:195 +#: src/top.ml:127 msgid "Historical CPU delay" msgstr "" -#: ../src/top.ml:179 +#: src/top.ml:111 msgid "Log statistics to CSV file" msgstr "" -#: ../src/top.ml:1749 +#: src/top.ml:667 msgid "MAIN KEYS" msgstr "" -#: ../src/top.ml:1804 +#: src/top.ml:722 msgid "More help in virt-top(1) man page. Press any key to return." msgstr "" -#: ../src/top.ml:294 -msgid "NB: If you want to monitor a local hypervisor, you usually need to be root" +#: src/top.ml:226 +msgid "" +"NB: If you want to monitor a local hypervisor, you usually need to be root" msgstr "" -#: ../src/top.ml:70 +#: src/types.ml:48 msgid "Net RX bytes" msgstr "" -#: ../src/top.ml:71 +#: src/types.ml:49 msgid "Net TX bytes" msgstr "" -#: ../src/top.ml:1506 +#: src/top.ml:424 msgid "Not a valid number" msgstr "" -#: ../src/top.ml:201 +#: src/top.ml:133 msgid "Number of iterations to run" msgstr "" -#: ../src/top.ml:1740 ../src/top.ml:1739 +#: src/top.ml:658 src/top.ml:657 msgid "Off" msgstr "" -#: ../src/top.ml:1740 ../src/top.ml:1739 +#: src/top.ml:658 src/top.ml:657 msgid "On" msgstr "" -#: ../src/top.ml:1764 +#: src/top.ml:682 msgid "Quit" msgstr "" -#: ../src/top.ml:208 +#: src/top.ml:140 msgid "Run from a script (no user interface)" msgstr "" -#: ../src/top.ml:1771 +#: src/top.ml:689 msgid "SORTING" msgstr "" -#: ../src/top.ml:206 +#: src/top.ml:138 msgid "Secure (\"kiosk\") mode" msgstr "" -#: ../src/top.ml:1780 +#: src/top.ml:698 msgid "Select sort field" msgstr "" -#: ../src/top.ml:191 +#: src/top.ml:123 msgid "Send debug messages to file" msgstr "" -#: ../src/top.ml:197 +#: src/top.ml:129 msgid "Set name of init file" msgstr "" -#: ../src/top.ml:203 +#: src/top.ml:135 msgid "Set sort order (%s)" msgstr "" -#: ../src/top.ml:1514 +#: src/top.ml:432 msgid "Set sort order for main display" msgstr "" -#: ../src/top.ml:1765 +#: src/top.ml:683 msgid "Set update interval" msgstr "" -#: ../src/top.ml:1776 +#: src/top.ml:694 msgid "Sort by %CPU" msgstr "" -#: ../src/top.ml:1777 +#: src/top.ml:695 msgid "Sort by %MEM" msgstr "" -#: ../src/top.ml:1779 +#: src/top.ml:697 msgid "Sort by ID" msgstr "" -#: ../src/top.ml:1778 +#: src/top.ml:696 msgid "Sort by TIME" msgstr "" -#: ../src/top.ml:171 +#: src/top.ml:103 msgid "Start by displaying block devices" msgstr "" -#: ../src/top.ml:169 +#: src/top.ml:101 msgid "Start by displaying network interfaces" msgstr "" -#: ../src/top.ml:167 +#: src/top.ml:99 msgid "Start by displaying pCPUs (default: tasks)" msgstr "" -#: ../src/top.ml:67 +#: src/types.ml:45 msgid "TIME (CPU time)" msgstr "" -#: ../src/top.ml:1800 +#: src/top.ml:718 msgid "Toggle block devices" msgstr "" -#: ../src/top.ml:1799 +#: src/top.ml:717 msgid "Toggle network interfaces" msgstr "" -#: ../src/top.ml:1798 +#: src/top.ml:716 msgid "Toggle physical CPUs" msgstr "" -#: ../src/top.ml:1515 +#: src/top.ml:433 msgid "Type key or use up and down cursor keys." msgstr "" -#: ../src/top.ml:1809 +#: src/top.ml:727 msgid "Unknown command - try 'h' for help" msgstr "" -#: ../src/top.ml:1763 +#: src/top.ml:681 msgid "Update display" msgstr "" -#: ../src/top.ml:1703 +#: src/top.ml:621 msgid "Wrote settings to %s" msgstr "" -#: ../src/top.ml:1745 +#: src/top.ml:663 msgid "default" msgstr "" -#: ../src/top.ml:210 +#: src/top.ml:142 msgid "dump output to stdout (no userinterface)" msgstr "" -#: ../src/opt_xml.ml:46 +#: src/opt_xml.ml:46 msgid "get_xml_desc didn't return " msgstr "" -#: ../src/top.ml:212 +#: src/top.ml:144 msgid "show block device load in bytes rather than reqs" msgstr "" -#: ../src/top.ml:1767 +#: src/top.ml:685 msgid "toggle block info req/bytes" msgstr "" -#: ../src/top.ml:1725 +#: src/top.ml:643 msgid "virt-top %s ocaml-libvirt %s libvirt %d.%d.%d by Red Hat" msgstr "" -#: ../src/top.ml:218 -msgid "virt-top : a 'top'-like utility for virtualization\n\nSUMMARY\n virt-top [-options]\n\nOPTIONS" +#: src/top.ml:150 +msgid "" +"virt-top : a 'top'-like utility for virtualization\n" +"\n" +"SUMMARY\n" +" virt-top [-options]\n" +"\n" +"OPTIONS" msgstr "" -#: ../src/top.ml:42 +#: src/top.ml:39 msgid "virt-top was compiled without support for CSV files" msgstr "" -#: ../src/top.ml:53 +#: src/top.ml:46 msgid "virt-top was compiled without support for dates and times" msgstr "" - diff --git a/src/.depend b/src/.depend index 1075f36..ce785dd 100644 --- a/src/.depend +++ b/src/.depend @@ -1,36 +1,124 @@ -collect.cmi: types.cmi -collect.cmo: utils.cmi types.cmi collect.cmi -collect.cmx: utils.cmx types.cmx collect.cmi -csv_output.cmi: types.cmi collect.cmi -csv_output.cmo: collect.cmi csv_output.cmi -csv_output.cmx: collect.cmx csv_output.cmi -main.cmo: top.cmi opt_gettext.cmo -main.cmx: top.cmx opt_gettext.cmx -opt_calendar.cmo: top.cmi opt_gettext.cmo -opt_calendar.cmx: top.cmx opt_gettext.cmx -opt_csv.cmo: top.cmi opt_gettext.cmo csv_output.cmi -opt_csv.cmx: top.cmx opt_gettext.cmx csv_output.cmx -opt_gettext.cmo: -opt_gettext.cmx: -opt_xml.cmo: opt_gettext.cmo collect.cmi -opt_xml.cmx: opt_gettext.cmx collect.cmx -redraw.cmi: types.cmi collect.cmi -redraw.cmo: utils.cmi types.cmi screen.cmi opt_gettext.cmo collect.cmi redraw.cmi -redraw.cmx: utils.cmx types.cmx screen.cmx opt_gettext.cmx collect.cmx redraw.cmi -screen.cmi: -screen.cmo: screen.cmi -screen.cmx: screen.cmi -stream_output.cmi: types.cmi collect.cmi -stream_output.cmo: utils.cmi screen.cmi collect.cmi stream_output.cmi -stream_output.cmx: utils.cmx screen.cmx collect.cmx stream_output.cmi -top.cmi: types.cmi -top.cmo: version.cmo utils.cmi types.cmi stream_output.cmi screen.cmi redraw.cmi opt_gettext.cmo csv_output.cmi collect.cmi top.cmi -top.cmx: version.cmx utils.cmx types.cmx stream_output.cmx screen.cmx redraw.cmx opt_gettext.cmx csv_output.cmx collect.cmx top.cmi -types.cmi: -types.cmo: utils.cmi opt_gettext.cmo types.cmi -types.cmx: utils.cmx opt_gettext.cmx types.cmi -utils.cmi: -utils.cmo: utils.cmi -utils.cmx: utils.cmi -version.cmo: -version.cmx: +# OCaml dependencies generated by ../ocaml-dep.sh + +collect.cmo : \ + utils.cmi \ + types.cmi \ + collect.cmi +collect.cmx : \ + utils.cmx \ + types.cmx \ + collect.cmi +collect.cmi : \ + types.cmi +csv_output.cmo : \ + collect.cmi \ + csv_output.cmi +csv_output.cmx : \ + collect.cmx \ + csv_output.cmi +csv_output.cmi : \ + types.cmi \ + collect.cmi +main.cmo : \ + top.cmi \ + opt_gettext.cmo +main.cmx : \ + top.cmx \ + opt_gettext.cmx +opt_calendar.cmo : \ + top.cmi \ + opt_gettext.cmo +opt_calendar.cmx : \ + top.cmx \ + opt_gettext.cmx +opt_csv.cmo : \ + top.cmi \ + opt_gettext.cmo \ + csv_output.cmi +opt_csv.cmx : \ + top.cmx \ + opt_gettext.cmx \ + csv_output.cmx +opt_gettext.cmo : +opt_gettext.cmx : +opt_xml.cmo : \ + opt_gettext.cmo \ + collect.cmi +opt_xml.cmx : \ + opt_gettext.cmx \ + collect.cmx +redraw.cmo : \ + utils.cmi \ + types.cmi \ + screen.cmi \ + opt_gettext.cmo \ + collect.cmi \ + redraw.cmi +redraw.cmx : \ + utils.cmx \ + types.cmx \ + screen.cmx \ + opt_gettext.cmx \ + collect.cmx \ + redraw.cmi +redraw.cmi : \ + types.cmi \ + collect.cmi +screen.cmo : \ + screen.cmi +screen.cmx : \ + screen.cmi +screen.cmi : +stream_output.cmo : \ + utils.cmi \ + screen.cmi \ + collect.cmi \ + stream_output.cmi +stream_output.cmx : \ + utils.cmx \ + screen.cmx \ + collect.cmx \ + stream_output.cmi +stream_output.cmi : \ + types.cmi \ + collect.cmi +top.cmo : \ + version.cmo \ + utils.cmi \ + types.cmi \ + stream_output.cmi \ + screen.cmi \ + redraw.cmi \ + opt_gettext.cmo \ + csv_output.cmi \ + collect.cmi \ + top.cmi +top.cmx : \ + version.cmx \ + utils.cmx \ + types.cmx \ + stream_output.cmx \ + screen.cmx \ + redraw.cmx \ + opt_gettext.cmx \ + csv_output.cmx \ + collect.cmx \ + top.cmi +top.cmi : \ + types.cmi +types.cmo : \ + utils.cmi \ + opt_gettext.cmo \ + types.cmi +types.cmx : \ + utils.cmx \ + opt_gettext.cmx \ + types.cmi +types.cmi : +utils.cmo : \ + utils.cmi +utils.cmx : \ + utils.cmi +utils.cmi : +version.cmo : +version.cmx : diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..32a51ac --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,125 @@ +# virt-top +# Copyright (C) 2007-2021 Red Hat Inc., Richard W.M. Jones +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +CLEANFILES = *~ *.bak *.orig *.rej +CLEANFILES += *.cmi *.cmo *.cma *.cmx *.cmxa dll*.so *.a *.annot + +EXTRA_DIST = \ + .depend \ + collect.ml \ + collect.mli \ + csv_output.ml \ + csv_output.mli \ + dummy.c \ + main.ml \ + opt_calendar.ml \ + opt_csv.ml \ + opt_gettext.ml \ + opt_xml.ml \ + redraw.ml \ + redraw.mli \ + screen.ml \ + screen.mli \ + stream_output.ml \ + stream_output.mli \ + top.ml \ + top.mli \ + types.ml \ + types.mli \ + utils.ml \ + utils.mli \ + version.ml \ + virt-top.pod + +OCAMLPACKAGES = -package unix,extlib,curses,str,libvirt + +if HAVE_PKG_GETTEXT +OCAMLPACKAGES += -package gettext-stub +endif + +BOBJS = \ + version.cmo \ + opt_gettext.cmo \ + utils.cmo \ + types.cmo \ + collect.cmo \ + screen.cmo \ + redraw.cmo \ + csv_output.cmo \ + stream_output.cmo \ + top.cmo +if HAVE_PKG_XML_LIGHT +BOBJS += opt_xml.cmo +OCAMLPACKAGES += -package xml-light +endif +if HAVE_PKG_CSV +BOBJS += opt_csv.cmo +OCAMLPACKAGES += -package csv +endif +if HAVE_PKG_CALENDAR +BOBJS += opt_calendar.cmo +OCAMLPACKAGES += -package calendar +endif +BOBJS += main.cmo + +XOBJS = $(BOBJS:.cmo=.cmx) + +OCAMLFLAGS = -g -warn-error CDEFLMPSUVYZX-3 -ccopt '@CFLAGS@' +OCAMLLIBS = + +bin_PROGRAMS = virt-top + +virt_top_SOURCES = dummy.c + +if !HAVE_OCAMLOPT +OBJECTS = $(BOBJS) +else +OBJECTS = $(XOBJS) +endif + +virt_top_DEPENDENCIES = $(OBJECTS) +virt_top_LINK = \ + ../ocaml-link.sh -cclib '$(OCAMLLIBS)' -- \ + $(OCAMLFIND) $(OCAMLBEST) $(OCAMLFLAGS) $(OCAMLPACKAGES) \ + $(OBJECTS) -o $@ + +.mli.cmi: + $(OCAMLFIND) ocamlc $(OCAMLFLAGS) $(OCAMLPACKAGES) -c $< -o $@ +.ml.cmo: + $(OCAMLFIND) ocamlc $(OCAMLFLAGS) $(OCAMLPACKAGES) -c $< -o $@ +.ml.cmx: + $(OCAMLFIND) ocamlopt $(OCAMLFLAGS) $(OCAMLPACKAGES) -c $< -o $@ + +# Dependencies. +.depend: $(srcdir)/*.ml $(srcdir)/*.mli + ../ocaml-dep.sh $^ +-include .depend + +# Manual page. +if HAVE_PERLDOC + +virt-top.1: virt-top.pod + pod2man -u --section 1 -c "Virtualization Support" \ + --release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \ + $< > $@ + +virt-top.txt: virt-top.pod + pod2text $< > $@ + +CLEANFILES += virt-top.1 virt-top.txt + +endif diff --git a/src/Makefile.in b/src/Makefile.in deleted file mode 100644 index ba4eb1d..0000000 --- a/src/Makefile.in +++ /dev/null @@ -1,111 +0,0 @@ -# virt-top -# Copyright (C) 2007-2014 Red Hat Inc., Richard W.M. Jones -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -PACKAGE := @PACKAGE_NAME@ -VERSION := @PACKAGE_VERSION@ - -INSTALL := @INSTALL@ -HAVE_PERLDOC := @HAVE_PERLDOC@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -bindir = @bindir@ - -OCAML_PKG_curses = @OCAML_PKG_curses@ -OCAML_PKG_xml_light = @OCAML_PKG_xml_light@ -OCAML_PKG_csv = @OCAML_PKG_csv@ -OCAML_PKG_calendar = @OCAML_PKG_calendar@ -OCAML_PKG_gettext = @OCAML_PKG_gettext@ - -OCAMLCPACKAGES := -package unix,extlib,curses,str,libvirt - -ifneq ($(OCAML_PKG_gettext),no) -OCAMLCPACKAGES += -package gettext-stub -endif - -OBJS := \ - version.cmo \ - opt_gettext.cmo \ - utils.cmo \ - types.cmo \ - collect.cmo \ - screen.cmo \ - redraw.cmo \ - csv_output.cmo \ - stream_output.cmo \ - top.cmo -ifneq ($(OCAML_PKG_xml_light),no) -OBJS += opt_xml.cmo -OCAMLCPACKAGES += -package xml-light -endif -ifneq ($(OCAML_PKG_csv),no) -OBJS += opt_csv.cmo -OCAMLCPACKAGES += -package csv -endif -ifneq ($(OCAML_PKG_calendar),no) -OBJS += opt_calendar.cmo -OCAMLCPACKAGES += -package calendar -endif -OBJS += main.cmo - -XOBJS := $(OBJS:.cmo=.cmx) - -OCAMLCFLAGS := -g -warn-error CDEFLMPSUVYZX-3 -ccopt '@CFLAGS@' -OCAMLCLIBS := -linkpkg -runtime-variant _pic -cclib '@LDFLAGS@' - -OCAMLOPTPACKAGES := $(OCAMLCPACKAGES) -OCAMLOPTFLAGS := $(OCAMLCFLAGS) -OCAMLOPTLIBS := $(OCAMLCLIBS) - -BYTE_TARGETS := virt-top -OPT_TARGETS := virt-top.opt - -ifeq ($(HAVE_PERLDOC),perldoc) -BYTE_TARGETS += virt-top.1 virt-top.txt -OPT_TARGETS += virt-top.1 virt-top.txt -endif - -all: $(BYTE_TARGETS) - -opt: $(OPT_TARGETS) - -virt-top: $(OBJS) - ocamlfind ocamlc $(OCAMLCPACKAGES) $(OCAMLCFLAGS) $(OCAMLCLIBS) \ - -o $@ $^ - -virt-top.opt: $(XOBJS) - ocamlfind ocamlopt \ - $(OCAMLOPTPACKAGES) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) \ - -o $@ $^ - -# Manual page. -ifeq ($(HAVE_PERLDOC),perldoc) -virt-top.1: virt-top.pod - pod2man -c "Virtualization Support" --release "$(PACKAGE)-$(VERSION)" \ - $< > $@ - -virt-top.txt: virt-top.pod - pod2text $< > $@ -endif - -install: - if [ -x virt-top.opt ]; then \ - mkdir -p $(DESTDIR)$(bindir); \ - $(INSTALL) -m 0755 virt-top.opt $(DESTDIR)$(bindir)/virt-top; \ - fi - -include ../Make.rules diff --git a/src/dummy.c b/src/dummy.c new file mode 100644 index 0000000..ebab619 --- /dev/null +++ b/src/dummy.c @@ -0,0 +1,2 @@ +/* Dummy source, to be used for OCaml-based tools with no C sources. */ +enum { foo = 1 };