diff --git a/.appveyor.yml b/.appveyor.yml
index 4993cdc8..05d2480d 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -4,7 +4,7 @@ environment:
# /E:ON and /V:ON options are not enabled in the batch script intepreter
# See: http://stackoverflow.com/a/13751649/163740
CMD_IN_ENV: "cmd /E:ON /V:ON /C .\\ci\\run_with_env.cmd"
- BOOST_PREFIX: C:\Libraries\boost_1_63_0
+ BOOST_PREFIX: C:\Libraries\boost_1_66_0
matrix:
@@ -18,21 +18,19 @@ environment:
MSVC: "14.0"
ARCH: x86
- #- PYTHON: "C:\\Python27-x64"
- # PYTHON_VERSION: "2.7.x" # currently 2.7.9
- # PYTHON_ARCH: "64"
- # ARCH: "x86_64"
-
- #- PYTHON: "C:\\Python35"
- # PYTHON_VERSION: "3.5.x" # currently 3.4.3
- # PYTHON_ARCH: "32"
-
- PYTHON: "C:\\Python36-x64"
PYTHON_VERSION: "3.6.x"
PYTHON_ARCH: "64"
MSVC: "12.0"
ARCH: x86_64
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
+ PYTHON: "C:\\Python36-x64"
+ PYTHON_VERSION: "3.6.x"
+ PYTHON_ARCH: "64"
+ MSVC: "14.13.26128"
+ ARCH: x86_64
+
install:
# If there is a newer build queued for the same PR, cancel this one.
# The AppVeyor 'rollout builds' option is supposed to serve the same
@@ -47,8 +45,9 @@ install:
- ps: "ls \"C:/\""
- ECHO "Installed libraries:"
- ps: "ls \"C:/Libraries/\""
- - ECHO "Installed SDKs:"
- - ps: "ls \"C:/Program Files/Microsoft SDKs/Windows\""
+ ## This path doesn't exist with the VS 2017 worker images
+ #- ECHO "Installed SDKs:"
+ #- ps: "ls \"C:/Program Files/Microsoft SDKs/Windows\""
# Install Python (from the official .msi of http://python.org) and pip when
# not already installed.
@@ -72,13 +71,13 @@ install:
# pip will build them from source using the MSVC compiler matching the
# target Python version and architecture
- |
- curl -LfsS -o faber.tar.gz https://github.com/stefanseefeld/faber/archive/snapshot/2018-03-07.tar.gz
+ curl -LfsS -o faber.tar.gz https://github.com/stefanseefeld/faber/archive/snapshot/2018-04-08.tar.gz
tar xf faber.tar.gz
- CD faber-snapshot-2018-03-07
+ CD faber-snapshot-2018-04-08
python setup.py install
CD ..
# report the available MSVC compilers
- - python -m faber.tools.msvc
+ - faber --info=tools cxx
- easy_install sphinx
- pip install numpy
diff --git a/.travis.yml b/.travis.yml
index af460c39..5d37070b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -17,20 +17,23 @@ env:
matrix:
include:
- - compiler: gcc
+ - os: linux
env: CXX=g++ PYTHON=python CXXFLAGS=-std=c++98
- - compiler: gcc
+ - os: linux
env: CXX=g++ PYTHON=python CXXFLAGS=-std=c++11
- - compiler: gcc
+ - os: linux
env: CXX=g++ PYTHON=python3 CXXFLAGS=-std=c++98
- - compiler: gcc
+ - os: linux
env: CXX=g++ PYTHON=python3 CXXFLAGS=-std=c++11
- - compiler: clang
+ - os: linux
env: CXX=clang++ PYTHON=python3 CXXFLAGS=-std=c++98
- - compiler: clang
+ - os: linux
env: CXX=clang++ PYTHON=python3 CXXFLAGS=-std=c++11
+ - os: osx
+ env: CXX=clang++ PYTHON=python CXXFLAGS=-std=c++11
- env: PYTHON=python DOC=1
-
+ allow_failures:
+ - os: osx
addons:
apt:
@@ -64,7 +67,6 @@ install:
# Install our own version of Boost (the subset we need) as the system version is
# too old (for C++11 support).
- |
- set -e
if [ ! -d $HOME/Boost/tools/boostbook ]; then
echo "rebuilding Boost prerequisites."
wget https://sourceforge.net/projects/boost/files/boost/1.66.0/boost_1_66_0.tar.gz/download
@@ -81,7 +83,7 @@ install:
echo "using cached Boost prerequisites."
fi
# Install Faber, the build tool.
- date=2018-03-07
+ date=2018-04-08
wget https://github.com/stefanseefeld/faber/archive/snapshot/$date.tar.gz
tar xf $date.tar.gz
pushd faber-snapshot-$date
diff --git a/README.md b/README.md
index c692bb8a..e6f5d0d5 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,8 @@ See the [Boost.Python](http://boostorg.github.io/python) documentation for detai
**Hint :** Check out the [development version](http://boostorg.github.io/python/develop) of the documentation to see work in progress.
-# Building 
+# Building [](https://travis-ci.org/boostorg/python) [](https://ci.appveyor.com/project/stefanseefeld/python/branch/develop)
+
While Boost.Python is part of the Boost C++ Libraries super-project, and thus can be compiled as part of Boost, it can also be compiled and installed stand-alone, i.e. against a pre-installed Boost package.
diff --git a/build/Jamfile b/build/Jamfile
index 98c386c7..220a9aa4 100644
--- a/build/Jamfile
+++ b/build/Jamfile
@@ -30,6 +30,8 @@ else
;
}
+if [ python.configured ]
+{
project boost/python
: source-location ../src
;
@@ -130,3 +132,4 @@ lib boost_numpy
static:BOOST_NUMPY_STATIC_LIB
on:BOOST_DEBUG_PYTHON
;
+}
\ No newline at end of file
diff --git a/include/boost/python/detail/config.hpp b/include/boost/python/detail/config.hpp
index acf58831..8dce9b74 100644
--- a/include/boost/python/detail/config.hpp
+++ b/include/boost/python/detail/config.hpp
@@ -105,7 +105,9 @@
// Set the name of our library, this will get undef'ed by auto_link.hpp
// once it's done with it:
//
-#define BOOST_LIB_NAME boost_python##PY_MAJOR_VERSION##PY_MINOR_VERSION
+#define _BOOST_PYTHON_CONCAT(N, M, m) N ## M ## m
+#define BOOST_PYTHON_CONCAT(N, M, m) _BOOST_PYTHON_CONCAT(N, M, m)
+#define BOOST_LIB_NAME BOOST_PYTHON_CONCAT(boost_python, PY_MAJOR_VERSION, PY_MINOR_VERSION)
//
// If we're importing code from a dll, then tell auto_link.hpp about it:
//
@@ -118,6 +120,9 @@
#include
#endif // auto-linking disabled
+#undef BOOST_PYTHON_CONCAT
+#undef _BOOST_PYTHON_CONCAT
+
#ifndef BOOST_PYTHON_NO_PY_SIGNATURES
#define BOOST_PYTHON_SUPPORTS_PY_SIGNATURES // enables smooth transition
#endif
diff --git a/include/boost/python/other.hpp b/include/boost/python/other.hpp
index 24a24ad8..26ebb426 100644
--- a/include/boost/python/other.hpp
+++ b/include/boost/python/other.hpp
@@ -1,5 +1,5 @@
-#ifndef OTHER_DWA20020601_HPP
-# define OTHER_DWA20020601_HPP
+#ifndef BOOST_PYTHON_OTHER_HPP
+# define BOOST_PYTHON_OTHER_HPP
# include
// Copyright David Abrahams 2002.
@@ -7,8 +7,6 @@
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
-# pragma once
-
# include
namespace boost { namespace python {
@@ -51,4 +49,4 @@ namespace detail
}} // namespace boost::python
-#endif // #ifndef OTHER_DWA20020601_HPP
+#endif
diff --git a/include/boost/python/ptr.hpp b/include/boost/python/ptr.hpp
index 287daba4..8e97aa40 100644
--- a/include/boost/python/ptr.hpp
+++ b/include/boost/python/ptr.hpp
@@ -1,5 +1,5 @@
-#ifndef PTR_DWA20020601_HPP
-# define PTR_DWA20020601_HPP
+#ifndef BOOST_PYTHON_PTR_HPP
+# define BOOST_PYTHON_PTR_HPP
# include
// Copyright David Abrahams 2002.
@@ -11,8 +11,6 @@
// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi)
// Copyright (C) 2001 Peter Dimov
-# pragma once
-
# include
# include
@@ -64,4 +62,4 @@ class unwrap_pointer >
}} // namespace boost::python
-#endif // #ifndef PTR_DWA20020601_HPP
+#endif
diff --git a/src/object/function.cpp b/src/object/function.cpp
index 5c59cc77..e612963b 100644
--- a/src/object/function.cpp
+++ b/src/object/function.cpp
@@ -158,11 +158,6 @@ PyObject* function::call(PyObject* args, PyObject* keywords) const
{
// no argument preprocessing
}
- else if (n_actual > max_arity)
- {
- // too many arguments
- inner_args = handle<>();
- }
else
{
// build a new arg tuple, will adjust its size later
diff --git a/test/Jamfile b/test/Jamfile
index 7f088cf7..9a5c7569 100644
--- a/test/Jamfile
+++ b/test/Jamfile
@@ -50,6 +50,8 @@ rule require-windows ( properties * )
}
}
+if [ python.configured ]
+{
test-suite python
:
@@ -97,12 +99,16 @@ bpl-test crossmod_exception
[ bpl-test polymorphism2_auto_ptr
: polymorphism2_auto_ptr.py polymorphism2.py polymorphism2_auto_ptr.cpp
+ : [ requires auto_ptr ]
]
[ bpl-test polymorphism ]
[ bpl-test polymorphism2 ]
-[ bpl-test auto_ptr ]
+[ bpl-test auto_ptr
+ : # files
+ : [ requires auto_ptr ]
+]
[ bpl-test minimal ]
[ bpl-test args ]
@@ -248,3 +254,4 @@ bpl-test crossmod_opaque
;
+}