diff --git a/darwin-tools.jam b/darwin-tools.jam index bc51434f1..7a3898eb6 100644 --- a/darwin-tools.jam +++ b/darwin-tools.jam @@ -14,6 +14,9 @@ free-feature framework ; # Specify the loader for bundles. free-feature bundle-loader ; +# Controll generation of compiler warnings. +feature warnings : on off ; + # compute directories for invoking GCC # # The gcc toolset can be user-configured using the following @@ -90,8 +93,14 @@ flags darwin ARFLAGS ; if ! $(ARFLAGS) { flags darwin ARFLAGS : "" ; } if ! $(DLLVERSION) { flags darwin DLLVERSION : $(BOOST_VERSION) ; } -flags darwin CFLAGS : -Wno-long-double -no-cpp-precomp ; -flags darwin C++FLAGS : -fcoalesce-templates ; +if ! [ MATCH "(gcc)" : $(.GCC) ] +{ + flags darwin CFLAGS : -Wno-long-double -no-cpp-precomp ; +} +if ! [ MATCH "(g[+][+])" : $(.GXX) ] +{ + flags darwin C++FLAGS : -fcoalesce-templates ; +} flags darwin LINKFLAGS static : -static-libgcc ; flags darwin CFLAGS on : -g ; flags darwin LINKFLAGS on : -g ; @@ -108,6 +117,8 @@ flags darwin C++FLAGS off : -fno-rtti ; flags darwin C++FLAGS on : -fvtable-thunks ; flags darwin C++FLAGS off : -fvtable-thunks=0 ; flags darwin CFLAGS true : -fPIC ; +flags darwin CFLAGS on : -Wall ; +flags darwin CFLAGS off : -w ; if $(BUNDLE_LOADER) { @@ -129,8 +140,9 @@ rule Link-action DEPENDS $(<) : $(NEEDLIBS) $(NEEDIMPS) ; if $(DLLVERSION) && $(TARGET_TYPE) in $(SHARED_TYPES) && ! $(BUNDLE_LOADER) { - DLLFLAGS on $(<) = - "-Wl,-dylib_compatibility_version,$(DLLVERSION) -W,l-dylib_current_version,$(DLLVERSION)" ; + DLLFLAGS on $(<) = ; + #~ DLLFLAGS on $(<) = + #~ "-Wl,-dylib_compatibility_version,$(DLLVERSION) -W,l-dylib_current_version,$(DLLVERSION)" ; darwin-Link-DyLib-action $(<) : $(>) ; } else @@ -172,7 +184,7 @@ rule Cc-action actions darwin-Cc-action { - $(.GCC_BIN_DIR)$(.GCC) -c -Wall -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" + $(.GCC_BIN_DIR)$(.GCC) -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" } #### C++ #### @@ -184,7 +196,7 @@ rule C++-action actions darwin-C++-action { - $(.GCC_BIN_DIR)$(.GXX) -c -Wall -ftemplate-depth-100 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" + $(.GCC_BIN_DIR)$(.GXX) -c -ftemplate-depth-120 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" } #### Archive #### diff --git a/python.jam b/python.jam index d0948ad3e..b2d0caceb 100644 --- a/python.jam +++ b/python.jam @@ -59,6 +59,10 @@ if $(PYTHON_WINDOWS) CYGWIN_PYTHON_DEBUG_DLL_PATH ?= $(CYGWIN_PYTHON_DEBUG_ROOT)/bin ; CYGWIN_PYTHON_DEBUG_LIB_PATH ?= $(CYGWIN_PYTHON_DEBUG_ROOT)/lib/python$(CYGWIN_PYTHON_DEBUG_VERSION)/config ; } +else if $(UNIX) && $(OS) = MACOSX +{ + PYTHON_EMBEDDED_LIBRARY = dl util ; +} else { PYTHON_EMBEDDED_LIBRARY = python$(PYTHON_VERSION) dl util ; @@ -81,11 +85,10 @@ else if $(UNIX) && $(OS) = MACOSX PYTHON_ROOT ?= /Library/Frameworks/Python.framework/Versions/$(PYTHON_VERSION) ; PYTHON_ROOT = $(PYTHON_ROOT:J=" ") ; PYTHON_INCLUDES ?= $(PYTHON_ROOT)/include/python$(PYTHON_VERSION) ; - PYTHON_LIB_PATH ?= $(PYTHON_ROOT)/lib/python$(PYTHON_VERSION)/config ; PYTHON_PROPERTIES ?= $(PYTHON_INCLUDES) - $(PYTHON_LIB_PATH) + off ; } else if $(UNIX) diff --git a/v1/darwin-tools.jam b/v1/darwin-tools.jam index bc51434f1..7a3898eb6 100644 --- a/v1/darwin-tools.jam +++ b/v1/darwin-tools.jam @@ -14,6 +14,9 @@ free-feature framework ; # Specify the loader for bundles. free-feature bundle-loader ; +# Controll generation of compiler warnings. +feature warnings : on off ; + # compute directories for invoking GCC # # The gcc toolset can be user-configured using the following @@ -90,8 +93,14 @@ flags darwin ARFLAGS ; if ! $(ARFLAGS) { flags darwin ARFLAGS : "" ; } if ! $(DLLVERSION) { flags darwin DLLVERSION : $(BOOST_VERSION) ; } -flags darwin CFLAGS : -Wno-long-double -no-cpp-precomp ; -flags darwin C++FLAGS : -fcoalesce-templates ; +if ! [ MATCH "(gcc)" : $(.GCC) ] +{ + flags darwin CFLAGS : -Wno-long-double -no-cpp-precomp ; +} +if ! [ MATCH "(g[+][+])" : $(.GXX) ] +{ + flags darwin C++FLAGS : -fcoalesce-templates ; +} flags darwin LINKFLAGS static : -static-libgcc ; flags darwin CFLAGS on : -g ; flags darwin LINKFLAGS on : -g ; @@ -108,6 +117,8 @@ flags darwin C++FLAGS off : -fno-rtti ; flags darwin C++FLAGS on : -fvtable-thunks ; flags darwin C++FLAGS off : -fvtable-thunks=0 ; flags darwin CFLAGS true : -fPIC ; +flags darwin CFLAGS on : -Wall ; +flags darwin CFLAGS off : -w ; if $(BUNDLE_LOADER) { @@ -129,8 +140,9 @@ rule Link-action DEPENDS $(<) : $(NEEDLIBS) $(NEEDIMPS) ; if $(DLLVERSION) && $(TARGET_TYPE) in $(SHARED_TYPES) && ! $(BUNDLE_LOADER) { - DLLFLAGS on $(<) = - "-Wl,-dylib_compatibility_version,$(DLLVERSION) -W,l-dylib_current_version,$(DLLVERSION)" ; + DLLFLAGS on $(<) = ; + #~ DLLFLAGS on $(<) = + #~ "-Wl,-dylib_compatibility_version,$(DLLVERSION) -W,l-dylib_current_version,$(DLLVERSION)" ; darwin-Link-DyLib-action $(<) : $(>) ; } else @@ -172,7 +184,7 @@ rule Cc-action actions darwin-Cc-action { - $(.GCC_BIN_DIR)$(.GCC) -c -Wall -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" + $(.GCC_BIN_DIR)$(.GCC) -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" } #### C++ #### @@ -184,7 +196,7 @@ rule C++-action actions darwin-C++-action { - $(.GCC_BIN_DIR)$(.GXX) -c -Wall -ftemplate-depth-100 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" + $(.GCC_BIN_DIR)$(.GXX) -c -ftemplate-depth-120 -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -o "$(<)" "$(>)" } #### Archive #### diff --git a/v1/python.jam b/v1/python.jam index d0948ad3e..b2d0caceb 100644 --- a/v1/python.jam +++ b/v1/python.jam @@ -59,6 +59,10 @@ if $(PYTHON_WINDOWS) CYGWIN_PYTHON_DEBUG_DLL_PATH ?= $(CYGWIN_PYTHON_DEBUG_ROOT)/bin ; CYGWIN_PYTHON_DEBUG_LIB_PATH ?= $(CYGWIN_PYTHON_DEBUG_ROOT)/lib/python$(CYGWIN_PYTHON_DEBUG_VERSION)/config ; } +else if $(UNIX) && $(OS) = MACOSX +{ + PYTHON_EMBEDDED_LIBRARY = dl util ; +} else { PYTHON_EMBEDDED_LIBRARY = python$(PYTHON_VERSION) dl util ; @@ -81,11 +85,10 @@ else if $(UNIX) && $(OS) = MACOSX PYTHON_ROOT ?= /Library/Frameworks/Python.framework/Versions/$(PYTHON_VERSION) ; PYTHON_ROOT = $(PYTHON_ROOT:J=" ") ; PYTHON_INCLUDES ?= $(PYTHON_ROOT)/include/python$(PYTHON_VERSION) ; - PYTHON_LIB_PATH ?= $(PYTHON_ROOT)/lib/python$(PYTHON_VERSION)/config ; PYTHON_PROPERTIES ?= $(PYTHON_INCLUDES) - $(PYTHON_LIB_PATH) + off ; } else if $(UNIX)