Mercurial > sdl-ios-xcode
comparison configure.in @ 3391:188fc5ecc58c
Simplify and improve dynamic library detection, taken from SDL_image
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 13 Oct 2009 06:40:08 +0000 |
parents | 802e5d85b90c |
children | efc22582afc5 |
comparison
equal
deleted
inserted
replaced
3390:802e5d85b90c | 3391:188fc5ecc58c |
---|---|
109 SDL_CFLAGS="$BASE_CFLAGS" | 109 SDL_CFLAGS="$BASE_CFLAGS" |
110 SDL_LIBS="-lSDL $BASE_LDFLAGS" | 110 SDL_LIBS="-lSDL $BASE_LDFLAGS" |
111 CPPFLAGS="$CPPFLAGS $EXTRA_CFLAGS" | 111 CPPFLAGS="$CPPFLAGS $EXTRA_CFLAGS" |
112 CFLAGS="$CFLAGS $EXTRA_CFLAGS" | 112 CFLAGS="$CFLAGS $EXTRA_CFLAGS" |
113 LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS" | 113 LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS" |
114 | |
115 dnl set this to use on systems that use lib64 instead of lib | |
116 base_libdir=`echo \${libdir} | sed 's/.*\/\(.*\)/\1/; q'` | |
117 | |
118 dnl Function to find a library in the compiler search path | |
119 find_lib() | |
120 { | |
121 gcc_bin_path=[`$CC -print-search-dirs 2>/dev/null | fgrep programs: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'`] | |
122 gcc_lib_path=[`$CC -print-search-dirs 2>/dev/null | fgrep libraries: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'`] | |
123 env_lib_path=[`echo $LIBS $LDFLAGS $* | sed 's/-L[ ]*//g'`] | |
124 if test "$cross_compiling" = yes; then | |
125 host_lib_path="" | |
126 else | |
127 host_lib_path="/usr/$base_libdir /usr/local/$base_libdir" | |
128 fi | |
129 for path in $gcc_bin_path $gcc_lib_path $env_lib_path $host_lib_path; do | |
130 lib=[`ls -- $path/$1 2>/dev/null | sort | sed 's/.*\/\(.*\)/\1/; q'`] | |
131 if test x$lib != x; then | |
132 echo $lib | |
133 return | |
134 fi | |
135 done | |
136 } | |
114 | 137 |
115 dnl Check for compiler characteristics | 138 dnl Check for compiler characteristics |
116 AC_C_CONST | 139 AC_C_CONST |
117 AC_C_INLINE | 140 AC_C_INLINE |
118 AC_C_VOLATILE | 141 AC_C_VOLATILE |
539 EXTRA_CFLAGS="$EXTRA_CFLAGS $altivec_CFLAGS" | 562 EXTRA_CFLAGS="$EXTRA_CFLAGS $altivec_CFLAGS" |
540 fi | 563 fi |
541 fi | 564 fi |
542 fi | 565 fi |
543 | 566 |
544 dnl set this to use on systems that use lib64 instead of lib | |
545 base_libdir=`echo \${libdir} | sed 's/.*\/\(.*\)/\1/; q'` | |
546 | |
547 dnl See if the OSS audio interface is supported | 567 dnl See if the OSS audio interface is supported |
548 CheckOSS() | 568 CheckOSS() |
549 { | 569 { |
550 AC_ARG_ENABLE(oss, | 570 AC_ARG_ENABLE(oss, |
551 AC_HELP_STRING([--enable-oss], [support the OSS audio API [[default=yes]]]), | 571 AC_HELP_STRING([--enable-oss], [support the OSS audio API [[default=yes]]]), |
602 LIBS="$alsa_save_LIBS" | 622 LIBS="$alsa_save_LIBS" |
603 if test x$have_alsa = xyes; then | 623 if test x$have_alsa = xyes; then |
604 AC_ARG_ENABLE(alsa-shared, | 624 AC_ARG_ENABLE(alsa-shared, |
605 AC_HELP_STRING([--enable-alsa-shared], [dynamically load ALSA audio support [[default=yes]]]), | 625 AC_HELP_STRING([--enable-alsa-shared], [dynamically load ALSA audio support [[default=yes]]]), |
606 , enable_alsa_shared=yes) | 626 , enable_alsa_shared=yes) |
607 if test "x`echo $ALSA_LIBS | grep -- -L`" = "x"; then | 627 alsa_lib=[`find_lib "libasound.so.*" "$ALSA_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`] |
608 if test "x`ls /$base_libdir/libasound.so.* 2> /dev/null`" != "x"; then | 628 echo "-- dynamic libasound -> $alsa_lib" |
609 ALSA_LIBS="-L/$base_libdir $ALSA_LIBS" | |
610 elif test "x`ls /usr/$base_libdir/libasound.so.* 2> /dev/null`" != "x"; then | |
611 ALSA_LIBS="-L/usr/$base_libdir $ALSA_LIBS" | |
612 elif test "x`ls /usr/local/$base_libdir/libasound.so.* 2> /dev/null`" != "x"; then | |
613 ALSA_LIBS="-L/usr/local/$base_libdir $ALSA_LIBS" | |
614 fi | |
615 fi | |
616 alsa_lib_spec=`echo $ALSA_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libasound.so.*/'` | |
617 if test x$alsa_lib_spec = x; then | |
618 alsa_lib_spec="/usr/$base_libdir/libasound.so.*" | |
619 fi | |
620 alsa_lib=`ls -- $alsa_lib_spec | sed 's/.*\/\(.*\)/\1/; q'` | |
621 echo "-- $alsa_lib_spec -> $alsa_lib" | |
622 | 629 |
623 AC_DEFINE(SDL_AUDIO_DRIVER_ALSA) | 630 AC_DEFINE(SDL_AUDIO_DRIVER_ALSA) |
624 SOURCES="$SOURCES $srcdir/src/audio/alsa/*.c" | 631 SOURCES="$SOURCES $srcdir/src/audio/alsa/*.c" |
625 EXTRA_CFLAGS="$EXTRA_CFLAGS $ALSA_CFLAGS" | 632 EXTRA_CFLAGS="$EXTRA_CFLAGS $ALSA_CFLAGS" |
626 if test x$have_loadso != xyes && \ | 633 if test x$have_loadso != xyes && \ |
710 AM_PATH_ESD(0.2.8, have_esd=yes, have_esd=no) | 717 AM_PATH_ESD(0.2.8, have_esd=yes, have_esd=no) |
711 if test x$have_esd = xyes; then | 718 if test x$have_esd = xyes; then |
712 AC_ARG_ENABLE(esd-shared, | 719 AC_ARG_ENABLE(esd-shared, |
713 AC_HELP_STRING([--enable-esd-shared], [dynamically load ESD audio support [[default=yes]]]), | 720 AC_HELP_STRING([--enable-esd-shared], [dynamically load ESD audio support [[default=yes]]]), |
714 , enable_esd_shared=yes) | 721 , enable_esd_shared=yes) |
715 esd_lib_spec=`echo $ESD_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libesd.so.*/'` | 722 esd_lib=[`find_lib "libesd.so.*" "$ESD_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`] |
716 if test x$esd_lib_spec = x; then | 723 echo "-- dynamic libesd -> $esd_lib" |
717 esd_lib_spec="/usr/$base_libdir/libesd.so.*" | |
718 fi | |
719 esd_lib=`ls -- $esd_lib_spec | sed 's/.*\/\(.*\)/\1/; q'` | |
720 echo "-- $esd_lib_spec -> $esd_lib" | |
721 | 724 |
722 AC_DEFINE(SDL_AUDIO_DRIVER_ESD) | 725 AC_DEFINE(SDL_AUDIO_DRIVER_ESD) |
723 SOURCES="$SOURCES $srcdir/src/audio/esd/*.c" | 726 SOURCES="$SOURCES $srcdir/src/audio/esd/*.c" |
724 EXTRA_CFLAGS="$EXTRA_CFLAGS $ESD_CFLAGS" | 727 EXTRA_CFLAGS="$EXTRA_CFLAGS $ESD_CFLAGS" |
725 if test x$have_loadso != xyes && \ | 728 if test x$have_loadso != xyes && \ |
753 if test x$PKG_CONFIG != xno; then | 756 if test x$PKG_CONFIG != xno; then |
754 if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $PULSEAUDIO_REQUIRED_VERSION libpulse-simple; then | 757 if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $PULSEAUDIO_REQUIRED_VERSION libpulse-simple; then |
755 PULSEAUDIO_CFLAGS=`$PKG_CONFIG --cflags libpulse-simple` | 758 PULSEAUDIO_CFLAGS=`$PKG_CONFIG --cflags libpulse-simple` |
756 PULSEAUDIO_LIBS=`$PKG_CONFIG --libs libpulse-simple` | 759 PULSEAUDIO_LIBS=`$PKG_CONFIG --libs libpulse-simple` |
757 audio_pulseaudio=yes | 760 audio_pulseaudio=yes |
758 fi | 761 fi |
759 fi | 762 fi |
760 AC_MSG_RESULT($audio_pulseaudio) | 763 AC_MSG_RESULT($audio_pulseaudio) |
761 | 764 |
762 if test x$audio_pulseaudio = xyes; then | 765 if test x$audio_pulseaudio = xyes; then |
763 AC_ARG_ENABLE(pulseaudio-shared, | 766 AC_ARG_ENABLE(pulseaudio-shared, |
764 AC_HELP_STRING([--enable-pulseaudio-shared], [dynamically load PulseAudio support [[default=yes]]]), | 767 AC_HELP_STRING([--enable-pulseaudio-shared], [dynamically load PulseAudio support [[default=yes]]]), |
765 , enable_pulseaudio_shared=yes) | 768 , enable_pulseaudio_shared=yes) |
766 if test "x`echo $PULSEAUDIO_LIBS | grep -- -L`" = "x"; then | 769 pulseaudio_lib=[`find_lib "libpulse-simple.so.*" "$PULSEAUDIO_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`] |
767 if test "x`ls /$base_libdir/libpulse-simple.so.* 2> /dev/null`" != "x"; then | 770 echo "-- dynamic libpulse-simple -> $pulseaudio_lib" |
768 PULSEAUDIO_LIBS="-L/$base_libdir $PULSEAUDIO_LIBS" | |
769 elif test "x`ls /usr/$base_libdir/libpulse-simple.so.* 2> /dev/null`" != "x"; then | |
770 PULSEAUDIO_LIBS="-L/usr/$base_libdir $PULSEAUDIO_LIBS" | |
771 elif test "x`ls /usr/local/$base_libdir/libpulse-simple.so.* 2> /dev/null`" != "x"; then | |
772 PULSEAUDIO_LIBS="-L/usr/local/$base_libdir $PULSEAUDIO_LIBS" | |
773 fi | |
774 fi | |
775 pulseaudio_lib_spec=`echo $PULSEAUDIO_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libpulse-simple.so.*/'` | |
776 if test x$pulse_lib_spec = x; then | |
777 pulse_lib_spec="/usr/$base_libdir/libpulse-simple.so.*" | |
778 fi | |
779 pulseaudio_lib=`ls -- $pulseaudio_lib_spec | sed 's/.*\/\(.*\)/\1/; q'` | |
780 echo "-- $pulseaudio_lib_spec -> $pulseaudio_lib" | |
781 | 771 |
782 AC_DEFINE(SDL_AUDIO_DRIVER_PULSEAUDIO) | 772 AC_DEFINE(SDL_AUDIO_DRIVER_PULSEAUDIO) |
783 SOURCES="$SOURCES $srcdir/src/audio/pulseaudio/*.c" | 773 SOURCES="$SOURCES $srcdir/src/audio/pulseaudio/*.c" |
784 EXTRA_CFLAGS="$EXTRA_CFLAGS $PULSEAUDIO_CFLAGS" | 774 EXTRA_CFLAGS="$EXTRA_CFLAGS $PULSEAUDIO_CFLAGS" |
785 if test x$have_loadso != xyes && \ | 775 if test x$have_loadso != xyes && \ |
807 if test x$ARTSCONFIG = x -o x$ARTSCONFIG = x'"$ARTSCONFIG"'; then | 797 if test x$ARTSCONFIG = x -o x$ARTSCONFIG = x'"$ARTSCONFIG"'; then |
808 : # arts isn't installed | 798 : # arts isn't installed |
809 else | 799 else |
810 ARTS_CFLAGS=`$ARTSCONFIG --cflags` | 800 ARTS_CFLAGS=`$ARTSCONFIG --cflags` |
811 ARTS_LIBS=`$ARTSCONFIG --libs` | 801 ARTS_LIBS=`$ARTSCONFIG --libs` |
812 ARTS_PREFIX=`$ARTSCONFIG --arts-prefix` | |
813 AC_MSG_CHECKING(for aRts development environment) | 802 AC_MSG_CHECKING(for aRts development environment) |
814 audio_arts=no | 803 audio_arts=no |
815 save_CFLAGS="$CFLAGS" | 804 save_CFLAGS="$CFLAGS" |
816 CFLAGS="$CFLAGS $ARTS_CFLAGS" | 805 CFLAGS="$CFLAGS $ARTS_CFLAGS" |
817 AC_TRY_COMPILE([ | 806 AC_TRY_COMPILE([ |
825 AC_MSG_RESULT($audio_arts) | 814 AC_MSG_RESULT($audio_arts) |
826 if test x$audio_arts = xyes; then | 815 if test x$audio_arts = xyes; then |
827 AC_ARG_ENABLE(arts-shared, | 816 AC_ARG_ENABLE(arts-shared, |
828 AC_HELP_STRING([--enable-arts-shared], [dynamically load aRts audio support [[default=yes]]]), | 817 AC_HELP_STRING([--enable-arts-shared], [dynamically load aRts audio support [[default=yes]]]), |
829 , enable_arts_shared=yes) | 818 , enable_arts_shared=yes) |
830 arts_lib_spec="$ARTS_PREFIX/$base_libdir/libartsc.so.*" | 819 arts_lib=[`find_lib "libartsc.so.*" "$ARTS_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`] |
831 arts_lib=`ls -- $arts_lib_spec | sed 's/.*\/\(.*\)/\1/; q'` | 820 echo "-- dynamic libartsc -> $arts_lib" |
832 echo "-- $arts_lib_spec -> $arts_lib" | |
833 | 821 |
834 AC_DEFINE(SDL_AUDIO_DRIVER_ARTS) | 822 AC_DEFINE(SDL_AUDIO_DRIVER_ARTS) |
835 SOURCES="$SOURCES $srcdir/src/audio/arts/*.c" | 823 SOURCES="$SOURCES $srcdir/src/audio/arts/*.c" |
836 EXTRA_CFLAGS="$EXTRA_CFLAGS $ARTS_CFLAGS" | 824 EXTRA_CFLAGS="$EXTRA_CFLAGS $ARTS_CFLAGS" |
837 if test x$have_loadso != xyes && \ | 825 if test x$have_loadso != xyes && \ |
884 | 872 |
885 if test x$have_nas = xyes; then | 873 if test x$have_nas = xyes; then |
886 AC_ARG_ENABLE(nas-shared, | 874 AC_ARG_ENABLE(nas-shared, |
887 AC_HELP_STRING([--enable-nas-shared], [dynamically load NAS audio support [[default=yes]]]), | 875 AC_HELP_STRING([--enable-nas-shared], [dynamically load NAS audio support [[default=yes]]]), |
888 , enable_nas_shared=yes) | 876 , enable_nas_shared=yes) |
889 if test "x`echo $NAS_LIBS | grep -- -L`" = "x"; then | 877 nas_lib=[`find_lib "libaudio.so.*" "$NAS_LIBS" | sed 's/.*\/\(.*\)/\1/; q'`] |
890 if test "x`ls /lib/libaudio.so.* 2> /dev/null`" != "x"; then | 878 echo "-- dynamic libaudio -> $nas_lib" |
891 NAS_LIBS="-L/lib $NAS_LIBS" | |
892 elif test "x`ls /usr/lib/libaudio.so.* 2> /dev/null`" != "x"; then | |
893 NAS_LIBS="-L/usr/lib $NAS_LIBS" | |
894 elif test "x`ls /usr/local/lib/libaudio.so.* 2> /dev/null`" != "x"; then | |
895 NAS_LIBS="-L/usr/local/lib $NAS_LIBS" | |
896 fi | |
897 fi | |
898 nas_lib_spec=`echo $NAS_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libaudio.so.*/'` | |
899 if test x$nas_lib_spec = x; then | |
900 nas_lib_spec="/usr/$base_libdir/libaudio.so.*" | |
901 fi | |
902 nas_lib=`ls -- $nas_lib_spec | sed 's/.*\/\(.*\)/\1/; q'` | |
903 echo "-- $nas_lib_spec -> $nas_lib" | |
904 | 879 |
905 if test x$have_loadso != xyes && \ | 880 if test x$have_loadso != xyes && \ |
906 test x$enable_nas_shared = xyes; then | 881 test x$enable_nas_shared = xyes; then |
907 AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic NAS loading]) | 882 AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic NAS loading]) |
908 fi | 883 fi |
1017 *-*-irix*) # IRIX 6.5 requires that we use /usr/lib32 | 992 *-*-irix*) # IRIX 6.5 requires that we use /usr/lib32 |
1018 x11_lib='libX11.so' | 993 x11_lib='libX11.so' |
1019 x11ext_lib='libXext.so' | 994 x11ext_lib='libXext.so' |
1020 ;; | 995 ;; |
1021 *) | 996 *) |
1022 x11_lib_spec=[`echo $X_LIBS | sed 's/.*-L\([^ ]*\).*/\1/'`] | 997 x11_lib=[`find_lib "libX11.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`] |
1023 for path in $x11_lib_path /usr/$base_libdir /usr/X11/$base_libdir /usr/X11R6/$base_libdir; do | 998 x11ext_lib=[`find_lib "libXext.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`] |
1024 if test "x$x11_lib" = "x"; then | 999 xrender_lib=[`find_lib "libXrender.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`] |
1025 x11_lib=[`ls -- $path/libX11.so.[0-9] 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`] | 1000 xrandr_lib=[`find_lib "libXrandr.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`] |
1026 if test "x$x11_lib" = "x"; then | 1001 xinput_lib=[`find_lib "libXi.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`] |
1027 x11_lib=[`ls -- $path/libX11.so.[0-9]* 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`] | 1002 xss_lib=[`find_lib "libXss.so.*" "$X_LIBS -L/usr/X11/$base_libdir -L/usr/X11R6/$base_libdir" | sed 's/.*\/\(.*\)/\1/; q'`] |
1028 fi | |
1029 fi | |
1030 if test "x$x11ext_lib" = "x"; then | |
1031 x11ext_lib=[`ls -- $path/libXext.so.[0-9] 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`] | |
1032 if test "x$x11ext_lib" = "x"; then | |
1033 x11ext_lib=[`ls -- $path/libXext.so.[0-9]* 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`] | |
1034 fi | |
1035 fi | |
1036 if test "x$xrender_lib" = "x"; then | |
1037 xrender_lib=[`ls -- $path/libXrender.so.[0-9] 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`] | |
1038 if test "x$xrender_lib" = "x"; then | |
1039 xrender_lib=[`ls -- $path/libXrender.so.[0-9]* 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`] | |
1040 fi | |
1041 fi | |
1042 if test "x$xrandr_lib" = "x"; then | |
1043 xrandr_lib=[`ls -- $path/libXrandr.so.[0-9] 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`] | |
1044 if test "x$xrandr_lib" = "x"; then | |
1045 xrandr_lib=[`ls -- $path/libXrandr.so.[0-9]* 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`] | |
1046 fi | |
1047 fi | |
1048 if test "x$xinput_lib" = "x"; then | |
1049 xinput_lib=[`ls -- $path/libXi.so.[0-9] 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`] | |
1050 if test "x$xinput_lib" = "x"; then | |
1051 xinput_lib=[`ls -- $path/libXi.so.[0-9]* 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`] | |
1052 fi | |
1053 fi | |
1054 if test "x$xss_lib" = "x"; then | |
1055 xss_lib=[`ls -- $path/libXss.so.[0-9] 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`] | |
1056 if test "x$xss_lib" = "x"; then | |
1057 xss_lib=[`ls -- $path/libXss.so.[0-9]* 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`] | |
1058 fi | |
1059 fi | |
1060 done | |
1061 ;; | 1003 ;; |
1062 esac | 1004 esac |
1063 | 1005 |
1064 if test x$ac_cv_func_shmat != xyes; then | 1006 if test x$ac_cv_func_shmat != xyes; then |
1065 X_CFLAGS="$X_CFLAGS -DNO_SHARED_MEMORY" | 1007 X_CFLAGS="$X_CFLAGS -DNO_SHARED_MEMORY" |