Merge all static runtime libs into libmono-static.
[mono.git] / man / gacutil.1
index 85e8ea8ff7084cead94cefe73c4eb5999adf8766..6b9ffd5c2b06f3a6926412396b477fe44c951bec 100644 (file)
-.TH "gacutil" 1
+..\" 
+.\" gacutil manual page.
+.\" (C) 2004 Novell, Inc.
+.\" Author:
+.\"   Miguel de Icaza (miguel@gnu.org)
+.\"
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.TH Mono "gacutil"
 .SH NAME
-gacutil \- Mono Global Assembly Cache Utility
+gacutil \- Global Assembly Cache management utility.
 .SH SYNOPSIS
-.B gacutil
-<commands> [ <options> ]
+.PP
+.B gacutil [-user] [command] [options] 
 .SH DESCRIPTION
-gacutil in the Mono Global Assembly Cache Utility. This utility allows
-you to install, remove and list Assemblies in the Global Assembly Cache.
-.SH OPTIONS
-.TP
-.B \//i <assembly_path> [ /f ]
-Installs an assembly into the global assembly cache.
-.TP
-.B \//il <assembly_path_list_file> [ /f ]
-Installs one or more assemblies into the global assembly cache
-.TP
-.B \//u <assembly_display_name>
-Uninstalls an assembly from the global assembly cache
-.TP
-.B \//ul <assembly_display_name_list_file>
-Uninstalls one or more assemblies from the global assembly cache
-.TP
-.B \//l
-List the global assembly cache
-.TP
-.B \//?
-Displays a detailed help screen
+\fIgacutil\fP is a tool used by developers to install versioned
+assemblies into the system Global Assembly Cache (GAC) to become part
+of the assemblies that are available for all applications at runtime.
+.PP
+Notice that they are not directly available to the compiler. The
+convention is that assemblies must also be placed in a separate
+directory to be accessed by the compiler.  This is done with the
+-package directive to gacutil.
+.PP
+The tool allows for installation, removal, and listing of the
+contents of the assembly cache.
+.PP
+The GAC is relative to the Mono installation prefix:
+mono_prefix/lib/mono.
+.PP
+.SH COMMANDS
+.I -i <assembly_path> [-check_refs] [-package NAME] [-root ROOTDIR] [-gacdir GACDIR]
+.Sp
+ Installs an assembly into the global assembly cache. <assembly_path>
+is the name of the file that contains the assembly manifest
+.Sp
+The -package option can be used to also create a directory in in
+prefix/lib/mono with the name NAME, and a symlink is created from
+NAME/assembly_name to the assembly on the GAC.  This is used so
+developers can reference a set of libraries at once.
+.Sp
+The -root option is used to specify the "libdir" value of an installation 
+prefix which differs from the prefix of the system GAC.
+Typical automake usage is "-root $(DESTDIR)$(prefix)/lib".
+To access assemblies installed to a prefix other than the mono prefix, 
+it is necessary to set the MONO_GAC_PREFIX environment variable.
+.Sp
+The -gacdir option is included for backward compatibility but is not
+recommended for new code. Use the -root option instead.
+.Sp
+The -check_refs option is used to ensure that the assembly being
+installed into the GAC does not reference any non strong named
+assemblies. Assemblies being installed to the GAC should not reference
+non strong named assemblies, however the is an optional check.
+.fi
+.PP
+.I "-l" [assembly_name] [-root ROOTDIR] [-gacdir GACDIR]
+.Sp
+Lists the contents of the global assembly cache. When the
+<assembly_name> parameter is specified only matching assemblies are
+listed.
+.PP
+.I "-u" <assembly_display_name> [-package NAME] [-root ROOTDIR] [-gacdir GACDIR]
+.Sp
+Uninstalls an assembly from the global assembly cache.
+<assembly_display_name> is the name of the assembly (partial or
+fully qualified) to remove from the global assembly cache. If a
+partial name is specified all matching assemblies will be
+uninstalled. As opposed to the install option that takes a filename,
+this takes as an argument the assembly name, which looks like this:
+.nf
+       MyLibrary.Something, version=1.0.0.0, publicKeyToken=xxxx,culture=neutral
+.fi
+.Sp
+Notice that you can have spaces in the command line. There is no need
+to quote them.
+.Sp
+Performs a greedy removal. If you only specify one
+component like, "MyLibrary.Something", it will remove all versions of
+the library.
+.Sp
+.I "-us" <assembly_path> [-package NAME] [-root ROOTDIR] [-gacdir GACDIR]
+Uninstalls an assembly using the specified assembly's full name.
+<assembly path> is the path to an assembly. The full assembly name
+is retrieved from the specified assembly if there is an assembly in
+the GAC with a matching name, it is removed. Unlike the -u option this
+option takes a file name, like this:
+.nf
+        Example: -us myDll.dll
+.fi
+.Sp
+.I "-ul" <assembly_list_file> [-package NAME] [-root ROOTDIR] [-gacdir GACDIR]
+Uninstalls one or more assemblies from the global assembly cache.
+<assembly_list_file> is the path to a test file containing a list of
+assembly names on separate lines.
+.nf
+Example -ul assembly_list.txt
+.fi
+.nf
+assembly_list.txt contents:
+    assembly1,Version=1.0.0.0,Culture=en,PublicKeyToken=0123456789abcdef
+    assembly2,Version=2.0.0.0,Culture=en,PublicKeyToken=0123456789abcdef
+.fi
+.SH FILES
+On Unix assemblies are loaded from the installation lib directory.  If you set
+`prefix' to /usr, the assemblies will be located in /usr/lib.  On
+Windows, the assemblies are loaded from the directory where mono and
+mint live.
+.PP
+/etc/mono/config, ~/.mono/config
+.PP
+Mono runtime configuration file.  See the mono-config(5) manual page
+for more information.
+.SH WEB SITE
+Visit: http://www.go-mono.com for details
+.SH SEE ALSO
+.BR mcs(1), mono(1)
+
+