* configure.in (mcs_topdir, mcs_topdir_from_srcdir): New 'subst'ed
[mono.git] / runtime / net_1_1 / Makefile.am
index 5ca1f6ec50ce7cf4dd4d3d4a56d9022e87f75209..01175e008e5f812716447dc87152d680b890b6fe 100644 (file)
 # 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 .