libraries.m4 revision 663:f3cdfb3d360d
1132751Skan# 2132751Skan# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 3169718Skan# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 445299Sobrien# 5132751Skan# This code is free software; you can redistribute it and/or modify it 6169718Skan# under the terms of the GNU General Public License version 2 only, as 7132751Skan# published by the Free Software Foundation. Oracle designates this 8169718Skan# particular file as subject to the "Classpath" exception as provided 952914Sobrien# by Oracle in the LICENSE file that accompanied this code. 10169718Skan# 11132751Skan# This code is distributed in the hope that it will be useful, but WITHOUT 12169718Skan# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13132751Skan# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14169718Skan# version 2 for more details (a copy is included in the LICENSE file that 1552914Sobrien# accompanied this code). 16169718Skan# 17132751Skan# You should have received a copy of the GNU General Public License version 18169718Skan# 2 along with this work; if not, write to the Free Software Foundation, 19132751Skan# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20169718Skan# 2196340Sobrien# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22169718Skan# or visit www.oracle.com if you need additional information or have any 23132751Skan# questions. 24169718Skan# 25132751Skan 26169718SkanAC_DEFUN_ONCE([LIB_SETUP_INIT], 2796340Sobrien[ 28169718Skan 29132751Skan############################################################################### 30132751Skan# 31132751Skan# OS specific settings that we never will need to probe. 32132751Skan# 33169718Skanif test "x$OPENJDK_TARGET_OS" = xlinux; then 34132751Skan AC_MSG_CHECKING([what is not needed on Linux?]) 35169718Skan PULSE_NOT_NEEDED=yes 3652914Sobrien AC_MSG_RESULT([pulse]) 3752914Sobrienfi 38169718Skan 39169718Skanif test "x$OPENJDK_TARGET_OS" = xsolaris; then 40169718Skan AC_MSG_CHECKING([what is not needed on Solaris?]) 41169718Skan ALSA_NOT_NEEDED=yes 4245299Sobrien PULSE_NOT_NEEDED=yes 43169718Skan AC_MSG_RESULT([alsa pulse]) 44132751Skanfi 45132751Skan 46169718Skanif test "x$OPENJDK_TARGET_OS" = xwindows; then 47169718Skan AC_MSG_CHECKING([what is not needed on Windows?]) 48169718Skan CUPS_NOT_NEEDED=yes 4952914Sobrien ALSA_NOT_NEEDED=yes 50169718Skan PULSE_NOT_NEEDED=yes 51169718Skan X11_NOT_NEEDED=yes 52169718Skan AC_MSG_RESULT([alsa cups pulse x11]) 53169718Skanfi 54169718Skan 55169718Skanif test "x$OPENJDK_TARGET_OS" = xmacosx; then 56169718Skan AC_MSG_CHECKING([what is not needed on MacOSX?]) 57132751Skan ALSA_NOT_NEEDED=yes 58132751Skan PULSE_NOT_NEEDED=yes 59169718Skan X11_NOT_NEEDED=yes 60169718Skan FREETYPE2_NOT_NEEDED=yes 61169718Skan # If the java runtime framework is disabled, then we need X11. 6252914Sobrien # This will be adjusted below. 63169718Skan AC_MSG_RESULT([alsa pulse x11]) 64132751Skanfi 65132751Skan 66132751Skanif test "x$OPENJDK_TARGET_OS" = xbsd; then 67169718Skan AC_MSG_CHECKING([what is not needed on bsd?]) 68169718Skan ALSA_NOT_NEEDED=yes 69169718Skan AC_MSG_RESULT([alsa]) 7052914Sobrienfi 71169718Skan 72132751Skanif test "x$OPENJDK" = "xfalse"; then 73132751Skan FREETYPE2_NOT_NEEDED=yes 74169718Skanfi 75169718Skan 76169718Skanif test "x$SUPPORT_HEADFUL" = xno; then 7796340Sobrien X11_NOT_NEEDED=yes 78169718Skanfi 79169718Skan 80169718Skan############################################################################### 81169718Skan# 82169718Skan# Check for MacOSX support for OpenJDK. If this exists, try to build a JVM 83169718Skan# that uses this API. 84169718Skan# 85169718SkanAC_ARG_ENABLE([macosx-runtime-support], [AS_HELP_STRING([--disable-macosx-runtime-support], 86132751Skan [disable the use of MacOSX Java runtime support framework @<:@enabled@:>@])], 87132751Skan [MACOSX_RUNTIME_SUPPORT="${enableval}"],[MACOSX_RUNTIME_SUPPORT="no"]) 88132751Skan 89169718SkanUSE_MACOSX_RUNTIME_SUPPORT=no 90169718SkanAC_MSG_CHECKING([for explicit Java runtime support in the OS]) 91169718Skanif test -f /System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Headers/JavaRuntimeSupport.h; then 9252914Sobrien if test "x$MACOSX_RUNTIME_SUPPORT" != xno; then 93169718Skan MACOSX_RUNTIME_SUPPORT=yes 94132751Skan USE_MACOSX_RUNTIME_SUPPORT=yes 95132751Skan AC_MSG_RESULT([yes, does not need alsa freetype2 pulse and X11]) 96169718Skan else 97169718Skan AC_MSG_RESULT([yes, but explicitly disabled.]) 98169718Skan fi 9952914Sobrienelse 100169718Skan AC_MSG_RESULT([no]) 101169718Skanfi 102169718Skan 103169718Skanif test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$USE_MACOSX_RUNTIME_SUPPORT" = xno; then 104132751Skan AC_MSG_CHECKING([what is not needed on an X11 build on MacOSX?]) 105132751Skan X11_NOT_NEEDED= 106169718Skan FREETYPE2_NOT_NEEDED= 107169718Skan AC_MSG_RESULT([alsa pulse]) 108169718Skanfi 109169718Skan]) 110169718Skan 11152914SobrienAC_DEFUN_ONCE([LIB_SETUP_X11], 112169718Skan[ 113132751Skan 114132751Skan############################################################################### 115169718Skan# 116132751Skan# Check for X Windows 117169718Skan# 11852914Sobrien 11945299Sobrien# Check if the user has specified sysroot, but not --x-includes or --x-libraries. 120169718Skan# Make a simple check for the libraries at the sysroot, and setup --x-includes and 121169718Skan# --x-libraries for the sysroot, if that seems to be correct. 122169718Skanif test "x$SYS_ROOT" != "x/"; then 123132751Skan if test "x$x_includes" = xNONE; then 124169718Skan if test -f "$SYS_ROOT/usr/X11R6/include/X11/Xlib.h"; then 12545299Sobrien x_includes="$SYS_ROOT/usr/X11R6/include" 126169718Skan fi 127169718Skan fi 128169718Skan if test "x$x_libraries" = xNONE; then 129169718Skan if test -f "$SYS_ROOT/usr/X11R6/lib/libX11.so"; then 130169718Skan x_libraries="$SYS_ROOT/usr/X11R6/lib" 131169718Skan fi 132169718Skan fi 133169718Skanfi 134132751Skan 135169718Skan# Now let autoconf do it's magic 136132751SkanAC_PATH_X 137169718SkanAC_PATH_XTRA 13896340Sobrien 139169718Skan# AC_PATH_XTRA creates X_LIBS and sometimes adds -R flags. When cross compiling 140132751Skan# this doesn't make sense so we remove it. 141132751Skanif test "x$COMPILE_TYPE" = xcross; then 142169718Skan X_LIBS=`$ECHO $X_LIBS | $SED 's/-R \{0,1\}[[^ ]]*//g'` 143132751Skanfi 144169718Skan 14552914Sobrienif test "x$no_x" = xyes && test "x$X11_NOT_NEEDED" != xyes; then 146169718Skan HELP_MSG_MISSING_DEPENDENCY([x11]) 147169718Skan AC_MSG_ERROR([Could not find X11 libraries. $HELP_MSG]) 148169718Skanfi 149169718Skan 150169718Skan# Some of the old makefiles require a setting of OPENWIN_HOME 151169718Skan# Since the X11R6 directory has disappeared on later Linuxes, 152169718Skan# we need to probe for it. 153169718Skanif test "x$OPENJDK_TARGET_OS" = xlinux; then 154169718Skan if test -d "$SYS_ROOT/usr/X11R6"; then 155169718Skan OPENWIN_HOME="$SYS_ROOT/usr/X11R6" 156169718Skan fi 157169718Skan if test -d "$SYS_ROOT/usr/include/X11"; then 158169718Skan OPENWIN_HOME="$SYS_ROOT/usr" 159132751Skan fi 160169718Skanfi 161132751Skanif test "x$OPENJDK_TARGET_OS" = xsolaris; then 162169718Skan OPENWIN_HOME="/usr/openwin" 16396340Sobrienfi 164169718SkanAC_SUBST(OPENWIN_HOME) 165132751Skan 166132751Skan 167169718Skan# 168132751Skan# Weird Sol10 something check...TODO change to try compile 169169718Skan# 17096340Sobrienif test "x${OPENJDK_TARGET_OS}" = xsolaris; then 171169718Skan if test "`uname -r`" = "5.10"; then 172132751Skan if test "`${EGREP} -c XLinearGradient ${OPENWIN_HOME}/share/include/X11/extensions/Xrender.h`" = "0"; then 173169718Skan X_CFLAGS="${X_CFLAGS} -DSOLARIS10_NO_XRENDER_STRUCTS" 174132751Skan fi 175169718Skan fi 17696340Sobrienfi 177169718Skan 178169718SkanAC_LANG_PUSH(C) 179169718SkanOLD_CFLAGS="$CFLAGS" 180169718SkanCFLAGS="$CFLAGS $X_CFLAGS" 181169718Skan 182169718Skan# Need to include Xlib.h and Xutil.h to avoid "present but cannot be compiled" warnings on Solaris 10 183169718SkanAC_CHECK_HEADERS([X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h], 184132751Skan [X11_A_OK=yes], 185169718Skan [X11_A_OK=no; break], 186132751Skan [ # include <X11/Xlib.h> 187169718Skan # include <X11/Xutil.h> 18896340Sobrien ]) 189169718Skan 190132751SkanCFLAGS="$OLD_CFLAGS" 191169718SkanAC_LANG_POP(C) 192132751Skan 193169718Skanif test "x$X11_A_OK" = xno && test "x$X11_NOT_NEEDED" != xyes; then 19496340Sobrien HELP_MSG_MISSING_DEPENDENCY([x11]) 195169718Skan AC_MSG_ERROR([Could not find all X11 headers (shape.h Xrender.h XTest.h). $HELP_MSG]) 196132751Skanfi 197169718Skan 198132751SkanAC_SUBST(X_CFLAGS) 199169718SkanAC_SUBST(X_LIBS) 20052914Sobrien]) 201169718Skan 202132751SkanAC_DEFUN_ONCE([LIB_SETUP_CUPS], 203169718Skan[ 204132751Skan 205169718Skan############################################################################### 20652914Sobrien# 207169718Skan# The common unix printing system cups is used to print from java. 208169718Skan# 209169718SkanAC_ARG_WITH(cups, [AS_HELP_STRING([--with-cups], 210169718Skan [specify prefix directory for the cups package 211169718Skan (expecting the headers under PATH/include)])]) 212169718SkanAC_ARG_WITH(cups-include, [AS_HELP_STRING([--with-cups-include], 213169718Skan [specify directory for the cups include files])]) 214169718Skan 215169718Skanif test "x$CUPS_NOT_NEEDED" = xyes; then 216169718Skan if test "x${with_cups}" != x || test "x${with_cups_include}" != x; then 217169718Skan AC_MSG_WARN([cups not used, so --with-cups is ignored]) 218169718Skan fi 219169718Skan CUPS_CFLAGS= 220132751Skanelse 221169718Skan CUPS_FOUND=no 222132751Skan 223169718Skan if test "x${with_cups}" = xno || test "x${with_cups_include}" = xno; then 22452914Sobrien AC_MSG_ERROR([It is not possible to disable the use of cups. Remove the --without-cups option.]) 225169718Skan fi 226132751Skan 227169718Skan if test "x${with_cups}" != x; then 228169718Skan CUPS_CFLAGS="-I${with_cups}/include" 229169718Skan CUPS_FOUND=yes 230117428Skan fi 231169718Skan if test "x${with_cups_include}" != x; then 232132751Skan CUPS_CFLAGS="-I${with_cups_include}" 233169718Skan CUPS_FOUND=yes 234169718Skan fi 235169718Skan if test "x$CUPS_FOUND" = xno; then 23645299Sobrien BDEPS_CHECK_MODULE(CUPS, cups, xxx, [CUPS_FOUND=yes]) 237169718Skan fi 238132751Skan if test "x$CUPS_FOUND" = xno; then 239169718Skan # Are the cups headers installed in the default /usr/include location? 240132751Skan AC_CHECK_HEADERS([cups/cups.h cups/ppd.h], 241169718Skan [CUPS_FOUND=yes 24245299Sobrien CUPS_CFLAGS= 243169718Skan DEFAULT_CUPS=yes]) 244132751Skan fi 245169718Skan if test "x$CUPS_FOUND" = xno; then 246169718Skan # Getting nervous now? Lets poke around for standard Solaris third-party 247169718Skan # package installation locations. 24845299Sobrien AC_MSG_CHECKING([for cups headers]) 249169718Skan if test -s /opt/sfw/cups/include/cups/cups.h; then 250169718Skan # An SFW package seems to be installed! 251169718Skan CUPS_FOUND=yes 252169718Skan CUPS_CFLAGS="-I/opt/sfw/cups/include" 253169718Skan elif test -s /opt/csw/include/cups/cups.h; then 254169718Skan # A CSW package seems to be installed! 255169718Skan CUPS_FOUND=yes 256132751Skan CUPS_CFLAGS="-I/opt/csw/include" 257169718Skan fi 258169718Skan AC_MSG_RESULT([$CUPS_FOUND]) 259169718Skan fi 26045299Sobrien if test "x$CUPS_FOUND" = xno; then 261169718Skan HELP_MSG_MISSING_DEPENDENCY([cups]) 262169718Skan AC_MSG_ERROR([Could not find cups! $HELP_MSG ]) 263169718Skan fi 264169718Skanfi 265169718Skan 266169718SkanAC_SUBST(CUPS_CFLAGS) 267169718Skan 268132751Skan]) 269169718Skan 270218822SdimAC_DEFUN_ONCE([LIB_SETUP_FREETYPE], 271169718Skan[ 27245299Sobrien 273169718Skan############################################################################### 274132751Skan# 275132751Skan# The ubiquitous freetype2 library is used to render fonts. 276169718Skan# 277169718SkanAC_ARG_WITH(freetype, [AS_HELP_STRING([--with-freetype], 278169718Skan [specify prefix directory for the freetype2 package 27945299Sobrien (expecting the libraries under PATH/lib and the headers under PATH/include)])]) 280169718Skan 281132751Skan# If we are using the OS installed system lib for freetype, then we do not need to copy it to the build tree 282132751SkanUSING_SYSTEM_FT_LIB=false 283169718Skan 284169718Skanif test "x$FREETYPE2_NOT_NEEDED" = xyes; then 285169718Skan if test "x$with_freetype" != x || test "x$with_freetype_include" != x || test "x$with_freetype_lib" != x; then 28652914Sobrien AC_MSG_WARN([freetype not used, so --with-freetype is ignored]) 287169718Skan fi 288132751Skan FREETYPE2_CFLAGS= 289169718Skan FREETYPE2_LIBS= 290132751Skan FREETYPE2_LIB_PATH= 291169718Skanelse 29296340Sobrien FREETYPE2_FOUND=no 293169718Skan 294132751Skan if test "x$with_freetype" != x; then 295169718Skan BASIC_FIXUP_PATH(with_freetype) 296132751Skan FREETYPE2_LIBS="-L$with_freetype/lib -lfreetype" 297132751Skan FREETYPE2_LIB_PATH="$with_freetype/lib" 29852914Sobrien if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$OPENJDK_TARGET_CPU" = xx86_64 && test -d "$with_freetype/lib/amd64"; then 299169718Skan FREETYPE2_LIBS="-L$with_freetype/lib/amd64 -lfreetype" 300132751Skan FREETYPE2_LIB_PATH="$with_freetype/lib/amd64" 301169718Skan fi 302132751Skan if test "x$OPENJDK_TARGET_OS" = xwindows; then 303169718Skan FREETYPE2_LIBS="$with_freetype/lib/freetype.lib" 30452914Sobrien fi 305169718Skan FREETYPE2_CFLAGS="-I$with_freetype/include" 306169718Skan if test -s $with_freetype/include/ft2build.h && test -d $with_freetype/include/freetype2/freetype; then 307169718Skan FREETYPE2_CFLAGS="-I$with_freetype/include/freetype2 -I$with_freetype/include" 308169718Skan fi 309169718Skan FREETYPE2_FOUND=yes 310169718Skan if test "x$FREETYPE2_FOUND" = xyes; then 311169718Skan # Verify that the directories exist 312132751Skan if ! test -d "$with_freetype/lib" || ! test -d "$with_freetype/include"; then 313169718Skan AC_MSG_ERROR([Could not find the expected directories $with_freetype/lib and $with_freetype/include]) 314132751Skan fi 315169718Skan # List the contents of the lib. 31696340Sobrien FREETYPELIB=`ls $with_freetype/lib/libfreetype.so $with_freetype/lib/freetype.dll 2> /dev/null` 317169718Skan if test "x$FREETYPELIB" = x; then 318132751Skan AC_MSG_ERROR([Could not find libfreetype.so nor freetype.dll in $with_freetype/lib]) 319169718Skan fi 320132751Skan # Check one h-file 321169718Skan if ! test -s "$with_freetype/include/ft2build.h"; then 32252914Sobrien AC_MSG_ERROR([Could not find $with_freetype/include/ft2build.h]) 323169718Skan fi 324169718Skan fi 325169718Skan fi 326218822Sdim if test "x$FREETYPE2_FOUND" = xno; then 327169718Skan BDEPS_CHECK_MODULE(FREETYPE2, freetype2, xxx, [FREETYPE2_FOUND=yes], [FREETYPE2_FOUND=no]) 328169718Skan USING_SYSTEM_FT_LIB=true 329169718Skan fi 330169718Skan if test "x$FREETYPE2_FOUND" = xno && test "x$OPENJDK_TARGET_OS" = xwindows; then 331169718Skan FREETYPELOCATION="$PROGRAMFILES/GnuWin32" 332169718Skan BASIC_FIXUP_PATH(FREETYPELOCATION) 333132751Skan AC_MSG_CHECKING([for freetype in some standard windows locations]) 334169718Skan if test -s "$FREETYPELOCATION/include/ft2build.h" && test -d "$FREETYPELOCATION/include/freetype2/freetype"; then 33596340Sobrien FREETYPE2_CFLAGS="-I$FREETYPELOCATION/include/freetype2 -I$FREETYPELOCATION/include" 336169718Skan FREETYPE2_LIBS="$FREETYPELOCATION/lib/freetype.lib" 337169718Skan FREETYPE2_LIB_PATH="$FREETYPELOCATION/lib" 338169718Skan if ! test -s "$FREETYPE2_LIBS"; then 339169718Skan AC_MSG_ERROR([Could not find $FREETYPE2_LIBS]) 340169718Skan fi 341169718Skan if ! test -s "$FREETYPE2_LIB_PATH/freetype.dll"; then 342169718Skan AC_MSG_ERROR([Could not find $FREETYPE2_LIB_PATH/freetype.dll]) 343169718Skan fi 344169718Skan USING_SYSTEM_FT_LIB=true 345169718Skan FREETYPE2_FOUND=yes 346132751Skan fi 347169718Skan AC_MSG_RESULT([$FREETYPE2_FOUND]) 34896340Sobrien fi 349169718Skan if test "x$FREETYPE2_FOUND" = xno; then 350169718Skan PKG_CHECK_MODULES(FREETYPE2, freetype2, [FREETYPE2_FOUND=yes], [FREETYPE2_FOUND=no]) 351169718Skan # On solaris, pkg_check adds -lz to freetype libs, which isn't necessary for us. 352132751Skan FREETYPE2_LIBS=`$ECHO $FREETYPE2_LIBS | $SED 's/-lz//g'` 353169718Skan USING_SYSTEM_FT_LIB=true 35496340Sobrien # 64-bit libs for Solaris x86 are installed in the amd64 subdirectory, change lib to lib/amd64 355169718Skan if test "x$FREETYPE2_FOUND" = xyes && test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$OPENJDK_TARGET_CPU" = xx86_64; then 356169718Skan FREETYPE2_LIBS=`$ECHO $FREETYPE2_LIBS | $SED 's?/lib?/lib/amd64?g'` 357169718Skan fi 358169718Skan fi 359132751Skan if test "x$FREETYPE2_FOUND" = xno; then 360169718Skan AC_MSG_CHECKING([for freetype in some standard locations]) 36152914Sobrien 362169718Skan if test -s /usr/X11/include/ft2build.h && test -d /usr/X11/include/freetype2/freetype; then 363169718Skan DEFAULT_FREETYPE_CFLAGS="-I/usr/X11/include/freetype2 -I/usr/X11/include" 364169718Skan DEFAULT_FREETYPE_LIBS="-L/usr/X11/lib -lfreetype" 365169718Skan fi 366132751Skan if test -s /usr/include/ft2build.h && test -d /usr/include/freetype2/freetype; then 367169718Skan DEFAULT_FREETYPE_CFLAGS="-I/usr/include/freetype2" 36845299Sobrien DEFAULT_FREETYPE_LIBS="-lfreetype" 369169718Skan fi 370169718Skan 371169718Skan PREV_CXXCFLAGS="$CXXFLAGS" 372169718Skan PREV_LDFLAGS="$LDFLAGS" 373169718Skan CXXFLAGS="$CXXFLAGS $DEFAULT_FREETYPE_CFLAGS" 374169718Skan LDFLAGS="$LDFLAGS $DEFAULT_FREETYPE_LIBS" 375169718Skan AC_LINK_IFELSE([AC_LANG_SOURCE([[#include<ft2build.h> 376169718Skan #include FT_FREETYPE_H 377169718Skan int main() { return 0; } 378169718Skan ]])], 379169718Skan [ 380132751Skan # Yes, the default cflags and libs did the trick. 381169718Skan FREETYPE2_FOUND=yes 38245299Sobrien FREETYPE2_CFLAGS="$DEFAULT_FREETYPE_CFLAGS" 383169718Skan FREETYPE2_LIBS="$DEFAULT_FREETYPE_LIBS" 384169718Skan ], 385169718Skan [ 386169718Skan FREETYPE2_FOUND=no 387132751Skan ]) 388169718Skan CXXCFLAGS="$PREV_CXXFLAGS" 38945299Sobrien LDFLAGS="$PREV_LDFLAGS" 390169718Skan AC_MSG_RESULT([$FREETYPE2_FOUND]) 391169718Skan USING_SYSTEM_FT_LIB=true 392169718Skan fi 393169718Skan if test "x$FREETYPE2_FOUND" = xno; then 394169718Skan HELP_MSG_MISSING_DEPENDENCY([freetype2]) 395169718Skan AC_MSG_ERROR([Could not find freetype2! $HELP_MSG ]) 396169718Skan fi 397169718Skan 398169718Skan if test "x$OPENJDK_TARGET_OS" != xwindows; then 399169718Skan # AC_CHECK_LIB does not support use of cl.exe 400169718Skan PREV_LDFLAGS="$LDFLAGS" 401169718Skan LDFLAGS="$FREETYPE2_LIBS" 402169718Skan AC_CHECK_LIB(freetype, FT_Init_FreeType, 403169718Skan FREETYPE2_FOUND=true, 404169718Skan AC_MSG_ERROR([Could not find freetype2! $HELP_MSG ])) 405169718Skan LDFLAGS="$PREV_LDFLAGS" 406169718Skan fi 407169718Skanfi 408169718Skan 409169718SkanAC_SUBST(USING_SYSTEM_FT_LIB) 410169718SkanAC_SUBST(FREETYPE2_LIB_PATH) 411169718SkanAC_SUBST(FREETYPE2_CFLAGS) 412169718SkanAC_SUBST(FREETYPE2_LIBS) 413169718Skan 414169718Skan]) 415169718Skan 416169718SkanAC_DEFUN_ONCE([LIB_SETUP_ALSA], 417169718Skan[ 418169718Skan 419169718Skan############################################################################### 420169718Skan# 421169718Skan# Check for alsa headers and libraries. Used on Linux/GNU systems. 422169718Skan# 423169718SkanAC_ARG_WITH(alsa, [AS_HELP_STRING([--with-alsa], 424169718Skan [specify prefix directory for the alsa package 425169718Skan (expecting the libraries under PATH/lib and the headers under PATH/include)])]) 426169718SkanAC_ARG_WITH(alsa-include, [AS_HELP_STRING([--with-alsa-include], 427169718Skan [specify directory for the alsa include files])]) 428169718SkanAC_ARG_WITH(alsa-lib, [AS_HELP_STRING([--with-alsa-lib], 429169718Skan [specify directory for the alsa library])]) 430169718Skan 431169718Skanif test "x$ALSA_NOT_NEEDED" = xyes; then 432169718Skan if test "x${with_alsa}" != x || test "x${with_alsa_include}" != x || test "x${with_alsa_lib}" != x; then 433169718Skan AC_MSG_WARN([alsa not used, so --with-alsa is ignored]) 434169718Skan fi 435169718Skan ALSA_CFLAGS= 436132751Skan ALSA_LIBS= 437169718Skanelse 43845299Sobrien ALSA_FOUND=no 439169718Skan 440169718Skan if test "x${with_alsa}" = xno || test "x${with_alsa_include}" = xno || test "x${with_alsa_lib}" = xno; then 441169718Skan AC_MSG_ERROR([It is not possible to disable the use of alsa. Remove the --without-alsa option.]) 442169718Skan fi 443169718Skan 444169718Skan if test "x${with_alsa}" != x; then 445169718Skan ALSA_LIBS="-L${with_alsa}/lib -lalsa" 446169718Skan ALSA_CFLAGS="-I${with_alsa}/include" 447169718Skan ALSA_FOUND=yes 448169718Skan fi 449169718Skan if test "x${with_alsa_include}" != x; then 450132751Skan ALSA_CFLAGS="-I${with_alsa_include}" 451169718Skan ALSA_FOUND=yes 45296340Sobrien fi 453169718Skan if test "x${with_alsa_lib}" != x; then 454169718Skan ALSA_LIBS="-L${with_alsa_lib} -lalsa" 455169718Skan ALSA_FOUND=yes 456169718Skan fi 457169718Skan if test "x$ALSA_FOUND" = xno; then 458169718Skan BDEPS_CHECK_MODULE(ALSA, alsa, xxx, [ALSA_FOUND=yes], [ALSA_FOUND=no]) 459169718Skan fi 460169718Skan if test "x$ALSA_FOUND" = xno; then 461169718Skan PKG_CHECK_MODULES(ALSA, alsa, [ALSA_FOUND=yes], [ALSA_FOUND=no]) 462169718Skan fi 463132751Skan if test "x$ALSA_FOUND" = xno; then 464169718Skan AC_CHECK_HEADERS([alsa/asoundlib.h], 46596340Sobrien [ALSA_FOUND=yes 466169718Skan ALSA_CFLAGS=-Iignoreme 467169718Skan ALSA_LIBS=-lasound 468169718Skan DEFAULT_ALSA=yes], 469169718Skan [ALSA_FOUND=no]) 470132751Skan fi 471169718Skan if test "x$ALSA_FOUND" = xno; then 47252914Sobrien HELP_MSG_MISSING_DEPENDENCY([alsa]) 473169718Skan AC_MSG_ERROR([Could not find alsa! $HELP_MSG ]) 474169718Skan fi 475169718Skanfi 476169718Skan 477169718SkanAC_SUBST(ALSA_CFLAGS) 478169718SkanAC_SUBST(ALSA_LIBS) 479169718Skan 480169718Skan]) 481169718Skan 482169718SkanAC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS], 483169718Skan[ 484132751Skan 485169718Skan############################################################################### 48645299Sobrien# 487169718Skan# Check for the jpeg library 488169718Skan# 489169718Skan 490169718SkanUSE_EXTERNAL_LIBJPEG=true 491169718SkanAC_CHECK_LIB(jpeg, main, [], 492169718Skan [ USE_EXTERNAL_LIBJPEG=false 493169718Skan AC_MSG_NOTICE([Will use jpeg decoder bundled with the OpenJDK source]) 494169718Skan ]) 495169718SkanAC_SUBST(USE_EXTERNAL_LIBJPEG) 496169718Skan 497169718Skan############################################################################### 498132751Skan# 499169718Skan# Check for the gif library 50052914Sobrien# 501169718Skan 502169718SkanAC_ARG_WITH(giflib, [AS_HELP_STRING([--with-giflib], 503169718Skan [use giflib from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])]) 504169718Skan 505132751Skan 506169718SkanAC_MSG_CHECKING([for which giflib to use]) 50745299Sobrien 508169718Skan# default is bundled 509169718SkanDEFAULT_GIFLIB=bundled 510169718Skan 511169718Skan# 512169718Skan# if user didn't specify, use DEFAULT_GIFLIB 513169718Skan# 514169718Skanif test "x${with_giflib}" = "x"; then 515169718Skan with_giflib=${DEFAULT_GIFLIB} 516169718Skanfi 517169718Skan 518169718SkanAC_MSG_RESULT(${with_giflib}) 519132751Skan 520169718Skanif test "x${with_giflib}" = "xbundled"; then 521117428Skan USE_EXTERNAL_LIBGIF=false 522169718Skanelif test "x${with_giflib}" = "xsystem"; then 523169718Skan AC_CHECK_HEADER(gif_lib.h, [], 524169718Skan [ AC_MSG_ERROR([--with-giflib=system specified, but gif_lib.h not found!])]) 525169718Skan AC_CHECK_LIB(gif, DGifGetCode, [], 526132751Skan [ AC_MSG_ERROR([--with-giflib=system specified, but no giflib found!])]) 527169718Skan 52852914Sobrien USE_EXTERNAL_LIBGIF=true 529169718Skanelse 530169718Skan AC_MSG_ERROR([Invalid value of --with-giflib: ${with_giflib}, use 'system' or 'bundled']) 531169718Skanfi 532169718SkanAC_SUBST(USE_EXTERNAL_LIBGIF) 533132751Skan 534169718Skan############################################################################### 53552914Sobrien# 536169718Skan# Check for the zlib library 537169718Skan# 538169718Skan 539169718SkanAC_ARG_WITH(zlib, [AS_HELP_STRING([--with-zlib], 540132751Skan [use zlib from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])]) 541169718Skan 54245299SobrienAC_CHECK_LIB(z, compress, 543169718Skan [ ZLIB_FOUND=yes ], 544169718Skan [ ZLIB_FOUND=no ]) 545169718Skan 546169718SkanAC_MSG_CHECKING([for which zlib to use]) 547132751Skan 548169718SkanDEFAULT_ZLIB=bundled 54952914Sobrienif test "x$OPENJDK_TARGET_OS" = xmacosx; then 550169718Skan# 551169718Skan# On macosx default is system...on others default is 552169718Skan# 553169718Skan DEFAULT_ZLIB=system 554169718Skanfi 555169718Skan 556169718Skanif test "x${ZLIB_FOUND}" != "xyes"; then 557169718Skan# 558169718Skan# If we don't find any system...set default to bundled 559169718Skan# 560169718Skan DEFAULT_ZLIB=bundled 561132751Skanfi 562169718Skan 56352914Sobrien# 564169718Skan# If user didn't specify, use DEFAULT_ZLIB 565169718Skan# 566169718Skanif test "x${with_zlib}" = "x"; then 567169718Skan with_zlib=${DEFAULT_ZLIB} 568132751Skanfi 569169718Skan 57045299Sobrienif test "x${with_zlib}" = "xbundled"; then 571169718Skan USE_EXTERNAL_LIBZ=false 572169718Skan AC_MSG_RESULT([bundled]) 573169718Skanelif test "x${with_zlib}" = "xsystem"; then 574132751Skan if test "x${ZLIB_FOUND}" = "xyes"; then 575169718Skan USE_EXTERNAL_LIBZ=true 57652914Sobrien AC_MSG_RESULT([system]) 577169718Skan else 578169718Skan AC_MSG_RESULT([system not found]) 579169718Skan AC_MSG_ERROR([--with-zlib=system specified, but no zlib found!]) 580169718Skan fi 581132751Skanelse 582169718Skan AC_MSG_ERROR([Invalid value for --with-zlib: ${with_zlib}, use 'system' or 'bundled']) 58352914Sobrienfi 584169718Skan 585169718SkanAC_SUBST(USE_EXTERNAL_LIBZ) 586169718Skan 587169718Skan############################################################################### 588169718SkanLIBZIP_CAN_USE_MMAP=true 589169718Skan 590169718SkanAC_SUBST(LIBZIP_CAN_USE_MMAP) 591169718Skan 592169718Skan############################################################################### 593169718Skan# 594169718Skan# Check if altzone exists in time.h 595132751Skan# 596169718Skan 59745299SobrienAC_LINK_IFELSE([AC_LANG_PROGRAM([#include <time.h>], [return (int)altzone;])], 598169718Skan [has_altzone=yes], 599169718Skan [has_altzone=no]) 600169718Skanif test "x$has_altzone" = xyes; then 601169718Skan AC_DEFINE([HAVE_ALTZONE], 1, [Define if you have the external 'altzone' variable in time.h]) 602132751Skanfi 603169718Skan 60445299Sobrien############################################################################### 605169718Skan# 606169718Skan# Check the maths library 607169718Skan# 608169718Skan 609132751SkanAC_CHECK_LIB(m, cos, [], 610169718Skan [ 61196340Sobrien AC_MSG_NOTICE([Maths library was not found]) 612169718Skan ]) 613169718SkanAC_SUBST(LIBM) 614169718Skan 615169718Skan############################################################################### 616169718Skan# 617169718Skan# Check for libdl.so 618169718Skan 619169718Skansave_LIBS="$LIBS" 620169718SkanLIBS="" 621169718SkanAC_CHECK_LIB(dl,dlopen) 622169718SkanLIBDL="$LIBS" 623132751SkanAC_SUBST(LIBDL) 624169718SkanLIBS="$save_LIBS" 62596340Sobrien 626169718Skan]) 627169718Skan 628169718SkanAC_DEFUN_ONCE([LIB_SETUP_STATIC_LINK_LIBSTDCPP], 629169718Skan[ 630132751Skan############################################################################### 631169718Skan# 63252914Sobrien# statically link libstdc++ before C++ ABI is stablized on Linux unless 633169718Skan# dynamic build is configured on command line. 634169718Skan# 635169718SkanAC_ARG_WITH([stdc++lib], [AS_HELP_STRING([--with-stdc++lib=<static>,<dynamic>,<default>], 636169718Skan [force linking of the C++ runtime on Linux to either static or dynamic, default is static with dynamic as fallback])], 637169718Skan [ 638169718Skan if test "x$with_stdc__lib" != xdynamic && test "x$with_stdc__lib" != xstatic \ 639169718Skan && test "x$with_stdc__lib" != xdefault; then 640169718Skan AC_MSG_ERROR([Bad parameter value --with-stdc++lib=$with_stdc__lib!]) 641132751Skan fi 642169718Skan ], 64352914Sobrien [with_stdc__lib=default] 644169718Skan) 64552914Sobrien 646132751Skanif test "x$OPENJDK_TARGET_OS" = xlinux; then 647132751Skan # Test if -lstdc++ works. 648169718Skan AC_MSG_CHECKING([if dynamic link of stdc++ is possible]) 64945299Sobrien AC_LANG_PUSH(C++) 650169718Skan OLD_CXXFLAGS="$CXXFLAGS" 65145299Sobrien CXXFLAGS="$CXXFLAGS -lstdc++" 652169718Skan AC_LINK_IFELSE([AC_LANG_PROGRAM([], [return 0;])], 653169718Skan [has_dynamic_libstdcxx=yes], 654169718Skan [has_dynamic_libstdcxx=no]) 655169718Skan CXXFLAGS="$OLD_CXXFLAGS" 656169718Skan AC_LANG_POP(C++) 657169718Skan AC_MSG_RESULT([$has_dynamic_libstdcxx]) 658169718Skan 659169718Skan # Test if stdc++ can be linked statically. 660169718Skan AC_MSG_CHECKING([if static link of stdc++ is possible]) 661169718Skan STATIC_STDCXX_FLAGS="-Wl,-Bstatic -lstdc++ -lgcc -Wl,-Bdynamic" 662169718Skan AC_LANG_PUSH(C++) 663169718Skan OLD_LIBS="$LIBS" 664169718Skan OLD_CXX="$CXX" 665169718Skan LIBS="$STATIC_STDCXX_FLAGS" 666169718Skan CXX="$CC" 667169718Skan AC_LINK_IFELSE([AC_LANG_PROGRAM([], [return 0;])], 668169718Skan [has_static_libstdcxx=yes], 669169718Skan [has_static_libstdcxx=no]) 670169718Skan LIBS="$OLD_LIBS" 671169718Skan CXX="$OLD_CXX" 672169718Skan AC_LANG_POP(C++) 673169718Skan AC_MSG_RESULT([$has_static_libstdcxx]) 674169718Skan 675169718Skan if test "x$has_static_libstdcxx" = xno && test "x$has_dynamic_libstdcxx" = xno; then 676169718Skan AC_MSG_ERROR([Cannot link to stdc++, neither dynamically nor statically!]) 677169718Skan fi 678169718Skan 679169718Skan if test "x$with_stdc__lib" = xstatic && test "x$has_static_libstdcxx" = xno; then 680169718Skan AC_MSG_ERROR([Static linking of libstdc++ was not possible!]) 681169718Skan fi 682169718Skan 683169718Skan if test "x$with_stdc__lib" = xdynamic && test "x$has_dynamic_libstdcxx" = xno; then 684169718Skan AC_MSG_ERROR([Dynamic linking of libstdc++ was not possible!]) 685169718Skan fi 686169718Skan 687169718Skan AC_MSG_CHECKING([how to link with libstdc++]) 688169718Skan # If dynamic was requested, it's available since it would fail above otherwise. 689132751Skan # If dynamic wasn't requested, go with static unless it isn't available. 690169718Skan if test "x$with_stdc__lib" = xdynamic || test "x$has_static_libstdcxx" = xno; then 691132751Skan LIBCXX="$LIBCXX -lstdc++" 692169718Skan LDCXX="$CXX" 69396340Sobrien STATIC_CXX_SETTING="STATIC_CXX=false" 694169718Skan AC_MSG_RESULT([dynamic]) 695132751Skan else 696169718Skan LIBCXX="$LIBCXX $STATIC_STDCXX_FLAGS" 697132751Skan LDCXX="$CC" 698169718Skan STATIC_CXX_SETTING="STATIC_CXX=true" 69945299Sobrien AC_MSG_RESULT([static]) 700169718Skan fi 701132751Skanfi 702169718SkanAC_SUBST(STATIC_CXX_SETTING) 703132751Skan 704169718Skan# libCrun is the c++ runtime-library with SunStudio (roughly the equivalent of gcc's libstdc++.so) 70552914Sobrienif test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$LIBCXX" = x; then 706169718Skan LIBCXX="/usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libCrun.so.1" 707132751Skanfi 708169718Skan 709132751Skan# TODO better (platform agnostic) test 710169718Skanif test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$LIBCXX" = x && test "x$GCC" = xyes; then 71152914Sobrien LIBCXX="-lstdc++" 712169718Skanfi 713169718Skan 714169718SkanAC_SUBST(LIBCXX) 715169718Skan 716169718Skan]) 717169718Skan