Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRodrigo Kumpera <kumpera@gmail.com>2012-12-11 02:15:16 +0400
committerRodrigo Kumpera <kumpera@gmail.com>2012-12-11 03:09:25 +0400
commitc99f71cd84ecaf1679d6293da19e04768cbed1f3 (patch)
treeaaa9980c3d3e82919eaa07ba082728d42a77a10d
parentb0e9fb6f6f4791e9c7684c2e9af17f9929ff6564 (diff)
Introduce hooks for parallel build scripts.
* configure.in: Add new configure option that allows a parallel set of build scripts to contribute to the current one. * mono/mini/Makefile.am: Include the parallel build scripts when generating Makefiles. * mcs/build/gensources.sh: * mcs/build/library.make: Probe for parallel source lists when building the class libs.
-rw-r--r--configure.in13
-rw-r--r--mcs/build/gensources.sh5
-rw-r--r--mcs/build/library.make6
-rw-r--r--mono/mini/Makefile.am4
4 files changed, 27 insertions, 1 deletions
diff --git a/configure.in b/configure.in
index 1af6871b2f0..b00c777c34b 100644
--- a/configure.in
+++ b/configure.in
@@ -903,6 +903,15 @@ fi
AC_ARG_ENABLE(executables, [ --disable-executables disable the build of the runtime executables], enable_executables=$enableval, enable_executables=yes)
AM_CONDITIONAL(DISABLE_EXECUTABLES, test x$enable_executables = xno)
+AC_ARG_ENABLE(extension-module, [ --enable-extension-module enables usage of the extension module], has_extension_module=$enableval, has_extension_module=no)
+AM_CONDITIONAL([HAS_EXTENSION_MODULE], [test x$has_extension_module != xno])
+
+if test x$has_extension_module != xno ; then
+ AC_DEFINE([ENABLE_EXTENSION_MODULE], 1, [Extension module enabled])
+ AC_MSG_NOTICE([Enabling mono extension module.])
+fi
+
+
AC_MSG_CHECKING(for visibility __attribute__)
AC_COMPILE_IFELSE([
AC_LANG_SOURCE([[
@@ -3368,6 +3377,10 @@ fi
echo "MOONLIGHT = 1" >> $srcdir/$mcsdir/build/config.make
fi
+ if test x$has_extension_module != xno; then
+ echo "EXTENSION_MODULE = 1" >> $srcdir/$mcsdir/build/config.make
+ fi
+
default_profile=net_2_0
if test -z "$INSTALL_4_0_TRUE"; then :
default_profile=net_4_0
diff --git a/mcs/build/gensources.sh b/mcs/build/gensources.sh
index 61639e54a29..816b8296f6c 100644
--- a/mcs/build/gensources.sh
+++ b/mcs/build/gensources.sh
@@ -3,6 +3,7 @@
outfile=$1
incfile=$2
excfile=$3
+extfile=$4
process_includes_1() {
sed -e '/^[ \t]*$/d' -e '/^[ \t]*#/d' $1 > $2
@@ -31,6 +32,10 @@ rm -f $outfile.makefrag
process_includes $incfile $outfile.inc
+if test x$extfile != x -a -f $extfile; then
+ cat $extfile >> $outfile.inc
+fi
+
sort -u $outfile.inc > $outfile.inc_s
rm -f $outfile.inc
diff --git a/mcs/build/library.make b/mcs/build/library.make
index 768149e9d10..95ecee0ce64 100644
--- a/mcs/build/library.make
+++ b/mcs/build/library.make
@@ -17,11 +17,15 @@ PROFILE_excludes = $(wildcard $(PROFILE)_$(LIBRARY).exclude.sources)
sourcefile = $(depsdir)/$(PROFILE)_$(LIBRARY).sources
library_CLEAN_FILES += $(sourcefile)
+ifdef EXTENSION_MODULE
+EXTENSION_include=$(topdir)/../../mono-extensions/mcs/$(thisdir)/$(PROFILE)_$(LIBRARY).sources
+endif
+
# Note, gensources.sh can create a $(sourcefile).makefrag if it sees any '#include's
# We don't include it in the dependencies since it isn't always created
$(sourcefile): $(PROFILE_sources) $(PROFILE_excludes) $(topdir)/build/gensources.sh
@echo Creating the per profile list $@ ...
- $(SHELL) $(topdir)/build/gensources.sh $@ $(PROFILE_sources) $(PROFILE_excludes)
+ $(SHELL) $(topdir)/build/gensources.sh $@ '$(PROFILE_sources)' '$(PROFILE_excludes)' '$(EXTENSION_include)'
endif
PLATFORM_excludes := $(wildcard $(LIBRARY).$(PLATFORM)-excludes)
diff --git a/mono/mini/Makefile.am b/mono/mini/Makefile.am
index f4e6a71804e..e4f5ec9c588 100644
--- a/mono/mini/Makefile.am
+++ b/mono/mini/Makefile.am
@@ -772,3 +772,7 @@ patch-automake:
tags:
etags -o TAGS `find .. -name "*.h" -o -name "*.c"`
+
+if HAS_EXTENSION_MODULE
+include $(top_srcdir)/../mono-extensions/mono/mini/Makefile.am
+endif