From: Luis Lavena Date: 2011-12-25T01:21:22+09:00 Subject: [ruby-core:41799] Best way to separate implementation specific code? Hello, As proposed by [ruby-core:38940], I want to move certain functions from general file.c into platform specific files. The idea is make more easy to implement complete function for the platform without #fidef/#endif blocks that affect code readability. When I wanted to implement win32/file.c, noticed that Ruby does not build object files in subdirectories, so file.o will clash with file.o from the root. So, need to make win32/win32_file.c Will that be acceptable? I noticed that threading implementations are named thread_pthread.c and thread_win32.c What would be the name of POSIX/UNIX implementation for file.c? file_unix.c? Questions: 1) Should files be named original_.c ? E.g.: file_win32.c, file_unix.c, dir_win32.c 2) Should win32 files be placed in win32? What about thread_win32.c which doesn't follow the rule? 3) Should I move exiting POSIX version function to these _unix files? 4) Should a new section in configure.in to deal with these new AC_LIBOBJ additions be added? There is one already at line 2574. Thank you in advance for your responses. -- Luis Lavena AREA 17 - Perfection in design is achieved not when there is nothing more to add, but rather when there is nothing more to take away. Antoine de Saint-Exup�ry