summaryrefslogtreecommitdiffstats
path: root/configure.py
diff options
context:
space:
mode:
authorTobias Hieta <tobias@plexapp.com>2013-05-23 13:12:53 (GMT)
committerTobias Hieta <tobias@plexapp.com>2013-05-23 13:12:53 (GMT)
commit4db8e5ddf0c941616842d2a6e947477145f84783 (patch)
tree14ec736f29c8565cd2218ea48f40cb1b35d73f0e /configure.py
parent082d0bebf627331d618ec712f1aa131f76a3722a (diff)
downloadNinja-4db8e5ddf0c941616842d2a6e947477145f84783.zip
Ninja-4db8e5ddf0c941616842d2a6e947477145f84783.tar.gz
Ninja-4db8e5ddf0c941616842d2a6e947477145f84783.tar.bz2
Added bootstrap/configure option to force pselect
All modern Linux kernels have ppoll() but sometimes you might want to compile on something ancient. This patch adds the possibility to force the use of pselect() instead by passing --force-pselect to bootstrap/configure. The use of ppoll() is still default for Linux and OpenBSD
Diffstat (limited to 'configure.py')
-rwxr-xr-xconfigure.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/configure.py b/configure.py
index 7c90e66..22eb1e5 100755
--- a/configure.py
+++ b/configure.py
@@ -47,6 +47,8 @@ parser.add_option('--with-gtest', metavar='PATH',
parser.add_option('--with-python', metavar='EXE',
help='use EXE as the Python interpreter',
default=os.path.basename(sys.executable))
+parser.add_option('--force-pselect', action='store_true',
+ help="ppoll() is used by default on Linux and OpenBSD, but older versions might need to use pselect instead",)
(options, args) = parser.parse_args()
if args:
print('ERROR: extra unparsed command-line arguments:', args)
@@ -163,6 +165,9 @@ else:
cflags.append('-fno-omit-frame-pointer')
libs.extend(['-Wl,--no-as-needed', '-lprofiler'])
+if (platform.is_linux() or platform.is_openbsd()) and not options.force_pselect:
+ cflags.append('-DUSE_PPOLL')
+
def shell_escape(str):
"""Escape str such that it's interpreted as a single argument by
the shell."""