Fix 'make install' on OSes where 'python3' doesn't exist.
authorUwe Hermann <uwe@hermann-uwe.de>
Sun, 4 May 2014 20:17:03 +0000 (22:17 +0200)
committerUwe Hermann <uwe@hermann-uwe.de>
Sun, 4 May 2014 20:25:45 +0000 (22:25 +0200)
Sometimes the Python 3 executable is called just 'python3', sometimes
it is called 'python3.4' and so on. Handle all cases transparently for
the user.

Before:

  $ make install
  /usr/bin/env: python3: No such file or directory

After:

  $ make install
  python3.4 ./tools/install-decoders -i ./decoders -o [...]
  Installing 36 protocol decoders:
  [...]

Makefile.am
configure.ac

index c4a9d475fa9cbf6400759b3c4902f69ef8a17800..741720f91f6033bbcd015db8c678e4f30bb70df7 100644 (file)
@@ -89,8 +89,8 @@ dist-hook: ChangeLog
 
 install-decoders:
        $(MKDIR_P) $(DESTDIR)$(DECODERS_DIR)
-       ${top_srcdir}/tools/install-decoders -i ${top_srcdir}/decoders \
-               -o $(DESTDIR)$(DECODERS_DIR)
+       $(PYTHON3) ${top_srcdir}/tools/install-decoders \
+               -i ${top_srcdir}/decoders -o $(DESTDIR)$(DECODERS_DIR)
 
 install-data-hook: install-decoders
 
index 420c8f322d36c47dc10df1ecb144ab0cd459cd8f..c27376fd33339dcbb06628d0bda94fa7eae19156 100644 (file)
@@ -115,6 +115,13 @@ PKG_CHECK_MODULES([python3], [python3 >= 3.2],
 AC_SUBST(CPPFLAGS_PYTHON)
 AC_SUBST(LDFLAGS_PYTHON)
 
+# We also need to find the name of the python3 executable (for 'make install').
+# Some OSes call this python3, some call it python3.2, etc. etc.
+AC_CHECK_PROGS([PYTHON3], [python3.4 python3.3 python3.2 python3])
+if test "x$PYTHON3" == "x"; then
+       AC_MSG_ERROR([cannot find python3 executable.])
+fi
+
 # Link against libm, this is required (among other things) by Python.
 AC_SEARCH_LIBS([pow], [m])