From c3f36b0e4738f44375359789d450a28e7664d529 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Fri, 16 Mar 2012 13:39:01 +0200 Subject: Add separate switch for disabling of dynamic loading (iOS) for orthogonality --- config_host.mk.in | 1 + configure.in | 24 ++++++++++++++++++++++++ solenv/gbuild/gbuild.mk | 4 ++++ solenv/inc/settings.mk | 4 ++++ 4 files changed, 33 insertions(+) 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) -- cgit