1diff -Nur --unidirectional-new-file openafs-1.8.2/configure.ac openafs-1.8.2.new/configure.ac
2--- openafs-1.8.2/configure.ac 2018-09-11 17:52:48.000000000 +0200
3+++ openafs-1.8.2.new/configure.ac 2018-10-16 15:56:36.512277860 +0200
4@@ -23,6 +23,7 @@
5 AFS_LT_INIT
6
7 AC_PROG_CC
8+AX_PROG_CC_FOR_BUILD
9
10 AC_PATH_PROGS([PATH_CPP], [cpp], [${CC-cc} -E], [$PATH:/lib:/usr/ccs/lib])
11 AC_SUBST([PATH_CPP])
12diff -Nur --unidirectional-new-file openafs-1.8.2/src/cf/ax_prog_cc_for_build.m4 openafs-1.8.2.new/src/cf/ax_prog_cc_for_build.m4
13--- openafs-1.8.2/src/cf/ax_prog_cc_for_build.m4 1970-01-01 01:00:00.000000000 +0100
14+++ openafs-1.8.2.new/src/cf/ax_prog_cc_for_build.m4 2018-10-16 16:20:40.278641658 +0200
15@@ -0,0 +1,125 @@
16+# ===========================================================================
17+# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
18+# ===========================================================================
19+#
20+# SYNOPSIS
21+#
22+# AX_PROG_CC_FOR_BUILD
23+#
24+# DESCRIPTION
25+#
26+# This macro searches for a C compiler that generates native executables,
27+# that is a C compiler that surely is not a cross-compiler. This can be
28+# useful if you have to generate source code at compile-time like for
29+# example GCC does.
30+#
31+# The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
32+# needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
33+# The value of these variables can be overridden by the user by specifying
34+# a compiler with an environment variable (like you do for standard CC).
35+#
36+# It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
37+# file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
38+# the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
39+# substituted in the Makefile.
40+#
41+# LICENSE
42+#
43+# Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
44+#
45+# Copying and distribution of this file, with or without modification, are
46+# permitted in any medium without royalty provided the copyright notice
47+# and this notice are preserved. This file is offered as-is, without any
48+# warranty.
49+
50+#serial 9
51+
52+AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
53+AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
54+AC_REQUIRE([AC_PROG_CC])dnl
55+AC_REQUIRE([AC_PROG_CPP])dnl
56+AC_REQUIRE([AC_EXEEXT])dnl
57+AC_REQUIRE([AC_CANONICAL_HOST])dnl
58+
59+dnl Use the standard macros, but make them use other variable names
60+dnl
61+pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
62+pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
63+pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
64+pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
65+pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
66+pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
67+pushdef([ac_cv_objext], ac_cv_build_objext)dnl
68+pushdef([ac_exeext], ac_build_exeext)dnl
69+pushdef([ac_objext], ac_build_objext)dnl
70+pushdef([CC], CC_FOR_BUILD)dnl
71+pushdef([CPP], CPP_FOR_BUILD)dnl
72+pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
73+pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
74+pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
75+pushdef([host], build)dnl
76+pushdef([host_alias], build_alias)dnl
77+pushdef([host_cpu], build_cpu)dnl
78+pushdef([host_vendor], build_vendor)dnl
79+pushdef([host_os], build_os)dnl
80+pushdef([ac_cv_host], ac_cv_build)dnl
81+pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
82+pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
83+pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
84+pushdef([ac_cv_host_os], ac_cv_build_os)dnl
85+pushdef([ac_cpp], ac_build_cpp)dnl
86+pushdef([ac_compile], ac_build_compile)dnl
87+pushdef([ac_link], ac_build_link)dnl
88+
89+save_cross_compiling=$cross_compiling
90+save_ac_tool_prefix=$ac_tool_prefix
91+cross_compiling=no
92+ac_tool_prefix=
93+
94+AC_PROG_CC
95+AC_PROG_CPP
96+AC_EXEEXT
97+
98+ac_tool_prefix=$save_ac_tool_prefix
99+cross_compiling=$save_cross_compiling
100+
101+dnl Restore the old definitions
102+dnl
103+popdef([ac_link])dnl
104+popdef([ac_compile])dnl
105+popdef([ac_cpp])dnl
106+popdef([ac_cv_host_os])dnl
107+popdef([ac_cv_host_vendor])dnl
108+popdef([ac_cv_host_cpu])dnl
109+popdef([ac_cv_host_alias])dnl
110+popdef([ac_cv_host])dnl
111+popdef([host_os])dnl
112+popdef([host_vendor])dnl
113+popdef([host_cpu])dnl
114+popdef([host_alias])dnl
115+popdef([host])dnl
116+popdef([LDFLAGS])dnl
117+popdef([CPPFLAGS])dnl
118+popdef([CFLAGS])dnl
119+popdef([CPP])dnl
120+popdef([CC])dnl
121+popdef([ac_objext])dnl
122+popdef([ac_exeext])dnl
123+popdef([ac_cv_objext])dnl
124+popdef([ac_cv_exeext])dnl
125+popdef([ac_cv_prog_cc_g])dnl
126+popdef([ac_cv_prog_cc_cross])dnl
127+popdef([ac_cv_prog_cc_works])dnl
128+popdef([ac_cv_prog_gcc])dnl
129+popdef([ac_cv_prog_CPP])dnl
130+
131+dnl Finally, set Makefile variables
132+dnl
133+BUILD_EXEEXT=$ac_build_exeext
134+BUILD_OBJEXT=$ac_build_objext
135+AC_SUBST(BUILD_EXEEXT)dnl
136+AC_SUBST(BUILD_OBJEXT)dnl
137+AC_SUBST([CFLAGS_FOR_BUILD])dnl
138+AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
139+AC_SUBST([LDFLAGS_FOR_BUILD])dnl
140+])
141diff -Nur --unidirectional-new-file openafs-1.8.2/src/comerr/Makefile.in openafs-1.8.2.new/src/comerr/Makefile.in
142--- openafs-1.8.2/src/comerr/Makefile.in 2018-09-11 17:52:48.000000000 +0200
143+++ openafs-1.8.2.new/src/comerr/Makefile.in 2018-10-16 15:48:19.678898925 +0200
144@@ -38,11 +38,14 @@
145 compile_et: compile_et.o error_table.o
146 $(Q)case $(SYS_NAME) in \
147 *_linux* | *_umlinux* | *_darwin* | rs_aix72 | rs_aix73 ) \
148- $(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr $(buildtool_roken) $(MT_LIBS);; \
149+ $(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr_build $(buildtool_roken) $(MT_LIBS);; \
150 * ) \
151- $(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr -ll $(buildtool_roken) $(MT_LIBS);; \
152+ $(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr_build -ll $(buildtool_roken) $(MT_LIBS);; \
153 esac
154
155+compile_et compile_et.o error_table.o: CC=$(CC_FOR_BUILD)
156+compile_et compile_et.o error_table.o: LD=$(CC_FOR_BUILD)
157+
158 libafscom_err.a: $(LT_objs)
159 $(LT_LDLIB_lwp) $(LT_objs)
160
161diff -Nur --unidirectional-new-file openafs-1.8.2/src/config/Makefile.in openafs-1.8.2.new/src/config/Makefile.in
162--- openafs-1.8.2/src/config/Makefile.in 2018-09-11 17:52:48.000000000 +0200
163+++ openafs-1.8.2.new/src/config/Makefile.in 2018-10-16 15:48:19.677898926 +0200
164@@ -54,6 +54,8 @@
165
166 config.o: config.c AFS_component_version_number.c
167
168+config mkvers config.o mc.o: CC=$(CC_FOR_BUILD)
169+
170 #
171 # Include installation targets
172 #
173diff -Nur --unidirectional-new-file openafs-1.8.2/src/opr/Makefile.in openafs-1.8.2.new/src/opr/Makefile.in
174--- openafs-1.8.2/src/opr/Makefile.in 2018-09-11 17:52:48.000000000 +0200
175+++ openafs-1.8.2.new/src/opr/Makefile.in 2018-10-16 15:48:19.678898925 +0200
176@@ -21,7 +21,7 @@
177 $(TOP_INCDIR)/opr/time.h \
178 $(TOP_INCDIR)/opr/uuid.h
179
180-all: $(HEADERS) liboafs_opr.la $(TOP_LIBDIR)/libopr_pic.a $(TOP_LIBDIR)/libopr.a
181+all: $(HEADERS) liboafs_opr.la $(TOP_LIBDIR)/libopr_pic.a $(TOP_LIBDIR)/libopr.a $(TOP_LIBDIR)/libopr_build.a
182
183 liboafs_opr.la: liboafs_opr.la.sym $(LT_objs) $(LT_deps)
184 $(LT_LDLIB_shlib) $(LT_objs) $(LT_deps) $(LT_libs)
185@@ -29,12 +29,26 @@
186 libopr.a: $(LT_objs)
187 $(LT_LDLIB_static) $(LT_objs)
188
189+LT_objs_build = $(patsubst %.lo, %_build.lo, $(LT_objs))
190+
191+%_build.lo: %.c
192+ $(LT_CCRULE) $<
193+
194+libopr_build.a: $(LT_objs_build)
195+ $(LT_LDLIB_static) $(LT_objs_build)
196+
197+libopr_build.a $(LT_objs_build): CC=$(CC_FOR_BUILD)
198+libopr_build.a $(LT_objs_build): LD=$(CC_FOR_BUILD)
199+
200 libopr_pic.la: $(LT_objs)
201 $(LT_LDLIB_pic) $(LT_objs)
202
203 $(TOP_LIBDIR)/libopr.a: libopr.a
204 $(INSTALL_DATA) libopr.a $@
205
206+$(TOP_LIBDIR)/libopr_build.a: libopr_build.a
207+ $(INSTALL_DATA) libopr_build.a $@
208+
209 $(TOP_LIBDIR)/libopr_pic.a: libopr_pic.la
210 $(INSTALL_DATA) .libs/libopr_pic.a $@
211
212diff -Nur --unidirectional-new-file openafs-1.8.2/src/rxgen/Makefile.in openafs-1.8.2.new/src/rxgen/Makefile.in
213--- openafs-1.8.2/src/rxgen/Makefile.in 2018-09-11 17:52:48.000000000 +0200
214+++ openafs-1.8.2.new/src/rxgen/Makefile.in 2018-10-16 15:48:19.677898926 +0200
215@@ -25,6 +25,8 @@
216
217 CFLAGS_rpc_main.o= -DPATH_CPP="\"$(PATH_CPP)\""
218
219+rxgen $(OBJS): CC=$(CC_FOR_BUILD)
220+
221 #
222 # Install targets
223 #