python,python3: Fix host Python compilation for macOS 9762/head
authorJeffery To <jeffery.to@gmail.com>
Fri, 16 Aug 2019 20:45:58 +0000 (04:45 +0800)
committerJeffery To <jeffery.to@gmail.com>
Fri, 16 Aug 2019 21:14:42 +0000 (05:14 +0800)
* Remove $$$$(pkg-config --static --libs libcrypto libssl) from
  HOST_LDFLAGS

  Having this leads to an "unknown type name 'u_int'" error on Mac.
  Removing it doesn't appear to affect Python's ability to find
  buildroot LibreSSL.

* Change -Wl,-rpath=... to -Wl,-rpath,... in HOST_LDFLAGS

  The equals sign version is not supported by the Mac linker (appears to
  be an GNU extension). The comma version is supported; -rpath and its
  argument will be separated by a space when passed to the linker.

* Add ac_cv_header_libintl_h=no to HOST_CONFIGURE_VARS for Mac

  Python on Mac doesn't expect to use libintl, but if gettext-full is
  compiled for host, it will try, leading to undefined symbol errors
  during compilation. This prevents configure from finding libintl.h.

Fixes #7171.
Fixes #9621.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
lang/python/python/Makefile
lang/python/python3/Makefile

index b83613cdc6d137ef1ce212c67c1a721c7dd64c0f..0560d347582f698594d6171b960c50135efe0f75 100644 (file)
@@ -290,13 +290,18 @@ define PyPackage/python/filespec
 endef
 
 HOST_LDFLAGS += \
-       $$$$(pkg-config --static --libs libcrypto libssl) -Wl$(comma)-rpath=$(STAGING_DIR_HOSTPKG)/lib
+       -Wl$(comma)-rpath$(comma)$(STAGING_DIR_HOSTPKG)/lib
 
 ifeq ($(HOST_OS),Linux)
 HOST_LDFLAGS += \
        -Wl,--no-as-needed -lrt
 endif
 
+ifeq ($(HOST_OS),Darwin)
+HOST_CONFIGURE_VARS += \
+       ac_cv_header_libintl_h=no
+endif
+
 HOST_CONFIGURE_ARGS+= \
        --without-cxx-main \
        --without-pymalloc \
index 4cd1dc9973d0649450aa8c0a5557ddd6a30cf57a..79a71ccafd6dd5018144b760777d7a2f9f5a3a76 100644 (file)
@@ -285,13 +285,18 @@ define Py3Package/python3/filespec
 endef
 
 HOST_LDFLAGS += \
-       $$$$(pkg-config --static --libs libcrypto libssl) -Wl$(comma)-rpath=$(STAGING_DIR_HOSTPKG)/lib
+       -Wl$(comma)-rpath$(comma)$(STAGING_DIR_HOSTPKG)/lib
 
 ifeq ($(HOST_OS),Linux)
 HOST_LDFLAGS += \
        -Wl,--no-as-needed -lrt
 endif
 
+ifeq ($(HOST_OS),Darwin)
+HOST_CONFIGURE_VARS += \
+       ac_cv_header_libintl_h=no
+endif
+
 HOST_CONFIGURE_ARGS+= \
        --without-cxx-main \
        --without-pymalloc \