diff options
Diffstat (limited to 'patches/gpsd-2.39/gpsd-2.39-fixup-parallel-build-for-python.diff')
-rw-r--r-- | patches/gpsd-2.39/gpsd-2.39-fixup-parallel-build-for-python.diff | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/patches/gpsd-2.39/gpsd-2.39-fixup-parallel-build-for-python.diff b/patches/gpsd-2.39/gpsd-2.39-fixup-parallel-build-for-python.diff new file mode 100644 index 000000000..02d74251d --- /dev/null +++ b/patches/gpsd-2.39/gpsd-2.39-fixup-parallel-build-for-python.diff @@ -0,0 +1,38 @@ +From: Robert Schwebel <r.schwebel@pengutronix.de> +Subject: [PATCH] fix parallel build + +The build system has a race with the creation of the python bindings; if +both targets of the "gpspacket.so gpslib.so:" rule are started at the +same time, the build "sometimes" breaks; this can be triggered with only +a few cycles when built with -j16 on a 8-way box. + +Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de> + +--- + Makefile.am | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +Index: gpsd-2.39/Makefile.am +=================================================================== +--- gpsd-2.39.orig/Makefile.am ++++ gpsd-2.39/Makefile.am +@@ -187,12 +187,17 @@ if HAVE_PYTHON + PYEXTENSIONS = gpspacket.so gpslib.so + noinst_SCRIPTS = gpspacket.so gpslib.so setup.py + +-gpspacket.so gpslib.so: gpspacket.c gpslib.c libgps.la ++.PHONY: build_python_ext ++build_python_ext: gpspacket.c gpslib.c libgps.la + (pwd="`pwd`"; cd $(srcdir) && $(PYTHON) setup.py build_ext --build-lib "$$pwd" --build-temp "$$pwd/build" --include-dirs "$$pwd") +-endif ++ ++gpspacket.so: build_python_ext ++gpslib.so: build_python_ext ++ + # Clean up after Python + clean-local: + rm -rf build ++endif + + # + # Build test_gpsmm |