On Fri, May 27, 2016 at 03:13:04PM +0800, Hekuang wrote: SNIP
> > - I understand we need to compile 3 objects from unwind-libunwind.c, > > how about we create 3 files like: > > > > util/unwind-libunwind-local.c > > util/unwind-libunwind-x86_32.c > > util/unwind-libunwind-arm64.c > > > > which would setup all necessary defines and include unwind-libunwind.c > > like: > > > > --- > > /* comments explaining every define ;-) */ > > ... > > #define LOCAL... REMOTE.. > > ... > > #include <util/unwind-libunwind-local.c> > > ... > > ---- > > > > this way we will keep all the special setup for given unwind object > > in one place and you can also use simple rule in the Build file like > > without defining special rule: > > > > libperf-$(CONFIG_LIBUNWIND_X86) += unwind-libunwind_x86_32.o > > libperf-$(CONFIG_LIBUNWIND_AARCH64) += unwind-libunwind_arm64.o > > > > the same way for the arch object: > > > > arch/x86/util/unwind-libunwind-local.c > > arch/x86/util/unwind-libunwind-x86_32.c > > > > > > Not sure I thought everything through, but I think this way > > we'll keep it more maintainable and readable.. > > > > let me know what you think > > The only concern is that, if later we support more platforms, > there will be too much files named as 'tools/perf/util/unwind-libunwind*.c' > Is it acceptable or not? > > And I thought all files belongs to specific archs should > go to folder under 'tools/perf/arch/xxx', is that right? hum, I wouldn't worry about that.. but you're right, let's put them under arch thanks, jirka