Skip to content

Commit

Permalink
Merge upstream mono
Browse files Browse the repository at this point in the history
  • Loading branch information
elijahtaylor committed Jan 17, 2013
2 parents e7e5c94 + fade2ea commit 095b7d0
Show file tree
Hide file tree
Showing 7,920 changed files with 530,159 additions and 322,076 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
/mono.spec
/mono-core.spec
/semantic.cache
/mono.h
/stamp-h
/stamp-h.in
/stamp-h1
Expand All @@ -36,3 +37,5 @@
/lt~obsolete.m4
/ltversion.m4
*~
*.suo
*.csproj.user
24 changes: 24 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
[submodule "external/aspnetwebstack"]
path = external/aspnetwebstack
url = git://github.com/mono/aspnetwebstack.git
[submodule "external/Newtonsoft.Json"]
path = external/Newtonsoft.Json
url = git://github.com/mono/Newtonsoft.Json.git
[submodule "external/cecil"]
path = external/cecil
url = git://github.com/mono/cecil.git
[submodule "external/debian-snapshot"]
path = external/debian-snapshot
url = git://github.com/directhex/mono-snapshot.git
[submodule "external/entityframework"]
path = external/entityframework
url = git://github.com/mono/entityframework.git
[submodule "external/rx"]
path = external/rx
url = git://github.com/mono/rx.git
[submodule "external/ikvm"]
path = external/ikvm
url = git://github.com/mono/ikvm-fork.git
[submodule "external/Lucene.Net"]
path = external/Lucene.Net
url = git://github.com/mono/lucene.net.git
24 changes: 17 additions & 7 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
Mono is made up of many pieces of code, all of them open source, but
different pieces of Mono use different licensing terms.

For comments, corrections and updates, please contact mono@novell.com
For comments, corrections and updates, please contact mono@xamarin.com

* Dual Licensing

Parts of Mono are dual licensed, they are available to the
public in GPL or LGPL forms, but we also offer those pieces
under commercial terms from Novell for when the GPL and the
LGPL are not suitable.
under commercial terms from Xamarin for the cases wher the GPL
and the LGPL are not suitable.

We have tried to pick the licenses that will maximize adoption
of Mono, so we tend to use the MIT X11 or LGPL liceses.
Expand All @@ -22,7 +22,10 @@ For comments, corrections and updates, please contact mono@novell.com
Contributions for other modules should be under the same license
terms as the rest of the module, or under MIT X11 terms.

If you need further information, please contact mono@novell.com
For the actual license links in the Mono distribution see the
bottom of this file.

If you need further information, please contact mono@xamarin.com

* The Modules

Expand All @@ -31,23 +34,30 @@ For comments, corrections and updates, please contact mono@novell.com
This code is dual licensed under the LGPL or commercial licenses.

The LGPL ensures that Mono can be used in most scenarios, but
gives Novell the flexibility to relicense the code for
gives Xamarin the flexibility to relicense the code for
embedded systems, static linking or commercial settings where
the LGPL can not be used.

