GNU Autoconf: yapılandırma komut dosyaları oluşturmak için mükemmel bir araç

GNU Otomatik Yapılandırma

GNU Autoconf, komut dosyalarının oluşturulmasını kolaylaştıran bir araç

Yazılım geliştirme söz konusu olduğunda, hedef sistemin mimarisi, uyumluluk, GUI, kütüphaneler ve diğer şeylerin yanı sıra ele alınması gereken çok sayıda nokta vardır. Bir de buna yazılımımızın kodunun sadece tek bir sistemde değil, cross-platform da çalışabilmesini istediğimizi de eklersek, bu konu daha da karmaşık hale geliyor.

Bundan bahsetmemizin nedeni açık kaynak geliştiricilere bu alanda yardımcı olabilecek çeşitli araçların bulunması ve bu özel durum için de geçerli olmasıdır. Biraz GNU Autoconf'tan bahsedelim.

GNU Autoconf Hakkında

GNU Otomatik Yapılandırma GNU web sitesinde şu şekilde açıklanmaktadır::

Yazılım kaynak kodu paketlerini otomatik olarak yapılandırmak için kabuk komut dosyaları üreten genişletilebilir bir M4 makro paketi. Bu komut dosyaları, manuel kullanıcı müdahalesi olmadan paketleri birçok UNIX benzeri sistem türüne uyarlayabilir. Autoconf, paketin kullanabileceği işletim sistemi özelliklerini M4 makro çağrıları biçiminde listeleyen bir şablon dosyasından bir paket için bir yapılandırma komut dosyası oluşturur.

Başka bir deyişle, GNU Autoconf, kaynak kodunun farklı işletim sistemleri arasında taşınabilirliğini kolaylaştıran bir araçtır ve kullanmak istediğiniz sistemde yürütüldüğünde ondan bağımsız olan komut dosyaları oluştururken derleme ortamları.

Daha önce de belirtildiği gibi GNU Autoconf Kodun çeşitli UNIX tipi sistemlere uyarlanması görevini "kolaylaştırır", ancak bunu otomatik olarak yapmaz. GNU Autoconf, kodunuzun koşullu derleme gerektiren tonlarca kaynak kod bloğuyla sonuçlanmaması için ihtiyacınız olan araçtır.

Ayrıca GNU Autoconf tekerleği yeniden icat etmekten kaçının, yani, işletim sistemi ve derleyici ayarlarını, kurulu ve bulunan kütüphaneleri otomatik olarak algılayan bir Makefile yazmak, ki bu da bunu zaten sizin için yapan bir şeye çok fazla zaman harcanmasıdır.

autoconf ilgili tüm sorunları çözmez taşınabilir yazılım paketlerinin oluşturulmasıyla, bu nedenle diğer derleme araçlarıyla birlikte kullanılmalıdır Automake ve Libtool gibi. Bu diğer araçlar, tüm standart hedefleri içeren taşınabilir, özyinelemeli bir makefile oluşturmak, paylaşılan kitaplıkları bağlamak vb. gibi işleri üstlenir.

Içinde ana özellikler Autoconf'ta aşağıdakiler öne çıkıyor:

  • Otomatik Yapılandırma: Autoconf,config.ac veyaconfig.in adlı bir giriş dosyasından otomatik olarak yapılandırma komut dosyaları oluşturmak için kullanılır. Bu yapılandırma komut dosyaları, yazılımın derlendiği sistemin özelliklerini ve yeteneklerini belirlemekten sorumludur.
  • Taşınabilirlik: Autoconf'un ana hedeflerinden biri yazılımın işletim sistemleri ve mimariler arasında kolayca taşınabilir olmasını sağlamaktır. Bunu başarmak için Autoconf tarafından oluşturulan yapılandırma komut dosyası, belirli kitaplıkların, komutların veya derleyici özelliklerinin varlığı gibi belirli özellikleri belirlemek üzere sistem üzerinde testler gerçekleştirir.
  • M4:Autoconf iki katman üzerine yazılmıştır: Saf M4 programlama için uygun makrolar sağlayan M4sugar ve kabuk komut dosyası oluşturmaya adanmış makrolar sağlayan M4sh, işlevselliğinin temeli olarak M4 makro dilini kullanır. M4, tanımlanmış bir dizi makro ve kuraldan yapılandırma komut dosyaları oluşturmak için kullanılan bir kelime işlemcidir.
  • Yapılandırma Komut Dosyaları: Autoconf tarafından oluşturulan ve genellikle .configure olarak adlandırılan yapılandırma komut dosyaları, kaynak kodu derlenmeden önce yürütülür. Bu komut dosyaları testler gerçekleştirir ve yapı ortamını, bulunduğu sistemin özelliklerine göre yapılandırır.

Şunu belirtmekte yarar var ki GNU Autoconf şu anda 2.72 sürümünde ve gelecekteki C dili standardı C23'e yönelik desteğin altını çiziyor; yalnızca eski K&R tarzı işlev bildirimi sözdizimini destekleyen C89 öncesi dil değişkenlerini kullanan C derleyicileri için destek durduruldu ve bu zaten bir sonraki standartla uyumlu değil.

Buna ek olarak Autoconf'u geliştirmek için kullanılan bazı Autoconf bileşenlerini oluşturmak için artık minio olarak M4 1.4.8, Perl 5.10'a ihtiyaç duyuluyor ve bahsediliyor ki için kontroller uygulanır yazılım geliştiricilerinin sistemin güvence altına alınmasına izin verin 2038 yılı sorununa tabi olmayan time_t türünü destekleyin.

Son olarak, eğer onun hakkında daha fazla bilgi edinmekle ilgileniyorayrıntılarını kontrol edebilirsiniz. aşağıdaki bağlantı.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.