@@ -43,15 +43,17 @@ project GnatColl is
4343 type OS_Kind is ("windows", "unix", "osx");
4444 OS : OS_Kind := External ("GNATCOLL_OS", "unix");
4545
46- Sources := ("src", "src/os", "src/paragraph_filling");
47-
46+ Unix_Win32 := "";
4847 case OS is
4948 when "unix" | "osx" =>
50- Sources := Sources & ("src/os/ unix") ;
49+ Unix_Win32 := " unix";
5150 when "windows" =>
52- Sources := Sources & ("src/os/win32") ;
51+ Unix_Win32 := "windows" ;
5352 end case;
5453
54+ Sources := ("src", "src/os", "src/paragraph_filling",
55+ "src/os/" & Unix_Win32);
56+
5557 case Projects is
5658 when "yes" =>
5759 Sources := Sources & ("src/projects");
@@ -195,98 +197,50 @@ project GnatColl is
195197 for Implementation ("GNATCOLL.OS.FS.Open_Pipe")
196198 use "gnatcoll-os-fs-open_pipe__" & OS & ".adb";
197199
198- case OS is
199- when "unix" | "osx" =>
200- for Specification ("GNATCOLL.Mmap.System")
201- use "gnatcoll-mmap-system__unix.ads";
202- for Implementation ("GNATCOLL.Mmap.System")
203- use "gnatcoll-mmap-system__unix.adb";
204- for Implementation ("GNATCOLL.IO.Native.Codec")
205- use "gnatcoll-io-native-codec__unix.adb";
206- for Implementation ("GNATCOLL.Plugins")
207- use "gnatcoll-plugins__unix.adb";
208- for Implementation ("GNATCOLL.OS.Stat.Stat")
209- use "gnatcoll-os-stat-stat__unix.adb";
210- for Implementation ("GNATCOLL.OS.FS.Null_File")
211- use "gnatcoll-os-fs-null_file__unix.adb";
212- for Implementation ("GNATCOLL.OS.FS.Open")
213- use "gnatcoll-os-fs-open__unix.adb";
214- for Implementation ("GNATCOLL.OS.FS.Set_Close_On_Exec")
215- use "gnatcoll-os-fs-set_close_on_exec__unix.adb";
216- for Implementation ("GNATCOLL.OS.FS.Is_Console")
217- use "gnatcoll-os-fs-is_console__unix.adb";
218- for Implementation ("GNATCOLL.OS.Process.Wait")
219- use "gnatcoll-os-process-wait__unix.adb";
220- for Implementation ("GNATCOLL.OS.Process.Internal_Spawn")
221- use "gnatcoll-os-process-internal_spawn__unix.adb";
222- for Specification ("GNATCOLL.OS.Process_Types")
223- use "gnatcoll-os-process_types__unix.ads";
224- for Implementation ("GNATCOLL.OS.Process_Types")
225- use "gnatcoll-os-process_types__unix.adb";
226- for Implementation ("GNATCOLL.OS.Process.State")
227- use "gnatcoll-os-process-state__unix.adb";
228- for Implementation ("GNATCOLL.OS.Process.Wait_For_Processes")
229- use "gnatcoll-os-process-wait_for_processes__unix.adb";
230- for Specification ("GNATCOLL.OS.Dir_Types")
231- use "gnatcoll-os-dir_types__unix.ads";
232- for Implementation ("GNATCOLL.OS.Dir.Open")
233- use "gnatcoll-os-dir-open__unix.adb";
234- for Implementation ("GNATCOLL.OS.Dir.Close")
235- use "gnatcoll-os-dir-close__unix.adb";
236- for Implementation ("GNATCOLL.OS.Dir.Read")
237- use "gnatcoll-os-dir-read__unix.adb";
238- for Implementation ("GNATCOLL.OS.FSUtil.Copy_File_Content")
239- use "gnatcoll-os-fsutil-copy_file_content__unix.adb";
240- for Implementation ("GNATCOLL.OS.FSUtil.Copy_Permissions")
241- use "gnatcoll-os-fsutil-copy_permissions__unix.adb";
242- for Implementation ("GNATCOLL.OS.FSUtil.Copy_Timestamps")
243- use "gnatcoll-os-fsutil-copy_timestamps__unix.adb";
244- when "windows" =>
245- for Specification ("GNATCOLL.Mmap.System")
246- use "gnatcoll-mmap-system__win32.ads";
247- for Implementation ("GNATCOLL.Mmap.System")
248- use "gnatcoll-mmap-system__win32.adb";
249- for Implementation ("GNATCOLL.IO.Native.Codec")
250- use "gnatcoll-io-native-codec__win32.adb";
251- for Implementation ("GNATCOLL.Plugins")
252- use "gnatcoll-plugins__windows.adb";
253- for Implementation ("GNATCOLL.OS.Stat.Stat")
254- use "gnatcoll-os-stat-stat__win32.adb";
255- for Implementation ("GNATCOLL.OS.FS.Is_Console")
256- use "gnatcoll-os-fs-is_console__win32.adb";
257- for Implementation ("GNATCOLL.OS.FS.Null_File")
258- use "gnatcoll-os-fs-null_file__win32.adb";
259- for Implementation ("GNATCOLL.OS.FS.Open")
260- use "gnatcoll-os-fs-open__win32.adb";
261- for Implementation ("GNATCOLL.OS.FS.Set_Close_On_Exec")
262- use "gnatcoll-os-fs-set_close_on_exec__win32.adb";
263- for Specification ("GNATCOLL.OS.Process_Types")
264- use "gnatcoll-os-process_types__win32.ads";
265- for Implementation ("GNATCOLL.OS.Process_Types")
266- use "gnatcoll-os-process_types__win32.adb";
267- for Implementation ("GNATCOLL.OS.Process.Wait")
268- use "gnatcoll-os-process-wait__win32.adb";
269- for Implementation ("GNATCOLL.OS.Process.Internal_Spawn")
270- use "gnatcoll-os-process-internal_spawn__win32.adb";
271- for Implementation ("GNATCOLL.OS.Process.State")
272- use "gnatcoll-os-process-state__win32.adb";
273- for Implementation ("GNATCOLL.OS.Process.Wait_For_Processes")
274- use "gnatcoll-os-process-wait_for_processes__win32.adb";
275- for Specification ("GNATCOLL.OS.Dir_Types")
276- use "gnatcoll-os-dir_types__win32.ads";
277- for Implementation ("GNATCOLL.OS.Dir.Open")
278- use "gnatcoll-os-dir-open__win32.adb";
279- for Implementation ("GNATCOLL.OS.Dir.Close")
280- use "gnatcoll-os-dir-close__win32.adb";
281- for Implementation ("GNATCOLL.OS.Dir.Read")
282- use "gnatcoll-os-dir-read__win32.adb";
283- for Implementation ("GNATCOLL.OS.FSUtil.Copy_File_Content")
284- use "gnatcoll-os-fsutil-copy_file_content__win32.adb";
285- for Implementation ("GNATCOLL.OS.FSUtil.Copy_Permissions")
286- use "gnatcoll-os-fsutil-copy_permissions__win32.adb";
287- for Implementation ("GNATCOLL.OS.FSUtil.Copy_Timestamps")
288- use "gnatcoll-os-fsutil-copy_timestamps__win32.adb";
289- end case;
200+ for Specification ("GNATCOLL.Mmap.System")
201+ use "gnatcoll-mmap-system__" & Unix_Win32 & ".ads";
202+ for Implementation ("GNATCOLL.Mmap.System")
203+ use "gnatcoll-mmap-system__" & Unix_Win32 & ".adb";
204+ for Implementation ("GNATCOLL.IO.Native.Codec")
205+ use "gnatcoll-io-native-codec__" & Unix_Win32 & ".adb";
206+ for Implementation ("GNATCOLL.Plugins")
207+ use "gnatcoll-plugins__" & Unix_Win32 & ".adb";
208+ for Implementation ("GNATCOLL.OS.Stat.Stat")
209+ use "gnatcoll-os-stat-stat__" & Unix_Win32 & ".adb";
210+ for Implementation ("GNATCOLL.OS.FS.Null_File")
211+ use "gnatcoll-os-fs-null_file__" & Unix_Win32 & ".adb";
212+ for Implementation ("GNATCOLL.OS.FS.Open")
213+ use "gnatcoll-os-fs-open__" & Unix_Win32 & ".adb";
214+ for Implementation ("GNATCOLL.OS.FS.Set_Close_On_Exec")
215+ use "gnatcoll-os-fs-set_close_on_exec__" & Unix_Win32 & ".adb";
216+ for Implementation ("GNATCOLL.OS.FS.Is_Console")
217+ use "gnatcoll-os-fs-is_console__" & Unix_Win32 & ".adb";
218+ for Implementation ("GNATCOLL.OS.Process.Wait")
219+ use "gnatcoll-os-process-wait__" & Unix_Win32 & ".adb";
220+ for Implementation ("GNATCOLL.OS.Process.Internal_Spawn")
221+ use "gnatcoll-os-process-internal_spawn__" & Unix_Win32 & ".adb";
222+ for Specification ("GNATCOLL.OS.Process_Types")
223+ use "gnatcoll-os-process_types__" & Unix_Win32 & ".ads";
224+ for Implementation ("GNATCOLL.OS.Process_Types")
225+ use "gnatcoll-os-process_types__" & Unix_Win32 & ".adb";
226+ for Implementation ("GNATCOLL.OS.Process.State")
227+ use "gnatcoll-os-process-state__" & Unix_Win32 & ".adb";
228+ for Implementation ("GNATCOLL.OS.Process.Wait_For_Processes")
229+ use "gnatcoll-os-process-wait_for_processes__" & Unix_Win32 & ".adb";
230+ for Specification ("GNATCOLL.OS.Dir_Types")
231+ use "gnatcoll-os-dir_types__" & Unix_Win32 & ".ads";
232+ for Implementation ("GNATCOLL.OS.Dir.Open")
233+ use "gnatcoll-os-dir-open__" & Unix_Win32 & ".adb";
234+ for Implementation ("GNATCOLL.OS.Dir.Close")
235+ use "gnatcoll-os-dir-close__" & Unix_Win32 & ".adb";
236+ for Implementation ("GNATCOLL.OS.Dir.Read")
237+ use "gnatcoll-os-dir-read__" & Unix_Win32 & ".adb";
238+ for Implementation ("GNATCOLL.OS.FSUtil.Copy_File_Content")
239+ use "gnatcoll-os-fsutil-copy_file_content__" & Unix_Win32 & ".adb";
240+ for Implementation ("GNATCOLL.OS.FSUtil.Copy_Permissions")
241+ use "gnatcoll-os-fsutil-copy_permissions__" & Unix_Win32 & ".adb";
242+ for Implementation ("GNATCOLL.OS.FSUtil.Copy_Timestamps")
243+ use "gnatcoll-os-fsutil-copy_timestamps__" & Unix_Win32 & ".adb";
290244
291245 case OS is
292246 when "unix" | "osx" =>
0 commit comments