On Fri, Aug 26, 2011 at 10:07 PM, Tom Stellard <[email protected]> wrote: > On Thu, 2011-08-25 at 22:28 -0400, Chia-I Wu wrote: >> On Fri, Aug 26, 2011 at 5:29 AM, Tom Stellard <[email protected]> >> wrote: >> > On Thu, 2011-08-25 at 00:55 -0400, Chia-I Wu wrote: >> >> From: Chia-I Wu <[email protected]> >> >> >> >> --- >> >> src/gallium/drivers/r300/Makefile | 63 >> >> ++-------------------------- >> >> src/gallium/drivers/r300/Makefile.sources | 57 >> >> ++++++++++++++++++++++++++ >> >> src/gallium/drivers/r300/SConscript | 57 >> >> +------------------------- >> >> 3 files changed, 63 insertions(+), 114 deletions(-) >> >> create mode 100644 src/gallium/drivers/r300/Makefile.sources >> >> >> >> diff --git a/src/gallium/drivers/r300/Makefile >> >> b/src/gallium/drivers/r300/Makefile >> >> index 4f02127..bbb0103 100644 >> >> --- a/src/gallium/drivers/r300/Makefile >> >> +++ b/src/gallium/drivers/r300/Makefile >> >> @@ -3,64 +3,11 @@ include $(TOP)/configs/current >> >> >> >> LIBNAME = r300 >> >> >> >> -C_SOURCES = \ >> >> - r300_blit.c \ >> >> - r300_chipset.c \ >> >> - r300_context.c \ >> >> - r300_debug.c \ >> >> - r300_emit.c \ >> >> - r300_flush.c \ >> >> - r300_fs.c \ >> >> - r300_hyperz.c \ >> >> - r300_query.c \ >> >> - r300_render.c \ >> >> - r300_render_stencilref.c \ >> >> - r300_render_translate.c \ >> >> - r300_resource.c \ >> >> - r300_screen.c \ >> >> - r300_screen_buffer.c \ >> >> - r300_state.c \ >> >> - r300_state_derived.c \ >> >> - r300_vs.c \ >> >> - r300_vs_draw.c \ >> >> - r300_texture.c \ >> >> - r300_texture_desc.c \ >> >> - r300_tgsi_to_rc.c \ >> >> - r300_transfer.c \ >> >> - \ >> >> - compiler/radeon_code.c \ >> >> - compiler/radeon_compiler.c \ >> >> - compiler/radeon_compiler_util.c \ >> >> - compiler/radeon_emulate_branches.c \ >> >> - compiler/radeon_emulate_loops.c \ >> >> - compiler/radeon_program.c \ >> >> - compiler/radeon_program_print.c \ >> >> - compiler/radeon_opcodes.c \ >> >> - compiler/radeon_program_alu.c \ >> >> - compiler/radeon_program_pair.c \ >> >> - compiler/radeon_program_tex.c \ >> >> - compiler/radeon_pair_translate.c \ >> >> - compiler/radeon_pair_schedule.c \ >> >> - compiler/radeon_pair_regalloc.c \ >> >> - compiler/radeon_pair_dead_sources.c \ >> >> - compiler/radeon_dataflow.c \ >> >> - compiler/radeon_dataflow_deadcode.c \ >> >> - compiler/radeon_dataflow_swizzles.c \ >> >> - compiler/radeon_list.c \ >> >> - compiler/radeon_optimize.c \ >> >> - compiler/radeon_remove_constants.c \ >> >> - compiler/radeon_rename_regs.c \ >> >> - compiler/radeon_variable.c \ >> >> - compiler/r3xx_fragprog.c \ >> >> - compiler/r300_fragprog.c \ >> >> - compiler/r300_fragprog_swizzle.c \ >> >> - compiler/r300_fragprog_emit.c \ >> >> - compiler/r500_fragprog.c \ >> >> - compiler/r500_fragprog_emit.c \ >> >> - compiler/r3xx_vertprog.c \ >> >> - compiler/r3xx_vertprog_dump.c \ >> >> - compiler/memory_pool.c \ >> >> - \ >> >> +# get C_SOURCES >> >> +include Makefile.sources >> >> + >> >> +# to build tests >> >> +C_SOURCES += \ >> >> $(TOP)/src/glsl/ralloc.c \ >> >> $(TOP)/src/mesa/program/register_allocate.c >> >> >> > ralloc.c and register_allocate.c should also go in the shared source >> > list. >> As we are building an archive here, these two files are not needed. >> For example, r300_dri.so will still link without them. It seems to me >> that they are added so that the compiler tests (r300/compiler/tests) >> can be built by simply linking to libr300.a (and depending on ld to >> drop object files that are not referenced). > > Hi, > > I don't really have a lot of insight into how the Android build system > works, but those files were originally added so that r300_dri.so would > link correctly for Gallium targets that didn't use GLSL, because without > GLSL those files weren't being built. What will happen if someone tries > to build only the g3dvl target on Android (if this is even possible)? Ah, I see. I wrongly assumed the only targets are r300_dri.so and the compiler tests. Yes, that would be a problem for targets that do not link libmesagallium.a, such as g3dvl.
But to correctly support r300g for non-GL targets with Android build system, I will need to create two more static libraries, consisting of ralloc.o and register_allocate.o respectively. It seems to be an overkill. I think it is better to leave Makefile and SConscript as is, which is already the case, and let Android.mk skip those two files. I will update the comments and commit logs to reflect this. >> >> If they were to be added to Makefile.sources, we would need to define >> TOP in Makefile.sources as SCons parses only the file. Also, Android >> build system, to be added in a latter patch, does not like source >> files from another directory. I think it is best to leave them out >> from Makefile.sources. I forgot to update the commit log when I later >> found out about this. There is already a comment in Makefile about >> this. Do you think it is sufficient that I update the commit log? >> >> > > I think the comment in the Makefile is OK. > > -Tom > > > > > -- [email protected] _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