We consider non-LGPL use instances where you use this on an
embedded system where the end user is not able to upgrade the
Mono VM or Moonlight installation or distribution that is part
of your product (Section 6 and 7), you would have to obtain a
commercial license from Novell (consider software burned into
commercial license from Xamarin (consider software burned into
a ROM, systems where end users would not be able to upgrade,
an embedded console, a game console that imposes limitations
on the distribution and access to the code, a phone platform
that prevents end users from upgrading Moonlight).

Contact mono@novell.com for details on obtaining the Mono
Contact mono@xamarin.com for details on obtaining the Mono
runtime under other terms.

** mono/support: MonoPosixHelper and support code

This code is dual licensed under the LGPL or commercial licenses, with
the same guidelines as mono/mono code.

The ZLib files are included under a "new BSD"-style license.

** mono/eglib: Mono's X11 glib implementation

This is a minimal subset of glib that is to be licensed under
Expand Down
53 changes: 46 additions & 7 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
ACLOCAL_AMFLAGS = -I m4

MOONLIGHT_SUBDIRS = $(libgc_dir) eglib/src mono
MONOTOUCH_SUBDIRS = $(libgc_dir) eglib/src mono

if CROSS_COMPILING
SUBDIRS = po $(libgc_dir) eglib mono $(ikvm_native_dir) data runtime scripts man samples msvc $(docs_dir)
# Keep in sync with SUBDIRS
## 'tools' is not normally built
DIST_SUBDIRS = m4 po libgc eglib mono ikvm-native data runtime scripts man samples tools msvc docs
else
if ONLY_MONOTOUCH
SUBDIRS = $(MONOTOUCH_SUBDIRS) runtime
else
if ONLY_MOONLIGHT
SUBDIRS = $(MOONLIGHT_SUBDIRS) runtime
else
Expand All @@ -17,14 +21,25 @@ SUBDIRS = po $(libgc_dir) eglib mono $(ikvm_native_dir) support data runtime scr
DIST_SUBDIRS = m4 po libgc eglib mono ikvm-native support data runtime scripts man samples tools msvc docs
endif
endif
endif

all: update_submodules

SUBMODULE_ERROR='Could not recursively update all git submodules. You may experience compilation problems if some submodules are out of date'
update_submodules:
@$(srcdir)/scripts/update_submodules

.PHONY: update_submodules

EXTRA_DIST= \
LICENSE \
autogen.sh \
build-mingw32.sh \
mkinstalldirs \
mono-uninstalled.pc.in \
winconfig.h
winconfig.h \
mono-core.spec \
external

DISTCHECK_CONFIGURE_FLAGS = EXTERNAL_MCS=false EXTERNAL_RUNTIME=false

Expand All @@ -33,7 +48,9 @@ GIT_DIR ?= $(srcdir)/.git
dist-hook:
test -d $(distdir)/mcs || mkdir $(distdir)/mcs
d=`cd $(distdir)/mcs && pwd`; cd $(mcs_topdir) && $(MAKE) distdir=$$d dist-recursive
test ! -d $(GIT_DIR) || ./scripts/commits-to-changelog.py --root=$(distdir) last-commit-with-compulsory-changelog-entry
rm -rf `find $(top_distdir)/external -path '*\.git' -and -type d`
# Disable this for now because it is very slow and causes wrench to timeout:
# test ! -d $(GIT_DIR) || ./scripts/commits-to-changelog.py --root=$(distdir) last-commit-with-compulsory-changelog-entry

pkgconfigdir = $(libdir)/pkgconfig
noinst_DATA = mono-uninstalled.pc
Expand All @@ -43,7 +60,7 @@ DISTCLEANFILES= mono-uninstalled.pc
mcslib = $(mcs_topdir)/class/lib
monolite = $(mcslib)/monolite
mono_corlib_version = $(shell sed -n "s/\#define MONO_CORLIB_VERSION //p" $(srcdir)/mono/metadata/appdomain.c)
monolite_url = http://mono.ximian.com/daily/monolite-$(mono_corlib_version)-latest.tar.gz
monolite_url = http://storage.bos.xamarin.com/mono-dist-master/latest/monolite-$(mono_corlib_version)-latest.tar.gz
.PHONY: get-monolite-latest
get-monolite-latest:
-rm -fr $(mcslib)/monolite-*
Expand Down Expand Up @@ -100,6 +117,31 @@ moon-do-clean:

endif

if INSTALL_MONOTOUCH
monotouch-do-build: config.h
@list='$(MONOTOUCH_SUBDIRS)'; for subdir in $$list; do \
case "x$$subdir" in \
xmono ) target="monotouch-do-build";; \
* ) target="all";; \
esac; \
echo "Making $$target in $$subdir"; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$target); \
done;
(cd runtime && $(MAKE) $(AM_MAKEFLAGS) monotouch-do-build)

monotouch-do-clean:
@list='$(MONOTOUCH_SUBDIRS)'; for subdir in $$list; do \
case "x$$subdir" in \
xmono ) target="monotouch-do-clean";; \
* ) target="clean";; \
esac; \
echo "Making $$target in $$subdir"; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$target); \
done;
(cd runtime && $(MAKE) $(AM_MAKEFLAGS) monotouch-do-clean)

endif

win32getdeps:
wget http://www.go-mono.com/archive/pkgconfig-0.11-20020310.zip
wget http://www.go-mono.com/archive/glib-2.0.4-20020703.zip
Expand All @@ -117,10 +159,6 @@ win32getdeps:
win32setup:
makensis /DMILESTONE=$(VERSION) /DSOURCE_INSTALL_DIR=$(SOURCE_INSTALL_DIR) /DBUILDNUM=$(BUILDNUM) monowiz.win32.nsi

patch-quiet:
find mono -name Makefile -exec scripts/patch-quiet.sh {} \;
find libgc -name Makefile -exec scripts/patch-quiet.sh {} \;

update-csproj:
-rm msvc/scripts/order
-mkdir msvc/scripts/inputs
Expand All @@ -139,6 +177,7 @@ package-inputs:
read output; echo " <output>$$output</output>"; \
read built; echo " <built_sources>$$built</built_sources>"; \
read libou; echo " <library_output>$$libou</library_output>"; \
read fx_ver; echo " <fx_version>$$fx_ver</fx_version>"; \
read resp; echo " <response>$$resp</response>"; \
echo " </project>") >> msvc/scripts/order.xml; \
done
Expand Down
5 changes: 5 additions & 0 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ This is Mono.
1. Installation
2. Using Mono
3. Directory Roadmap
4. git submodules maintenance

1. Compilation and Installation
===============================
Expand Down Expand Up @@ -586,3 +587,7 @@ This is Mono.
same prefix than this module gets.


4. Git submodules maintenance
=============================

Read documentation at http://mono-project.com/Git_Submodule_Maintenance
1 change: 1 addition & 0 deletions acinclude.m4
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@ modeok=false
tagok=false
for arg in "$[]@"; do
case "$arg" in
--silent) ;;
--mode=compile) modeok=true ;;
--tag=CC|--tag=CXX) tagok=true ;;
--quiet) ;;
Expand Down
27 changes: 24 additions & 3 deletions autogen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,29 @@ if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then
fi
fi


#
# Plug in the extension module
#
has_ext_mod=false
for PARAM; do
if test "$PARAM" = "--enable-extension-module" ; then
has_ext_mod=true
fi
done

if test x$has_ext_mod = xtrue; then
pushd ../mono-extensions/scripts
sh ./prepare-repo.sh || exit 1
popd
else
cat mono/mini/Makefile.am.in > mono/mini/Makefile.am
cat mono/metadata/Makefile.am.in > mono/metadata/Makefile.am
fi


echo "Running aclocal -I m4 -I . $ACLOCAL_FLAGS ..."
aclocal -I m4 -I . $ACLOCAL_FLAGS || {
aclocal -Wnone -I m4 -I . $ACLOCAL_FLAGS || {
echo
echo "**Error**: aclocal failed. This may mean that you have not"
echo "installed all of the packages you need, or you may need to"
Expand All @@ -113,13 +134,13 @@ aclocal -I m4 -I . $ACLOCAL_FLAGS || {
exit 1
}

if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then
if grep "^AC_CONFIG_HEADERS" configure.in >/dev/null; then
echo "Running autoheader..."
autoheader || { echo "**Error**: autoheader failed."; exit 1; }
fi

echo "Running automake --gnu $am_opt ..."
automake --add-missing --gnu -Wno-portability $am_opt ||
automake --add-missing --gnu -Wno-portability -Wno-obsolete $am_opt ||
{ echo "**Error**: automake failed."; exit 1; }
echo "Running autoconf ..."
autoconf || { echo "**Error**: autoconf failed."; exit 1; }
Expand Down
6 changes: 3 additions & 3 deletions build-mingw32.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ MINGW=i386-mingw32msvc
CROSS_DIR=/opt/cross/$MINGW
EXTRA_CROSS_DIR=
INSTALL_DESTDIR="$CURDIR/mono-win32"
PROFILES="default net_2_0 net_3_5 net_4_0 moonlight"
PROFILES="default net_2_0 net_3_5 net_4_0 net_4_5 moonlight"
TEMPORARY_PKG_CONFIG_DIR=/tmp/$RANDOM-pkg-config-$RANDOM
ORIGINAL_PATH="$PATH"

Expand Down Expand Up @@ -57,11 +57,11 @@ function setup ()
CROSS_DLL_DIR="$CROSS_DIR/bin"
PATH=$CROSS_BIN_DIR:$PATH

MONO_VERSION=`grep AM_INIT_AUTOMAKE configure.in | cut -d ',' -f 2|tr -d '\)'`
MONO_VERSION=`grep AC_INIT configure.in | cut -d ',' -f 2|tr -d '\[ \]'`

if [ -d ./.git ]; then
MONO_GIT_COMMIT="`git log -1 --format=format:%t`"
MONO_GIT_BRANCH="`git branch|grep '\*'|cut -d ' ' -f 2`"
MONO_GIT_BRANCH="`git branch|grep '\*'|cut -d ' ' -f 2|tr -d '\)'|tr -d '\('`"
MONO_RELEASE="$MONO_VERSION-$MONO_GIT_BRANCH-$MONO_GIT_COMMIT"
else
MONO_RELEASE="$MONO_VERSION"
Expand Down
Loading

0 comments on commit 095b7d0

Please sign in to comment.