# being compiled on windows.
#
-mcs_topdir=$(top_srcdir)/../mcs
+gacutil=$(srcdir)/../gacutil.exe
+framework_version = 1.0
-gac_assemblies_list = \
- Accessibility.dll \
- Cscompmgd.dll \
- Mono.Security.dll \
- Mono.Security.Win32.dll \
- System.Configuration.Install.dll \
- System.Data.dll \
- System.Data.OracleClient.dll \
- System.dll \
- System.Design.dll \
- System.DirectoryServices.dll \
- System.Drawing.Design.dll \
- System.Drawing.dll \
- System.EnterpriseServices.dll \
- System.Management.dll \
- System.Messaging.dll \
- System.Runtime.Remoting.dll \
- System.Runtime.Serialization.Formatters.Soap.dll \
- System.Security.dll \
- System.ServiceProcess.dll \
- System.Web.dll \
- System.Web.Services.dll \
- System.Windows.Forms.dll \
- System.Xml.dll
-
-assemblies_DATA = \
- ByteFX.Data.dll \
- Commons.Xml.Relaxng.dll \
- mscorlib.dll \
- I18N.CJK.dll \
- I18N.dll \
- I18N.MidEast.dll \
- I18N.Other.dll \
- I18N.Rare.dll \
- I18N.West.dll \
- ICSharpCode.SharpZipLib.dll \
- Microsoft.VisualBasic.dll \
- Microsoft.VisualC.dll \
- Microsoft.Vsa.dll \
- Mono.Cairo.dll \
- Mono.CSharp.Debugger.dll \
- Mono.Data.SqliteClient.dll \
- Mono.Data.SybaseClient.dll \
- Mono.Data.TdsClient.dll \
- Mono.Data.Tds.dll \
- Novell.Directory.Ldap.dll \
- Mono.GetOptions.dll \
- Mono.Http.dll \
- Mono.Posix.dll \
- Npgsql.dll \
- NUnit.Util.dll \
- NUnit.Framework.dll \
- PEAPI.dll
-
-
-EXTRA_DIST = $(assemblies_DATA)
+if USE_JIT
+mono_runtime = $(top_builddir)/mono/mini/mono
+else
+mono_runtime = $(top_builddir)/mono/interpreter/mint
+endif
-#
-# Keep in sync with mono/mono/metadata/Makefile.am
-#
-assembliesdir = $(libdir)
+MONO_CSHARP_DEBUGGER = Mono.CompilerServices.SymbolWriter
if PLATFORM_WIN32
-monobinsdir = $(libdir)
+GAC_DIR = `cygpath -w $(libdir)`
+GAC_ROOT_DIR = `cygpath -w $(DESTDIR)$(libdir)`
else
-monobinsdir = $(bindir)
+GAC_DIR = $(libdir)
+GAC_ROOT_DIR = $(DESTDIR)$(libdir)
endif
-$(assemblies_DATA):
- @f=$(mcs_topdir)/class/lib/default/$@; \
- if test -f $$f; then :; else f=$(assembliesdir)/$@; fi ; \
- echo "cp -f $$f $(srcdir)"; \
- cp -f $$f $(srcdir)
+gac_assemblies_list = \
+ Accessibility \
+ ByteFX.Data \
+ Commons.Xml.Relaxng \
+ cscompmgd \
+ I18N.CJK \
+ I18N \
+ I18N.MidEast \
+ I18N.Other \
+ I18N.Rare \
+ I18N.West \
+ IBM.Data.DB2 \
+ ICSharpCode.SharpZipLib \
+ Microsoft.VisualBasic \
+ Microsoft.VisualC \
+ Microsoft.Vsa \
+ Mono.Cairo \
+ $(MONO_CSHARP_DEBUGGER) \
+ Mono.Data.SybaseClient \
+ Mono.Data.SqliteClient \
+ Mono.Data.TdsClient \
+ Mono.Data.Tds \
+ Mono.GetOptions \
+ Mono.Http \
+ Mono.Posix \
+ Mono.Security \
+ Mono.Security.Win32 \
+ Novell.Directory.Ldap \
+ Npgsql \
+ nunit.util \
+ nunit.core \
+ nunit.framework \
+ PEAPI \
+ System.Configuration.Install \
+ System.Data \
+ System.Data.OracleClient \
+ System \
+ System.Design \
+ System.DirectoryServices \
+ System.Drawing.Design \
+ System.Drawing \
+ System.EnterpriseServices \
+ System.Management \
+ System.Messaging \
+ System.Runtime.Remoting \
+ System.Runtime.Serialization.Formatters.Soap \
+ System.Security \
+ System.ServiceProcess \
+ System.Web \
+ System.Web.Services \
+ System.Windows.Forms \
+ System.Xml
+
+gac_assemblies = $(gac_assemblies_list:=.dll)
+mdb_files = $(gac_assemblies:=.mdb)
-$(gac_assemblies_list):
- @f=$(mcs_topdir)/class/lib/net_2_0/$@; \
- if test -f $$f; then :; else f=$(assembliesdir)/$@; fi ; \
- echo "cp -f $$f $(srcdir)"; \
- cp -f $$f $(srcdir)
+corlibdir = $(libdir)/mono/$(framework_version)
+corlib_DATA = mscorlib.dll
-install-data-local: $(gac_assemblies_list)
- @for i in $(gac_assemblies_list); do \
- gacutil /i $$i /f || exit 1 ; \
- done
+EXTRA_DIST = $(gac_assemblies) $(corlib_DATA) $(mdb_files)
+MAINTAINERCLEANFILES = $(EXTRA_DIST)
-uninstall-local:
- @for i in $(gac_assemblies_list); do \
- gacutil /u $$i || exit 1 ; \
- done
+mscorlib.dll $(gac_assemblies) $(mdb_files):
+ test -f $(mcs_topdir)/class/lib/default/$@
+ -rm -f $(srcdir)/$@
+ cd $(srcdir) && $(LN_S) $(mcs_topdir_from_srcdir)/class/lib/default/$@ $@
-dist-hook: $(gac_assemblies_list)
- @for i in $(gac_assemblies_list); do \
- cp $(srcdir)/$$i $(distdir)/. ; \
- done
+all-local: $(gac_assemblies) $(mdb_files)
+
+install-data-local:
+ @if test -f $(srcdir)/mscorlib.dll.mdb; then \
+ echo $(INSTALL_DATA) $(srcdir)/mscorlib.dll.mdb $(DESTDIR)$(corlibdir)/mscorlib.dll.mdb; \
+ $(INSTALL_DATA) $(srcdir)/mscorlib.dll.mdb $(DESTDIR)$(corlibdir)/mscorlib.dll.mdb; \
+ fi
+ @if test -n '$(gac_assemblies)'; then \
+ for i in ''$(gac_assemblies); do \
+ echo "MONO_PATH=$(srcdir) $(mono_runtime) --config ../../data/config $(gacutil) /i $(srcdir)/$$i /f /package $(framework_version) /gacdir $(GAC_DIR) /root $(GAC_ROOT_DIR)" ; \
+ MONO_PATH=$(srcdir) \
+ $(LIBTOOL) --mode=execute $(mono_runtime) --config ../../data/config $(gacutil) /i $(srcdir)/$$i /f /package $(framework_version) /gacdir $(GAC_DIR) /root $(GAC_ROOT_DIR) || exit 1 ; \
+ done; fi
+
+uninstall-local:
+ @if test -n '$(gac_assemblies_list)'; then \
+ for i in ''$(gac_assemblies_list); do \
+ echo "MONO_PATH=$(srcdir) $(mono_runtime) $(gacutil) /u $$i /gacdir $(GAC_DIR) /root $(GAC_ROOT_DIR)" ; \
+ MONO_PATH=$(srcdir) \
+ $(LIBTOOL) --mode=execute $(mono_runtime) --config ../../data/config $(gacutil) /u $$i /gacdir $(GAC_DIR) /root $(GAC_ROOT_DIR) || true ; \
+ done; fi
copy_dlls:
cp /nt/mono/mcs/class/*/*.dll .