On Thu, Jan 17, 2013 at 02:59:49PM -0800, Matt Turner wrote: > On Thu, Jan 17, 2013 at 1:42 PM, Matt Turner <matts...@gmail.com> wrote: > > On Wed, Jan 16, 2013 at 10:55 PM, Thierry Reding > > <thierry.red...@avionic-design.de> wrote: > >> On Wed, Jan 16, 2013 at 03:14:14PM -0800, Matt Turner wrote: > >> [...] > >>> diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am > >>> index fa09c5e..07fcf96 100644 > >>> --- a/src/glsl/Makefile.am > >>> +++ b/src/glsl/Makefile.am > >>> @@ -19,7 +19,11 @@ > >>> # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER > >>> DEALINGS > >>> # IN THE SOFTWARE. > >>> > >>> +if CROSS_COMPILING > >>> SUBDIRS = builtin_compiler glcpp > >>> +else > >>> +SUBDIRS = glcpp > >>> +endif > >>> > >>> AM_CPPFLAGS = \ > >>> -I$(top_srcdir)/include \ > >>> @@ -56,6 +60,27 @@ glsl_test_SOURCES = \ > >>> > >>> glsl_test_LDADD = libglsl.la > >>> > >>> +if CROSS_COMPILING > >>> +BUILTIN_COMPILER = builtin_compiler/builtin_compiler$(BUILD_EXEEXT) > >>> +else > >>> +BUILTIN_COMPILER = builtincompiler$(BUILD_EXEEXT) > >>> + > >>> +noinst_PROGRAMS = builtincompiler > >>> +noinst_LTLIBRARIES += libglslcore.la > >>> + > >>> +libglslcore_la_SOURCES = \ > >>> + glsl_lexer.ll \ > >>> + glsl_parser.cc \ > >>> + $(LIBGLSL_FILES) > >>> +builtincompiler_SOURCES = \ > >>> + $(top_srcdir)/src/mesa/main/hash_table.c \ > >>> + $(top_srcdir)/src/mesa/program/prog_hash_table.c\ > >>> + $(top_srcdir)/src/mesa/program/symbol_table.c \ > >>> + $(top_srcdir)/src/glsl/builtin_compiler/builtin_stubs.cpp \ > >>> + $(GLSL_COMPILER_CXX_FILES) > >>> +builtincompiler_LDADD = libglslcore.la glcpp/libglcpp.la > >>> +endif > >> > >> Can this not be moved into the builtin_compiler subdirectory? You could > >> set the various *_FOR_BUILD variables only if CROSS_COMPILING and split > >> up the builtin_compiler_SOURCES variables such that a native version of > >> them is compiled if CROSS_COMPILING and make builtin_compiler link with > >> libglcpp.la and libglslcore.la otherwise. > >> > >> That way there would be no duplication of these rules that need to be > >> kept in sync. Furthermore all the cross-compiling special cases would > >> be restricted to the builtin_compiler subdirectory. > >> > >> Thierry > > > > Yes, that might be better. I'll give that a try and send a v2 patch if > > it goes well. > > I can't seem to make this work. Even adding if CROSS_COMPILING/endif > around the CC = @CC_FOR_BUILD@ I get these messages during autoreconf: > > src/glsl/builtin_compiler/Makefile.am:24: warning: CC was already > defined in condition TRUE, which includes condition !CROSS_COMPILING > ... > configure.ac:45: ... 'CC' previously defined here > > They're warnings, but I'm not sure we want them in the build. Any ideas? > > If there's a way to do it, I think I want to do it as an add-on to this > series.
Actually you may not need to conditionalize the *_FOR_BUILD variables at all because they should be identical to the regular ones if not cross- compiling. So maybe conditionalizing the *_SOURCES (and adding *_LIBS if not cross-compiling) would be enough and not cause a warning. Thierry
pgpQNK8AJaAG8.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev