OpenJDK İnşa(Building) Part6

Kerim Fırat
2 min readJan 4, 2021

Bu makalede OpenJDK inşa(build) serisinin 6.bölümü işlenecektir.

OpenJDK serisinin 1.bölümü için Link
OpenJDK serisinin 2.bölümü için Link
OpenJDK serisinin 3.bölümü için Link
OpenJDK serisinin 4.bölümü için Link
OpenJDK serisinin 5.bölümü için Link

Makalemizin 5.serisinde,yazıyı fazla uzatmamak adına aşağıdaki başlığı yarıda bırakmak zorunda kalmıştım.Bu makalede(6.seri) kaldığımız yerden devam ediyoruz. Aşağıda,yarıda bıraktığımız bölümün ana başlığından kısa bir kesit verilmiştir.

Common(ortak) Configure Argümanları(Part 5 devamı):
Bu bölümde en yaygın ve en önemli configure argümanlarına yer verilmiştir.
Mevcut tüm yapılandırma argümanları hakkında güncel bilgi almak için aşağıdaki komutu çalıştırın:

bash configure --help

NOT:Bu yardım metninin,JDK ile ilgili olmayan “ — dvidir” gibi autoconf seçeneklerini de içerdiğini unutmayın. Sadece JDK’ya özgü özellikleri listelemek için yukarıdaki komut yerine “bash configure — help=short” komutunu kullanın.

Native Derleme için Argüman Yapılandırma:
Bu devkit’i derleyiciler,araçlar ve kaynaklar için:

--with-devkit=<path>

sysrot olarak kullanmak için bir path belirlemek:

--with-sysroot=<path>

Aranacak her türlü binary dosyası yolunu default olarak belirlemek için:

--with-extra-path=<path>[;<path>]

Toolchain ikili dosyaların aranacağı dizinleri ekleyin:

--with-toolchain-path=<path>[;<path>]

JDK C dosyalarını derlerken flags(bayrak) eklemek için:

--with-extra-cflags=<flags>

JDK C++ dosyalarını derlerken flags(bayrak) eklemek için:

--with-extra-cxxflags=<flags>

JDK ile ilgili kütüphaneleri bağlamak için bayrak ekleme:

--with-extra-ldflags=<flags>

Harici Bağımlılıklar için Argüman Yapılandırma:
Boot JDK’sının yolunu ayarlayın:

--with-boot-jdk=<path>

FreeType yolunu ayarlayın:

--with-freetype=<path>

CUPS yolunu ayarlayın:

--with-cups=<path>

X11 yolunu ayarlayın:

--with-x=<path>

ALSA yolunu ayarlayın:

--with-alsa=<path>

libffi yolunu ayarlayın:

--with-libffi=<path>

JTReg(Test Framework) yolunu ayarlayın:

--with-jtreg=<path>

JDK tarafından kulanılan bazı üçüncü parti kütüphaneler(libjpeg,giflib,libpng,lcms,ve zlib) JDK deposona dahildir.
JDK yapısı default olarak libjpeg,giflib,libpng,lcms paketlerini paketlinmiş olarak kapsar.Ancak zlib için,sistem kütüphanesi(eğer varsa) Windows ve AIX dışında kullanılır. Bununla birlikte,paketlenmiş kütüphaneler harici sürümlerle değiştirilebilir. Bunu yapmak için,ilgili kütüpheneleri aşağıda verilen komutlarda “<source>” olarak kaynak belirterek yapmak mümkündür.

libjpeg için kullanım:

--with-libjpeg=<source>

giflib için kullanım:

--with-giflib=<source>

ligpng için kullanım:

--with-libpng=<source>

lcms için kullanım:

--with-lcms=<source>

zlib için kullanım:

--with-zlib=<source>

Linux’da,C++ çalışma zamanının statik veya dinamik bağlantısını seçmek mümkündür. Statik bağlantı varsayılan olarak seçiliyse fakat kütüphane bulunamazsa,yedek olarak dinamik kütüphane seçilecektir.

C++ çalışma zamanı bağlantısını belirlemek için aşağıdaki komutu ve parametreleri kullanabilirsiniz. Komut:

--with-stdc++lib=<method>

Parametreler: static,dynamic,default

Kontrol Değişkenlerini Yapılandırma:
Konfigürasyon(configure) değişkenin değerini komut satırında veya ortamda geçersiz kılarak konfigürasyonun belirli yönlerini kontrol etmek mümkündür.
Genelde bunu yapmak tavsiye edilmez.Çünkü yanlış kullanılması durumunda bozuk-hasarlı bir konfigürasyona(configure) neden olabilir.
Dolayısıyla inşa süreci konusunda bilgili değilseniz,bu yöntemi doğru kullanmak ve uygulamak oldukça zordur. Ancak “configure” betiği bu durumu gözönünde bulundurur ve herhangi bir hata tespit edilirse,hata ile ilgli bir uyarı yazdıracaktır.

Ancak configure değerini komut satırında geçersiz kılınması ile ilgili birkaç yapılandırma değişkeni vardır. Bunlar,MAKE veya GREP gibi inşa sürecinin ihtiyaç duyduğu araçların konumunu tanımlayan değişkenlerdir.
Böyle bir değişken belirtilirse,configure betiği tool’u otomatik olarak algılamaya çalışmak yerine bu değeri kullanacaktır.
Örnek kullanım:

bash configure MAKE=/opt/gnumake4.0/bin/make.

Eğer bir konfigürasyon argümanı varsa,yerine onu kullanabilirsiniz.
Örneğin “JTREGEXE” yerine

--with-jtreg

kullanın.

-end of

--

--

Kerim Fırat
Kerim Fırat

Written by Kerim Fırat

Senior Android Platform(AOSP,AAOS) Architect,Open Source Contributor | Turkey Java User Group Vice Chairman | Author

No responses yet