Обсуждение: $host_cpu -> $target_cpu in configure?
There are a few places in configure and the makefiles that are looking at $host_cpu to decide what to do. As far as I can tell, almost all of them are wrong and should be looking at $target_cpu instead. (The lack of complaints indicates that nobody is trying very hard to test cross-compilation.) I'm not too sure about this case in makefiles/Makefile.hpux: ifeq ($(host_cpu), ia64) DLSUFFIX = .so else DLSUFFIX = .sl endif Does HPUX even support cross-compiling, and if so what shlib extension do you get in that case? The other references seem definitely wrong ... regards, tom lane
On Sun, Jun 16, 2019 at 12:56:52PM -0400, Tom Lane wrote: > There are a few places in configure and the makefiles that are looking > at $host_cpu to decide what to do. As far as I can tell, almost all of > them are wrong and should be looking at $target_cpu instead. (The > lack of complaints indicates that nobody is trying very hard to test > cross-compilation.) https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Specifying-Target-Triplets.html describes the intended usage. When cross-compiling, $host_cpu is the machine able to run the resulting PostgreSQL installation, and $build_cpu is the machine creating that installation. PostgreSQL does not contain a compiler that emits code as output to the user, so $target_cpu is meaningless. Every use of $host_cpu looks correct.
Noah Misch <noah@leadboat.com> writes: > https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Specifying-Target-Triplets.html > describes the intended usage. When cross-compiling, $host_cpu is the machine > able to run the resulting PostgreSQL installation, and $build_cpu is the > machine creating that installation. PostgreSQL does not contain a compiler > that emits code as output to the user, so $target_cpu is meaningless. Every > use of $host_cpu looks correct. Hmph ... okay, but that's sure a confusing usage of "host". regards, tom lane