summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2012-03-16 13:39:01 +0200
committerTor Lillqvist <tml@iki.fi>2012-03-21 00:00:04 +0200
commitc3f36b0e4738f44375359789d450a28e7664d529 (patch)
treeef0bae68c9ff6b9d9878cf71edfdf4eb870b4ccb
parent4066e061b4cc917abf086a04e14fe285c09ab1e2 (diff)
Add separate switch for disabling of dynamic loading (iOS) for orthogonality
-rw-r--r--config_host.mk.in1
-rw-r--r--configure.in24
-rw-r--r--solenv/gbuild/gbuild.mk4
-rw-r--r--solenv/inc/settings.mk4
4 files changed, 33 insertions, 0 deletions
diff --git a/config_host.mk.in b/config_host.mk.in
index 828fd8224725..a018a1bd2fd9 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -80,6 +80,7 @@ export DIRECTXSDK_LIB=@DIRECTXSDK_LIB@
export DISABLE_ACTIVEX=@DISABLE_ACTIVEX@
export DISABLE_ATL=@DISABLE_ATL@
export DISABLE_DBCONNECTIVITY=@DISABLE_DBCONNECTIVITY@
+export DISABLE_DYNLOADING=@DISABLE_DYNLOADING@
export DISABLE_EXTENSIONS=@DISABLE_EXTENSIONS@
export DISABLE_SCRIPTING=@DISABLE_SCRIPTING@
export DISABLE_LINKOO=@DISABLE_LINKOO@
diff --git a/configure.in b/configure.in
index 70d7b7f722f8..0c5093e8f007 100644
--- a/configure.in
+++ b/configure.in
@@ -408,6 +408,13 @@ AC_ARG_ENABLE(scripting,
[Disable BASIC, Java and Python. Work in progress, use only if you are hacking on it.])
)
+# This is mainly for iOS, but could potentially be used in some
+# special case otherwise, too, so factored out as a separate setting
+AC_ARG_ENABLE(dynamic-loading,
+ AS_HELP_STRING([--disable-dynamic-loading],
+ [Disable any use of dynamic loading of code. Work in progress, use only if you are hacking on it.])
+)
+
AC_ARG_ENABLE(ext-diagram,
AS_HELP_STRING([--enable-ext-diagram],
[Enable the SmART Gallery (Diagram) extension.])
@@ -2093,6 +2100,23 @@ else
fi
AC_SUBST(DISABLE_SCRIPTING)
+if test $_os = iOS; then
+ # Disable dynamic_loading always for iOS
+ enable_dynamic_loading=no
+elif test -z "$enable_dynamic_loading"; then
+ # Otherwise enable it unless speficically disabled
+ enable_dynamic_loading=yes
+fi
+
+DISABLE_DYNLOADING=''
+if test "$enable_dynamic_loading" = yes; then
+ BUILD_TYPE="$BUILD_TYPE DYNLOADING"
+else
+ DISABLE_DYNLOADING='TRUE'
+ SCPDEFS="$SCPDEFS -DDISABLE_DYNLOADING"
+fi
+AC_SUBST(DISABLE_DYNLOADING)
+
dnl ===================================================================
dnl Extra check for Windows. Cygwin builds need gcc to build dmake
dnl although MSVC is used to build other build-time tools and
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 2aafa6b09d4b..119f6e5bc33a 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -244,6 +244,10 @@ ifeq ($(strip $(DISABLE_SCRIPTING)),TRUE)
gb_GLOBALDEFS += -DDISABLE_SCRIPTING
endif
+ifeq ($(strip $(DISABLE_DYNLOADING)),TRUE)
+gb_GLOBALDEFS += -DDISABLE_DYNLOADING
+endif
+
ifeq ($(HAVE_THREADSAFE_STATICS),TRUE)
gb_GLOBALDEFS += -DHAVE_THREADSAFE_STATICS
endif
diff --git a/solenv/inc/settings.mk b/solenv/inc/settings.mk
index ac635f839457..31b0174d9b3d 100644
--- a/solenv/inc/settings.mk
+++ b/solenv/inc/settings.mk
@@ -1125,6 +1125,10 @@ CDEFS+=-DGSTREAMER
CDEFS += -DHAVE_THREADSAFE_STATICS
.END
+.IF "$(DISABLE_DYNLOADING)" == "TRUE"
+CDEFS += -DDISABLE_DYNLOADING
+.ENDIF
+
# compose flags and defines for GUI
.IF "$(TARGETTYPE)"=="GUI"
CFLAGSSLO+=$(CFLAGSSLOGUIMT)