Include required libraries in the Windows installer.
authorRichard W.M. Jones <rjones@redhat.com>
Mon, 7 Jan 2008 13:19:32 +0000 (13:19 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Mon, 7 Jan 2008 13:19:32 +0000 (13:19 +0000)
* wininstaller.nsis: Include *.dll files.

ChangeLog
README
wininstaller.nsis

index afaf521..8683d58 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2008-01-07  Richard Jones  <rjones@redhat.com>
 
+       Include required libraries in the Windows installer.
+       * wininstaller.nsis: Include *.dll files.
+
        Windows installer.
        * Makefile.in, configure.ac: Add --with-nsis[=path/to/nsis] and
          call out to 'makensis.exe'.
diff --git a/README b/README
index 3bcaa7e..02be231 100755 (executable)
--- a/README
+++ b/README
@@ -92,6 +92,22 @@ I have built libvirt (the bindings), examples, mlvirsh and
 mlvirtmanager on Windows using the MinGW port of OCaml.  It's quite
 likely that it will also work under VC++, but I have not tested this.
 
+You should make sure that your $PATH (environment variable) contains
+the names of the directories containing all required DLLs, in
+particular you will require:
+
+  libvirt-*.dll                (from libvirt)
+  libgnutls-*.dll      (from GnuTLS)
+  libgcrypt-*.dll
+  libgpg-error-*.dll
+  libtasn1-*.dll
+  libxdr.dll           (from libxdr)
+  libxml2-*.dll                (from libxml2)
+  and, a multitude of DLLs from GTK if you want to run mlvirtmanager
+
+You can use a tool such as Dependency Walker to find/check the
+locations of dependent libraries.
+
 To build the Windows installer, you will need NSIS.  Then do:
 
   ./configure --with-nsis=/c/Progra~1/NSIS
index e3c8fd9..0ffba5c 100755 (executable)
@@ -57,13 +57,20 @@ ComponentText "This will install OCaml libvirt bindings, dependent libraries and
 # Title for the install directory page.\r
 DirText "Please select the installation folder."\r
 \r
-# Installer section.\r
-Section "OCaml Libvirt bindings (required)"\r
+# Installer sections.\r
+Section "Libvirt and its libraries (required)"\r
+       # Make this required.\r
        SectionIn RO\r
-SectionEnd\r
 \r
-Section "Libraries (required)"\r
-       SectionIn RO\r
+       SetOutPath $INSTDIR\r
+       # XXX Get these paths automatically.\r
+       File "c:\msys\1.0\local\bin\libvirt-?.dll"\r
+       File "c:\msys\1.0\local\bin\libxdr.dll"\r
+       File "c:\msys\1.0\local\bin\libxml2-?.dll"\r
+       File "c:\gnutls\bin\libgcrypt-??.dll"\r
+       File "c:\gnutls\bin\libgnutls-??.dll"\r
+       File "c:\gnutls\bin\libgpg-error-?.dll"\r
+       File "c:\gnutls\bin\libtasn1-?.dll"\r
 SectionEnd\r
 \r
 Section "Programs (recommended)"\r
@@ -71,6 +78,10 @@ Section "Programs (recommended)"
        File "/oname=mlvirsh.exe" "mlvirsh\mlvirsh.opt"\r
 SectionEnd\r
 \r
+Section "OCaml Libvirt bindings (for developers only)"\r
+       # XXX Need to find out where Objective CAML is installed.\r
+SectionEnd\r
+\r
 Section "Start Menu Shortcuts"\r
        CreateDirectory "$SMPROGRAMS\${PACKAGE}"\r
        CreateShortCut "$SMPROGRAMS\${PACKAGE}\Uninstall.lnk" "$INSTDIR\Uninstall ${PACKAGE}.exe" "" "$INSTDIR\Uninstall ${PACKAGE}.exe" 0\r
@@ -91,8 +102,8 @@ Section "Uninstall"
        RMDir "$SMPROGRAMS\${PACKAGE}"\r
 \r
        # Files in installation directory.\r
-       Delete /rebootok "$INSTDIR\mlvirsh.exe"\r
-       Delete /rebootok "$INSTDIR\Uninstall ${PACKAGE}.exe"\r
+       Delete /rebootok "$INSTDIR\*.exe"\r
+       Delete /rebootok "$INSTDIR\*.dll"\r
 \r
        RMDir "$INSTDIR"\r
 SectionEnd\r