Hiyerarşi Uzlaşımları
Önceki GNU C Kütüphanesinin Uyarlanması Sonraki
Hiyerarşi Uzlaşımları
Bir GNU yapılandırma ismi üç parçadan oluşur: İşlemci türü, üretici ismi ve işletim sistemi. configure betiği bunları sistem bağımlı dizinlerin hangilerine bakacağını bilmek için kullanır. Eğer configure betiğine --nfp seçeneği belirtilmemişse, ayrıca, makine/fpu dizini de kullanılır. Bir işletim sisteminin genellikle bir temel işletim sistemi vardır; örneğin, Linux işletim sistemi için bu temel işletim sistemi unix/sysv'dir. Dizinlere bakılmasını sağlayacak algoritma basittir: configure betiği, temel işletim sistemi, üretici, işlemci türü ve işletim sissemi sırasıyla bir liste oluşturur. Bunların aralarına bölü işaretleri yerleştirerek dizinleri elde eder; örneğin, yapılandırma i686-linux-gnu ise bu unix/sysv/linux/i386/i686 ile sonuçlanır. configure betiği sırayla dizinleri kaldırarak diğer dizileri de dener, böylece diğerlerinin yanında unix/sysv/linux ve unix/sysv dizinleri de ayrıca denenir. İşletim sistemlerinde sürüm numaraları her zaman çok önemli olmaz; örneğin irix6.2 ve irix6.3 dizinlerinin isimlerinde configure noktadan sonraki kısımları atarak da deneme yapar.
Bir örnek olarak, i686-linux-gnu yapılandırmasında denenecek dizinlerin bir listesine yer verilmiştir (crypt ve linuxthreads eklentileriyle):
sysdeps/i386/elf
crypt/sysdeps/unix
linuxthreads/sysdeps/unix/sysv/linux
linuxthreads/sysdeps/pthread
linuxthreads/sysdeps/unix/sysv
linuxthreads/sysdeps/unix
linuxthreads/sysdeps/i386/i686
linuxthreads/sysdeps/i386
linuxthreads/sysdeps/pthread/no-cmpxchg
sysdeps/unix/sysv/linux/i386
sysdeps/unix/sysv/linux
sysdeps/gnu
sysdeps/unix/common
sysdeps/unix/mman
sysdeps/unix/inet
sysdeps/unix/sysv/i386/i686
sysdeps/unix/sysv/i386
sysdeps/unix/sysv
sysdeps/unix/i386
sysdeps/unix
sysdeps/posix
sysdeps/i386/i686
sysdeps/i386/i486
sysdeps/libm-i387/i686
sysdeps/i386/fpu
sysdeps/libm-i387
sysdeps/i386
sysdeps/wordsize-32
sysdeps/ieee754
sysdeps/libm-ieee754
sysdeps/generic
Farklı makine mimarileri teamülen ana kaynak dizinindeki sydeps dizin ağacındaki altdizinlerdir. Örneğin, sysdeps/sparc ve sysdeps/m68k. Bunlar bu makine mimarilerine özgü dosyaları içerir, bu mimarilerde kullanılan işletim sistemlerine özgü dosyaları içermezler. Bu mimarilerde özelleştirilmiş alt dizinler de olabilir; örneğin, sysdeps/m68k/68020. Belli bir makinede kullanılan aritmetik işlemciye özel kod sysdeps/makine/fpu dizinlerinde bulunur.
sysdeps dizininin altında belli bir makine mimarisine ait olmayan birkaç dizin vardır.
generic
Evvelce açıklandığı gibi (GNU C Kütüphanesinin Uyarlanması), bu alt dizindekiler tüm diğerlerinden sonra her yapılandırma tarafından dolaylı olarak kullanılır.
ieee754
IEEE 754 kayan nokta biçimi (IEEE 754 tek hassasiyetli biçim için float türü ve IEEE 754 çift hassasiyetli biçim için double türü) kullanan kodun bulunduğu dizin. Genellikle bu dizin makine mimarisine özel dizin içindeki Implies (m68k/Implies gibi) dosyasında belirtilir.
libm-ieee754
IEEE 754 uyumlu kayan nokta biçimi kullanılan platformların matematik kütüphanesinin gerçeklenimini içerir.
libm-i387
Bu özel bir durumdur. Aslında kodun ideal yeri sysdeps/i386/fpu olmalıydı ama çeşitli sebeplerle ayrı tutulmaktadır.
posix
Bu dizin POSIX.1 işlevlerine konu olan kütüphanedeki şeylerin gerçeklenimini içerir. Bazı POSIX.1 işlevlerinin kendilerini içerir. Şüphesiz, POSIX.1 kendi kurallarına göre tamamen gerçeklenemez, bu bakımdan sadece posix kullanan bir yapılandırma tamam olamayacaktır.
unix
Bu dizin Unix benzeri şeyler içindir. Bkz. GNU C Kütüphanesinin Unix Sistemlerine Uyarlanması. unix, posix'i uygular. unix dizininin altında özel amaçlı bazı dizinler bulunur:
unix/common
Bu dizin hem BSD hem de System V 4. sürümünde ortak olan şeyleri içerir. unix/bsd ve unix/sysv/sysv4 her ikisi de unix/common uygular.
unix/inet
Bu dizin Unix sistemlerindeki socket ve ilgili işlevler içindir. unix/inet/Subdirs dosyasında inet üst seviyeli alt dizindir. unix/common, unix/inet uygular.
mach
Bu dizin, CMU'daki Mach mikroçekirdeğini (GNU işletim sistemi içerir) temel alan şeyleri içerir. Diğer temel işletim sistemlerinin (örneğin, VMS) sysdeps hiyerarşisi içinde unix and mach ile aynı seviyede kendi dizinleri vardır.
Önceki Üst Ana Başlık Sonraki
GNU C Kütüphanesinin Uyarlanması Başlangıç GNU C Kütüphanesinin Unix Sistemlerine Uyarlanması
Bir Linux Kitaplığı Sayfası