Generate config.ml from Makefile, add iconsdir path.
authorRichard W.M. Jones <rjones@redhat.com>
Fri, 29 Jul 2011 16:10:25 +0000 (17:10 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Fri, 29 Jul 2011 16:14:47 +0000 (17:14 +0100)
Because iconsdir contains the prefix, we can't generate
it from configure.

Makefile.am
config.ml.in
config.mli
configure.ac

index 09cb806..2dbe1ba 100644 (file)
@@ -40,7 +40,6 @@ SOURCES = \
        cmdline.mli \
        cmdline.ml \
        config.mli \
-       config.ml \
        deviceSet.mli \
        deviceSet.ml \
        filetree.mli \
@@ -84,6 +83,9 @@ SOURCES = \
        window.mli \
        window.ml
 
+BUILT_SOURCES = \
+       config.ml
+
 # Note this list must be in dependency order.
 OBJECTS = \
        config.cmo \
@@ -171,11 +173,25 @@ icon_DATA = guestfs-browser.svg guestfs-browser-large.png guestfs-browser.png
 desktopdir = $(datadir)/applications
 desktop_DATA = guestfs-browser.desktop
 
-guestfs-browser.desktop: guestfs-browser.desktop.in
-       $(SED) "s,\@icondir\@,$(icondir),g" < $< > $@
+guestfs-browser.desktop: guestfs-browser.desktop.in Makefile
+       $(SED) "s,\@icondir\@,$(icondir),g" < $< > $@-t
+       mv $@-t $@
 
 TESTS += test-desktop-file-validate.sh
 
+# Config.  Can't use autoconf to build this because we want
+# to embed the true icondir path.
+config.ml: config.ml.in Makefile
+       < $< \
+       $(SED) \
+         -e "s,\@PACKAGE_NAME\@,$(PACKAGE_NAME),g" \
+         -e "s,\@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g" \
+         -e "s,\@HIVEXREGEDIT\@,$(HIVEXREGEDIT),g" \
+         -e "s,\@OPENER\@,$(OPENER),g" \
+         -e "s,\@icondir\@,$(icondir),g" \
+         > $@-t
+       mv $@-t $@
+
 # Man page.
 man_MANS = guestfs-browser.1
 
index 74773a5..c9cefd8 100644 (file)
@@ -23,3 +23,5 @@ let hivexregedit = "@HIVEXREGEDIT@"
 let hivexregedit = if hivexregedit <> "no" then Some hivexregedit else None
 let opener = "@OPENER@"
 let opener = if opener <> "no" then Some opener else None
+
+let icondir = "@icondir@"
index d83b673..69c962f 100644 (file)
@@ -1,5 +1,5 @@
 (* Guestfs Browser.
- * Copyright (C) 2010 Red Hat Inc.
+ * Copyright (C) 2010-2011 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
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  *)
 
-(** Configuration supplied by autoconf.
-
-    This module is generated by running [./configure], and
-    contains miscellaneous compile-time constants. *)
+(** Configuration. *)
 
 val package : string
   (** The package name. *)
+
 val version : string
   (** The version number as a string. *)
 
@@ -31,3 +29,6 @@ val hivexregedit : string option
 
 val opener : string option
   (** External program for viewing files, or None if not available. *)
+
+val icondir : string
+  (** The icon directory. *)
index 44be079..3a0b364 100644 (file)
@@ -110,5 +110,5 @@ fi
 AM_CONDITIONAL([HAVE_PERLDOC],[test "x$PERLDOC" != "xno"])
 
 AC_CONFIG_HEADERS([config.h])
-AC_CONFIG_FILES([Makefile config.ml])
+AC_CONFIG_FILES([Makefile])
 AC_OUTPUT