mirror of
https://github.com/boostorg/build.git
synced 2026-02-15 13:02:11 +00:00
Minor changes to attempt getting Python build working on MacOS-X with Python 2.3 framework.
- darwin-tools.jam; added warnings feature to control warning output. - darwin-tools.jam; disable some Apple speicfic options when using g++ directly. - darwin-tools.jam; disable dylib versioning, for now. - python.jam; remove shared link to pyton2.3 lib for embebed targets. - python.jam; remove uneeded path to python libraries, implicitly there because of framework use. - python.jam; disable warnings, for now. [SVN r18529]
This commit is contained in:
@@ -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 <runtime-link>static : -static-libgcc ;
|
||||
flags darwin CFLAGS <debug-symbols>on : -g ;
|
||||
flags darwin LINKFLAGS <debug-symbols>on : -g ;
|
||||
@@ -108,6 +117,8 @@ flags darwin C++FLAGS <rtti>off : -fno-rtti ;
|
||||
flags darwin C++FLAGS <vtable-thunks>on : -fvtable-thunks ;
|
||||
flags darwin C++FLAGS <vtable-thunks>off : -fvtable-thunks=0 ;
|
||||
flags darwin CFLAGS <shared-linkable>true : -fPIC ;
|
||||
flags darwin CFLAGS <warnings>on : -Wall ;
|
||||
flags darwin CFLAGS <warnings>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 ####
|
||||
|
||||
@@ -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 ?=
|
||||
<sysinclude>$(PYTHON_INCLUDES)
|
||||
<library-path>$(PYTHON_LIB_PATH)
|
||||
<warnings>off
|
||||
;
|
||||
}
|
||||
else if $(UNIX)
|
||||
|
||||
@@ -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 <runtime-link>static : -static-libgcc ;
|
||||
flags darwin CFLAGS <debug-symbols>on : -g ;
|
||||
flags darwin LINKFLAGS <debug-symbols>on : -g ;
|
||||
@@ -108,6 +117,8 @@ flags darwin C++FLAGS <rtti>off : -fno-rtti ;
|
||||
flags darwin C++FLAGS <vtable-thunks>on : -fvtable-thunks ;
|
||||
flags darwin C++FLAGS <vtable-thunks>off : -fvtable-thunks=0 ;
|
||||
flags darwin CFLAGS <shared-linkable>true : -fPIC ;
|
||||
flags darwin CFLAGS <warnings>on : -Wall ;
|
||||
flags darwin CFLAGS <warnings>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 ####
|
||||
|
||||
@@ -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 ?=
|
||||
<sysinclude>$(PYTHON_INCLUDES)
|
||||
<library-path>$(PYTHON_LIB_PATH)
|
||||
<warnings>off
|
||||
;
|
||||
}
|
||||
else if $(UNIX)
|
||||
|
||||
Reference in New Issue
Block a user