summaryrefslogtreecommitdiff
path: root/lang/mono
diff options
context:
space:
mode:
authorJeremy Messenger <mezz@FreeBSD.org>2005-07-10 21:37:13 +0000
committerJeremy Messenger <mezz@FreeBSD.org>2005-07-10 21:37:13 +0000
commit116f882ee01c02c8bf44334058508be3a24a9520 (patch)
treea0a25db8673e4250ac5823e3cb4c364711ed33ba /lang/mono
parentchase/reorganize MASTER_SITES. (diff)
Update to 1.1.8.2, most semaphore bugs in 1.1.8(.1) have been fixed.
Release Notes: http://www.go-mono.com/archive/1.1.8/ http://www.go-mono.com/archive/1.1.8.1/ BTW: Welcome apeiron (Christopher Nehren <apeiron@comcast.net>) to BSD# team, he has the commit access over there. BSD# - Project by: http://www.mono-project.com/Mono:FreeBSD
Notes
Notes: svn path=/head/; revision=138849
Diffstat (limited to 'lang/mono')
-rw-r--r--lang/mono/Makefile23
-rw-r--r--lang/mono/distinfo4
-rw-r--r--lang/mono/files/patch-configure27
-rw-r--r--lang/mono/files/patch-libgc_pthread_support.c39
-rw-r--r--lang/mono/files/patch-mcs::class::IBM.Data.DB2::Assembly::AssemblyInfo.cs11
-rw-r--r--lang/mono/files/patch-mono_handles_Makefile.in96
-rw-r--r--lang/mono/files/patch-mono_handles_semdel.c37
-rw-r--r--lang/mono/files/patch-mono_metadata_socket-io.c11
-rw-r--r--lang/mono/files/patch-mono_mini_Makefile.in42
-rw-r--r--lang/mono/files/patch-mono_tests_Makefile.in93
-rw-r--r--lang/mono/files/patch-runtime_Makefile.in148
-rw-r--r--lang/mono/files/patch-runtime_semdel-wrapper.in9
-rw-r--r--lang/mono/pkg-plist24
13 files changed, 529 insertions, 35 deletions
diff --git a/lang/mono/Makefile b/lang/mono/Makefile
index 3f2512995134..d7a3e122c31e 100644
--- a/lang/mono/Makefile
+++ b/lang/mono/Makefile
@@ -2,13 +2,12 @@
# Date created: 22 July 2002
# Whom: Yukihiro Nakai <nakai@FreeBSD.org>
#
-# $Id: Makefile,v 1.22 2005/05/16 03:43:07 mezz7 Exp $
+# $Id: Makefile,v 1.29 2005/07/07 05:52:45 tmclau02 Exp $
# $FreeBSD$
#
PORTNAME= mono
-PORTVERSION= 1.1.7
-PORTREVISION= 4
+PORTVERSION= 1.1.8.2
CATEGORIES= lang
MASTER_SITES= http://www.go-mono.com/sources/mono-1.1/
@@ -32,9 +31,10 @@ CONFIGURE_ARGS= --program-transform-name=\'\' \
MAN1= cert2spc.1 certmgr.1 chktrust.1 cilc.1 disco.1 dtd2xsd.1 \
gacutil.1 genxs.1 ilasm.1 jay.1 macpack.1 makecert.1 mcs.1 \
- mint.1 mkbundle.1 mono-service.1 mono.1 monoburg.1 monodis.1 \
- monop.1 monostyle.1 oldmono.1 permview.1 prj2make.1 secutil.1 \
- setreg.1 signcode.1 sn.1 soapsuds.1 sqlsharp.1 wsdl.1 xsd.1
+ mint.1 mkbundle.1 mono-service.1 mono-shlib-cop.1 mono.1 \
+ monoburg.1 monodis.1 monop.1 monostyle.1 oldmono.1 \
+ permview.1 prj2make.1 secutil.1 setreg.1 signcode.1 sn.1 \
+ soapsuds.1 sqlsharp.1 wsdl.1 xsd.1
MAN5= mono-config.5
ONLY_FOR_ARCHS= i386
@@ -52,16 +52,19 @@ IGNORE= Does not work on 4.X and 5.X before 503000
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-support_mph.h
.endif
-.if exists(${LOCALBASE}/lib/libgamin-1.so)
-LIB_DEPENDS+= fam.0:${PORTSDIR}/devel/gamin
-.elif exists(${LOCALBASE}/lib/libfam.so)
-LIB_DEPENDS+= fam.0:${PORTSDIR}/devel/fam
+.if exists(${LOCALBASE}/lib/libfam.so)
+USE_FAM= yes
.endif
post-patch:
@${REINPLACE_CMD} -e 's|%%X11BASE%%|${X11BASE}|g' \
${WRKSRC}/mono/metadata/assembly.c
+tests: build
+ @${ECHO_MSG} "===> Running mono regression tests"
+ @(cd ${WRKSRC}/mono/tests && ${SETENV} ${MAKE_ENV} ${GMAKE} \
+ ${MAKE_FLAGS} Makefile ${MAKE_ARGS} test)
+
pre-su-install:
${MKDIR} ${X11BASE}/lib/mono/gac
diff --git a/lang/mono/distinfo b/lang/mono/distinfo
index 92d45b3cec7e..e36afb6de495 100644
--- a/lang/mono/distinfo
+++ b/lang/mono/distinfo
@@ -1,2 +1,2 @@
-MD5 (mono-1.1.7.tar.gz) = f81c6b02ef0c5d5ef7ab827d28eb9731
-SIZE (mono-1.1.7.tar.gz) = 14766534
+MD5 (mono-1.1.8.2.tar.gz) = beb2acae266ba6f4e74a7a6acd13370c
+SIZE (mono-1.1.8.2.tar.gz) = 15344768
diff --git a/lang/mono/files/patch-configure b/lang/mono/files/patch-configure
new file mode 100644
index 000000000000..6a2f4fe771fb
--- /dev/null
+++ b/lang/mono/files/patch-configure
@@ -0,0 +1,27 @@
+--- configure.orig Wed Jul 6 21:41:55 2005
++++ configure Wed Jul 6 22:00:23 2005
+@@ -35047,6 +35047,8 @@
+
+ ac_config_files="$ac_config_files runtime/monodis-wrapper"
+
++ ac_config_files="$ac_config_files runtime/semdel-wrapper"
++
+
+ ac_config_commands="$ac_config_commands runtime/etc/mono/1.0/machine.config"
+
+@@ -35804,6 +35806,7 @@
+ # Handling of arguments.
+ "runtime/mono-wrapper" ) CONFIG_FILES="$CONFIG_FILES runtime/mono-wrapper" ;;
+ "runtime/monodis-wrapper" ) CONFIG_FILES="$CONFIG_FILES runtime/monodis-wrapper" ;;
++ "runtime/semdel-wrapper" ) CONFIG_FILES="$CONFIG_FILES runtime/semdel-wrapper" ;;
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "mint.pc" ) CONFIG_FILES="$CONFIG_FILES mint.pc" ;;
+ "mono.pc" ) CONFIG_FILES="$CONFIG_FILES mono.pc" ;;
+@@ -36348,6 +36351,7 @@
+ case $ac_file in
+ runtime/mono-wrapper ) chmod +x runtime/mono-wrapper ;;
+ runtime/monodis-wrapper ) chmod +x runtime/monodis-wrapper ;;
++ runtime/semdel-wrapper ) chmod +x runtime/semdel-wrapper ;;
+ esac
+ done
+ _ACEOF
diff --git a/lang/mono/files/patch-libgc_pthread_support.c b/lang/mono/files/patch-libgc_pthread_support.c
new file mode 100644
index 000000000000..1ba5d63d2086
--- /dev/null
+++ b/lang/mono/files/patch-libgc_pthread_support.c
@@ -0,0 +1,39 @@
+--- libgc/pthread_support.c.orig Tue Jun 21 12:52:42 2005
++++ libgc/pthread_support.c Tue Jun 21 12:54:17 2005
+@@ -556,27 +556,6 @@
+
+ volatile GC_thread GC_threads[THREAD_TABLE_SZ];
+
+-/*
+- * gcc-3.3.6 miscompiles the &GC_thread_key+sizeof(&GC_thread_key) expression so
+- * put it into a separate function.
+- */
+-# ifdef __GNUC__
+-static __attribute__((noinline)) unsigned char* get_gc_thread_key_addr GC_PROTO((void))
+-{
+- return (unsigned char*)&GC_thread_key;
+-}
+-
+-void GC_push_thread_structures GC_PROTO((void))
+-{
+- GC_push_all((ptr_t)(GC_threads), (ptr_t)(GC_threads)+sizeof(GC_threads));
+-# if defined(THREAD_LOCAL_ALLOC) && !defined(DBG_HDRS_ALL)
+- GC_push_all((ptr_t)get_gc_thread_key_addr(),
+- (ptr_t)(get_gc_thread_key_addr())+sizeof(&GC_thread_key));
+-# endif
+-}
+-
+-#else
+-
+ void GC_push_thread_structures GC_PROTO((void))
+ {
+ GC_push_all((ptr_t)(GC_threads), (ptr_t)(GC_threads)+sizeof(GC_threads));
+@@ -585,8 +564,6 @@
+ (ptr_t)(&GC_thread_key)+sizeof(&GC_thread_key));
+ # endif
+ }
+-
+-#endif
+
+ #ifdef THREAD_LOCAL_ALLOC
+ /* We must explicitly mark ptrfree and gcj free lists, since the free */
diff --git a/lang/mono/files/patch-mcs::class::IBM.Data.DB2::Assembly::AssemblyInfo.cs b/lang/mono/files/patch-mcs::class::IBM.Data.DB2::Assembly::AssemblyInfo.cs
deleted file mode 100644
index 538877cafb6c..000000000000
--- a/lang/mono/files/patch-mcs::class::IBM.Data.DB2::Assembly::AssemblyInfo.cs
+++ /dev/null
@@ -1,11 +0,0 @@
---- mcs/class/IBM.Data.DB2/Assembly/AssemblyInfo.cs.orig Thu Jun 24 16:59:43 2004
-+++ mcs/class/IBM.Data.DB2/Assembly/AssemblyInfo.cs Wed May 11 14:52:50 2005
-@@ -47,7 +47,7 @@
- // You can specify all the values or you can default the Revision and Build Numbers
- // by using the '*' as shown below:
-
--[assembly: AssemblyVersion("1.0.*")]
-+[assembly: AssemblyVersion("1.0.0.0")]
-
- [assembly: AssemblyDelaySign (true)]
- [assembly: AssemblyKeyFile ("ibm.pub")]
diff --git a/lang/mono/files/patch-mono_handles_Makefile.in b/lang/mono/files/patch-mono_handles_Makefile.in
new file mode 100644
index 000000000000..b75b7b64227e
--- /dev/null
+++ b/lang/mono/files/patch-mono_handles_Makefile.in
@@ -0,0 +1,96 @@
+--- mono/handles/Makefile.in.orig Thu Jul 7 00:50:49 2005
++++ mono/handles/Makefile.in Thu Jul 7 01:27:17 2005
+@@ -14,7 +14,7 @@
+
+ @SET_MAKE@
+
+-SOURCES = hps.c
++SOURCES = hps.c semdel.c
+
+ srcdir = @srcdir@
+ top_srcdir = @top_srcdir@
+@@ -39,7 +39,7 @@
+ build_triplet = @build@
+ host_triplet = @host@
+ target_triplet = @target@
+-noinst_PROGRAMS = hps$(EXEEXT)
++noinst_PROGRAMS = hps$(EXEEXT) semdel$(EXEEXT)
+ subdir = mono/handles
+ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ChangeLog
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+@@ -56,6 +56,11 @@
+ hps_DEPENDENCIES = ../io-layer/libwapi.la ../utils/libmonoutils.la \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1)
++semdel_SOURCES = semdel.c
++semdel_OBJECTS = semdel.$(OBJEXT)
++semdel_DEPENDENCIES = ../io-layer/libwapi.la ../utils/libmonoutils.la \
++ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
++ $(am__DEPENDENCIES_1)
+ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+ depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
+@@ -67,8 +72,8 @@
+ CCLD = $(CC)
+ LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+-SOURCES = hps.c
+-DIST_SOURCES = hps.c
++SOURCES = hps.c semdel.c
++DIST_SOURCES = hps.c semdel.c
+ ETAGS = etags
+ CTAGS = ctags
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+@@ -213,6 +218,7 @@
+ ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+@@ -280,6 +286,14 @@
+ $(GMODULE_LIBS) \
+ -lm
+
++semdel_LDADD = \
++ ../io-layer/libwapi.la \
++ ../utils/libmonoutils.la \
++ $(LIBGC_LIBS) \
++ $(GLIB_LIBS) \
++ $(GMODULE_LIBS) \
++ -lm
++
+ EXTRA_DIST = ChangeLog
+ all: all-am
+
+@@ -294,9 +308,9 @@
+ exit 1;; \
+ esac; \
+ done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/handles/Makefile'; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/handles/Makefile'; \
+ cd $(top_srcdir) && \
+- $(AUTOMAKE) --foreign mono/handles/Makefile
++ $(AUTOMAKE) --gnu mono/handles/Makefile
+ .PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+@@ -324,6 +338,9 @@
+ hps$(EXEEXT): $(hps_OBJECTS) $(hps_DEPENDENCIES)
+ @rm -f hps$(EXEEXT)
+ $(LINK) $(hps_LDFLAGS) $(hps_OBJECTS) $(hps_LDADD) $(LIBS)
++semdel$(EXEEXT): $(semdel_OBJECTS) $(semdel_DEPENDENCIES)
++ @rm -f semdel$(EXEEXT)
++ $(LINK) $(semdel_LDFLAGS) $(semdel_OBJECTS) $(semdel_LDADD) $(LIBS)
+
+ mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+@@ -332,6 +349,7 @@
+ -rm -f *.tab.c
+
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hps.Po@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/semdel.Po@am__quote@
+
+ .c.o:
+ @am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
diff --git a/lang/mono/files/patch-mono_handles_semdel.c b/lang/mono/files/patch-mono_handles_semdel.c
new file mode 100644
index 000000000000..7ef7f2927b20
--- /dev/null
+++ b/lang/mono/files/patch-mono_handles_semdel.c
@@ -0,0 +1,37 @@
+--- /dev/null Thu Jul 7 01:22:00 2005
++++ mono/handles/semdel.c Thu Jul 7 01:27:26 2005
+@@ -0,0 +1,34 @@
++#include <config.h>
++#include <glib.h>
++#include <errno.h>
++#include <sys/types.h>
++#include <sys/ipc.h>
++#include <sys/sem.h>
++
++#include <mono/io-layer/io-layer.h>
++
++/* We're digging into handle internals here... */
++#include <mono/io-layer/handles-private.h>
++#include <mono/io-layer/wapi-private.h>
++#include <mono/io-layer/shared.h>
++
++int main (int argc, char **argv)
++{
++ int sem_id, ret;
++
++ _wapi_shared_layout = _wapi_shm_attach(WAPI_SHM_DATA);
++ if (_wapi_shared_layout == FALSE) {
++ exit (0);
++ }
++
++ sem_id = semget (_wapi_shared_layout->sem_key, _WAPI_SHARED_SEM_COUNT, 0600);
++ if (sem_id != -1) {
++ ret = semctl (sem_id, IPC_RMID, 0);
++ if (ret == -1) {
++ g_message ("Error deleting semaphore: %s",
++ g_strerror (errno));
++ }
++ }
++
++ exit (0);
++}
diff --git a/lang/mono/files/patch-mono_metadata_socket-io.c b/lang/mono/files/patch-mono_metadata_socket-io.c
new file mode 100644
index 000000000000..511d4925ce8d
--- /dev/null
+++ b/lang/mono/files/patch-mono_metadata_socket-io.c
@@ -0,0 +1,11 @@
+--- mono/metadata/socket-io.c.orig Thu Jun 16 21:01:26 2005
++++ mono/metadata/socket-io.c Thu Jun 16 21:04:19 2005
+@@ -2496,7 +2496,7 @@
+ struct sockaddr_in6 saddr6;
+ struct addrinfo *info = NULL, hints;
+ gint32 family;
+- char hostname[1024] = {0};
++ char hostname[NI_MAXHOST];
+ #else
+ struct in_addr inaddr;
+ struct hostent *he;
diff --git a/lang/mono/files/patch-mono_mini_Makefile.in b/lang/mono/files/patch-mono_mini_Makefile.in
new file mode 100644
index 000000000000..e950f35fe687
--- /dev/null
+++ b/lang/mono/files/patch-mono_mini_Makefile.in
@@ -0,0 +1,42 @@
+--- mono/mini/Makefile.in.orig Wed Jul 6 21:41:54 2005
++++ mono/mini/Makefile.in Wed Jul 6 23:48:29 2005
+@@ -341,6 +341,7 @@
+ ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+@@ -422,7 +423,7 @@
+ $(libgc_static_libs) \
+ $(ICU_LIBS)
+
+-RUNTIME = MONO_PATH=$(mcs_topdir)/class/lib/default MONO_SHARED_DIR=$(mono_build_root)/runtime MONO_CFG_DIR=$(mono_cfg_dir) ./mono --config $(top_builddir)/data/config
++RUNTIME = MONO_PATH=$(mcs_topdir)/class/lib/default $(top_builddir)/runtime/mono-wrapper
+ MCS = $(RUNTIME) $(mcs_topdir)/class/lib/default/mcs.exe -unsafe -nowarn:0162
+ ILASM = $(RUNTIME) $(mcs_topdir)/ilasm/ilasm.exe
+ INCLUDES = \
+@@ -641,9 +642,9 @@
+ exit 1;; \
+ esac; \
+ done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/mini/Makefile'; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/mini/Makefile'; \
+ cd $(top_srcdir) && \
+- $(AUTOMAKE) --foreign mono/mini/Makefile
++ $(AUTOMAKE) --gnu mono/mini/Makefile
+ .PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+@@ -1124,7 +1125,9 @@
+ docu: mini.sgm
+ docbook2txt mini.sgm
+
+-check-local: rcheck
++check-local:
++ ok=:; $(MAKE) rcheck || ok=false; \
++ $(top_builddir)/runtime/semdel-wrapper || :; $$ok
+
+ clean-local:
+ rm -f mono a.out gmon.out *.o test.exe
diff --git a/lang/mono/files/patch-mono_tests_Makefile.in b/lang/mono/files/patch-mono_tests_Makefile.in
new file mode 100644
index 000000000000..b3ef75417564
--- /dev/null
+++ b/lang/mono/files/patch-mono_tests_Makefile.in
@@ -0,0 +1,93 @@
+--- mono/tests/Makefile.in.orig Wed Jul 6 21:41:54 2005
++++ mono/tests/Makefile.in Wed Jul 6 23:51:30 2005
+@@ -211,6 +211,7 @@
+ ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+@@ -270,7 +271,12 @@
+ TEST_PROG_RUN = MONO_PATH=$(mcs_topdir)/class/lib/default MONO_SHARED_DIR=$(mono_build_root)/runtime $(LIBTOOL) --mode=execute $(TEST_PROG)
+ JITTEST_PROG_RUN = MONO_PATH=$(mcs_topdir)/class/lib/default MONO_SHARED_DIR=$(mono_build_root)/runtime $(LIBTOOL) --mode=execute $(JITTEST_PROG)
+ RUNTIME_ARGS = --config tests-config --optimize=all
+-RUNTIME = MONO_PATH=$(mcs_topdir)/class/lib/default $(top_builddir)/runtime/mono-wrapper
++with_mono_path = MONO_PATH=$(mcs_topdir)/class/lib/default
++RUNTIME = $(with_mono_path) $(top_builddir)/runtime/mono-wrapper
++MKBUNDLE = \
++ PKG_CONFIG_PATH=$(top_builddir):$(PKG_CONFIG_PATH) \
++ $(RUNTIME) $(mcs_topdir)/tools/mkbundle/mkbundle.exe
++
+ CSC = $(RUNTIME) $(mcs_topdir)/class/lib/default/mcs.exe -unsafe -nowarn:0162 -nowarn:0168 -nowarn:0219
+ ILASM = $(RUNTIME) $(mcs_topdir)/ilasm/ilasm.exe
+ BENCHSRC = fib.cs random.cs nested-loops.cs ackermann.cs tight-loop.cs sieve.cs
+@@ -326,7 +332,6 @@
+ pinvoke11.cs \
+ pinvoke13.cs \
+ pinvoke17.cs \
+- pinvoke18.cs \
+ invoke.cs \
+ invoke2.cs \
+ runtime-invoke.cs \
+@@ -386,7 +391,6 @@
+ appdomain.cs \
+ appdomain1.cs \
+ appdomain2.cs \
+- appdomain3.cs \
+ appdomain-client.cs \
+ appdomain-unload.cs \
+ loader.cs \
+@@ -521,9 +525,9 @@
+ exit 1;; \
+ esac; \
+ done; \
+- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/tests/Makefile'; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mono/tests/Makefile'; \
+ cd $(top_srcdir) && \
+- $(AUTOMAKE) --foreign mono/tests/Makefile
++ $(AUTOMAKE) --gnu mono/tests/Makefile
+ .PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+@@ -762,7 +766,9 @@
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-info-am
+
+-check-local: test
++check-local:
++ ok=:; $(MAKE) test || ok=false; \
++ $(top_builddir)/runtime/semdel-wrapper || :; $$ok
+
+ %.exe: %.il
+ $(ILASM) -out:$@ $<
+@@ -770,7 +776,7 @@
+ %.exe: %.cs TestDriver.dll
+ $(CSC) -r:TestDriver.dll -out:$@ $<
+
+-test: testjit
++test: testjit testbundle
+
+ TestDriver.dll:
+ $(CSC) -target:library -out:$@ $(srcdir)/../mini/TestDriver.cs
+@@ -836,7 +842,7 @@
+ export LD_LIBRARY_PATH="`pwd`/.libs:$${LD_LIBRARY_PATH}"; \
+ for i in $(TESTSI_CS) $(TESTBS); do \
+ rm -f $${i}.so; \
+- $(JITTEST_PROG) --aot $${i} > /dev/null; \
++ $(JITTEST_PROG_RUN) --aot $${i} > /dev/null; \
+ if $(srcdir)/test-driver '$(JITTEST_PROG_RUN)' $$i "$(DISABLED_TESTS)" $(RUNTIME_ARGS); \
+ then \
+ passed=`expr $${passed} + 1`; \
+@@ -895,6 +901,11 @@
+ echo "$${passed} test(s) passed. $${failed} test(s) failed."; \
+ if [ $${failed} != 0 ]; then echo -e "\nFailed tests:\n"; \
+ for i in $${failed_tests}; do echo $${i}; done; exit 1; fi
++
++testbundle: console.exe
++ $(MKBUNDLE) --static console.exe
++ $(with_mono_path) ./a.out
++ - rm -rf a.out
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
diff --git a/lang/mono/files/patch-runtime_Makefile.in b/lang/mono/files/patch-runtime_Makefile.in
new file mode 100644
index 000000000000..b309cc1b904e
--- /dev/null
+++ b/lang/mono/files/patch-runtime_Makefile.in
@@ -0,0 +1,148 @@
+--- runtime/Makefile.in.orig Wed Jul 6 21:41:54 2005
++++ runtime/Makefile.in Wed Jul 6 23:33:56 2005
+@@ -14,10 +14,6 @@
+
+ @SET_MAKE@
+
+-# This is just used to copy and install the DLL files that are currently
+-# being compiled on windows.
+-#
+-
+ srcdir = @srcdir@
+ top_srcdir = @top_srcdir@
+ VPATH = @srcdir@
+@@ -43,14 +39,15 @@
+ target_triplet = @target@
+ subdir = runtime
+ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+- $(srcdir)/mono-wrapper.in $(srcdir)/monodis-wrapper.in
++ $(srcdir)/mono-wrapper.in $(srcdir)/monodis-wrapper.in \
++ $(srcdir)/semdel-wrapper.in
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/configure.in
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+ mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = $(top_builddir)/config.h
+-CONFIG_CLEAN_FILES = mono-wrapper monodis-wrapper
++CONFIG_CLEAN_FILES = mono-wrapper monodis-wrapper semdel-wrapper
+ SCRIPTS = $(noinst_SCRIPTS)
+ depcomp =
+ am__depfiles_maybe =
+@@ -196,6 +193,7 @@
+ ac_ct_OBJDUMP = @ac_ct_OBJDUMP@
+ ac_ct_RANLIB = @ac_ct_RANLIB@
+ ac_ct_STRIP = @ac_ct_STRIP@
++ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
+ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+ am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+@@ -254,7 +252,7 @@
+ # hack to prevent 'check' from depending on 'all'
+ AUTOMAKE_OPTIONS = cygnus
+ tmpinst = _tmpinst
+-noinst_SCRIPTS = mono-wrapper monodis-wrapper
++noinst_SCRIPTS = mono-wrapper monodis-wrapper semdel-wrapper
+ etctmp = etc
+ symlinks = etc/mono/1.0/machine.config etc/mono/2.0/machine.config
+ SUPPORT_FILES = $(symlinks) mono-wrapper wrapper-config
+@@ -273,7 +271,7 @@
+ CLEANFILES = wrapper-config
+
+ # the 'cygnus' option also disables the default 'distdir:' target, which we _do_ want
+-MYDISTFILES = Makefile.am Makefile.in mono-wrapper.in monodis-wrapper.in
++MYDISTFILES = $(DIST_COMMON)
+ all: all-am
+
+ .SUFFIXES:
+@@ -310,6 +308,8 @@
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+ monodis-wrapper: $(top_builddir)/config.status $(srcdir)/monodis-wrapper.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
++semdel-wrapper: $(top_builddir)/config.status $(srcdir)/semdel-wrapper.in
++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+ mostlyclean-libtool:
+ -rm -f *.lo
+@@ -418,15 +418,20 @@
+ # The write check is to foil 'make distcheck'
+ all-local: $(SUPPORT_FILES)
+ if test -w $(mcs_topdir); then :; else chmod -R +w $(mcs_topdir); fi
+- d=`pwd`; cd $(mcs_topdir) && $(MAKE) PROFILES='$(build_profiles)' all-profiles
++ d=`pwd`; ok=:; \
++ ( cd $(mcs_topdir) && \
++ $(MAKE) PROFILES='$(build_profiles)' all-profiles ) || ok=false; \
++ ./semdel-wrapper || :; $$ok
+
+ # override automake
+ install: install-exec install-data
+
+ # override automake
+ install-exec: $(SUPPORT_FILES)
+- d=`pwd`; \
+- cd $(mcs_topdir) && $(MAKE) PROFILES='$(build_profiles)' RUNTIME_HAS_CONSISTENT_GACDIR=yes prefix=$(prefix) install-profiles
++ d=`pwd`; ok=:; \
++ ( cd $(mcs_topdir) && \
++ $(MAKE) PROFILES='$(build_profiles)' RUNTIME_HAS_CONSISTENT_GACDIR=yes prefix=$(prefix) install-profiles ) || ok=false; \
++ ./semdel-wrapper || :; $$ok
+
+ # override automake
+ install-data:
+@@ -434,33 +439,38 @@
+
+ # override automake
+ uninstall:
+- d=`pwd`; \
+- cd $(mcs_topdir) && $(MAKE) PROFILES='$(build_profiles)' RUNTIME_HAS_CONSISTENT_GACDIR=yes prefix=$(prefix) uninstall-profiles
++ d=`pwd`; ok=:; \
++ ( cd $(mcs_topdir) && \
++ $(MAKE) PROFILES='$(build_profiles)' RUNTIME_HAS_CONSISTENT_GACDIR=yes prefix=$(prefix) uninstall-profiles ) || ok=false; \
++ ./semdel-wrapper || :; $$ok
+
+ clean-local:
+ d=`pwd`; cd $(mcs_topdir) && $(MAKE) PROFILES='$(build_profiles)' clean-profiles
++ -./semdel-wrapper
+ -rm -fr $(etctmp) $(tmpinst) .wapi
+
+ mcs-do-test-profiles:
+- d=`pwd`; cd $(mcs_topdir) && $(MAKE) PROFILES='$(build_profiles)' test-profiles
++ d=`pwd`; ok=:; \
++ ( cd $(mcs_topdir) && $(MAKE) PROFILES='$(build_profiles)' test-profiles ) || ok=false; \
++ ./semdel-wrapper || :; $$ok
+
+ mcs-do-run-test-profiles: test-support-files
+- d=`pwd`; PATH=$$d/$(tmpinst)/bin:$$PATH ; export PATH ; \
+- ( cd $(mcs_topdir) && $(MAKE) PROFILES='$(build_profiles)' run-test-profiles ) || ret=false ; \
+- rm -fr $(tmpinst); $$ret
++ d=`pwd`; ok=:; PATH=$$d/$(tmpinst)/bin:$$PATH ; export PATH ; \
++ ( cd $(mcs_topdir) && $(MAKE) PROFILES='$(build_profiles)' run-test-profiles ) || ok=false; \
++ ./semdel-wrapper || :; rm -fr $(tmpinst); $$ok
+
+ # Use --compile-all as a poor man's PEVerify to detect invalid IL
+ mcs-compileall: mono-wrapper wrapper-config
+- save_MONO_PATH=$$MONO_PATH; mcs_topdir=`cd $(mcs_topdir) && $(cur_dir_cmd)`; ret=:; \
++ save_MONO_PATH=$$MONO_PATH; mcs_topdir=`cd $(mcs_topdir) && $(cur_dir_cmd)`; ok=:; \
+ for profile in $(build_profiles); do \
+ MONO_PATH="$$mcs_topdir/class/lib/$$profile$(PLATFORM_PATH_SEPARATOR)$$save_MONO_PATH"; export MONO_PATH; \
+ for i in $(mcs_topdir)/class/lib/$$profile/*.dll $(mcs_topdir)/class/lib/$$profile/*.exe $(mcs_topdir)/class/Microsoft.VisualBasic/fixup/$$profile/*.dll; do \
+ if ./mono-wrapper --compile-all $$i; then \
+ echo $$i verified OK; \
+ else \
+- echo $$i verification failed; ret=false; \
++ echo $$i verification failed; ok=false; \
+ fi; done; done; \
+- $$ret
++ ./semdel-wrapper || :; $$ok
+
+ check-local: mcs-compileall mcs-do-test-profiles
+ $(MAKE) $(test_select) mcs-do-run-test-profiles
+@@ -506,8 +516,7 @@
+ rm -fr $(distdir)
+ mkdir $(distdir)
+ test -z '$(MYDISTFILES)' || for file in ''$(MYDISTFILES); do \
+- if test -f $$file; then d=.; else d=$(srcdir); fi; \
+- cp -p $$d/$$file $(distdir) ; done
++ cp -p $$file $(distdir) ; done
+ find $(distdir) -type f -exec chmod a+r {} ';'
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/lang/mono/files/patch-runtime_semdel-wrapper.in b/lang/mono/files/patch-runtime_semdel-wrapper.in
new file mode 100644
index 000000000000..45a8e19aa78d
--- /dev/null
+++ b/lang/mono/files/patch-runtime_semdel-wrapper.in
@@ -0,0 +1,9 @@
+--- /dev/null Wed Jul 6 23:13:43 2005
++++ runtime/semdel-wrapper.in Wed Jul 6 23:20:15 2005
+@@ -0,0 +1,6 @@
++#! /bin/sh
++r='@mono_build_root@'
++MONO_CFG_DIR='@mono_cfg_dir@'
++MONO_SHARED_DIR=$r/runtime
++export MONO_CFG_DIR MONO_SHARED_DIR
++exec "$r/libtool" --mode=execute "$r/mono/handles/semdel" "$@"
diff --git a/lang/mono/pkg-plist b/lang/mono/pkg-plist
index 1547a123e42f..c266b69ba288 100644
--- a/lang/mono/pkg-plist
+++ b/lang/mono/pkg-plist
@@ -21,11 +21,11 @@ bin/mono
bin/mono-find-provides
bin/mono-find-requires
bin/mono-service
+bin/mono-shlib-cop
bin/monodiet
bin/monodis
bin/monograph
bin/monop
-bin/monoresgen
bin/pedump
bin/permview
bin/prj2make
@@ -108,10 +108,8 @@ include/mono/utils/mono-uri.h
include/mono/utils/monobitset.h
lib/libMonoPosixHelper.a
lib/libMonoPosixHelper.so
-lib/libMonoPosixHelper.so.1
lib/libikvm-native.a
lib/libikvm-native.so
-lib/libikvm-native.so.0
lib/libmono-profiler-cov.a
lib/libmono-profiler-cov.so
lib/libmono-profiler-cov.so.0
@@ -211,12 +209,10 @@ lib/mono/1.0/mkbundle.exe
lib/mono/1.0/mkbundle.exe.mdb
lib/mono/1.0/mono-api-diff.exe
lib/mono/1.0/mono-api-info.exe
-lib/mono/1.0/mono-find-provides.exe
-lib/mono/1.0/mono-find-provides.exe.mdb
-lib/mono/1.0/mono-find-requires.exe
-lib/mono/1.0/mono-find-requires.exe.mdb
lib/mono/1.0/mono-service.exe
lib/mono/1.0/mono-service.exe.mdb
+lib/mono/1.0/mono-shlib-cop.exe
+lib/mono/1.0/mono-shlib-cop.exe.mdb
lib/mono/1.0/monop.exe
lib/mono/1.0/monop.exe.mdb
lib/mono/1.0/mscorlib.dll
@@ -299,6 +295,7 @@ lib/mono/2.0/cscompmgd.dll
lib/mono/2.0/gmcs.exe
lib/mono/2.0/gmcs.exe.config
lib/mono/2.0/gmcs.exe.mdb
+lib/mono/2.0/mono-api-info.exe
lib/mono/2.0/mscorlib.dll
lib/mono/2.0/mscorlib.dll.mdb
lib/mono/2.0/nunit.util.dll
@@ -346,8 +343,10 @@ lib/mono/gac/ICSharpCode.SharpZipLib/0.6.0.0__1b03e6acf1164f73/ICSharpCode.Sharp
lib/mono/gac/ICSharpCode.SharpZipLib/0.6.0.0__1b03e6acf1164f73/ICSharpCode.SharpZipLib.dll.mdb
lib/mono/gac/ICSharpCode.SharpZipLib/2.6.0.0__1b03e6acf1164f73/ICSharpCode.SharpZipLib.dll
lib/mono/gac/ICSharpCode.SharpZipLib/2.6.0.0__1b03e6acf1164f73/ICSharpCode.SharpZipLib.dll.mdb
-lib/mono/gac/Microsoft.JScript/0.0.0.0__b03f5f7f11d50a3a/Microsoft.JScript.dll
-lib/mono/gac/Microsoft.JScript/0.0.0.0__b03f5f7f11d50a3a/Microsoft.JScript.dll.mdb
+lib/mono/gac/Microsoft.JScript/7.0.5000.0__b03f5f7f11d50a3a/Microsoft.JScript.dll
+lib/mono/gac/Microsoft.JScript/7.0.5000.0__b03f5f7f11d50a3a/Microsoft.JScript.dll.mdb
+lib/mono/gac/Microsoft.JScript/8.0.3600.0__b03f5f7f11d50a3a/Microsoft.JScript.dll
+lib/mono/gac/Microsoft.JScript/8.0.3600.0__b03f5f7f11d50a3a/Microsoft.JScript.dll.mdb
lib/mono/gac/Microsoft.VisualBasic/7.0.5000.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
lib/mono/gac/Microsoft.VisualBasic/8.0.3600.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
lib/mono/gac/Microsoft.VisualC/7.0.5000.0__b03f5f7f11d50a3a/Microsoft.VisualC.dll
@@ -642,7 +641,8 @@ share/jay/skeleton.cs
@dirrm lib/mono/gac/Microsoft.VisualBasic/8.0.3600.0__b03f5f7f11d50a3a
@dirrm lib/mono/gac/Microsoft.VisualBasic/7.0.5000.0__b03f5f7f11d50a3a
@dirrm lib/mono/gac/Microsoft.VisualBasic
-@dirrm lib/mono/gac/Microsoft.JScript/0.0.0.0__b03f5f7f11d50a3a
+@dirrm lib/mono/gac/Microsoft.JScript/8.0.3600.0__b03f5f7f11d50a3a
+@dirrm lib/mono/gac/Microsoft.JScript/7.0.5000.0__b03f5f7f11d50a3a
@dirrm lib/mono/gac/Microsoft.JScript
@dirrm lib/mono/gac/ICSharpCode.SharpZipLib/2.6.0.0__1b03e6acf1164f73
@dirrm lib/mono/gac/ICSharpCode.SharpZipLib/0.6.0.0__1b03e6acf1164f73
@@ -677,8 +677,8 @@ share/jay/skeleton.cs
@dirrm lib/mono/gac/Accessibility/1.0.5000.0__b03f5f7f11d50a3a
@dirrm lib/mono/gac/Accessibility
@unexec rmdir %D/lib/mono/gac 2>/dev/null || true
-@dirrm lib/mono/2.0
-@dirrm lib/mono/1.0
+@unexec rmdir %D/lib/mono/2.0 2>/dev/null || true
+@unexec rmdir %D/lib/mono/1.0 2>/dev/null || true
@unexec rmdir %D/lib/mono 2>/dev/null || true
@dirrm include/mono/utils
@dirrm include/mono/private